split text_4

This commit is contained in:
Max
2020-10-15 13:03:53 -04:00
parent 0a54b313ba
commit 9537751fbf
12 changed files with 16898 additions and 16865 deletions
+351
View File
@@ -0,0 +1,351 @@
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_801682D0
func_801682D0:
/* 801682D0 00163F30 2C 84 00 00 */ cmpwi cr1, r4, 0
/* 801682D4 00163F34 39 00 00 00 */ li r8, 0
/* 801682D8 00163F38 4C 85 00 20 */ blelr cr1
/* 801682DC 00163F3C 2C 04 00 08 */ cmpwi r4, 8
/* 801682E0 00163F40 39 24 FF F8 */ addi r9, r4, -8
/* 801682E4 00163F44 40 81 00 F4 */ ble lbl_801683D8
/* 801682E8 00163F48 38 E0 00 00 */ li r7, 0
/* 801682EC 00163F4C 41 84 00 18 */ blt cr1, lbl_80168304
/* 801682F0 00163F50 3C C0 80 00 */ lis r6, 0x7FFFFFFE@ha
/* 801682F4 00163F54 38 06 FF FE */ addi r0, r6, 0x7FFFFFFE@l
/* 801682F8 00163F58 7C 04 00 00 */ cmpw r4, r0
/* 801682FC 00163F5C 41 81 00 08 */ bgt lbl_80168304
/* 80168300 00163F60 38 E0 00 01 */ li r7, 1
lbl_80168304:
/* 80168304 00163F64 2C 07 00 00 */ cmpwi r7, 0
/* 80168308 00163F68 41 82 00 D0 */ beq lbl_801683D8
/* 8016830C 00163F6C 38 09 00 07 */ addi r0, r9, 7
/* 80168310 00163F70 7C 66 1B 78 */ mr r6, r3
/* 80168314 00163F74 54 00 E8 FE */ srwi r0, r0, 3
/* 80168318 00163F78 7C A7 2B 78 */ mr r7, r5
/* 8016831C 00163F7C 7C 09 03 A6 */ mtctr r0
/* 80168320 00163F80 2C 09 00 00 */ cmpwi r9, 0
/* 80168324 00163F84 40 81 00 B4 */ ble lbl_801683D8
lbl_80168328:
/* 80168328 00163F88 A0 06 00 00 */ lhz r0, 0(r6)
/* 8016832C 00163F8C 39 08 00 08 */ addi r8, r8, 8
/* 80168330 00163F90 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 80168334 00163F94 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168338 00163F98 7C 09 02 14 */ add r0, r9, r0
/* 8016833C 00163F9C B0 07 00 00 */ sth r0, 0(r7)
/* 80168340 00163FA0 A0 06 00 02 */ lhz r0, 2(r6)
/* 80168344 00163FA4 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 80168348 00163FA8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 8016834C 00163FAC 7C 09 02 14 */ add r0, r9, r0
/* 80168350 00163FB0 B0 07 00 02 */ sth r0, 2(r7)
/* 80168354 00163FB4 A0 06 00 04 */ lhz r0, 4(r6)
/* 80168358 00163FB8 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 8016835C 00163FBC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168360 00163FC0 7C 09 02 14 */ add r0, r9, r0
/* 80168364 00163FC4 B0 07 00 04 */ sth r0, 4(r7)
/* 80168368 00163FC8 A0 06 00 06 */ lhz r0, 6(r6)
/* 8016836C 00163FCC 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 80168370 00163FD0 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168374 00163FD4 7C 09 02 14 */ add r0, r9, r0
/* 80168378 00163FD8 B0 07 00 06 */ sth r0, 6(r7)
/* 8016837C 00163FDC A0 06 00 08 */ lhz r0, 8(r6)
/* 80168380 00163FE0 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 80168384 00163FE4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168388 00163FE8 7C 09 02 14 */ add r0, r9, r0
/* 8016838C 00163FEC B0 07 00 08 */ sth r0, 8(r7)
/* 80168390 00163FF0 A0 06 00 0A */ lhz r0, 0xa(r6)
/* 80168394 00163FF4 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 80168398 00163FF8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 8016839C 00163FFC 7C 09 02 14 */ add r0, r9, r0
/* 801683A0 00164000 B0 07 00 0A */ sth r0, 0xa(r7)
/* 801683A4 00164004 A0 06 00 0C */ lhz r0, 0xc(r6)
/* 801683A8 00164008 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 801683AC 0016400C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 801683B0 00164010 7C 09 02 14 */ add r0, r9, r0
/* 801683B4 00164014 B0 07 00 0C */ sth r0, 0xc(r7)
/* 801683B8 00164018 A0 06 00 0E */ lhz r0, 0xe(r6)
/* 801683BC 0016401C 38 C6 00 10 */ addi r6, r6, 0x10
/* 801683C0 00164020 54 09 44 2E */ rlwinm r9, r0, 8, 0x10, 0x17
/* 801683C4 00164024 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 801683C8 00164028 7C 09 02 14 */ add r0, r9, r0
/* 801683CC 0016402C B0 07 00 0E */ sth r0, 0xe(r7)
/* 801683D0 00164030 38 E7 00 10 */ addi r7, r7, 0x10
/* 801683D4 00164034 42 00 FF 54 */ bdnz lbl_80168328
lbl_801683D8:
/* 801683D8 00164038 55 07 08 3C */ slwi r7, r8, 1
/* 801683DC 0016403C 7C 08 20 50 */ subf r0, r8, r4
/* 801683E0 00164040 7C C3 3A 14 */ add r6, r3, r7
/* 801683E4 00164044 7C A5 3A 14 */ add r5, r5, r7
/* 801683E8 00164048 7C 09 03 A6 */ mtctr r0
/* 801683EC 0016404C 7C 08 20 00 */ cmpw r8, r4
/* 801683F0 00164050 4C 80 00 20 */ bgelr
lbl_801683F4:
/* 801683F4 00164054 A0 06 00 00 */ lhz r0, 0(r6)
/* 801683F8 00164058 38 C6 00 02 */ addi r6, r6, 2
/* 801683FC 0016405C 54 03 44 2E */ rlwinm r3, r0, 8, 0x10, 0x17
/* 80168400 00164060 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168404 00164064 7C 03 02 14 */ add r0, r3, r0
/* 80168408 00164068 B0 05 00 00 */ sth r0, 0(r5)
/* 8016840C 0016406C 38 A5 00 02 */ addi r5, r5, 2
/* 80168410 00164070 42 00 FF E4 */ bdnz lbl_801683F4
/* 80168414 00164074 4E 80 00 20 */ blr
.global func_80168418
func_80168418:
/* 80168418 00164078 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016841C 0016407C 7C 08 02 A6 */ mflr r0
/* 80168420 00164080 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168424 00164084 7C 60 1B 78 */ mr r0, r3
/* 80168428 00164088 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016842C 0016408C 7C BF 2B 78 */ mr r31, r5
/* 80168430 00164090 7F E3 FB 78 */ mr r3, r31
/* 80168434 00164094 93 C1 00 08 */ stw r30, 8(r1)
/* 80168438 00164098 7C 9E 23 78 */ mr r30, r4
/* 8016843C 0016409C 7C 04 03 78 */ mr r4, r0
/* 80168440 001640A0 7F C5 F3 78 */ mr r5, r30
/* 80168444 001640A4 48 00 EA 71 */ bl func_80176EB4
/* 80168448 001640A8 7F E3 FB 78 */ mr r3, r31
/* 8016844C 001640AC 7F C4 F3 78 */ mr r4, r30
/* 80168450 001640B0 7F E5 FB 78 */ mr r5, r31
/* 80168454 001640B4 4B FF FE 7D */ bl func_801682D0
/* 80168458 001640B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016845C 001640BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168460 001640C0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80168464 001640C4 7C 08 03 A6 */ mtlr r0
/* 80168468 001640C8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016846C 001640CC 4E 80 00 20 */ blr
.global func_80168470
func_80168470:
/* 80168470 001640D0 7C 64 1B 78 */ mr r4, r3
/* 80168474 001640D4 48 00 00 08 */ b lbl_8016847C
lbl_80168478:
/* 80168478 001640D8 38 84 00 02 */ addi r4, r4, 2
lbl_8016847C:
/* 8016847C 001640DC A0 04 00 00 */ lhz r0, 0(r4)
/* 80168480 001640E0 2C 00 00 00 */ cmpwi r0, 0
/* 80168484 001640E4 40 82 FF F4 */ bne lbl_80168478
/* 80168488 001640E8 7C 63 20 50 */ subf r3, r3, r4
/* 8016848C 001640EC 54 60 0F FE */ srwi r0, r3, 0x1f
/* 80168490 001640F0 7C 00 1A 14 */ add r0, r0, r3
/* 80168494 001640F4 7C 03 0E 70 */ srawi r3, r0, 1
/* 80168498 001640F8 4E 80 00 20 */ blr
.global func_8016849C
func_8016849C:
/* 8016849C 001640FC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801684A0 00164100 7C 08 02 A6 */ mflr r0
/* 801684A4 00164104 90 01 00 24 */ stw r0, 0x24(r1)
/* 801684A8 00164108 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801684AC 0016410C 7C BF 2B 78 */ mr r31, r5
/* 801684B0 00164110 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801684B4 00164114 7C 9E 23 78 */ mr r30, r4
/* 801684B8 00164118 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801684BC 0016411C 7C 7D 1B 78 */ mr r29, r3
/* 801684C0 00164120 4B FF FF B1 */ bl func_80168470
/* 801684C4 00164124 38 03 00 01 */ addi r0, r3, 1
/* 801684C8 00164128 54 00 08 3C */ slwi r0, r0, 1
/* 801684CC 0016412C 7C 00 F8 00 */ cmpw r0, r31
/* 801684D0 00164130 40 81 00 08 */ ble lbl_801684D8
/* 801684D4 00164134 7F E0 FB 78 */ mr r0, r31
lbl_801684D8:
/* 801684D8 00164138 54 1F F8 7E */ srwi r31, r0, 1
/* 801684DC 0016413C 7F A3 EB 78 */ mr r3, r29
/* 801684E0 00164140 7F E4 FB 78 */ mr r4, r31
/* 801684E4 00164144 7F C5 F3 78 */ mr r5, r30
/* 801684E8 00164148 4B FF FF 31 */ bl func_80168418
/* 801684EC 0016414C 57 E3 08 3C */ slwi r3, r31, 1
/* 801684F0 00164150 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801684F4 00164154 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801684F8 00164158 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801684FC 0016415C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80168500 00164160 7C 08 03 A6 */ mtlr r0
/* 80168504 00164164 38 21 00 20 */ addi r1, r1, 0x20
/* 80168508 00164168 4E 80 00 20 */ blr
.global func_8016850C
func_8016850C:
/* 8016850C 0016416C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80168510 00164170 7C 08 02 A6 */ mflr r0
/* 80168514 00164174 90 01 00 24 */ stw r0, 0x24(r1)
/* 80168518 00164178 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8016851C 0016417C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80168520 00164180 7C 7E 1B 78 */ mr r30, r3
/* 80168524 00164184 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80168528 00164188 7C 9D 23 78 */ mr r29, r4
/* 8016852C 0016418C 7F A5 EB 78 */ mr r5, r29
/* 80168530 00164190 38 80 00 20 */ li r4, 0x20
/* 80168534 00164194 4B FF FE E5 */ bl func_80168418
/* 80168538 00164198 3B FD 00 40 */ addi r31, r29, 0x40
/* 8016853C 0016419C 3B DE 00 40 */ addi r30, r30, 0x40
/* 80168540 001641A0 3B A0 00 00 */ li r29, 0
lbl_80168544:
/* 80168544 001641A4 7F C3 F3 78 */ mr r3, r30
/* 80168548 001641A8 7F E5 FB 78 */ mr r5, r31
/* 8016854C 001641AC 38 80 00 6E */ li r4, 0x6e
/* 80168550 001641B0 4B FF FE C9 */ bl func_80168418
/* 80168554 001641B4 3B BD 00 01 */ addi r29, r29, 1
/* 80168558 001641B8 3B DE 00 DC */ addi r30, r30, 0xdc
/* 8016855C 001641BC 2C 1D 00 04 */ cmpwi r29, 4
/* 80168560 001641C0 3B FF 00 DC */ addi r31, r31, 0xdc
/* 80168564 001641C4 41 80 FF E0 */ blt lbl_80168544
/* 80168568 001641C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8016856C 001641CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80168570 001641D0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80168574 001641D4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80168578 001641D8 7C 08 03 A6 */ mtlr r0
/* 8016857C 001641DC 38 21 00 20 */ addi r1, r1, 0x20
/* 80168580 001641E0 4E 80 00 20 */ blr
.global func_80168584
func_80168584:
/* 80168584 001641E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80168588 001641E8 7C 08 02 A6 */ mflr r0
/* 8016858C 001641EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80168590 001641F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80168594 001641F4 7C 9F 23 78 */ mr r31, r4
/* 80168598 001641F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8016859C 001641FC 3B C3 00 04 */ addi r30, r3, 4
/* 801685A0 00164200 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801685A4 00164204 3B A0 00 00 */ li r29, 0
lbl_801685A8:
/* 801685A8 00164208 7F C3 F3 78 */ mr r3, r30
/* 801685AC 0016420C 7F E4 FB 78 */ mr r4, r31
/* 801685B0 00164210 4B FF FF 5D */ bl func_8016850C
/* 801685B4 00164214 3B BD 00 01 */ addi r29, r29, 1
/* 801685B8 00164218 3B DE 03 B0 */ addi r30, r30, 0x3b0
/* 801685BC 0016421C 2C 1D 00 06 */ cmpwi r29, 6
/* 801685C0 00164220 3B FF 03 B0 */ addi r31, r31, 0x3b0
/* 801685C4 00164224 41 80 FF E4 */ blt lbl_801685A8
/* 801685C8 00164228 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801685CC 0016422C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801685D0 00164230 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801685D4 00164234 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801685D8 00164238 7C 08 03 A6 */ mtlr r0
/* 801685DC 0016423C 38 21 00 20 */ addi r1, r1, 0x20
/* 801685E0 00164240 4E 80 00 20 */ blr
.global func_801685E4
func_801685E4:
/* 801685E4 00164244 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801685E8 00164248 7C 08 02 A6 */ mflr r0
/* 801685EC 0016424C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801685F0 00164250 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801685F4 00164254 7C 9F 23 78 */ mr r31, r4
/* 801685F8 00164258 7F E5 FB 78 */ mr r5, r31
/* 801685FC 0016425C 38 80 00 10 */ li r4, 0x10
/* 80168600 00164260 93 C1 00 08 */ stw r30, 8(r1)
/* 80168604 00164264 7C 7E 1B 78 */ mr r30, r3
/* 80168608 00164268 4B FF FE 11 */ bl func_80168418
/* 8016860C 0016426C 88 1E 00 20 */ lbz r0, 0x20(r30)
/* 80168610 00164270 98 1F 00 20 */ stb r0, 0x20(r31)
/* 80168614 00164274 88 1E 00 21 */ lbz r0, 0x21(r30)
/* 80168618 00164278 98 1F 00 21 */ stb r0, 0x21(r31)
/* 8016861C 0016427C 88 1E 00 22 */ lbz r0, 0x22(r30)
/* 80168620 00164280 98 1F 00 22 */ stb r0, 0x22(r31)
/* 80168624 00164284 88 1E 00 23 */ lbz r0, 0x23(r30)
/* 80168628 00164288 98 1F 00 23 */ stb r0, 0x23(r31)
/* 8016862C 0016428C 88 1E 00 24 */ lbz r0, 0x24(r30)
/* 80168630 00164290 98 1F 00 24 */ stb r0, 0x24(r31)
/* 80168634 00164294 88 1E 00 25 */ lbz r0, 0x25(r30)
/* 80168638 00164298 98 1F 00 25 */ stb r0, 0x25(r31)
/* 8016863C 0016429C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168640 001642A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80168644 001642A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168648 001642A8 7C 08 03 A6 */ mtlr r0
/* 8016864C 001642AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80168650 001642B0 4E 80 00 20 */ blr
.global func_80168654
func_80168654:
/* 80168654 001642B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168658 001642B8 7C 08 02 A6 */ mflr r0
/* 8016865C 001642BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168660 001642C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80168664 001642C4 7C 9F 23 78 */ mr r31, r4
/* 80168668 001642C8 93 C1 00 08 */ stw r30, 8(r1)
/* 8016866C 001642CC 7C 7E 1B 78 */ mr r30, r3
/* 80168670 001642D0 A0 03 00 00 */ lhz r0, 0(r3)
/* 80168674 001642D4 38 63 00 02 */ addi r3, r3, 2
/* 80168678 001642D8 54 05 44 2E */ rlwinm r5, r0, 8, 0x10, 0x17
/* 8016867C 001642DC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80168680 001642E0 7C 05 02 14 */ add r0, r5, r0
/* 80168684 001642E4 B0 04 00 00 */ sth r0, 0(r4)
/* 80168688 001642E8 38 BF 00 02 */ addi r5, r31, 2
/* 8016868C 001642EC 38 80 00 0C */ li r4, 0xc
/* 80168690 001642F0 4B FF FD 89 */ bl func_80168418
/* 80168694 001642F4 88 1E 00 1A */ lbz r0, 0x1a(r30)
/* 80168698 001642F8 98 1F 00 1A */ stb r0, 0x1a(r31)
/* 8016869C 001642FC 88 1E 00 1B */ lbz r0, 0x1b(r30)
/* 801686A0 00164300 98 1F 00 1B */ stb r0, 0x1b(r31)
/* 801686A4 00164304 88 1E 00 1C */ lbz r0, 0x1c(r30)
/* 801686A8 00164308 98 1F 00 1C */ stb r0, 0x1c(r31)
/* 801686AC 0016430C 88 1E 00 1D */ lbz r0, 0x1d(r30)
/* 801686B0 00164310 98 1F 00 1D */ stb r0, 0x1d(r31)
/* 801686B4 00164314 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801686B8 00164318 83 C1 00 08 */ lwz r30, 8(r1)
/* 801686BC 0016431C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801686C0 00164320 7C 08 03 A6 */ mtlr r0
/* 801686C4 00164324 38 21 00 10 */ addi r1, r1, 0x10
/* 801686C8 00164328 4E 80 00 20 */ blr
.global func_801686CC
func_801686CC:
/* 801686CC 0016432C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801686D0 00164330 7C 08 02 A6 */ mflr r0
/* 801686D4 00164334 90 01 00 34 */ stw r0, 0x34(r1)
/* 801686D8 00164338 39 61 00 30 */ addi r11, r1, 0x30
/* 801686DC 0016433C 48 05 EA 41 */ bl _savegpr_24
/* 801686E0 00164340 7C 99 23 78 */ mr r25, r4
/* 801686E4 00164344 7C 78 1B 78 */ mr r24, r3
/* 801686E8 00164348 7F 3E CB 78 */ mr r30, r25
/* 801686EC 0016434C 3B E3 00 04 */ addi r31, r3, 4
/* 801686F0 00164350 3B 60 00 00 */ li r27, 0
lbl_801686F4:
/* 801686F4 00164354 7F DD F3 78 */ mr r29, r30
/* 801686F8 00164358 7F FC FB 78 */ mr r28, r31
/* 801686FC 0016435C 3B 40 00 00 */ li r26, 0
lbl_80168700:
/* 80168700 00164360 7F 83 E3 78 */ mr r3, r28
/* 80168704 00164364 7F A4 EB 78 */ mr r4, r29
/* 80168708 00164368 4B FF FE DD */ bl func_801685E4
/* 8016870C 0016436C 3B 5A 00 01 */ addi r26, r26, 1
/* 80168710 00164370 3B 9C 00 26 */ addi r28, r28, 0x26
/* 80168714 00164374 2C 1A 00 04 */ cmpwi r26, 4
/* 80168718 00164378 3B BD 00 26 */ addi r29, r29, 0x26
/* 8016871C 0016437C 41 80 FF E4 */ blt lbl_80168700
/* 80168720 00164380 3B 7B 00 01 */ addi r27, r27, 1
/* 80168724 00164384 3B FF 00 98 */ addi r31, r31, 0x98
/* 80168728 00164388 2C 1B 00 06 */ cmpwi r27, 6
/* 8016872C 0016438C 3B DE 00 98 */ addi r30, r30, 0x98
/* 80168730 00164390 41 80 FF C4 */ blt lbl_801686F4
/* 80168734 00164394 3B F9 03 90 */ addi r31, r25, 0x390
/* 80168738 00164398 3B D8 03 94 */ addi r30, r24, 0x394
/* 8016873C 0016439C 3B 40 00 00 */ li r26, 0
lbl_80168740:
/* 80168740 001643A0 7F C3 F3 78 */ mr r3, r30
/* 80168744 001643A4 7F E4 FB 78 */ mr r4, r31
/* 80168748 001643A8 4B FF FF 0D */ bl func_80168654
/* 8016874C 001643AC 3B 5A 00 01 */ addi r26, r26, 1
/* 80168750 001643B0 3B DE 00 1E */ addi r30, r30, 0x1e
/* 80168754 001643B4 2C 1A 00 04 */ cmpwi r26, 4
/* 80168758 001643B8 3B FF 00 1E */ addi r31, r31, 0x1e
/* 8016875C 001643BC 41 80 FF E4 */ blt lbl_80168740
/* 80168760 001643C0 39 61 00 30 */ addi r11, r1, 0x30
/* 80168764 001643C4 48 05 EA 05 */ bl _restgpr_24
/* 80168768 001643C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8016876C 001643CC 7C 08 03 A6 */ mtlr r0
/* 80168770 001643D0 38 21 00 30 */ addi r1, r1, 0x30
/* 80168774 001643D4 4E 80 00 20 */ blr
.global func_80168778
func_80168778:
/* 80168778 001643D8 38 A0 00 01 */ li r5, 1
/* 8016877C 001643DC 38 6D 9E 38 */ addi r3, r13, lbl_8063F0F8-_SDA_BASE_
/* 80168780 001643E0 38 80 00 04 */ li r4, 4
/* 80168784 001643E4 38 00 00 00 */ li r0, 0
/* 80168788 001643E8 98 AD 9E 38 */ stb r5, lbl_8063F0F8-_SDA_BASE_(r13)
/* 8016878C 001643EC B0 83 00 02 */ sth r4, 2(r3)
/* 80168790 001643F0 98 03 00 04 */ stb r0, 4(r3)
/* 80168794 001643F4 4E 80 00 20 */ blr
+413
View File
@@ -0,0 +1,413 @@
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80168798
func_80168798:
/* 80168798 001643F8 38 00 00 01 */ li r0, 1
/* 8016879C 001643FC 90 0D 9E 4C */ stw r0, lbl_8063F10C-_SDA_BASE_(r13)
/* 801687A0 00164400 4E 80 00 20 */ blr
.global func_801687A4
func_801687A4:
/* 801687A4 00164404 38 00 00 00 */ li r0, 0
/* 801687A8 00164408 90 0D 9E 4C */ stw r0, lbl_8063F10C-_SDA_BASE_(r13)
/* 801687AC 0016440C 4E 80 00 20 */ blr
.global func_801687B0
func_801687B0:
/* 801687B0 00164410 38 00 00 01 */ li r0, 1
/* 801687B4 00164414 90 0D 9E 50 */ stw r0, lbl_8063F110-_SDA_BASE_(r13)
/* 801687B8 00164418 4E 80 00 20 */ blr
.global func_801687BC
func_801687BC:
/* 801687BC 0016441C 38 00 00 00 */ li r0, 0
/* 801687C0 00164420 90 0D 9E 50 */ stw r0, lbl_8063F110-_SDA_BASE_(r13)
/* 801687C4 00164424 4E 80 00 20 */ blr
.global func_801687C8
func_801687C8:
/* 801687C8 00164428 90 6D 9E 48 */ stw r3, lbl_8063F108-_SDA_BASE_(r13)
/* 801687CC 0016442C 4E 80 00 20 */ blr
.global func_801687D0
func_801687D0:
/* 801687D0 00164430 80 6D 9E 48 */ lwz r3, lbl_8063F108-_SDA_BASE_(r13)
/* 801687D4 00164434 4E 80 00 20 */ blr
.global func_801687D8
func_801687D8:
/* 801687D8 00164438 38 60 00 00 */ li r3, 0
/* 801687DC 0016443C 4B FF C4 28 */ b func_80164C04
.global func_801687E0
func_801687E0:
/* 801687E0 00164440 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801687E4 00164444 7C 08 02 A6 */ mflr r0
/* 801687E8 00164448 38 60 00 00 */ li r3, 0
/* 801687EC 0016444C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801687F0 00164450 4B FF C4 7D */ bl func_80164C6C
/* 801687F4 00164454 2C 03 00 00 */ cmpwi r3, 0
/* 801687F8 00164458 40 82 00 0C */ bne lbl_80168804
/* 801687FC 0016445C 38 60 00 00 */ li r3, 0
/* 80168800 00164460 48 00 00 08 */ b lbl_80168808
lbl_80168804:
/* 80168804 00164464 4B FF E2 B1 */ bl func_80166AB4
lbl_80168808:
/* 80168808 00164468 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016880C 0016446C 7C 08 03 A6 */ mtlr r0
/* 80168810 00164470 38 21 00 10 */ addi r1, r1, 0x10
/* 80168814 00164474 4E 80 00 20 */ blr
.global func_80168818
func_80168818:
/* 80168818 00164478 38 60 00 01 */ li r3, 1
/* 8016881C 0016447C 4B FF B5 A8 */ b func_80163DC4
.global func_80168820
func_80168820:
/* 80168820 00164480 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168824 00164484 7C 08 02 A6 */ mflr r0
/* 80168828 00164488 38 60 00 00 */ li r3, 0
/* 8016882C 0016448C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168830 00164490 4B FF C4 3D */ bl func_80164C6C
/* 80168834 00164494 2C 03 00 00 */ cmpwi r3, 0
/* 80168838 00164498 40 82 00 0C */ bne lbl_80168844
/* 8016883C 0016449C 38 60 FF FF */ li r3, -1
/* 80168840 001644A0 48 00 00 08 */ b lbl_80168848
lbl_80168844:
/* 80168844 001644A4 4B FF E5 01 */ bl func_80166D44
lbl_80168848:
/* 80168848 001644A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016884C 001644AC 7C 08 03 A6 */ mtlr r0
/* 80168850 001644B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80168854 001644B4 4E 80 00 20 */ blr
.global func_80168858
func_80168858:
/* 80168858 001644B8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016885C 001644BC 7C 08 02 A6 */ mflr r0
/* 80168860 001644C0 38 60 00 00 */ li r3, 0
/* 80168864 001644C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168868 001644C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016886C 001644CC 4B FF C4 01 */ bl func_80164C6C
/* 80168870 001644D0 2C 03 00 00 */ cmpwi r3, 0
/* 80168874 001644D4 7C 7F 1B 78 */ mr r31, r3
/* 80168878 001644D8 40 82 00 0C */ bne lbl_80168884
/* 8016887C 001644DC 38 60 00 00 */ li r3, 0
/* 80168880 001644E0 48 00 00 6C */ b lbl_801688EC
lbl_80168884:
/* 80168884 001644E4 4B FF FF 5D */ bl func_801687E0
/* 80168888 001644E8 2C 03 00 00 */ cmpwi r3, 0
/* 8016888C 001644EC 40 82 00 0C */ bne lbl_80168898
/* 80168890 001644F0 38 60 00 00 */ li r3, 0
/* 80168894 001644F4 48 00 00 58 */ b lbl_801688EC
lbl_80168898:
/* 80168898 001644F8 38 60 02 68 */ li r3, 0x268
/* 8016889C 001644FC 4B FF A1 F5 */ bl func_80162A90
/* 801688A0 00164500 2C 03 00 01 */ cmpwi r3, 1
/* 801688A4 00164504 41 82 00 44 */ beq lbl_801688E8
/* 801688A8 00164508 40 80 00 40 */ bge lbl_801688E8
/* 801688AC 0016450C 2C 03 00 00 */ cmpwi r3, 0
/* 801688B0 00164510 40 80 00 08 */ bge lbl_801688B8
/* 801688B4 00164514 48 00 00 34 */ b lbl_801688E8
lbl_801688B8:
/* 801688B8 00164518 38 60 00 01 */ li r3, 1
/* 801688BC 0016451C 4B FF B5 09 */ bl func_80163DC4
/* 801688C0 00164520 2C 03 00 00 */ cmpwi r3, 0
/* 801688C4 00164524 40 80 00 0C */ bge lbl_801688D0
/* 801688C8 00164528 38 60 00 00 */ li r3, 0
/* 801688CC 0016452C 48 00 00 20 */ b lbl_801688EC
lbl_801688D0:
/* 801688D0 00164530 7F E3 FB 78 */ mr r3, r31
/* 801688D4 00164534 4B FF E4 71 */ bl func_80166D44
/* 801688D8 00164538 2C 03 00 00 */ cmpwi r3, 0
/* 801688DC 0016453C 40 80 00 0C */ bge lbl_801688E8
/* 801688E0 00164540 38 60 00 00 */ li r3, 0
/* 801688E4 00164544 48 00 00 08 */ b lbl_801688EC
lbl_801688E8:
/* 801688E8 00164548 38 60 00 01 */ li r3, 1
lbl_801688EC:
/* 801688EC 0016454C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801688F0 00164550 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801688F4 00164554 7C 08 03 A6 */ mtlr r0
/* 801688F8 00164558 38 21 00 10 */ addi r1, r1, 0x10
/* 801688FC 0016455C 4E 80 00 20 */ blr
.global func_80168900
func_80168900:
/* 80168900 00164560 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168904 00164564 7C 08 02 A6 */ mflr r0
/* 80168908 00164568 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016890C 0016456C 4B FF FF 4D */ bl func_80168858
/* 80168910 00164570 2C 03 00 00 */ cmpwi r3, 0
/* 80168914 00164574 40 82 00 0C */ bne lbl_80168920
/* 80168918 00164578 38 60 00 00 */ li r3, 0
/* 8016891C 0016457C 48 00 00 20 */ b lbl_8016893C
lbl_80168920:
/* 80168920 00164580 38 60 00 00 */ li r3, 0
/* 80168924 00164584 4B FF C3 49 */ bl func_80164C6C
/* 80168928 00164588 2C 03 00 00 */ cmpwi r3, 0
/* 8016892C 0016458C 40 82 00 0C */ bne lbl_80168938
/* 80168930 00164590 38 60 00 00 */ li r3, 0
/* 80168934 00164594 48 00 00 08 */ b lbl_8016893C
lbl_80168938:
/* 80168938 00164598 4B FF E3 E9 */ bl func_80166D20
lbl_8016893C:
/* 8016893C 0016459C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168940 001645A0 7C 08 03 A6 */ mtlr r0
/* 80168944 001645A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80168948 001645A8 4E 80 00 20 */ blr
.global func_8016894C
func_8016894C:
/* 8016894C 001645AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168950 001645B0 7C 08 02 A6 */ mflr r0
/* 80168954 001645B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168958 001645B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016895C 001645BC 7C 7F 1B 78 */ mr r31, r3
/* 80168960 001645C0 80 0D 9E 54 */ lwz r0, lbl_8063F114-_SDA_BASE_(r13)
/* 80168964 001645C4 2C 00 00 00 */ cmpwi r0, 0
/* 80168968 001645C8 40 82 00 14 */ bne lbl_8016897C
/* 8016896C 001645CC 48 0F 56 65 */ bl func_8025DFD0
/* 80168970 001645D0 38 80 06 EC */ li r4, 0x6ec
/* 80168974 001645D4 48 0F 56 4D */ bl func_8025DFC0
/* 80168978 001645D8 90 6D 9E 54 */ stw r3, lbl_8063F114-_SDA_BASE_(r13)
lbl_8016897C:
/* 8016897C 001645DC 80 6D 9E 54 */ lwz r3, lbl_8063F114-_SDA_BASE_(r13)
/* 80168980 001645E0 7F E4 FB 78 */ mr r4, r31
/* 80168984 001645E4 38 A0 06 EC */ li r5, 0x6ec
/* 80168988 001645E8 4B E9 B6 79 */ bl memcpy
/* 8016898C 001645EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168990 001645F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168994 001645F4 7C 08 03 A6 */ mtlr r0
/* 80168998 001645F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016899C 001645FC 4E 80 00 20 */ blr
.global func_801689A0
func_801689A0:
/* 801689A0 00164600 80 6D 9E 54 */ lwz r3, lbl_8063F114-_SDA_BASE_(r13)
/* 801689A4 00164604 4E 80 00 20 */ blr
.global func_801689A8
func_801689A8:
/* 801689A8 00164608 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801689AC 0016460C 7C 08 02 A6 */ mflr r0
/* 801689B0 00164610 38 80 00 00 */ li r4, 0
/* 801689B4 00164614 38 A0 00 1A */ li r5, 0x1a
/* 801689B8 00164618 90 01 00 14 */ stw r0, 0x14(r1)
/* 801689BC 0016461C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801689C0 00164620 3F E0 80 49 */ lis r31, lbl_8048CB28@ha
/* 801689C4 00164624 3B FF CB 28 */ addi r31, r31, lbl_8048CB28@l
/* 801689C8 00164628 7F E3 FB 78 */ mr r3, r31
/* 801689CC 0016462C 4B E9 B7 39 */ bl memset
/* 801689D0 00164630 80 6D 9E 54 */ lwz r3, lbl_8063F114-_SDA_BASE_(r13)
/* 801689D4 00164634 38 C0 00 00 */ li r6, 0
/* 801689D8 00164638 A0 03 00 04 */ lhz r0, 4(r3)
/* 801689DC 0016463C 28 00 FF FF */ cmplwi r0, 0xffff
/* 801689E0 00164640 40 82 00 14 */ bne lbl_801689F4
/* 801689E4 00164644 A0 03 00 06 */ lhz r0, 6(r3)
/* 801689E8 00164648 28 00 00 13 */ cmplwi r0, 0x13
/* 801689EC 0016464C 40 82 00 08 */ bne lbl_801689F4
/* 801689F0 00164650 38 C0 00 02 */ li r6, 2
lbl_801689F4:
/* 801689F4 00164654 20 06 00 0C */ subfic r0, r6, 0xc
/* 801689F8 00164658 54 C5 08 3C */ slwi r5, r6, 1
/* 801689FC 0016465C 80 8D 9E 54 */ lwz r4, lbl_8063F114-_SDA_BASE_(r13)
/* 80168A00 00164660 7C 09 03 A6 */ mtctr r0
/* 80168A04 00164664 2C 06 00 0C */ cmpwi r6, 0xc
/* 80168A08 00164668 40 80 00 38 */ bge lbl_80168A40
lbl_80168A0C:
/* 80168A0C 0016466C 7C 64 2A 14 */ add r3, r4, r5
/* 80168A10 00164670 A0 03 00 04 */ lhz r0, 4(r3)
/* 80168A14 00164674 2C 00 00 00 */ cmpwi r0, 0
/* 80168A18 00164678 41 82 00 0C */ beq lbl_80168A24
/* 80168A1C 0016467C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80168A20 00164680 40 82 00 10 */ bne lbl_80168A30
lbl_80168A24:
/* 80168A24 00164684 38 00 00 00 */ li r0, 0
/* 80168A28 00164688 B0 1F 00 00 */ sth r0, 0(r31)
/* 80168A2C 0016468C 48 00 00 14 */ b lbl_80168A40
lbl_80168A30:
/* 80168A30 00164690 B0 1F 00 00 */ sth r0, 0(r31)
/* 80168A34 00164694 3B FF 00 02 */ addi r31, r31, 2
/* 80168A38 00164698 38 A5 00 02 */ addi r5, r5, 2
/* 80168A3C 0016469C 42 00 FF D0 */ bdnz lbl_80168A0C
lbl_80168A40:
/* 80168A40 001646A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168A44 001646A4 3C 60 80 49 */ lis r3, lbl_8048CB28@ha
/* 80168A48 001646A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168A4C 001646AC 38 63 CB 28 */ addi r3, r3, lbl_8048CB28@l
/* 80168A50 001646B0 7C 08 03 A6 */ mtlr r0
/* 80168A54 001646B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80168A58 001646B8 4E 80 00 20 */ blr
.global func_80168A5C
func_80168A5C:
/* 80168A5C 001646BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168A60 001646C0 7C 08 02 A6 */ mflr r0
/* 80168A64 001646C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168A68 001646C8 4B FF FD F1 */ bl func_80168858
/* 80168A6C 001646CC 2C 03 00 00 */ cmpwi r3, 0
/* 80168A70 001646D0 40 82 00 0C */ bne lbl_80168A7C
/* 80168A74 001646D4 38 60 00 00 */ li r3, 0
/* 80168A78 001646D8 48 00 00 20 */ b lbl_80168A98
lbl_80168A7C:
/* 80168A7C 001646DC 38 60 00 00 */ li r3, 0
/* 80168A80 001646E0 4B FF C1 ED */ bl func_80164C6C
/* 80168A84 001646E4 2C 03 00 00 */ cmpwi r3, 0
/* 80168A88 001646E8 40 82 00 0C */ bne lbl_80168A94
/* 80168A8C 001646EC 38 60 00 00 */ li r3, 0
/* 80168A90 001646F0 48 00 00 08 */ b lbl_80168A98
lbl_80168A94:
/* 80168A94 001646F4 4B FF E0 31 */ bl func_80166AC4
lbl_80168A98:
/* 80168A98 001646F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168A9C 001646FC 7C 08 03 A6 */ mtlr r0
/* 80168AA0 00164700 38 21 00 10 */ addi r1, r1, 0x10
/* 80168AA4 00164704 4E 80 00 20 */ blr
.global func_80168AA8
func_80168AA8:
/* 80168AA8 00164708 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168AAC 0016470C 7C 08 02 A6 */ mflr r0
/* 80168AB0 00164710 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168AB4 00164714 4B FF FD A5 */ bl func_80168858
/* 80168AB8 00164718 2C 03 00 00 */ cmpwi r3, 0
/* 80168ABC 0016471C 40 82 00 0C */ bne lbl_80168AC8
/* 80168AC0 00164720 38 60 00 00 */ li r3, 0
/* 80168AC4 00164724 48 00 00 20 */ b lbl_80168AE4
lbl_80168AC8:
/* 80168AC8 00164728 38 60 00 00 */ li r3, 0
/* 80168ACC 0016472C 4B FF C1 A1 */ bl func_80164C6C
/* 80168AD0 00164730 2C 03 00 00 */ cmpwi r3, 0
/* 80168AD4 00164734 40 82 00 0C */ bne lbl_80168AE0
/* 80168AD8 00164738 38 60 00 00 */ li r3, 0
/* 80168ADC 0016473C 48 00 00 08 */ b lbl_80168AE4
lbl_80168AE0:
/* 80168AE0 00164740 4B FF DF ED */ bl func_80166ACC
lbl_80168AE4:
/* 80168AE4 00164744 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168AE8 00164748 7C 08 03 A6 */ mtlr r0
/* 80168AEC 0016474C 38 21 00 10 */ addi r1, r1, 0x10
/* 80168AF0 00164750 4E 80 00 20 */ blr
.global func_80168AF4
func_80168AF4:
/* 80168AF4 00164754 90 6D 9E 58 */ stw r3, lbl_8063F118-_SDA_BASE_(r13)
/* 80168AF8 00164758 4E 80 00 20 */ blr
.global func_80168AFC
func_80168AFC:
/* 80168AFC 0016475C 80 6D 9E 58 */ lwz r3, lbl_8063F118-_SDA_BASE_(r13)
/* 80168B00 00164760 4E 80 00 20 */ blr
.global func_80168B04
func_80168B04:
/* 80168B04 00164764 90 6D 9E 5C */ stw r3, lbl_8063F11C-_SDA_BASE_(r13)
/* 80168B08 00164768 4E 80 00 20 */ blr
.global func_80168B0C
func_80168B0C:
/* 80168B0C 0016476C 80 6D 9E 5C */ lwz r3, lbl_8063F11C-_SDA_BASE_(r13)
/* 80168B10 00164770 4E 80 00 20 */ blr
.global func_80168B14
func_80168B14:
/* 80168B14 00164774 80 6D 9E 4C */ lwz r3, lbl_8063F10C-_SDA_BASE_(r13)
/* 80168B18 00164778 7C 03 00 D0 */ neg r0, r3
/* 80168B1C 0016477C 7C 00 1B 78 */ or r0, r0, r3
/* 80168B20 00164780 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80168B24 00164784 4E 80 00 20 */ blr
.global func_80168B28
func_80168B28:
/* 80168B28 00164788 80 0D 9E 4C */ lwz r0, lbl_8063F10C-_SDA_BASE_(r13)
/* 80168B2C 0016478C 7C 00 00 34 */ cntlzw r0, r0
/* 80168B30 00164790 54 03 D9 7E */ srwi r3, r0, 5
/* 80168B34 00164794 4E 80 00 20 */ blr
.global func_80168B38
func_80168B38:
/* 80168B38 00164798 80 0D 9E 50 */ lwz r0, lbl_8063F110-_SDA_BASE_(r13)
/* 80168B3C 0016479C 7C 00 00 34 */ cntlzw r0, r0
/* 80168B40 001647A0 54 03 D9 7E */ srwi r3, r0, 5
/* 80168B44 001647A4 4E 80 00 20 */ blr
lbl_80168B48:
/* 80168B48 001647A8 7C 85 23 78 */ mr r5, r4
/* 80168B4C 001647AC 7C 64 1B 78 */ mr r4, r3
/* 80168B50 001647B0 38 60 00 00 */ li r3, 0
/* 80168B54 001647B4 48 00 0B 64 */ b lbl_801696B8
.global func_80168B58
func_80168B58:
/* 80168B58 001647B8 4B FF FF F0 */ b lbl_80168B48
.global func_80168B5C
func_80168B5C:
/* 80168B5C 001647BC 4B FF FF EC */ b lbl_80168B48
lbl_80168B60:
/* 80168B60 001647C0 48 00 06 78 */ b lbl_801691D8
.global func_80168B64
func_80168B64:
/* 80168B64 001647C4 4B FF FF FC */ b lbl_80168B60
.global func_80168B68
func_80168B68:
/* 80168B68 001647C8 4B FF FF F8 */ b lbl_80168B60
.global func_80168B6C
func_80168B6C:
/* 80168B6C 001647CC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80168B70 001647D0 7C 08 02 A6 */ mflr r0
/* 80168B74 001647D4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80168B78 001647D8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80168B7C 001647DC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80168B80 001647E0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80168B84 001647E4 7C 7D 1B 78 */ mr r29, r3
/* 80168B88 001647E8 38 60 02 68 */ li r3, 0x268
/* 80168B8C 001647EC 4B FF 9F 05 */ bl func_80162A90
/* 80168B90 001647F0 2C 03 00 01 */ cmpwi r3, 1
/* 80168B94 001647F4 41 82 00 4C */ beq lbl_80168BE0
/* 80168B98 001647F8 40 80 00 48 */ bge lbl_80168BE0
/* 80168B9C 001647FC 2C 03 00 00 */ cmpwi r3, 0
/* 80168BA0 00164800 40 80 00 08 */ bge lbl_80168BA8
/* 80168BA4 00164804 48 00 00 3C */ b lbl_80168BE0
lbl_80168BA8:
/* 80168BA8 00164808 3B FD 02 86 */ addi r31, r29, 0x286
/* 80168BAC 0016480C 3B DD 01 FC */ addi r30, r29, 0x1fc
/* 80168BB0 00164810 3B A0 00 00 */ li r29, 0
lbl_80168BB4:
/* 80168BB4 00164814 88 1F 00 00 */ lbz r0, 0(r31)
/* 80168BB8 00164818 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80168BBC 0016481C 41 82 00 10 */ beq lbl_80168BCC
/* 80168BC0 00164820 7F C3 F3 78 */ mr r3, r30
/* 80168BC4 00164824 38 80 00 00 */ li r4, 0
/* 80168BC8 00164828 48 27 8D 95 */ bl func_803E195C
lbl_80168BCC:
/* 80168BCC 0016482C 3B BD 00 01 */ addi r29, r29, 1
/* 80168BD0 00164830 3B DE 00 8C */ addi r30, r30, 0x8c
/* 80168BD4 00164834 2C 1D 00 06 */ cmpwi r29, 6
/* 80168BD8 00164838 3B FF 00 8C */ addi r31, r31, 0x8c
/* 80168BDC 0016483C 41 80 FF D8 */ blt lbl_80168BB4
lbl_80168BE0:
/* 80168BE0 00164840 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80168BE4 00164844 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80168BE8 00164848 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80168BEC 0016484C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80168BF0 00164850 7C 08 03 A6 */ mtlr r0
/* 80168BF4 00164854 38 21 00 20 */ addi r1, r1, 0x20
/* 80168BF8 00164858 4E 80 00 20 */ blr
.global func_80168BFC
func_80168BFC:
/* 80168BFC 0016485C 38 A0 00 01 */ li r5, 1
/* 80168C00 00164860 38 6D 9E 40 */ addi r3, r13, lbl_8063F100-_SDA_BASE_
/* 80168C04 00164864 38 80 00 04 */ li r4, 4
/* 80168C08 00164868 38 00 00 00 */ li r0, 0
/* 80168C0C 0016486C 98 AD 9E 40 */ stb r5, lbl_8063F100-_SDA_BASE_(r13)
/* 80168C10 00164870 B0 83 00 02 */ sth r4, 2(r3)
/* 80168C14 00164874 98 03 00 04 */ stb r0, 4(r3)
/* 80168C18 00164878 4E 80 00 20 */ blr
+472
View File
@@ -0,0 +1,472 @@
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80168C1C
func_80168C1C:
/* 80168C1C 0016487C 80 AD 9E 6C */ lwz r5, lbl_8063F12C-_SDA_BASE_(r13)
/* 80168C20 00164880 7C 85 1A 14 */ add r4, r5, r3
/* 80168C24 00164884 28 04 80 00 */ cmplwi r4, 0x8000
/* 80168C28 00164888 40 80 00 14 */ bge lbl_80168C3C
/* 80168C2C 0016488C 80 0D 9E 70 */ lwz r0, lbl_8063F130-_SDA_BASE_(r13)
/* 80168C30 00164890 90 8D 9E 6C */ stw r4, lbl_8063F12C-_SDA_BASE_(r13)
/* 80168C34 00164894 7C 60 2A 14 */ add r3, r0, r5
/* 80168C38 00164898 4E 80 00 20 */ blr
lbl_80168C3C:
/* 80168C3C 0016489C 90 6D 9E 6C */ stw r3, lbl_8063F12C-_SDA_BASE_(r13)
/* 80168C40 001648A0 80 6D 9E 70 */ lwz r3, lbl_8063F130-_SDA_BASE_(r13)
/* 80168C44 001648A4 4E 80 00 20 */ blr
.global func_80168C48
func_80168C48:
/* 80168C48 001648A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168C4C 001648AC 7C 08 02 A6 */ mflr r0
/* 80168C50 001648B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168C54 001648B4 80 0D 9E 70 */ lwz r0, lbl_8063F130-_SDA_BASE_(r13)
/* 80168C58 001648B8 2C 00 00 00 */ cmpwi r0, 0
/* 80168C5C 001648BC 40 82 00 18 */ bne lbl_80168C74
/* 80168C60 001648C0 48 0F 53 71 */ bl func_8025DFD0
/* 80168C64 001648C4 3C 80 00 01 */ lis r4, 0x00008000@ha
/* 80168C68 001648C8 38 84 80 00 */ addi r4, r4, 0x00008000@l
/* 80168C6C 001648CC 48 0F 53 55 */ bl func_8025DFC0
/* 80168C70 001648D0 90 6D 9E 70 */ stw r3, lbl_8063F130-_SDA_BASE_(r13)
lbl_80168C74:
/* 80168C74 001648D4 80 0D 9E 74 */ lwz r0, lbl_8063F134-_SDA_BASE_(r13)
/* 80168C78 001648D8 2C 00 00 00 */ cmpwi r0, 0
/* 80168C7C 001648DC 40 82 00 18 */ bne lbl_80168C94
/* 80168C80 001648E0 48 0F 53 51 */ bl func_8025DFD0
/* 80168C84 001648E4 3C 80 00 01 */ lis r4, 0x0000C000@ha
/* 80168C88 001648E8 38 84 C0 00 */ addi r4, r4, 0x0000C000@l
/* 80168C8C 001648EC 48 0F 53 35 */ bl func_8025DFC0
/* 80168C90 001648F0 90 6D 9E 74 */ stw r3, lbl_8063F134-_SDA_BASE_(r13)
lbl_80168C94:
/* 80168C94 001648F4 3C 60 80 49 */ lis r3, lbl_8048CB48@ha
/* 80168C98 001648F8 3C A0 00 01 */ lis r5, 0x0000C000@ha
/* 80168C9C 001648FC 80 8D 9E 74 */ lwz r4, lbl_8063F134-_SDA_BASE_(r13)
/* 80168CA0 00164900 38 63 CB 48 */ addi r3, r3, lbl_8048CB48@l
/* 80168CA4 00164904 38 A5 C0 00 */ addi r5, r5, 0x0000C000@l
/* 80168CA8 00164908 48 0F 4B 25 */ bl func_8025D7CC
/* 80168CAC 0016490C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168CB0 00164910 7C 08 03 A6 */ mtlr r0
/* 80168CB4 00164914 38 21 00 10 */ addi r1, r1, 0x10
/* 80168CB8 00164918 4E 80 00 20 */ blr
.global func_80168CBC
func_80168CBC:
/* 80168CBC 0016491C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168CC0 00164920 7C 08 02 A6 */ mflr r0
/* 80168CC4 00164924 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168CC8 00164928 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80168CCC 0016492C 7C 9F 23 78 */ mr r31, r4
/* 80168CD0 00164930 93 C1 00 08 */ stw r30, 8(r1)
/* 80168CD4 00164934 7C 7E 1B 78 */ mr r30, r3
/* 80168CD8 00164938 48 10 5A 85 */ bl OSDisableInterrupts
/* 80168CDC 0016493C 38 1E 00 03 */ addi r0, r30, 3
/* 80168CE0 00164940 3C 80 80 49 */ lis r4, lbl_8048CB48@ha
/* 80168CE4 00164944 7C 7E 1B 78 */ mr r30, r3
/* 80168CE8 00164948 7F E5 FB 78 */ mr r5, r31
/* 80168CEC 0016494C 38 64 CB 48 */ addi r3, r4, lbl_8048CB48@l
/* 80168CF0 00164950 54 04 04 3A */ rlwinm r4, r0, 0, 0x10, 0x1d
/* 80168CF4 00164954 48 0F 4B 15 */ bl func_8025D808
/* 80168CF8 00164958 7C 7F 1B 78 */ mr r31, r3
/* 80168CFC 0016495C 7F C3 F3 78 */ mr r3, r30
/* 80168D00 00164960 48 10 5A 85 */ bl OSRestoreInterrupts
/* 80168D04 00164964 2C 1F 00 00 */ cmpwi r31, 0
/* 80168D08 00164968 40 82 00 0C */ bne lbl_80168D14
/* 80168D0C 0016496C 38 60 00 00 */ li r3, 0
/* 80168D10 00164970 48 00 00 0C */ b lbl_80168D1C
lbl_80168D14:
/* 80168D14 00164974 38 1F 00 03 */ addi r0, r31, 3
/* 80168D18 00164978 54 03 00 3A */ rlwinm r3, r0, 0, 0, 0x1d
lbl_80168D1C:
/* 80168D1C 0016497C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168D20 00164980 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168D24 00164984 83 C1 00 08 */ lwz r30, 8(r1)
/* 80168D28 00164988 7C 08 03 A6 */ mtlr r0
/* 80168D2C 0016498C 38 21 00 10 */ addi r1, r1, 0x10
/* 80168D30 00164990 4E 80 00 20 */ blr
.global func_80168D34
func_80168D34:
/* 80168D34 00164994 3C 60 80 49 */ lis r3, 0x8049
/* 80168D38 00164998 84 03 CB 68 */ lwzu r0, -0x3498(r3)
/* 80168D3C 0016499C 2C 00 00 00 */ cmpwi r0, 0
/* 80168D40 001649A0 41 82 00 0C */ beq lbl_80168D4C
/* 80168D44 001649A4 38 60 00 01 */ li r3, 1
/* 80168D48 001649A8 4E 80 00 20 */ blr
lbl_80168D4C:
/* 80168D4C 001649AC 80 03 00 04 */ lwz r0, 4(r3)
/* 80168D50 001649B0 2C 00 00 00 */ cmpwi r0, 0
/* 80168D54 001649B4 41 82 00 0C */ beq lbl_80168D60
/* 80168D58 001649B8 38 60 00 01 */ li r3, 1
/* 80168D5C 001649BC 4E 80 00 20 */ blr
lbl_80168D60:
/* 80168D60 001649C0 80 03 00 08 */ lwz r0, 8(r3)
/* 80168D64 001649C4 2C 00 00 00 */ cmpwi r0, 0
/* 80168D68 001649C8 41 82 00 0C */ beq lbl_80168D74
/* 80168D6C 001649CC 38 60 00 01 */ li r3, 1
/* 80168D70 001649D0 4E 80 00 20 */ blr
lbl_80168D74:
/* 80168D74 001649D4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80168D78 001649D8 2C 00 00 00 */ cmpwi r0, 0
/* 80168D7C 001649DC 41 82 00 0C */ beq lbl_80168D88
/* 80168D80 001649E0 38 60 00 01 */ li r3, 1
/* 80168D84 001649E4 4E 80 00 20 */ blr
lbl_80168D88:
/* 80168D88 001649E8 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80168D8C 001649EC 2C 00 00 00 */ cmpwi r0, 0
/* 80168D90 001649F0 41 82 00 0C */ beq lbl_80168D9C
/* 80168D94 001649F4 38 60 00 01 */ li r3, 1
/* 80168D98 001649F8 4E 80 00 20 */ blr
lbl_80168D9C:
/* 80168D9C 001649FC 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80168DA0 00164A00 2C 00 00 00 */ cmpwi r0, 0
/* 80168DA4 00164A04 41 82 00 0C */ beq lbl_80168DB0
/* 80168DA8 00164A08 38 60 00 01 */ li r3, 1
/* 80168DAC 00164A0C 4E 80 00 20 */ blr
lbl_80168DB0:
/* 80168DB0 00164A10 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80168DB4 00164A14 2C 00 00 00 */ cmpwi r0, 0
/* 80168DB8 00164A18 41 82 00 0C */ beq lbl_80168DC4
/* 80168DBC 00164A1C 38 60 00 01 */ li r3, 1
/* 80168DC0 00164A20 4E 80 00 20 */ blr
lbl_80168DC4:
/* 80168DC4 00164A24 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80168DC8 00164A28 2C 00 00 00 */ cmpwi r0, 0
/* 80168DCC 00164A2C 41 82 00 0C */ beq lbl_80168DD8
/* 80168DD0 00164A30 38 60 00 01 */ li r3, 1
/* 80168DD4 00164A34 4E 80 00 20 */ blr
lbl_80168DD8:
/* 80168DD8 00164A38 80 03 00 20 */ lwz r0, 0x20(r3)
/* 80168DDC 00164A3C 2C 00 00 00 */ cmpwi r0, 0
/* 80168DE0 00164A40 41 82 00 0C */ beq lbl_80168DEC
/* 80168DE4 00164A44 38 60 00 01 */ li r3, 1
/* 80168DE8 00164A48 4E 80 00 20 */ blr
lbl_80168DEC:
/* 80168DEC 00164A4C 38 60 00 00 */ li r3, 0
/* 80168DF0 00164A50 4E 80 00 20 */ blr
/* 80168DF4 00164A54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168DF8 00164A58 7C 08 02 A6 */ mflr r0
/* 80168DFC 00164A5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168E00 00164A60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80168E04 00164A64 7C BF 2B 78 */ mr r31, r5
/* 80168E08 00164A68 93 C1 00 08 */ stw r30, 8(r1)
/* 80168E0C 00164A6C 7C 7E 1B 78 */ mr r30, r3
/* 80168E10 00164A70 7F E3 FB 78 */ mr r3, r31
/* 80168E14 00164A74 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 80168E18 00164A78 4B FF FE A5 */ bl func_80168CBC
/* 80168E1C 00164A7C 2C 03 00 00 */ cmpwi r3, 0
/* 80168E20 00164A80 40 82 00 0C */ bne lbl_80168E2C
/* 80168E24 00164A84 38 60 FF FF */ li r3, -1
/* 80168E28 00164A88 48 00 00 18 */ b lbl_80168E40
lbl_80168E2C:
/* 80168E2C 00164A8C 3C 80 80 49 */ lis r4, lbl_8048CB68@ha
/* 80168E30 00164A90 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d
/* 80168E34 00164A94 38 84 CB 68 */ addi r4, r4, lbl_8048CB68@l
/* 80168E38 00164A98 7C 64 01 2E */ stwx r3, r4, r0
/* 80168E3C 00164A9C 7F E3 FB 78 */ mr r3, r31
lbl_80168E40:
/* 80168E40 00164AA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168E44 00164AA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168E48 00164AA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80168E4C 00164AAC 7C 08 03 A6 */ mtlr r0
/* 80168E50 00164AB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80168E54 00164AB4 4E 80 00 20 */ blr
/* 80168E58 00164AB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80168E5C 00164ABC 7C 08 02 A6 */ mflr r0
/* 80168E60 00164AC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80168E64 00164AC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80168E68 00164AC8 3F E0 80 49 */ lis r31, lbl_8048CB68@ha
/* 80168E6C 00164ACC 3B FF CB 68 */ addi r31, r31, lbl_8048CB68@l
/* 80168E70 00164AD0 93 C1 00 08 */ stw r30, 8(r1)
/* 80168E74 00164AD4 54 7E 13 BA */ rlwinm r30, r3, 2, 0xe, 0x1d
/* 80168E78 00164AD8 7C 7F F0 2E */ lwzx r3, r31, r30
/* 80168E7C 00164ADC 2C 03 00 00 */ cmpwi r3, 0
/* 80168E80 00164AE0 40 82 00 0C */ bne lbl_80168E8C
/* 80168E84 00164AE4 38 60 FF FF */ li r3, -1
/* 80168E88 00164AE8 48 00 00 1C */ b lbl_80168EA4
lbl_80168E8C:
/* 80168E8C 00164AEC 7C A4 2B 78 */ mr r4, r5
/* 80168E90 00164AF0 7C C5 33 78 */ mr r5, r6
/* 80168E94 00164AF4 4B E9 B1 6D */ bl memcpy
/* 80168E98 00164AF8 38 00 00 00 */ li r0, 0
/* 80168E9C 00164AFC 38 60 00 00 */ li r3, 0
/* 80168EA0 00164B00 7C 1F F1 2E */ stwx r0, r31, r30
lbl_80168EA4:
/* 80168EA4 00164B04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80168EA8 00164B08 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80168EAC 00164B0C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80168EB0 00164B10 7C 08 03 A6 */ mtlr r0
/* 80168EB4 00164B14 38 21 00 10 */ addi r1, r1, 0x10
/* 80168EB8 00164B18 4E 80 00 20 */ blr
.global func_80168EBC
func_80168EBC:
/* 80168EBC 00164B1C 80 83 00 08 */ lwz r4, 8(r3)
/* 80168EC0 00164B20 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80168EC4 00164B24 7C 84 1A 14 */ add r4, r4, r3
/* 80168EC8 00164B28 2C 00 00 00 */ cmpwi r0, 0
/* 80168ECC 00164B2C 90 83 00 08 */ stw r4, 8(r3)
/* 80168ED0 00164B30 40 82 00 10 */ bne lbl_80168EE0
/* 80168ED4 00164B34 38 00 00 00 */ li r0, 0
/* 80168ED8 00164B38 90 03 00 10 */ stw r0, 0x10(r3)
/* 80168EDC 00164B3C 48 00 00 10 */ b lbl_80168EEC
lbl_80168EE0:
/* 80168EE0 00164B40 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80168EE4 00164B44 7C 00 1A 14 */ add r0, r0, r3
/* 80168EE8 00164B48 90 03 00 10 */ stw r0, 0x10(r3)
lbl_80168EEC:
/* 80168EEC 00164B4C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80168EF0 00164B50 2C 00 00 00 */ cmpwi r0, 0
/* 80168EF4 00164B54 40 82 00 10 */ bne lbl_80168F04
/* 80168EF8 00164B58 38 00 00 00 */ li r0, 0
/* 80168EFC 00164B5C 90 03 00 18 */ stw r0, 0x18(r3)
/* 80168F00 00164B60 48 00 00 10 */ b lbl_80168F10
lbl_80168F04:
/* 80168F04 00164B64 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80168F08 00164B68 7C 00 1A 14 */ add r0, r0, r3
/* 80168F0C 00164B6C 90 03 00 18 */ stw r0, 0x18(r3)
lbl_80168F10:
/* 80168F10 00164B70 80 03 00 24 */ lwz r0, 0x24(r3)
/* 80168F14 00164B74 2C 00 00 00 */ cmpwi r0, 0
/* 80168F18 00164B78 40 82 00 10 */ bne lbl_80168F28
/* 80168F1C 00164B7C 38 00 00 00 */ li r0, 0
/* 80168F20 00164B80 90 03 00 20 */ stw r0, 0x20(r3)
/* 80168F24 00164B84 48 00 00 10 */ b lbl_80168F34
lbl_80168F28:
/* 80168F28 00164B88 80 03 00 20 */ lwz r0, 0x20(r3)
/* 80168F2C 00164B8C 7C 00 1A 14 */ add r0, r0, r3
/* 80168F30 00164B90 90 03 00 20 */ stw r0, 0x20(r3)
lbl_80168F34:
/* 80168F34 00164B94 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 80168F38 00164B98 2C 00 00 00 */ cmpwi r0, 0
/* 80168F3C 00164B9C 40 82 00 10 */ bne lbl_80168F4C
/* 80168F40 00164BA0 38 00 00 00 */ li r0, 0
/* 80168F44 00164BA4 90 03 00 28 */ stw r0, 0x28(r3)
/* 80168F48 00164BA8 4E 80 00 20 */ blr
lbl_80168F4C:
/* 80168F4C 00164BAC 80 03 00 28 */ lwz r0, 0x28(r3)
/* 80168F50 00164BB0 7C 00 1A 14 */ add r0, r0, r3
/* 80168F54 00164BB4 90 03 00 28 */ stw r0, 0x28(r3)
/* 80168F58 00164BB8 4E 80 00 20 */ blr
.global func_80168F5C
func_80168F5C:
/* 80168F5C 00164BBC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80168F60 00164BC0 7C 08 02 A6 */ mflr r0
/* 80168F64 00164BC4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80168F68 00164BC8 39 61 00 30 */ addi r11, r1, 0x30
/* 80168F6C 00164BCC 48 05 E1 B9 */ bl _savegpr_26
/* 80168F70 00164BD0 7C 7E 1B 78 */ mr r30, r3
/* 80168F74 00164BD4 7C 9F 23 78 */ mr r31, r4
/* 80168F78 00164BD8 48 10 57 E5 */ bl OSDisableInterrupts
/* 80168F7C 00164BDC 3F 60 80 49 */ lis r27, lbl_8048CB48@ha
/* 80168F80 00164BE0 7C 7A 1B 78 */ mr r26, r3
/* 80168F84 00164BE4 38 7B CB 48 */ addi r3, r27, lbl_8048CB48@l
/* 80168F88 00164BE8 48 0F 48 71 */ bl func_8025D7F8
/* 80168F8C 00164BEC 7C 7C 1B 78 */ mr r28, r3
/* 80168F90 00164BF0 7F 43 D3 78 */ mr r3, r26
/* 80168F94 00164BF4 48 10 57 F1 */ bl OSRestoreInterrupts
/* 80168F98 00164BF8 2C 1C 00 00 */ cmpwi r28, 0
/* 80168F9C 00164BFC 40 82 00 0C */ bne lbl_80168FA8
/* 80168FA0 00164C00 38 60 00 00 */ li r3, 0
/* 80168FA4 00164C04 48 00 02 1C */ b lbl_801691C0
lbl_80168FA8:
/* 80168FA8 00164C08 3C 60 00 01 */ lis r3, 0x0000DEAD@ha
/* 80168FAC 00164C0C 3B A3 DE AD */ addi r29, r3, 0x0000DEAD@l
lbl_80168FB0:
/* 80168FB0 00164C10 48 10 57 AD */ bl OSDisableInterrupts
/* 80168FB4 00164C14 7C 7A 1B 78 */ mr r26, r3
/* 80168FB8 00164C18 38 7B CB 48 */ addi r3, r27, -13496
/* 80168FBC 00164C1C 48 0F 48 3D */ bl func_8025D7F8
/* 80168FC0 00164C20 7C 7C 1B 78 */ mr r28, r3
/* 80168FC4 00164C24 7F 43 D3 78 */ mr r3, r26
/* 80168FC8 00164C28 48 10 57 BD */ bl OSRestoreInterrupts
/* 80168FCC 00164C2C 2C 1C 00 01 */ cmpwi r28, 1
/* 80168FD0 00164C30 40 82 00 18 */ bne lbl_80168FE8
/* 80168FD4 00164C34 4B FF FD 61 */ bl func_80168D34
/* 80168FD8 00164C38 2C 03 00 00 */ cmpwi r3, 0
/* 80168FDC 00164C3C 41 82 00 0C */ beq lbl_80168FE8
/* 80168FE0 00164C40 38 60 00 00 */ li r3, 0
/* 80168FE4 00164C44 48 00 01 DC */ b lbl_801691C0
lbl_80168FE8:
/* 80168FE8 00164C48 48 10 57 75 */ bl OSDisableInterrupts
/* 80168FEC 00164C4C 7C 7A 1B 78 */ mr r26, r3
/* 80168FF0 00164C50 38 7B CB 48 */ addi r3, r27, -13496
/* 80168FF4 00164C54 38 81 00 0A */ addi r4, r1, 0xa
/* 80168FF8 00164C58 38 A1 00 08 */ addi r5, r1, 8
/* 80168FFC 00164C5C 48 0F 4A 01 */ bl func_8025D9FC
/* 80169000 00164C60 7C 7C 1B 78 */ mr r28, r3
/* 80169004 00164C64 7F 43 D3 78 */ mr r3, r26
/* 80169008 00164C68 48 10 57 7D */ bl OSRestoreInterrupts
/* 8016900C 00164C6C 2C 1C 00 00 */ cmpwi r28, 0
/* 80169010 00164C70 40 82 00 0C */ bne lbl_8016901C
/* 80169014 00164C74 38 60 00 00 */ li r3, 0
/* 80169018 00164C78 48 00 01 A8 */ b lbl_801691C0
lbl_8016901C:
/* 8016901C 00164C7C 38 1C 00 03 */ addi r0, r28, 3
/* 80169020 00164C80 54 07 00 3A */ rlwinm r7, r0, 0, 0, 0x1d
/* 80169024 00164C84 80 67 00 00 */ lwz r3, 0(r7)
/* 80169028 00164C88 3C 83 AF BE */ addis r4, r3, 0xafbe
/* 8016902C 00164C8C 28 04 52 43 */ cmplwi r4, 0x5243
/* 80169030 00164C90 40 82 00 10 */ bne lbl_80169040
/* 80169034 00164C94 80 CD 9E 68 */ lwz r6, lbl_8063F128-_SDA_BASE_(r13)
/* 80169038 00164C98 2C 06 00 01 */ cmpwi r6, 1
/* 8016903C 00164C9C 40 82 00 3C */ bne lbl_80169078
lbl_80169040:
/* 80169040 00164CA0 48 10 57 1D */ bl OSDisableInterrupts
/* 80169044 00164CA4 3F A0 80 49 */ lis r29, lbl_8048CB48@ha
/* 80169048 00164CA8 7C 7B 1B 78 */ mr r27, r3
/* 8016904C 00164CAC 38 7D CB 48 */ addi r3, r29, lbl_8048CB48@l
/* 80169050 00164CB0 38 81 00 0A */ addi r4, r1, 0xa
/* 80169054 00164CB4 38 A1 00 08 */ addi r5, r1, 8
/* 80169058 00164CB8 48 0F 4A 59 */ bl func_8025DAB0
/* 8016905C 00164CBC 38 7D CB 48 */ addi r3, r29, -13496
/* 80169060 00164CC0 48 0F 4B 41 */ bl func_8025DBA0
/* 80169064 00164CC4 7F 63 DB 78 */ mr r3, r27
/* 80169068 00164CC8 48 10 57 1D */ bl OSRestoreInterrupts
/* 8016906C 00164CCC 4B FF C2 C1 */ bl func_8016532C
/* 80169070 00164CD0 38 60 00 00 */ li r3, 0
/* 80169074 00164CD4 48 00 01 4C */ b lbl_801691C0
lbl_80169078:
/* 80169078 00164CD8 80 07 00 04 */ lwz r0, 4(r7)
/* 8016907C 00164CDC 2C 00 00 00 */ cmpwi r0, 0
/* 80169080 00164CE0 41 82 00 0C */ beq lbl_8016908C
/* 80169084 00164CE4 2C 06 00 02 */ cmpwi r6, 2
/* 80169088 00164CE8 40 82 00 48 */ bne lbl_801690D0
lbl_8016908C:
/* 8016908C 00164CEC 3C 60 00 01 */ lis r3, 0x0000DEAD@ha
/* 80169090 00164CF0 38 03 DE AD */ addi r0, r3, 0x0000DEAD@l
/* 80169094 00164CF4 90 07 00 00 */ stw r0, 0(r7)
/* 80169098 00164CF8 48 10 56 C5 */ bl OSDisableInterrupts
/* 8016909C 00164CFC 3F A0 80 49 */ lis r29, lbl_8048CB48@ha
/* 801690A0 00164D00 7C 7B 1B 78 */ mr r27, r3
/* 801690A4 00164D04 38 7D CB 48 */ addi r3, r29, lbl_8048CB48@l
/* 801690A8 00164D08 38 81 00 0A */ addi r4, r1, 0xa
/* 801690AC 00164D0C 38 A1 00 08 */ addi r5, r1, 8
/* 801690B0 00164D10 48 0F 4A 01 */ bl func_8025DAB0
/* 801690B4 00164D14 38 7D CB 48 */ addi r3, r29, -13496
/* 801690B8 00164D18 48 0F 4A E9 */ bl func_8025DBA0
/* 801690BC 00164D1C 7F 63 DB 78 */ mr r3, r27
/* 801690C0 00164D20 48 10 56 C5 */ bl OSRestoreInterrupts
/* 801690C4 00164D24 4B FF C2 69 */ bl func_8016532C
/* 801690C8 00164D28 38 60 00 00 */ li r3, 0
/* 801690CC 00164D2C 48 00 00 F4 */ b lbl_801691C0
lbl_801690D0:
/* 801690D0 00164D30 80 A7 00 08 */ lwz r5, 8(r7)
/* 801690D4 00164D34 7C 05 00 40 */ cmplw r5, r0
/* 801690D8 00164D38 41 80 00 34 */ blt lbl_8016910C
/* 801690DC 00164D3C 93 A7 00 00 */ stw r29, 0(r7)
/* 801690E0 00164D40 48 10 56 7D */ bl OSDisableInterrupts
/* 801690E4 00164D44 7C 7C 1B 78 */ mr r28, r3
/* 801690E8 00164D48 38 7B CB 48 */ addi r3, r27, -13496
/* 801690EC 00164D4C 38 81 00 0A */ addi r4, r1, 0xa
/* 801690F0 00164D50 38 A1 00 08 */ addi r5, r1, 8
/* 801690F4 00164D54 48 0F 49 BD */ bl func_8025DAB0
/* 801690F8 00164D58 38 7B CB 48 */ addi r3, r27, -13496
/* 801690FC 00164D5C 48 0F 4A A5 */ bl func_8025DBA0
/* 80169100 00164D60 7F 83 E3 78 */ mr r3, r28
/* 80169104 00164D64 48 10 56 81 */ bl OSRestoreInterrupts
/* 80169108 00164D68 4B FF FE A8 */ b lbl_80168FB0
lbl_8016910C:
/* 8016910C 00164D6C 39 07 00 0C */ addi r8, r7, 0xc
/* 80169110 00164D70 39 20 00 00 */ li r9, 0
/* 80169114 00164D74 7C 09 03 A6 */ mtctr r0
/* 80169118 00164D78 28 00 00 00 */ cmplwi r0, 0
/* 8016911C 00164D7C 40 81 00 A0 */ ble lbl_801691BC
lbl_80169120:
/* 80169120 00164D80 28 04 52 43 */ cmplwi r4, 0x5243
/* 80169124 00164D84 40 82 00 0C */ bne lbl_80169130
/* 80169128 00164D88 2C 06 00 03 */ cmpwi r6, 3
/* 8016912C 00164D8C 40 82 00 3C */ bne lbl_80169168
lbl_80169130:
/* 80169130 00164D90 48 10 56 2D */ bl OSDisableInterrupts
/* 80169134 00164D94 3F C0 80 49 */ lis r30, lbl_8048CB48@ha
/* 80169138 00164D98 7C 7B 1B 78 */ mr r27, r3
/* 8016913C 00164D9C 38 7E CB 48 */ addi r3, r30, lbl_8048CB48@l
/* 80169140 00164DA0 38 81 00 0A */ addi r4, r1, 0xa
/* 80169144 00164DA4 38 A1 00 08 */ addi r5, r1, 8
/* 80169148 00164DA8 48 0F 49 69 */ bl func_8025DAB0
/* 8016914C 00164DAC 38 7E CB 48 */ addi r3, r30, -13496
/* 80169150 00164DB0 48 0F 4A 51 */ bl func_8025DBA0
/* 80169154 00164DB4 7F 63 DB 78 */ mr r3, r27
/* 80169158 00164DB8 48 10 56 2D */ bl OSRestoreInterrupts
/* 8016915C 00164DBC 4B FF C1 D1 */ bl func_8016532C
/* 80169160 00164DC0 38 60 00 00 */ li r3, 0
/* 80169164 00164DC4 48 00 00 5C */ b lbl_801691C0
lbl_80169168:
/* 80169168 00164DC8 7C 09 28 40 */ cmplw r9, r5
/* 8016916C 00164DCC 40 82 00 3C */ bne lbl_801691A8
/* 80169170 00164DD0 80 67 00 08 */ lwz r3, 8(r7)
/* 80169174 00164DD4 2C 1E 00 00 */ cmpwi r30, 0
/* 80169178 00164DD8 38 03 00 01 */ addi r0, r3, 1
/* 8016917C 00164DDC 90 07 00 08 */ stw r0, 8(r7)
/* 80169180 00164DE0 41 82 00 0C */ beq lbl_8016918C
/* 80169184 00164DE4 80 08 00 04 */ lwz r0, 4(r8)
/* 80169188 00164DE8 B0 1E 00 00 */ sth r0, 0(r30)
lbl_8016918C:
/* 8016918C 00164DEC 2C 1F 00 00 */ cmpwi r31, 0
/* 80169190 00164DF0 41 82 00 0C */ beq lbl_8016919C
/* 80169194 00164DF4 88 01 00 08 */ lbz r0, 8(r1)
/* 80169198 00164DF8 98 1F 00 00 */ stb r0, 0(r31)
lbl_8016919C:
/* 8016919C 00164DFC 38 68 00 08 */ addi r3, r8, 8
/* 801691A0 00164E00 4B FF FD 1D */ bl func_80168EBC
/* 801691A4 00164E04 48 00 00 1C */ b lbl_801691C0
lbl_801691A8:
/* 801691A8 00164E08 80 08 00 04 */ lwz r0, 4(r8)
/* 801691AC 00164E0C 39 29 00 01 */ addi r9, r9, 1
/* 801691B0 00164E10 7C 68 02 14 */ add r3, r8, r0
/* 801691B4 00164E14 39 03 00 08 */ addi r8, r3, 8
/* 801691B8 00164E18 42 00 FF 68 */ bdnz lbl_80169120
lbl_801691BC:
/* 801691BC 00164E1C 38 60 00 00 */ li r3, 0
lbl_801691C0:
/* 801691C0 00164E20 39 61 00 30 */ addi r11, r1, 0x30
/* 801691C4 00164E24 48 05 DF AD */ bl _restgpr_26
/* 801691C8 00164E28 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801691CC 00164E2C 7C 08 03 A6 */ mtlr r0
/* 801691D0 00164E30 38 21 00 30 */ addi r1, r1, 0x30
/* 801691D4 00164E34 4E 80 00 20 */ blr
lbl_801691D8:
/* 801691D8 00164E38 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801691DC 00164E3C 7C 08 02 A6 */ mflr r0
/* 801691E0 00164E40 90 01 00 24 */ stw r0, 0x24(r1)
/* 801691E4 00164E44 38 61 00 0A */ addi r3, r1, 0xa
/* 801691E8 00164E48 38 81 00 08 */ addi r4, r1, 8
/* 801691EC 00164E4C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801691F0 00164E50 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801691F4 00164E54 4B FF FD 69 */ bl func_80168F5C
/* 801691F8 00164E58 2C 03 00 00 */ cmpwi r3, 0
/* 801691FC 00164E5C 7C 7F 1B 78 */ mr r31, r3
/* 80169200 00164E60 40 82 00 0C */ bne lbl_8016920C
/* 80169204 00164E64 38 60 00 00 */ li r3, 0
/* 80169208 00164E68 48 00 00 28 */ b lbl_80169230
lbl_8016920C:
/* 8016920C 00164E6C A0 61 00 0A */ lhz r3, 0xa(r1)
/* 80169210 00164E70 4B FF FA 0D */ bl func_80168C1C
/* 80169214 00164E74 A0 A1 00 0A */ lhz r5, 0xa(r1)
/* 80169218 00164E78 7C 7E 1B 78 */ mr r30, r3
/* 8016921C 00164E7C 7F E4 FB 78 */ mr r4, r31
/* 80169220 00164E80 4B E9 AD E1 */ bl memcpy
/* 80169224 00164E84 88 01 00 08 */ lbz r0, 8(r1)
/* 80169228 00164E88 7F C3 F3 78 */ mr r3, r30
/* 8016922C 00164E8C 90 1E 00 00 */ stw r0, 0(r30)
lbl_80169230:
/* 80169230 00164E90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80169234 00164E94 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80169238 00164E98 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8016923C 00164E9C 7C 08 03 A6 */ mtlr r0
/* 80169240 00164EA0 38 21 00 20 */ addi r1, r1, 0x20
/* 80169244 00164EA4 4E 80 00 20 */ blr
.global func_80169248
func_80169248:
/* 80169248 00164EA8 38 A0 00 01 */ li r5, 1
/* 8016924C 00164EAC 38 6D 9E 60 */ addi r3, r13, lbl_8063F120-_SDA_BASE_
/* 80169250 00164EB0 38 80 00 04 */ li r4, 4
/* 80169254 00164EB4 38 00 00 00 */ li r0, 0
/* 80169258 00164EB8 98 AD 9E 60 */ stb r5, lbl_8063F120-_SDA_BASE_(r13)
/* 8016925C 00164EBC B0 83 00 02 */ sth r4, 2(r3)
/* 80169260 00164EC0 98 03 00 04 */ stb r0, 4(r3)
/* 80169264 00164EC4 4E 80 00 20 */ blr
+376
View File
@@ -0,0 +1,376 @@
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80169268
func_80169268:
/* 80169268 00164EC8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8016926C 00164ECC 7C 08 02 A6 */ mflr r0
/* 80169270 00164ED0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80169274 00164ED4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80169278 00164ED8 3F E0 80 49 */ lis r31, lbl_8048CB90@ha
/* 8016927C 00164EDC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80169280 00164EE0 7C 9E 23 78 */ mr r30, r4
/* 80169284 00164EE4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80169288 00164EE8 7C 7D 1B 78 */ mr r29, r3
/* 8016928C 00164EEC 38 7F CB 90 */ addi r3, r31, lbl_8048CB90@l
/* 80169290 00164EF0 48 10 66 B9 */ bl OSLockMutex
/* 80169294 00164EF4 80 8D 9E 80 */ lwz r4, lbl_8063F140-_SDA_BASE_(r13)
/* 80169298 00164EF8 2C 04 00 00 */ cmpwi r4, 0
/* 8016929C 00164EFC 40 82 00 80 */ bne lbl_8016931C
/* 801692A0 00164F00 80 0D 9E 88 */ lwz r0, lbl_8063F148-_SDA_BASE_(r13)
/* 801692A4 00164F04 7C 1E 00 40 */ cmplw r30, r0
/* 801692A8 00164F08 40 81 00 14 */ ble lbl_801692BC
/* 801692AC 00164F0C 38 7F CB 90 */ addi r3, r31, -13424
/* 801692B0 00164F10 48 10 67 75 */ bl OSUnlockMutex
/* 801692B4 00164F14 38 60 FF FF */ li r3, -1
/* 801692B8 00164F18 48 00 00 DC */ b lbl_80169394
lbl_801692BC:
/* 801692BC 00164F1C 3C 60 50 42 */ lis r3, 0x50425243@ha
/* 801692C0 00164F20 81 0D 9E 84 */ lwz r8, lbl_8063F144-_SDA_BASE_(r13)
/* 801692C4 00164F24 38 E3 52 43 */ addi r7, r3, 0x50425243@l
/* 801692C8 00164F28 38 1E 00 03 */ addi r0, r30, 3
/* 801692CC 00164F2C 90 E8 00 00 */ stw r7, 0(r8)
/* 801692D0 00164F30 38 60 00 01 */ li r3, 1
/* 801692D4 00164F34 38 C0 00 00 */ li r6, 0
/* 801692D8 00164F38 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 801692DC 00164F3C 90 68 00 04 */ stw r3, 4(r8)
/* 801692E0 00164F40 7F A4 EB 78 */ mr r4, r29
/* 801692E4 00164F44 7F C5 F3 78 */ mr r5, r30
/* 801692E8 00164F48 38 68 00 14 */ addi r3, r8, 0x14
/* 801692EC 00164F4C 90 C8 00 08 */ stw r6, 8(r8)
/* 801692F0 00164F50 90 E8 00 0C */ stw r7, 0xc(r8)
/* 801692F4 00164F54 90 08 00 10 */ stw r0, 0x10(r8)
/* 801692F8 00164F58 4B E9 AD 09 */ bl memcpy
/* 801692FC 00164F5C 38 1E 00 02 */ addi r0, r30, 2
/* 80169300 00164F60 38 7F CB 90 */ addi r3, r31, -13424
/* 80169304 00164F64 54 04 07 FA */ rlwinm r4, r0, 0, 0x1f, 0x1d
/* 80169308 00164F68 38 04 00 14 */ addi r0, r4, 0x14
/* 8016930C 00164F6C 90 0D 9E 80 */ stw r0, lbl_8063F140-_SDA_BASE_(r13)
/* 80169310 00164F70 48 10 67 15 */ bl OSUnlockMutex
/* 80169314 00164F74 38 60 00 00 */ li r3, 0
/* 80169318 00164F78 48 00 00 7C */ b lbl_80169394
lbl_8016931C:
/* 8016931C 00164F7C 80 0D 9E 88 */ lwz r0, lbl_8063F148-_SDA_BASE_(r13)
/* 80169320 00164F80 38 7E 00 08 */ addi r3, r30, 8
/* 80169324 00164F84 7C 04 00 50 */ subf r0, r4, r0
/* 80169328 00164F88 7C 03 00 40 */ cmplw r3, r0
/* 8016932C 00164F8C 40 81 00 14 */ ble lbl_80169340
/* 80169330 00164F90 38 7F CB 90 */ addi r3, r31, -13424
/* 80169334 00164F94 48 10 66 F1 */ bl OSUnlockMutex
/* 80169338 00164F98 38 60 FF FF */ li r3, -1
/* 8016933C 00164F9C 48 00 00 58 */ b lbl_80169394
lbl_80169340:
/* 80169340 00164FA0 80 CD 9E 84 */ lwz r6, lbl_8063F144-_SDA_BASE_(r13)
/* 80169344 00164FA4 3C 60 50 42 */ lis r3, 0x50425243@ha
/* 80169348 00164FA8 38 03 52 43 */ addi r0, r3, 0x50425243@l
/* 8016934C 00164FAC 7F A4 EB 78 */ mr r4, r29
/* 80169350 00164FB0 80 66 00 04 */ lwz r3, 4(r6)
/* 80169354 00164FB4 7F C5 F3 78 */ mr r5, r30
/* 80169358 00164FB8 38 63 00 01 */ addi r3, r3, 1
/* 8016935C 00164FBC 90 66 00 04 */ stw r3, 4(r6)
/* 80169360 00164FC0 80 6D 9E 80 */ lwz r3, lbl_8063F140-_SDA_BASE_(r13)
/* 80169364 00164FC4 7C 06 19 6E */ stwux r0, r6, r3
/* 80169368 00164FC8 93 C6 00 04 */ stw r30, 4(r6)
/* 8016936C 00164FCC 38 66 00 08 */ addi r3, r6, 8
/* 80169370 00164FD0 4B E9 AC 91 */ bl memcpy
/* 80169374 00164FD4 38 1E 00 0B */ addi r0, r30, 0xb
/* 80169378 00164FD8 80 8D 9E 80 */ lwz r4, lbl_8063F140-_SDA_BASE_(r13)
/* 8016937C 00164FDC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80169380 00164FE0 38 7F CB 90 */ addi r3, r31, -13424
/* 80169384 00164FE4 7C 04 02 14 */ add r0, r4, r0
/* 80169388 00164FE8 90 0D 9E 80 */ stw r0, lbl_8063F140-_SDA_BASE_(r13)
/* 8016938C 00164FEC 48 10 66 99 */ bl OSUnlockMutex
/* 80169390 00164FF0 38 60 00 00 */ li r3, 0
lbl_80169394:
/* 80169394 00164FF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80169398 00164FF8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8016939C 00164FFC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801693A0 00165000 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801693A4 00165004 7C 08 03 A6 */ mtlr r0
/* 801693A8 00165008 38 21 00 20 */ addi r1, r1, 0x20
/* 801693AC 0016500C 4E 80 00 20 */ blr
.global func_801693B0
func_801693B0:
/* 801693B0 00165010 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801693B4 00165014 7C 08 02 A6 */ mflr r0
/* 801693B8 00165018 90 01 00 24 */ stw r0, 0x24(r1)
/* 801693BC 0016501C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801693C0 00165020 3F E0 80 49 */ lis r31, lbl_8048CB90@ha
/* 801693C4 00165024 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801693C8 00165028 7C 7E 1B 78 */ mr r30, r3
/* 801693CC 0016502C 38 7F CB 90 */ addi r3, r31, lbl_8048CB90@l
/* 801693D0 00165030 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801693D4 00165034 7C 9D 23 78 */ mr r29, r4
/* 801693D8 00165038 48 10 67 81 */ bl OSTryLockMutex
/* 801693DC 0016503C 2C 03 00 00 */ cmpwi r3, 0
/* 801693E0 00165040 40 82 00 0C */ bne lbl_801693EC
/* 801693E4 00165044 38 7F CB 90 */ addi r3, r31, -13424
/* 801693E8 00165048 48 10 65 61 */ bl OSLockMutex
lbl_801693EC:
/* 801693EC 0016504C 3C 60 80 49 */ lis r3, lbl_8048CBA8@ha
/* 801693F0 00165050 38 63 CB A8 */ addi r3, r3, lbl_8048CBA8@l
/* 801693F4 00165054 4B FF A2 21 */ bl func_80163614
/* 801693F8 00165058 80 CD 9E 80 */ lwz r6, lbl_8063F140-_SDA_BASE_(r13)
/* 801693FC 0016505C 2C 06 00 00 */ cmpwi r6, 0
/* 80169400 00165060 40 82 00 14 */ bne lbl_80169414
/* 80169404 00165064 3C 60 80 49 */ lis r3, lbl_8048CB90@ha
/* 80169408 00165068 38 63 CB 90 */ addi r3, r3, lbl_8048CB90@l
/* 8016940C 0016506C 48 10 66 19 */ bl OSUnlockMutex
/* 80169410 00165070 48 00 00 74 */ b lbl_80169484
lbl_80169414:
/* 80169414 00165074 2C 1D 00 00 */ cmpwi r29, 0
/* 80169418 00165078 40 82 00 20 */ bne lbl_80169438
/* 8016941C 0016507C 3C 80 80 42 */ lis r4, lbl_8041F738@ha
/* 80169420 00165080 80 AD 9E 84 */ lwz r5, lbl_8063F144-_SDA_BASE_(r13)
/* 80169424 00165084 7F C3 F3 78 */ mr r3, r30
/* 80169428 00165088 38 84 F7 38 */ addi r4, r4, lbl_8041F738@l
/* 8016942C 0016508C 4B FF B3 69 */ bl func_80164794
/* 80169430 00165090 3B A0 01 2C */ li r29, 0x12c
/* 80169434 00165094 48 00 00 08 */ b lbl_8016943C
lbl_80169438:
/* 80169438 00165098 38 60 FF FB */ li r3, -5
lbl_8016943C:
/* 8016943C 0016509C 2C 03 00 00 */ cmpwi r3, 0
/* 80169440 001650A0 40 82 00 10 */ bne lbl_80169450
/* 80169444 001650A4 38 00 00 00 */ li r0, 0
/* 80169448 001650A8 90 0D 9E 80 */ stw r0, lbl_8063F140-_SDA_BASE_(r13)
/* 8016944C 001650AC 48 00 00 2C */ b lbl_80169478
lbl_80169450:
/* 80169450 001650B0 2C 03 FF FB */ cmpwi r3, -5
/* 80169454 001650B4 40 82 00 24 */ bne lbl_80169478
/* 80169458 001650B8 3C 60 80 49 */ lis r3, lbl_8048CBA8@ha
/* 8016945C 001650BC 3C A0 80 17 */ lis r5, func_801693B0@ha
/* 80169460 001650C0 7F A4 EB 78 */ mr r4, r29
/* 80169464 001650C4 7F C6 F3 78 */ mr r6, r30
/* 80169468 001650C8 38 63 CB A8 */ addi r3, r3, lbl_8048CBA8@l
/* 8016946C 001650CC 38 A5 93 B0 */ addi r5, r5, func_801693B0@l
/* 80169470 001650D0 38 E0 00 00 */ li r7, 0
/* 80169474 001650D4 4B FF A1 19 */ bl func_8016358C
lbl_80169478:
/* 80169478 001650D8 3C 60 80 49 */ lis r3, lbl_8048CB90@ha
/* 8016947C 001650DC 38 63 CB 90 */ addi r3, r3, lbl_8048CB90@l
/* 80169480 001650E0 48 10 65 A5 */ bl OSUnlockMutex
lbl_80169484:
/* 80169484 001650E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80169488 001650E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8016948C 001650EC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80169490 001650F0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80169494 001650F4 7C 08 03 A6 */ mtlr r0
/* 80169498 001650F8 38 21 00 20 */ addi r1, r1, 0x20
/* 8016949C 001650FC 4E 80 00 20 */ blr
.global func_801694A0
func_801694A0:
/* 801694A0 00165100 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801694A4 00165104 7C 08 02 A6 */ mflr r0
/* 801694A8 00165108 90 01 00 14 */ stw r0, 0x14(r1)
/* 801694AC 0016510C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801694B0 00165110 80 0D 9E 84 */ lwz r0, lbl_8063F144-_SDA_BASE_(r13)
/* 801694B4 00165114 2C 00 00 00 */ cmpwi r0, 0
/* 801694B8 00165118 40 82 00 2C */ bne lbl_801694E4
/* 801694BC 0016511C 48 0F 4B 15 */ bl func_8025DFD0
/* 801694C0 00165120 3F E0 00 01 */ lis r31, 0x00008000@ha
/* 801694C4 00165124 38 9F 80 00 */ addi r4, r31, 0x00008000@l
/* 801694C8 00165128 48 0F 4A F9 */ bl func_8025DFC0
/* 801694CC 0016512C 38 1F 80 00 */ addi r0, r31, -32768
/* 801694D0 00165130 90 6D 9E 84 */ stw r3, lbl_8063F144-_SDA_BASE_(r13)
/* 801694D4 00165134 3C 60 80 49 */ lis r3, lbl_8048CB90@ha
/* 801694D8 00165138 90 0D 9E 88 */ stw r0, lbl_8063F148-_SDA_BASE_(r13)
/* 801694DC 0016513C 38 63 CB 90 */ addi r3, r3, lbl_8048CB90@l
/* 801694E0 00165140 48 10 64 31 */ bl OSInitMutex
lbl_801694E4:
/* 801694E4 00165144 38 00 00 00 */ li r0, 0
/* 801694E8 00165148 3C 60 80 49 */ lis r3, lbl_8048CBA8@ha
/* 801694EC 0016514C 90 0D 9E 80 */ stw r0, lbl_8063F140-_SDA_BASE_(r13)
/* 801694F0 00165150 38 63 CB A8 */ addi r3, r3, lbl_8048CBA8@l
/* 801694F4 00165154 4B FF A0 8D */ bl func_80163580
/* 801694F8 00165158 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801694FC 0016515C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80169500 00165160 7C 08 03 A6 */ mtlr r0
/* 80169504 00165164 38 21 00 10 */ addi r1, r1, 0x10
/* 80169508 00165168 4E 80 00 20 */ blr
.global func_8016950C
func_8016950C:
/* 8016950C 0016516C 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 80169510 00165170 80 83 00 14 */ lwz r4, 0x14(r3)
/* 80169514 00165174 38 05 00 03 */ addi r0, r5, 3
/* 80169518 00165178 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8016951C 0016517C 54 06 00 3A */ rlwinm r6, r0, 0, 0, 0x1d
/* 80169520 00165180 38 04 00 03 */ addi r0, r4, 3
/* 80169524 00165184 80 83 00 24 */ lwz r4, 0x24(r3)
/* 80169528 00165188 38 A5 00 03 */ addi r5, r5, 3
/* 8016952C 0016518C 38 E6 00 30 */ addi r7, r6, 0x30
/* 80169530 00165190 54 06 00 3A */ rlwinm r6, r0, 0, 0, 0x1d
/* 80169534 00165194 80 63 00 2C */ lwz r3, 0x2c(r3)
/* 80169538 00165198 38 84 00 03 */ addi r4, r4, 3
/* 8016953C 0016519C 54 A5 00 3A */ rlwinm r5, r5, 0, 0, 0x1d
/* 80169540 001651A0 38 03 00 03 */ addi r0, r3, 3
/* 80169544 001651A4 7C E7 32 14 */ add r7, r7, r6
/* 80169548 001651A8 54 83 00 3A */ rlwinm r3, r4, 0, 0, 0x1d
/* 8016954C 001651AC 7C E7 2A 14 */ add r7, r7, r5
/* 80169550 001651B0 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80169554 001651B4 7C E7 1A 14 */ add r7, r7, r3
/* 80169558 001651B8 7C 67 02 14 */ add r3, r7, r0
/* 8016955C 001651BC 4E 80 00 20 */ blr
.global func_80169560
func_80169560:
/* 80169560 001651C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80169564 001651C4 7C 08 02 A6 */ mflr r0
/* 80169568 001651C8 38 A0 00 30 */ li r5, 0x30
/* 8016956C 001651CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80169570 001651D0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80169574 001651D4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80169578 001651D8 7C 9E 23 78 */ mr r30, r4
/* 8016957C 001651DC 38 80 00 00 */ li r4, 0
/* 80169580 001651E0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80169584 001651E4 7C 7D 1B 78 */ mr r29, r3
/* 80169588 001651E8 7F C3 F3 78 */ mr r3, r30
/* 8016958C 001651EC 4B E9 AB 79 */ bl memset
/* 80169590 001651F0 80 1D 00 00 */ lwz r0, 0(r29)
/* 80169594 001651F4 3B FE 00 30 */ addi r31, r30, 0x30
/* 80169598 001651F8 7F E3 FB 78 */ mr r3, r31
/* 8016959C 001651FC 90 1E 00 00 */ stw r0, 0(r30)
/* 801695A0 00165200 88 1D 00 04 */ lbz r0, 4(r29)
/* 801695A4 00165204 98 1E 00 04 */ stb r0, 4(r30)
/* 801695A8 00165208 88 1D 00 05 */ lbz r0, 5(r29)
/* 801695AC 0016520C 98 1E 00 05 */ stb r0, 5(r30)
/* 801695B0 00165210 88 1D 00 06 */ lbz r0, 6(r29)
/* 801695B4 00165214 98 1E 00 06 */ stb r0, 6(r30)
/* 801695B8 00165218 88 1D 00 07 */ lbz r0, 7(r29)
/* 801695BC 0016521C 98 1E 00 07 */ stb r0, 7(r30)
/* 801695C0 00165220 80 9D 00 08 */ lwz r4, 8(r29)
/* 801695C4 00165224 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 801695C8 00165228 4B E9 AA 39 */ bl memcpy
/* 801695CC 0016522C 7C 1E F8 50 */ subf r0, r30, r31
/* 801695D0 00165230 90 1E 00 08 */ stw r0, 8(r30)
/* 801695D4 00165234 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801695D8 00165238 90 1E 00 0C */ stw r0, 0xc(r30)
/* 801695DC 0016523C 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801695E0 00165240 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 801695E4 00165244 38 03 00 03 */ addi r0, r3, 3
/* 801695E8 00165248 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 801695EC 0016524C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 801695F0 00165250 7F FF 02 14 */ add r31, r31, r0
/* 801695F4 00165254 7F E3 FB 78 */ mr r3, r31
/* 801695F8 00165258 4B E9 AA 09 */ bl memcpy
/* 801695FC 0016525C 7C 1E F8 50 */ subf r0, r30, r31
/* 80169600 00165260 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80169604 00165264 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 80169608 00165268 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8016960C 0016526C 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 80169610 00165270 80 9D 00 18 */ lwz r4, 0x18(r29)
/* 80169614 00165274 38 03 00 03 */ addi r0, r3, 3
/* 80169618 00165278 80 BD 00 1C */ lwz r5, 0x1c(r29)
/* 8016961C 0016527C 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80169620 00165280 7F FF 02 14 */ add r31, r31, r0
/* 80169624 00165284 7F E3 FB 78 */ mr r3, r31
/* 80169628 00165288 4B E9 A9 D9 */ bl memcpy
/* 8016962C 0016528C 7C 1E F8 50 */ subf r0, r30, r31
/* 80169630 00165290 90 1E 00 18 */ stw r0, 0x18(r30)
/* 80169634 00165294 80 1D 00 1C */ lwz r0, 0x1c(r29)
/* 80169638 00165298 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 8016963C 0016529C 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 80169640 001652A0 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 80169644 001652A4 38 03 00 03 */ addi r0, r3, 3
/* 80169648 001652A8 80 BD 00 24 */ lwz r5, 0x24(r29)
/* 8016964C 001652AC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80169650 001652B0 7F FF 02 14 */ add r31, r31, r0
/* 80169654 001652B4 7F E3 FB 78 */ mr r3, r31
/* 80169658 001652B8 4B E9 A9 A9 */ bl memcpy
/* 8016965C 001652BC 7C 1E F8 50 */ subf r0, r30, r31
/* 80169660 001652C0 90 1E 00 20 */ stw r0, 0x20(r30)
/* 80169664 001652C4 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 80169668 001652C8 90 1E 00 24 */ stw r0, 0x24(r30)
/* 8016966C 001652CC 80 7D 00 24 */ lwz r3, 0x24(r29)
/* 80169670 001652D0 80 9D 00 28 */ lwz r4, 0x28(r29)
/* 80169674 001652D4 38 03 00 03 */ addi r0, r3, 3
/* 80169678 001652D8 80 BD 00 2C */ lwz r5, 0x2c(r29)
/* 8016967C 001652DC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80169680 001652E0 7F FF 02 14 */ add r31, r31, r0
/* 80169684 001652E4 7F E3 FB 78 */ mr r3, r31
/* 80169688 001652E8 4B E9 A9 79 */ bl memcpy
/* 8016968C 001652EC 7C 1E F8 50 */ subf r0, r30, r31
/* 80169690 001652F0 90 1E 00 28 */ stw r0, 0x28(r30)
/* 80169694 001652F4 80 1D 00 2C */ lwz r0, 0x2c(r29)
/* 80169698 001652F8 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 8016969C 001652FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801696A0 00165300 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801696A4 00165304 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801696A8 00165308 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801696AC 0016530C 7C 08 03 A6 */ mtlr r0
/* 801696B0 00165310 38 21 00 20 */ addi r1, r1, 0x20
/* 801696B4 00165314 4E 80 00 20 */ blr
lbl_801696B8:
/* 801696B8 00165318 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801696BC 0016531C 7C 08 02 A6 */ mflr r0
/* 801696C0 00165320 90 01 00 24 */ stw r0, 0x24(r1)
/* 801696C4 00165324 39 61 00 20 */ addi r11, r1, 0x20
/* 801696C8 00165328 48 05 DA 61 */ bl _savegpr_27
/* 801696CC 0016532C 7C 9B 23 78 */ mr r27, r4
/* 801696D0 00165330 7C BC 2B 78 */ mr r28, r5
/* 801696D4 00165334 4B FF E3 5D */ bl func_80167A30
/* 801696D8 00165338 2C 03 00 00 */ cmpwi r3, 0
/* 801696DC 0016533C 7C 7E 1B 78 */ mr r30, r3
/* 801696E0 00165340 40 80 00 0C */ bge lbl_801696EC
/* 801696E4 00165344 38 60 FF FF */ li r3, -1
/* 801696E8 00165348 48 00 00 8C */ b lbl_80169774
lbl_801696EC:
/* 801696EC 0016534C 4B FF B5 19 */ bl func_80164C04
/* 801696F0 00165350 2C 03 00 00 */ cmpwi r3, 0
/* 801696F4 00165354 40 82 00 0C */ bne lbl_80169700
/* 801696F8 00165358 38 60 FF FE */ li r3, -2
/* 801696FC 0016535C 48 00 00 78 */ b lbl_80169774
lbl_80169700:
/* 80169700 00165360 7F 63 DB 78 */ mr r3, r27
/* 80169704 00165364 4B FF FE 09 */ bl func_8016950C
/* 80169708 00165368 7C 7F 1B 78 */ mr r31, r3
/* 8016970C 0016536C 48 0F 48 C5 */ bl func_8025DFD0
/* 80169710 00165370 7F E4 FB 78 */ mr r4, r31
/* 80169714 00165374 48 0F 48 AD */ bl func_8025DFC0
/* 80169718 00165378 2C 03 00 00 */ cmpwi r3, 0
/* 8016971C 0016537C 7C 7D 1B 78 */ mr r29, r3
/* 80169720 00165380 40 82 00 0C */ bne lbl_8016972C
/* 80169724 00165384 38 60 FF FF */ li r3, -1
/* 80169728 00165388 48 00 00 4C */ b lbl_80169774
lbl_8016972C:
/* 8016972C 0016538C 7F 63 DB 78 */ mr r3, r27
/* 80169730 00165390 7F A4 EB 78 */ mr r4, r29
/* 80169734 00165394 4B FF FE 2D */ bl func_80169560
/* 80169738 00165398 7F A3 EB 78 */ mr r3, r29
/* 8016973C 0016539C 7F E4 FB 78 */ mr r4, r31
/* 80169740 001653A0 4B FF FB 29 */ bl func_80169268
/* 80169744 001653A4 7C 7F 1B 78 */ mr r31, r3
/* 80169748 001653A8 48 0F 48 89 */ bl func_8025DFD0
/* 8016974C 001653AC 7F A4 EB 78 */ mr r4, r29
/* 80169750 001653B0 48 0F 48 79 */ bl func_8025DFC8
/* 80169754 001653B4 2C 1F 00 00 */ cmpwi r31, 0
/* 80169758 001653B8 41 82 00 0C */ beq lbl_80169764
/* 8016975C 001653BC 38 60 FF FF */ li r3, -1
/* 80169760 001653C0 48 00 00 14 */ b lbl_80169774
lbl_80169764:
/* 80169764 001653C4 7F C3 F3 78 */ mr r3, r30
/* 80169768 001653C8 7F 84 E3 78 */ mr r4, r28
/* 8016976C 001653CC 4B FF FC 45 */ bl func_801693B0
/* 80169770 001653D0 38 60 00 00 */ li r3, 0
lbl_80169774:
/* 80169774 001653D4 39 61 00 20 */ addi r11, r1, 0x20
/* 80169778 001653D8 48 05 D9 FD */ bl _restgpr_27
/* 8016977C 001653DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80169780 001653E0 7C 08 03 A6 */ mtlr r0
/* 80169784 001653E4 38 21 00 20 */ addi r1, r1, 0x20
/* 80169788 001653E8 4E 80 00 20 */ blr
.global func_8016978C
func_8016978C:
/* 8016978C 001653EC 38 A0 00 01 */ li r5, 1
/* 80169790 001653F0 38 6D 9E 78 */ addi r3, r13, lbl_8063F138-_SDA_BASE_
/* 80169794 001653F4 38 80 00 04 */ li r4, 4
/* 80169798 001653F8 38 00 00 00 */ li r0, 0
/* 8016979C 001653FC 98 AD 9E 78 */ stb r5, lbl_8063F138-_SDA_BASE_(r13)
/* 801697A0 00165400 B0 83 00 02 */ sth r4, 2(r3)
/* 801697A4 00165404 98 03 00 04 */ stb r0, 4(r3)
/* 801697A8 00165408 4E 80 00 20 */ blr
+741
View File
@@ -0,0 +1,741 @@
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_801697AC
func_801697AC:
/* 801697AC 0016540C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801697B0 00165410 7C 08 02 A6 */ mflr r0
/* 801697B4 00165414 38 6D 9E 9C */ addi r3, r13, lbl_8063F15C-_SDA_BASE_
/* 801697B8 00165418 90 01 00 14 */ stw r0, 0x14(r1)
/* 801697BC 0016541C 48 00 00 C9 */ bl func_80169884
/* 801697C0 00165420 48 00 36 65 */ bl func_8016CE24
/* 801697C4 00165424 48 01 31 BD */ bl func_8017C980
/* 801697C8 00165428 38 60 00 00 */ li r3, 0
/* 801697CC 0016542C 4B EE F3 45 */ bl func_80058B10
/* 801697D0 00165430 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 801697D4 00165434 48 27 03 E1 */ bl func_803D9BB4
/* 801697D8 00165438 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801697DC 0016543C 7C 08 03 A6 */ mtlr r0
/* 801697E0 00165440 38 21 00 10 */ addi r1, r1, 0x10
/* 801697E4 00165444 4E 80 00 20 */ blr
.global func_801697E8
func_801697E8:
/* 801697E8 00165448 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801697EC 0016544C 7C 08 02 A6 */ mflr r0
/* 801697F0 00165450 90 01 00 14 */ stw r0, 0x14(r1)
/* 801697F4 00165454 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801697F8 00165458 3F E0 80 40 */ lis r31, lbl_803FC4A8@ha
/* 801697FC 0016545C 3B FF C4 A8 */ addi r31, r31, lbl_803FC4A8@l
/* 80169800 00165460 48 00 00 14 */ b lbl_80169814
lbl_80169804:
/* 80169804 00165464 48 0E 00 8D */ bl func_80249890
/* 80169808 00165468 A0 7F 00 00 */ lhz r3, 0(r31)
/* 8016980C 0016546C 48 0E 01 61 */ bl func_8024996C
/* 80169810 00165470 3B FF 00 02 */ addi r31, r31, 2
lbl_80169814:
/* 80169814 00165474 A0 7F 00 00 */ lhz r3, 0(r31)
/* 80169818 00165478 2C 03 00 00 */ cmpwi r3, 0
/* 8016981C 0016547C 40 82 FF E8 */ bne lbl_80169804
/* 80169820 00165480 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80169824 00165484 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80169828 00165488 7C 08 03 A6 */ mtlr r0
/* 8016982C 0016548C 38 21 00 10 */ addi r1, r1, 0x10
/* 80169830 00165490 4E 80 00 20 */ blr
.global func_80169834
func_80169834:
/* 80169834 00165494 3C 80 80 42 */ lis r4, lbl_8041F7A0@ha
/* 80169838 00165498 38 84 F7 A0 */ addi r4, r4, lbl_8041F7A0@l
/* 8016983C 0016549C 90 83 00 00 */ stw r4, 0(r3)
/* 80169840 001654A0 4E 80 00 20 */ blr
lbl_80169844:
/* 80169844 001654A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80169848 001654A8 7C 08 02 A6 */ mflr r0
/* 8016984C 001654AC 2C 03 00 00 */ cmpwi r3, 0
/* 80169850 001654B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80169854 001654B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80169858 001654B8 7C 7F 1B 78 */ mr r31, r3
/* 8016985C 001654BC 41 82 00 10 */ beq lbl_8016986C
/* 80169860 001654C0 2C 04 00 00 */ cmpwi r4, 0
/* 80169864 001654C4 40 81 00 08 */ ble lbl_8016986C
/* 80169868 001654C8 48 07 12 51 */ bl func_801DAAB8
lbl_8016986C:
/* 8016986C 001654CC 7F E3 FB 78 */ mr r3, r31
/* 80169870 001654D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80169874 001654D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80169878 001654D8 7C 08 03 A6 */ mtlr r0
/* 8016987C 001654DC 38 21 00 10 */ addi r1, r1, 0x10
/* 80169880 001654E0 4E 80 00 20 */ blr
.global func_80169884
func_80169884:
/* 80169884 001654E4 4E 80 00 20 */ blr
/* 80169888 001654E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016988C 001654EC 7C 08 02 A6 */ mflr r0
/* 80169890 001654F0 38 60 00 01 */ li r3, 1
/* 80169894 001654F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80169898 001654F8 4B E9 FF 71 */ bl func_80009808
/* 8016989C 001654FC 4B EC C5 01 */ bl func_80035D9C
/* 801698A0 00165500 4B EC C5 05 */ bl func_80035DA4
/* 801698A4 00165504 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801698A8 00165508 7C 08 03 A6 */ mtlr r0
/* 801698AC 0016550C 38 21 00 10 */ addi r1, r1, 0x10
/* 801698B0 00165510 4E 80 00 20 */ blr
.global __set_debug_bba
__set_debug_bba:
/* 801698B4 00165514 38 00 00 01 */ li r0, 1
/* 801698B8 00165518 98 0D 9E 96 */ stb r0, lbl_8063F156-_SDA_BASE_(r13)
/* 801698BC 0016551C 4E 80 00 20 */ blr
/* 801698C0 00165520 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 801698C4 00165524 7C 08 02 A6 */ mflr r0
/* 801698C8 00165528 90 01 00 64 */ stw r0, 0x64(r1)
/* 801698CC 0016552C 39 61 00 60 */ addi r11, r1, 0x60
/* 801698D0 00165530 48 05 D8 55 */ bl _savegpr_26
/* 801698D4 00165534 7C 9A 23 78 */ mr r26, r4
/* 801698D8 00165538 4B EC C4 C5 */ bl func_80035D9C
/* 801698DC 0016553C 7C 7F 1B 78 */ mr r31, r3
/* 801698E0 00165540 48 01 2C B1 */ bl func_8017C590
/* 801698E4 00165544 4B FF FF 05 */ bl func_801697E8
/* 801698E8 00165548 38 00 00 06 */ li r0, 6
/* 801698EC 0016554C 90 0D 9E B0 */ stw r0, lbl_8063F170-_SDA_BASE_(r13)
/* 801698F0 00165550 48 27 65 31 */ bl func_803DFE20
/* 801698F4 00165554 4B ED DF 2D */ bl func_80047820
/* 801698F8 00165558 3C 60 80 49 */ lis r3, lbl_80496754@ha
/* 801698FC 0016555C 38 63 67 54 */ addi r3, r3, lbl_80496754@l
/* 80169900 00165560 80 A3 00 04 */ lwz r5, 4(r3)
/* 80169904 00165564 2C 05 00 00 */ cmpwi r5, 0
/* 80169908 00165568 41 82 00 BC */ beq lbl_801699C4
/* 8016990C 0016556C 80 05 01 04 */ lwz r0, 0x104(r5)
/* 80169910 00165570 C0 42 90 40 */ lfs f2, lbl_80641640-_SDA2_BASE_(r2)
/* 80169914 00165574 C0 22 90 44 */ lfs f1, lbl_80641644-_SDA2_BASE_(r2)
/* 80169918 00165578 54 00 07 BE */ clrlwi r0, r0, 0x1e
/* 8016991C 0016557C C0 02 90 48 */ lfs f0, lbl_80641648-_SDA2_BASE_(r2)
/* 80169920 00165580 28 00 00 01 */ cmplwi r0, 1
/* 80169924 00165584 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 80169928 00165588 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8016992C 0016558C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80169930 00165590 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 80169934 00165594 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80169938 00165598 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8016993C 0016559C 40 82 00 2C */ bne lbl_80169968
/* 80169940 001655A0 C0 02 90 4C */ lfs f0, lbl_8064164C-_SDA2_BASE_(r2)
/* 80169944 001655A4 C0 22 90 50 */ lfs f1, lbl_80641650-_SDA2_BASE_(r2)
/* 80169948 001655A8 D0 05 01 68 */ stfs f0, 0x168(r5)
/* 8016994C 001655AC C0 02 90 54 */ lfs f0, lbl_80641654-_SDA2_BASE_(r2)
/* 80169950 001655B0 D0 25 01 7C */ stfs f1, 0x17c(r5)
/* 80169954 001655B4 D0 05 01 80 */ stfs f0, 0x180(r5)
/* 80169958 001655B8 80 05 01 04 */ lwz r0, 0x104(r5)
/* 8016995C 001655BC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d
/* 80169960 001655C0 60 00 00 09 */ ori r0, r0, 9
/* 80169964 001655C4 90 05 01 04 */ stw r0, 0x104(r5)
lbl_80169968:
/* 80169968 001655C8 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8016996C 001655CC 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 80169970 001655D0 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 80169974 001655D4 38 64 36 14 */ addi r3, r4, lbl_80493614@l
/* 80169978 001655D8 D0 05 01 AC */ stfs f0, 0x1ac(r5)
/* 8016997C 001655DC C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80169980 001655E0 D0 25 01 B0 */ stfs f1, 0x1b0(r5)
/* 80169984 001655E4 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 80169988 001655E8 D0 05 01 B4 */ stfs f0, 0x1b4(r5)
/* 8016998C 001655EC C0 21 00 14 */ lfs f1, 0x14(r1)
/* 80169990 001655F0 C0 64 36 14 */ lfs f3, 0x3614(r4)
/* 80169994 001655F4 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80169998 001655F8 D0 65 01 B8 */ stfs f3, 0x1b8(r5)
/* 8016999C 001655FC C0 63 00 04 */ lfs f3, 4(r3)
/* 801699A0 00165600 D0 65 01 BC */ stfs f3, 0x1bc(r5)
/* 801699A4 00165604 C0 63 00 08 */ lfs f3, 8(r3)
/* 801699A8 00165608 D0 65 01 C0 */ stfs f3, 0x1c0(r5)
/* 801699AC 0016560C D0 45 01 C4 */ stfs f2, 0x1c4(r5)
/* 801699B0 00165610 D0 25 01 C8 */ stfs f1, 0x1c8(r5)
/* 801699B4 00165614 D0 05 01 CC */ stfs f0, 0x1cc(r5)
/* 801699B8 00165618 80 05 01 04 */ lwz r0, 0x104(r5)
/* 801699BC 0016561C 60 00 00 30 */ ori r0, r0, 0x30
/* 801699C0 00165620 90 05 01 04 */ stw r0, 0x104(r5)
lbl_801699C4:
/* 801699C4 00165624 4B EC 96 C5 */ bl func_80033088
/* 801699C8 00165628 7C 7D 1B 78 */ mr r29, r3
/* 801699CC 0016562C 38 80 00 00 */ li r4, 0
/* 801699D0 00165630 4B EC AE ED */ bl func_800348BC
/* 801699D4 00165634 7F A3 EB 78 */ mr r3, r29
/* 801699D8 00165638 38 80 00 00 */ li r4, 0
/* 801699DC 0016563C 4B EC B4 8D */ bl func_80034E68
/* 801699E0 00165640 7F A3 EB 78 */ mr r3, r29
/* 801699E4 00165644 38 80 00 00 */ li r4, 0
/* 801699E8 00165648 4B EC B5 BD */ bl func_80034FA4
/* 801699EC 0016564C 7F A3 EB 78 */ mr r3, r29
/* 801699F0 00165650 38 80 00 00 */ li r4, 0
/* 801699F4 00165654 4B EC B8 85 */ bl func_80035278
/* 801699F8 00165658 4B ED BB 99 */ bl func_80045590
/* 801699FC 0016565C 2C 03 00 00 */ cmpwi r3, 0
/* 80169A00 00165660 7C 7D 1B 78 */ mr r29, r3
/* 80169A04 00165664 41 82 00 C4 */ beq lbl_80169AC8
/* 80169A08 00165668 38 1A FC 18 */ addi r0, r26, -1000
/* 80169A0C 0016566C 3B C0 00 00 */ li r30, 0
/* 80169A10 00165670 28 00 00 0A */ cmplwi r0, 0xa
/* 80169A14 00165674 41 81 00 9C */ bgt lbl_80169AB0
/* 80169A18 00165678 3C 60 80 42 */ lis r3, lbl_8041F774@ha
/* 80169A1C 0016567C 54 00 10 3A */ slwi r0, r0, 2
/* 80169A20 00165680 38 63 F7 74 */ addi r3, r3, lbl_8041F774@l
/* 80169A24 00165684 7C 63 00 2E */ lwzx r3, r3, r0
/* 80169A28 00165688 7C 69 03 A6 */ mtctr r3
/* 80169A2C 0016568C 4E 80 04 20 */ bctr
/* 80169A30 00165690 3C 60 02 31 */ lis r3, 0x02310400@ha
/* 80169A34 00165694 3B C3 04 00 */ addi r30, r3, 0x02310400@l
/* 80169A38 00165698 48 00 00 78 */ b lbl_80169AB0
/* 80169A3C 0016569C 3C 60 02 33 */ lis r3, 0x02330400@ha
/* 80169A40 001656A0 3B C3 04 00 */ addi r30, r3, 0x02330400@l
/* 80169A44 001656A4 48 00 00 6C */ b lbl_80169AB0
/* 80169A48 001656A8 3C 60 02 35 */ lis r3, 0x02350400@ha
/* 80169A4C 001656AC 3B C3 04 00 */ addi r30, r3, 0x02350400@l
/* 80169A50 001656B0 48 00 00 60 */ b lbl_80169AB0
/* 80169A54 001656B4 3C 60 02 37 */ lis r3, 0x02370400@ha
/* 80169A58 001656B8 3B C3 04 00 */ addi r30, r3, 0x02370400@l
/* 80169A5C 001656BC 48 00 00 54 */ b lbl_80169AB0
/* 80169A60 001656C0 3C 60 02 39 */ lis r3, 0x02390400@ha
/* 80169A64 001656C4 3B C3 04 00 */ addi r30, r3, 0x02390400@l
/* 80169A68 001656C8 48 00 00 48 */ b lbl_80169AB0
/* 80169A6C 001656CC 3C 60 02 3B */ lis r3, 0x023B0400@ha
/* 80169A70 001656D0 3B C3 04 00 */ addi r30, r3, 0x023B0400@l
/* 80169A74 001656D4 48 00 00 3C */ b lbl_80169AB0
/* 80169A78 001656D8 3C 60 02 3D */ lis r3, 0x023D0400@ha
/* 80169A7C 001656DC 3B C3 04 00 */ addi r30, r3, 0x023D0400@l
/* 80169A80 001656E0 48 00 00 30 */ b lbl_80169AB0
/* 80169A84 001656E4 3C 60 02 3F */ lis r3, 0x023F0400@ha
/* 80169A88 001656E8 3B C3 04 00 */ addi r30, r3, 0x023F0400@l
/* 80169A8C 001656EC 48 00 00 24 */ b lbl_80169AB0
/* 80169A90 001656F0 3C 60 02 41 */ lis r3, 0x02410400@ha
/* 80169A94 001656F4 3B C3 04 00 */ addi r30, r3, 0x02410400@l
/* 80169A98 001656F8 48 00 00 18 */ b lbl_80169AB0
/* 80169A9C 001656FC 3C 60 02 43 */ lis r3, 0x02430400@ha
/* 80169AA0 00165700 3B C3 04 00 */ addi r30, r3, 0x02430400@l
/* 80169AA4 00165704 48 00 00 0C */ b lbl_80169AB0
/* 80169AA8 00165708 3C 60 02 45 */ lis r3, 0x02450400@ha
/* 80169AAC 0016570C 3B C3 04 00 */ addi r30, r3, 0x02450400@l
lbl_80169AB0:
/* 80169AB0 00165710 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80169AB4 00165714 48 0B CD CD */ bl func_80226880
/* 80169AB8 00165718 7C 64 1B 78 */ mr r4, r3
/* 80169ABC 0016571C 7F A3 EB 78 */ mr r3, r29
/* 80169AC0 00165720 7F C5 F3 78 */ mr r5, r30
/* 80169AC4 00165724 4B ED C6 41 */ bl func_80046104
lbl_80169AC8:
/* 80169AC8 00165728 4B FB 2E AD */ bl func_8011C974
/* 80169ACC 0016572C 7C 7C 1B 78 */ mr r28, r3
/* 80169AD0 00165730 48 01 2A B9 */ bl func_8017C588
/* 80169AD4 00165734 2C 03 00 00 */ cmpwi r3, 0
/* 80169AD8 00165738 41 82 00 0C */ beq lbl_80169AE4
/* 80169ADC 0016573C 7F 84 E3 78 */ mr r4, r28
/* 80169AE0 00165740 48 01 2B F9 */ bl func_8017C6D8
lbl_80169AE4:
/* 80169AE4 00165744 4B EA 2D 05 */ bl func_8000C7E8
/* 80169AE8 00165748 4B EA 37 85 */ bl func_8000D26C
/* 80169AEC 0016574C 48 00 07 71 */ bl func_8016A25C
/* 80169AF0 00165750 80 6D 96 F0 */ lwz r3, lbl_8063E9B0-_SDA_BASE_(r13)
/* 80169AF4 00165754 2C 03 00 00 */ cmpwi r3, 0
/* 80169AF8 00165758 41 82 00 24 */ beq lbl_80169B1C
/* 80169AFC 0016575C 3C A0 80 42 */ lis r5, lbl_8041F758@ha
/* 80169B00 00165760 38 80 00 01 */ li r4, 1
/* 80169B04 00165764 38 A5 F7 58 */ addi r5, r5, lbl_8041F758@l
/* 80169B08 00165768 38 C0 00 00 */ li r6, 0
/* 80169B0C 0016576C 38 E0 00 00 */ li r7, 0
/* 80169B10 00165770 39 00 00 00 */ li r8, 0
/* 80169B14 00165774 39 20 00 00 */ li r9, 0
/* 80169B18 00165778 4B EB B7 61 */ bl func_80025278
lbl_80169B1C:
/* 80169B1C 0016577C 4B EF 33 D1 */ bl func_8005CEEC
/* 80169B20 00165780 4B EF 34 2D */ bl func_8005CF4C
/* 80169B24 00165784 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80169B28 00165788 48 0B AA 61 */ bl func_80224588
/* 80169B2C 0016578C 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80169B30 00165790 48 0B AA 59 */ bl func_80224588
/* 80169B34 00165794 38 60 00 01 */ li r3, 1
/* 80169B38 00165798 48 00 0B 85 */ bl func_8016A6BC
/* 80169B3C 0016579C 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80169B40 001657A0 48 0B AA 49 */ bl func_80224588
/* 80169B44 001657A4 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80169B48 001657A8 48 0B AA 41 */ bl func_80224588
/* 80169B4C 001657AC 38 61 00 08 */ addi r3, r1, 8
/* 80169B50 001657B0 38 80 00 08 */ li r4, 8
/* 80169B54 001657B4 48 0D D4 E5 */ bl func_80247038
/* 80169B58 001657B8 2C 1D 00 00 */ cmpwi r29, 0
/* 80169B5C 001657BC 41 82 00 F4 */ beq lbl_80169C50
/* 80169B60 001657C0 7F A3 EB 78 */ mr r3, r29
/* 80169B64 001657C4 38 80 00 00 */ li r4, 0
/* 80169B68 001657C8 4B ED BE C9 */ bl func_80045A30
/* 80169B6C 001657CC 3F C0 80 64 */ lis r30, lbl_8063CE34@ha
/* 80169B70 001657D0 3B A0 00 00 */ li r29, 0
/* 80169B74 001657D4 3B DE CE 34 */ addi r30, r30, lbl_8063CE34@l
lbl_80169B78:
/* 80169B78 001657D8 7F E3 FB 78 */ mr r3, r31
/* 80169B7C 001657DC 7F A4 EB 78 */ mr r4, r29
/* 80169B80 001657E0 38 A0 00 0F */ li r5, 0xf
/* 80169B84 001657E4 38 C0 00 00 */ li r6, 0
/* 80169B88 001657E8 4B EC C9 CD */ bl func_80036554
/* 80169B8C 001657EC 2C 03 00 00 */ cmpwi r3, 0
/* 80169B90 001657F0 41 82 00 54 */ beq lbl_80169BE4
/* 80169B94 001657F4 7F E3 FB 78 */ mr r3, r31
/* 80169B98 001657F8 7F A4 EB 78 */ mr r4, r29
/* 80169B9C 001657FC 38 A0 00 12 */ li r5, 0x12
/* 80169BA0 00165800 38 C0 00 00 */ li r6, 0
/* 80169BA4 00165804 4B EC C9 B1 */ bl func_80036554
/* 80169BA8 00165808 2C 03 00 10 */ cmpwi r3, 0x10
/* 80169BAC 0016580C 7C 7B 1B 78 */ mr r27, r3
/* 80169BB0 00165810 41 81 00 34 */ bgt lbl_80169BE4
/* 80169BB4 00165814 7F 64 DB 78 */ mr r4, r27
/* 80169BB8 00165818 38 7E 00 50 */ addi r3, r30, 0x50
/* 80169BBC 0016581C 48 22 D1 45 */ bl func_80396D00
/* 80169BC0 00165820 7C 64 1B 78 */ mr r4, r3
/* 80169BC4 00165824 38 61 00 08 */ addi r3, r1, 8
/* 80169BC8 00165828 48 0D D5 49 */ bl func_80247110
/* 80169BCC 0016582C 7F 64 DB 78 */ mr r4, r27
/* 80169BD0 00165830 38 7E 00 50 */ addi r3, r30, 0x50
/* 80169BD4 00165834 48 22 D1 C9 */ bl func_80396D9C
/* 80169BD8 00165838 7C 64 1B 78 */ mr r4, r3
/* 80169BDC 0016583C 38 61 00 08 */ addi r3, r1, 8
/* 80169BE0 00165840 48 0D D5 31 */ bl func_80247110
lbl_80169BE4:
/* 80169BE4 00165844 3B BD 00 01 */ addi r29, r29, 1
/* 80169BE8 00165848 2C 1D 00 04 */ cmpwi r29, 4
/* 80169BEC 0016584C 41 80 FF 8C */ blt lbl_80169B78
/* 80169BF0 00165850 38 61 00 08 */ addi r3, r1, 8
/* 80169BF4 00165854 48 0D D4 F5 */ bl func_802470E8
/* 80169BF8 00165858 2C 03 00 00 */ cmpwi r3, 0
/* 80169BFC 0016585C 40 82 00 54 */ bne lbl_80169C50
/* 80169C00 00165860 38 00 00 00 */ li r0, 0
/* 80169C04 00165864 38 61 00 08 */ addi r3, r1, 8
/* 80169C08 00165868 98 0D 9E 96 */ stb r0, lbl_8063F156-_SDA_BASE_(r13)
/* 80169C0C 0016586C 48 0D D5 75 */ bl func_80247180
/* 80169C10 00165870 3C A0 80 17 */ lis r5, __set_debug_bba@ha
/* 80169C14 00165874 7C 64 1B 78 */ mr r4, r3
/* 80169C18 00165878 38 A5 98 B4 */ addi r5, r5, __set_debug_bba@l
/* 80169C1C 0016587C 38 60 1E AA */ li r3, 0x1eaa
/* 80169C20 00165880 38 C0 00 00 */ li r6, 0
/* 80169C24 00165884 38 E0 00 00 */ li r7, 0
/* 80169C28 00165888 48 0D FB 95 */ bl func_802497BC
/* 80169C2C 0016588C 48 00 00 0C */ b lbl_80169C38
lbl_80169C30:
/* 80169C30 00165890 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 80169C34 00165894 48 0B A9 55 */ bl func_80224588
lbl_80169C38:
/* 80169C38 00165898 88 0D 9E 96 */ lbz r0, lbl_8063F156-_SDA_BASE_(r13)
/* 80169C3C 0016589C 2C 00 00 00 */ cmpwi r0, 0
/* 80169C40 001658A0 41 82 FF F0 */ beq lbl_80169C30
/* 80169C44 001658A4 38 61 00 08 */ addi r3, r1, 8
/* 80169C48 001658A8 38 80 1E AA */ li r4, 0x1eaa
/* 80169C4C 001658AC 48 0D D5 3D */ bl func_80247188
lbl_80169C50:
/* 80169C50 001658B0 38 61 00 28 */ addi r3, r1, 0x28
/* 80169C54 001658B4 48 00 C7 91 */ bl func_801763E4
/* 80169C58 001658B8 80 1C 00 08 */ lwz r0, 8(r28)
/* 80169C5C 001658BC 3B C0 00 00 */ li r30, 0
/* 80169C60 001658C0 3B 40 00 01 */ li r26, 1
/* 80169C64 001658C4 2C 00 00 03 */ cmpwi r0, 3
/* 80169C68 001658C8 41 82 00 3C */ beq lbl_80169CA4
/* 80169C6C 001658CC 40 80 00 14 */ bge lbl_80169C80
/* 80169C70 001658D0 2C 00 00 01 */ cmpwi r0, 1
/* 80169C74 001658D4 41 82 00 30 */ beq lbl_80169CA4
/* 80169C78 001658D8 40 80 00 14 */ bge lbl_80169C8C
/* 80169C7C 001658DC 48 00 00 28 */ b lbl_80169CA4
lbl_80169C80:
/* 80169C80 001658E0 2C 00 00 05 */ cmpwi r0, 5
/* 80169C84 001658E4 40 80 00 20 */ bge lbl_80169CA4
/* 80169C88 001658E8 48 00 00 10 */ b lbl_80169C98
lbl_80169C8C:
/* 80169C8C 001658EC 3B 60 00 00 */ li r27, 0
/* 80169C90 001658F0 3B A0 00 02 */ li r29, 2
/* 80169C94 001658F4 48 00 00 18 */ b lbl_80169CAC
lbl_80169C98:
/* 80169C98 001658F8 3B 60 00 01 */ li r27, 1
/* 80169C9C 001658FC 3B A0 00 03 */ li r29, 3
/* 80169CA0 00165900 48 00 00 0C */ b lbl_80169CAC
lbl_80169CA4:
/* 80169CA4 00165904 3B 60 00 01 */ li r27, 1
/* 80169CA8 00165908 3B A0 00 02 */ li r29, 2
lbl_80169CAC:
/* 80169CAC 0016590C 7F E3 FB 78 */ mr r3, r31
/* 80169CB0 00165910 7F 64 DB 78 */ mr r4, r27
/* 80169CB4 00165914 4B EC C1 AD */ bl func_80035E60
/* 80169CB8 00165918 7F E3 FB 78 */ mr r3, r31
/* 80169CBC 0016591C 7F A4 EB 78 */ mr r4, r29
/* 80169CC0 00165920 4B EC C1 B1 */ bl func_80035E70
/* 80169CC4 00165924 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 80169CC8 00165928 2C 00 00 02 */ cmpwi r0, 2
/* 80169CCC 0016592C 41 82 00 38 */ beq lbl_80169D04
/* 80169CD0 00165930 40 80 00 14 */ bge lbl_80169CE4
/* 80169CD4 00165934 2C 00 00 00 */ cmpwi r0, 0
/* 80169CD8 00165938 41 82 00 1C */ beq lbl_80169CF4
/* 80169CDC 0016593C 40 80 00 20 */ bge lbl_80169CFC
/* 80169CE0 00165940 48 00 00 38 */ b lbl_80169D18
lbl_80169CE4:
/* 80169CE4 00165944 2C 00 00 04 */ cmpwi r0, 4
/* 80169CE8 00165948 41 82 00 2C */ beq lbl_80169D14
/* 80169CEC 0016594C 40 80 00 2C */ bge lbl_80169D18
/* 80169CF0 00165950 48 00 00 1C */ b lbl_80169D0C
lbl_80169CF4:
/* 80169CF4 00165954 3B C0 00 00 */ li r30, 0
/* 80169CF8 00165958 48 00 00 20 */ b lbl_80169D18
lbl_80169CFC:
/* 80169CFC 0016595C 3B C0 00 01 */ li r30, 1
/* 80169D00 00165960 48 00 00 18 */ b lbl_80169D18
lbl_80169D04:
/* 80169D04 00165964 3B C0 00 02 */ li r30, 2
/* 80169D08 00165968 48 00 00 10 */ b lbl_80169D18
lbl_80169D0C:
/* 80169D0C 0016596C 3B C0 00 03 */ li r30, 3
/* 80169D10 00165970 48 00 00 08 */ b lbl_80169D18
lbl_80169D14:
/* 80169D14 00165974 3B C0 00 04 */ li r30, 4
lbl_80169D18:
/* 80169D18 00165978 7F E3 FB 78 */ mr r3, r31
/* 80169D1C 0016597C 7F C4 F3 78 */ mr r4, r30
/* 80169D20 00165980 4B EC C1 79 */ bl func_80035E98
/* 80169D24 00165984 88 1C 00 1B */ lbz r0, 0x1b(r28)
/* 80169D28 00165988 2C 00 00 02 */ cmpwi r0, 2
/* 80169D2C 0016598C 41 82 00 08 */ beq lbl_80169D34
/* 80169D30 00165990 48 00 00 08 */ b lbl_80169D38
lbl_80169D34:
/* 80169D34 00165994 3B 40 00 02 */ li r26, 2
lbl_80169D38:
/* 80169D38 00165998 7F E3 FB 78 */ mr r3, r31
/* 80169D3C 0016599C 7F 44 D3 78 */ mr r4, r26
/* 80169D40 001659A0 4B EC C1 51 */ bl func_80035E90
/* 80169D44 001659A4 38 61 00 28 */ addi r3, r1, 0x28
/* 80169D48 001659A8 38 80 1E DD */ li r4, 0x1edd
/* 80169D4C 001659AC 48 00 C7 71 */ bl func_801764BC
/* 80169D50 001659B0 38 00 00 02 */ li r0, 2
/* 80169D54 001659B4 90 0D 9E B0 */ stw r0, lbl_8063F170-_SDA_BASE_(r13)
/* 80169D58 001659B8 88 1C 00 14 */ lbz r0, 0x14(r28)
/* 80169D5C 001659BC 28 00 00 03 */ cmplwi r0, 3
/* 80169D60 001659C0 40 82 00 2C */ bne lbl_80169D8C
/* 80169D64 001659C4 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80169D68 001659C8 48 0B CA D5 */ bl func_8022683C
/* 80169D6C 001659CC 88 FC 00 18 */ lbz r7, 0x18(r28)
/* 80169D70 001659D0 7C 64 1B 78 */ mr r4, r3
/* 80169D74 001659D4 7F 65 DB 78 */ mr r5, r27
/* 80169D78 001659D8 7F A6 EB 78 */ mr r6, r29
/* 80169D7C 001659DC 38 61 00 28 */ addi r3, r1, 0x28
/* 80169D80 001659E0 39 00 00 00 */ li r8, 0
/* 80169D84 001659E4 48 00 C9 ED */ bl func_80176770
/* 80169D88 001659E8 48 00 00 28 */ b lbl_80169DB0
lbl_80169D8C:
/* 80169D8C 001659EC 80 6D A3 80 */ lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80169D90 001659F0 48 0B CA AD */ bl func_8022683C
/* 80169D94 001659F4 7C 64 1B 78 */ mr r4, r3
/* 80169D98 001659F8 7F 65 DB 78 */ mr r5, r27
/* 80169D9C 001659FC 7F A6 EB 78 */ mr r6, r29
/* 80169DA0 00165A00 38 61 00 28 */ addi r3, r1, 0x28
/* 80169DA4 00165A04 38 E0 00 00 */ li r7, 0
/* 80169DA8 00165A08 39 00 00 00 */ li r8, 0
/* 80169DAC 00165A0C 48 00 C9 C5 */ bl func_80176770
lbl_80169DB0:
/* 80169DB0 00165A10 C0 22 90 58 */ lfs f1, lbl_80641658-_SDA2_BASE_(r2)
/* 80169DB4 00165A14 38 60 00 01 */ li r3, 1
/* 80169DB8 00165A18 4B EE 63 D5 */ bl func_8005018C
/* 80169DBC 00165A1C 3C 80 80 42 */ lis r4, lbl_8041F764@ha
/* 80169DC0 00165A20 38 61 00 28 */ addi r3, r1, 0x28
/* 80169DC4 00165A24 38 84 F7 64 */ addi r4, r4, lbl_8041F764@l
/* 80169DC8 00165A28 38 A0 00 01 */ li r5, 1
/* 80169DCC 00165A2C 38 C0 00 00 */ li r6, 0
/* 80169DD0 00165A30 38 E0 00 00 */ li r7, 0
/* 80169DD4 00165A34 39 00 00 00 */ li r8, 0
/* 80169DD8 00165A38 39 20 00 00 */ li r9, 0
/* 80169DDC 00165A3C 48 00 C9 F1 */ bl func_801767CC
/* 80169DE0 00165A40 38 61 00 28 */ addi r3, r1, 0x28
/* 80169DE4 00165A44 48 00 CA C9 */ bl func_801768AC
/* 80169DE8 00165A48 38 00 00 06 */ li r0, 6
/* 80169DEC 00165A4C 38 61 00 08 */ addi r3, r1, 8
/* 80169DF0 00165A50 90 0D 9E B0 */ stw r0, lbl_8063F170-_SDA_BASE_(r13)
/* 80169DF4 00165A54 38 80 1E AA */ li r4, 0x1eaa
/* 80169DF8 00165A58 48 0D D3 FD */ bl func_802471F4
/* 80169DFC 00165A5C 38 60 00 00 */ li r3, 0
/* 80169E00 00165A60 48 00 33 C1 */ bl func_8016D1C0
/* 80169E04 00165A64 3B C0 00 00 */ li r30, 0
lbl_80169E08:
/* 80169E08 00165A68 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80169E0C 00165A6C 38 80 00 00 */ li r4, 0
/* 80169E10 00165A70 48 00 33 B9 */ bl func_8016D1C8
/* 80169E14 00165A74 3B DE 00 01 */ addi r30, r30, 1
/* 80169E18 00165A78 2C 1E 00 04 */ cmpwi r30, 4
/* 80169E1C 00165A7C 41 80 FF EC */ blt lbl_80169E08
/* 80169E20 00165A80 3C 60 80 17 */ lis r3, lbl_8016A7E0@ha
/* 80169E24 00165A84 38 80 00 00 */ li r4, 0
/* 80169E28 00165A88 38 63 A7 E0 */ addi r3, r3, lbl_8016A7E0@l
/* 80169E2C 00165A8C 38 A0 40 00 */ li r5, 0x4000
/* 80169E30 00165A90 38 C0 00 09 */ li r6, 9
/* 80169E34 00165A94 38 E0 00 01 */ li r7, 1
/* 80169E38 00165A98 48 0B D7 3D */ bl func_80227574
/* 80169E3C 00165A9C 90 6D 9E 98 */ stw r3, lbl_8063F158-_SDA_BASE_(r13)
/* 80169E40 00165AA0 4B EE E6 A9 */ bl func_800584E8
/* 80169E44 00165AA4 4B EE E5 61 */ bl func_800583A4
/* 80169E48 00165AA8 4B EA 29 A1 */ bl func_8000C7E8
/* 80169E4C 00165AAC 4B EA 35 79 */ bl func_8000D3C4
/* 80169E50 00165AB0 38 60 00 00 */ li r3, 0
/* 80169E54 00165AB4 4B E9 F9 B5 */ bl func_80009808
/* 80169E58 00165AB8 38 61 00 28 */ addi r3, r1, 0x28
/* 80169E5C 00165ABC 38 80 FF FF */ li r4, -1
/* 80169E60 00165AC0 48 00 C5 CD */ bl func_8017642C
/* 80169E64 00165AC4 38 61 00 08 */ addi r3, r1, 8
/* 80169E68 00165AC8 38 80 FF FF */ li r4, -1
/* 80169E6C 00165ACC 48 0D D2 1D */ bl func_80247088
/* 80169E70 00165AD0 39 61 00 60 */ addi r11, r1, 0x60
/* 80169E74 00165AD4 48 05 D2 FD */ bl _restgpr_26
/* 80169E78 00165AD8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80169E7C 00165ADC 7C 08 03 A6 */ mtlr r0
/* 80169E80 00165AE0 38 21 00 60 */ addi r1, r1, 0x60
/* 80169E84 00165AE4 4E 80 00 20 */ blr
/* 80169E88 00165AE8 4E 80 00 20 */ blr
/* 80169E8C 00165AEC 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80169E90 00165AF0 7C 08 02 A6 */ mflr r0
/* 80169E94 00165AF4 90 01 00 54 */ stw r0, 0x54(r1)
/* 80169E98 00165AF8 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80169E9C 00165AFC 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80169EA0 00165B00 80 6D 9E 98 */ lwz r3, lbl_8063F158-_SDA_BASE_(r13)
/* 80169EA4 00165B04 2C 03 00 00 */ cmpwi r3, 0
/* 80169EA8 00165B08 41 82 00 14 */ beq lbl_80169EBC
/* 80169EAC 00165B0C 38 80 00 00 */ li r4, 0
/* 80169EB0 00165B10 48 0B A7 FD */ bl func_802246AC
/* 80169EB4 00165B14 38 00 00 00 */ li r0, 0
/* 80169EB8 00165B18 90 0D 9E 98 */ stw r0, lbl_8063F158-_SDA_BASE_(r13)
lbl_80169EBC:
/* 80169EBC 00165B1C 4B EE 39 51 */ bl func_8004D80C
/* 80169EC0 00165B20 2C 03 00 00 */ cmpwi r3, 0
/* 80169EC4 00165B24 41 82 00 08 */ beq lbl_80169ECC
/* 80169EC8 00165B28 4B EE 3A 3D */ bl func_8004D904
lbl_80169ECC:
/* 80169ECC 00165B2C C0 42 90 60 */ lfs f2, lbl_80641660-_SDA2_BASE_(r2)
/* 80169ED0 00165B30 C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80169ED4 00165B34 C0 02 90 5C */ lfs f0, lbl_8064165C-_SDA2_BASE_(r2)
/* 80169ED8 00165B38 EC 22 00 72 */ fmuls f1, f2, f1
/* 80169EDC 00165B3C EC 00 08 2A */ fadds f0, f0, f1
/* 80169EE0 00165B40 FC 00 00 1E */ fctiwz f0, f0
/* 80169EE4 00165B44 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80169EE8 00165B48 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80169EEC 00165B4C 4B EA 16 85 */ bl func_8000B570
/* 80169EF0 00165B50 4B EA 28 F9 */ bl func_8000C7E8
/* 80169EF4 00165B54 4B EA 37 99 */ bl func_8000D68C
/* 80169EF8 00165B58 C0 42 90 44 */ lfs f2, lbl_80641644-_SDA2_BASE_(r2)
/* 80169EFC 00165B5C C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80169F00 00165B60 C0 02 90 5C */ lfs f0, lbl_8064165C-_SDA2_BASE_(r2)
/* 80169F04 00165B64 EC 22 00 72 */ fmuls f1, f2, f1
/* 80169F08 00165B68 EC 00 08 2A */ fadds f0, f0, f1
/* 80169F0C 00165B6C FC 00 00 1E */ fctiwz f0, f0
/* 80169F10 00165B70 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 80169F14 00165B74 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 80169F18 00165B78 4B EA 16 F1 */ bl func_8000B608
/* 80169F1C 00165B7C C0 42 90 44 */ lfs f2, lbl_80641644-_SDA2_BASE_(r2)
/* 80169F20 00165B80 C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80169F24 00165B84 C0 02 90 5C */ lfs f0, lbl_8064165C-_SDA2_BASE_(r2)
/* 80169F28 00165B88 EC 22 00 72 */ fmuls f1, f2, f1
/* 80169F2C 00165B8C EC 00 08 2A */ fadds f0, f0, f1
/* 80169F30 00165B90 FC 00 00 1E */ fctiwz f0, f0
/* 80169F34 00165B94 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 80169F38 00165B98 80 61 00 24 */ lwz r3, 0x24(r1)
/* 80169F3C 00165B9C 4B EA 17 3D */ bl func_8000B678
/* 80169F40 00165BA0 C0 42 90 44 */ lfs f2, lbl_80641644-_SDA2_BASE_(r2)
/* 80169F44 00165BA4 C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80169F48 00165BA8 C0 02 90 5C */ lfs f0, lbl_8064165C-_SDA2_BASE_(r2)
/* 80169F4C 00165BAC EC 22 00 72 */ fmuls f1, f2, f1
/* 80169F50 00165BB0 EC 00 08 2A */ fadds f0, f0, f1
/* 80169F54 00165BB4 FC 00 00 1E */ fctiwz f0, f0
/* 80169F58 00165BB8 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 80169F5C 00165BBC 80 61 00 2C */ lwz r3, 0x2c(r1)
/* 80169F60 00165BC0 4B EA 17 51 */ bl func_8000B6B0
/* 80169F64 00165BC4 C0 42 90 44 */ lfs f2, lbl_80641644-_SDA2_BASE_(r2)
/* 80169F68 00165BC8 C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80169F6C 00165BCC C0 02 90 5C */ lfs f0, lbl_8064165C-_SDA2_BASE_(r2)
/* 80169F70 00165BD0 EC 22 00 72 */ fmuls f1, f2, f1
/* 80169F74 00165BD4 EC 00 08 2A */ fadds f0, f0, f1
/* 80169F78 00165BD8 FC 00 00 1E */ fctiwz f0, f0
/* 80169F7C 00165BDC D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80169F80 00165BE0 80 61 00 34 */ lwz r3, 0x34(r1)
/* 80169F84 00165BE4 4B EA 17 65 */ bl func_8000B6E8
/* 80169F88 00165BE8 C0 42 90 44 */ lfs f2, lbl_80641644-_SDA2_BASE_(r2)
/* 80169F8C 00165BEC C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80169F90 00165BF0 C0 02 90 5C */ lfs f0, lbl_8064165C-_SDA2_BASE_(r2)
/* 80169F94 00165BF4 EC 22 00 72 */ fmuls f1, f2, f1
/* 80169F98 00165BF8 EC 00 08 2A */ fadds f0, f0, f1
/* 80169F9C 00165BFC FC 00 00 1E */ fctiwz f0, f0
/* 80169FA0 00165C00 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 80169FA4 00165C04 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 80169FA8 00165C08 4B EA 16 99 */ bl func_8000B640
/* 80169FAC 00165C0C 4B EF 36 95 */ bl func_8005D640
/* 80169FB0 00165C10 4B ED B5 E1 */ bl func_80045590
/* 80169FB4 00165C14 2C 03 00 00 */ cmpwi r3, 0
/* 80169FB8 00165C18 41 82 00 08 */ beq lbl_80169FC0
/* 80169FBC 00165C1C 4B ED C1 FD */ bl func_800461B8
lbl_80169FC0:
/* 80169FC0 00165C20 48 00 06 81 */ bl func_8016A640
/* 80169FC4 00165C24 4B ED 40 DD */ bl func_8003E0A0
/* 80169FC8 00165C28 4B ED D8 99 */ bl func_80047860
/* 80169FCC 00165C2C 38 60 1E AA */ li r3, 0x1eaa
/* 80169FD0 00165C30 48 07 16 A5 */ bl func_801DB674
/* 80169FD4 00165C34 38 60 1E AA */ li r3, 0x1eaa
/* 80169FD8 00165C38 48 0D F8 B9 */ bl func_80249890
/* 80169FDC 00165C3C 38 60 1E AA */ li r3, 0x1eaa
/* 80169FE0 00165C40 48 0D F9 8D */ bl func_8024996C
/* 80169FE4 00165C44 4B FF F8 05 */ bl func_801697E8
/* 80169FE8 00165C48 48 27 5E 3D */ bl func_803DFE24
/* 80169FEC 00165C4C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80169FF0 00165C50 38 80 00 64 */ li r4, 0x64
/* 80169FF4 00165C54 48 07 0F 7D */ bl func_801DAF70
/* 80169FF8 00165C58 3B E0 00 00 */ li r31, 0
/* 80169FFC 00165C5C 93 ED 9E B0 */ stw r31, lbl_8063F170-_SDA_BASE_(r13)
/* 8016A000 00165C60 4B EC 90 89 */ bl func_80033088
/* 8016A004 00165C64 7C 7E 1B 78 */ mr r30, r3
/* 8016A008 00165C68 38 80 00 00 */ li r4, 0
/* 8016A00C 00165C6C 4B EC A8 B1 */ bl func_800348BC
/* 8016A010 00165C70 7F C3 F3 78 */ mr r3, r30
/* 8016A014 00165C74 38 80 00 00 */ li r4, 0
/* 8016A018 00165C78 4B EC AE 51 */ bl func_80034E68
/* 8016A01C 00165C7C 7F C3 F3 78 */ mr r3, r30
/* 8016A020 00165C80 38 80 00 00 */ li r4, 0
/* 8016A024 00165C84 4B EC AF 81 */ bl func_80034FA4
/* 8016A028 00165C88 7F C3 F3 78 */ mr r3, r30
/* 8016A02C 00165C8C 38 80 00 00 */ li r4, 0
/* 8016A030 00165C90 4B EC B2 49 */ bl func_80035278
/* 8016A034 00165C94 38 60 00 02 */ li r3, 2
/* 8016A038 00165C98 48 0D 10 21 */ bl func_8023B058
/* 8016A03C 00165C9C 38 80 00 00 */ li r4, 0
/* 8016A040 00165CA0 48 0D 89 C1 */ bl func_80242A00
/* 8016A044 00165CA4 4B EE 37 C9 */ bl func_8004D80C
/* 8016A048 00165CA8 2C 03 00 00 */ cmpwi r3, 0
/* 8016A04C 00165CAC 41 82 00 20 */ beq lbl_8016A06C
/* 8016A050 00165CB0 9B E1 00 08 */ stb r31, 8(r1)
/* 8016A054 00165CB4 38 81 00 08 */ addi r4, r1, 8
/* 8016A058 00165CB8 38 63 34 C0 */ addi r3, r3, 0x34c0
/* 8016A05C 00165CBC 9B E1 00 09 */ stb r31, 9(r1)
/* 8016A060 00165CC0 9B E1 00 0A */ stb r31, 0xa(r1)
/* 8016A064 00165CC4 9B E1 00 0B */ stb r31, 0xb(r1)
/* 8016A068 00165CC8 4B EE 4B 39 */ bl func_8004EBA0
lbl_8016A06C:
/* 8016A06C 00165CCC 48 01 25 65 */ bl func_8017C5D0
/* 8016A070 00165CD0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8016A074 00165CD4 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8016A078 00165CD8 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 8016A07C 00165CDC 7C 08 03 A6 */ mtlr r0
/* 8016A080 00165CE0 38 21 00 50 */ addi r1, r1, 0x50
/* 8016A084 00165CE4 4E 80 00 20 */ blr
/* 8016A088 00165CE8 4E 80 00 20 */ blr
.global func_8016A08C
func_8016A08C:
/* 8016A08C 00165CEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016A090 00165CF0 7C 08 02 A6 */ mflr r0
/* 8016A094 00165CF4 38 60 00 01 */ li r3, 1
/* 8016A098 00165CF8 38 8D 9E 90 */ addi r4, r13, lbl_8063F150-_SDA_BASE_
/* 8016A09C 00165CFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016A0A0 00165D00 38 A0 00 04 */ li r5, 4
/* 8016A0A4 00165D04 38 00 00 00 */ li r0, 0
/* 8016A0A8 00165D08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016A0AC 00165D0C 93 C1 00 08 */ stw r30, 8(r1)
/* 8016A0B0 00165D10 3F C0 80 49 */ lis r30, lbl_8048CBC8@ha
/* 8016A0B4 00165D14 3B DE CB C8 */ addi r30, r30, lbl_8048CBC8@l
/* 8016A0B8 00165D18 98 6D 9E 90 */ stb r3, lbl_8063F150-_SDA_BASE_(r13)
/* 8016A0BC 00165D1C 38 6D 9E 9C */ addi r3, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A0C0 00165D20 B0 A4 00 02 */ sth r5, 2(r4)
/* 8016A0C4 00165D24 98 04 00 04 */ stb r0, 4(r4)
/* 8016A0C8 00165D28 4B FF F7 6D */ bl func_80169834
/* 8016A0CC 00165D2C 3C 80 80 17 */ lis r4, lbl_80169844@ha
/* 8016A0D0 00165D30 38 BE 00 00 */ addi r5, r30, 0
/* 8016A0D4 00165D34 38 84 98 44 */ addi r4, r4, lbl_80169844@l
/* 8016A0D8 00165D38 38 6D 9E 9C */ addi r3, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A0DC 00165D3C 48 05 CB 6D */ bl __register_global_object_tmp
/* 8016A0E0 00165D40 38 7E 00 18 */ addi r3, r30, 0x18
/* 8016A0E4 00165D44 38 80 03 E8 */ li r4, 0x3e8
/* 8016A0E8 00165D48 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A0EC 00165D4C 48 0B BD 59 */ bl func_80225E44
/* 8016A0F0 00165D50 3F E0 80 22 */ lis r31, func_80225EE0@ha
/* 8016A0F4 00165D54 38 7E 00 18 */ addi r3, r30, 0x18
/* 8016A0F8 00165D58 38 9F 5E E0 */ addi r4, r31, func_80225EE0@l
/* 8016A0FC 00165D5C 38 BE 00 0C */ addi r5, r30, 0xc
/* 8016A100 00165D60 48 05 CB 49 */ bl __register_global_object_tmp
/* 8016A104 00165D64 38 7E 00 40 */ addi r3, r30, 0x40
/* 8016A108 00165D68 38 80 03 E9 */ li r4, 0x3e9
/* 8016A10C 00165D6C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A110 00165D70 48 0B BD 35 */ bl func_80225E44
/* 8016A114 00165D74 38 7E 00 40 */ addi r3, r30, 0x40
/* 8016A118 00165D78 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A11C 00165D7C 38 BE 00 34 */ addi r5, r30, 0x34
/* 8016A120 00165D80 48 05 CB 29 */ bl __register_global_object_tmp
/* 8016A124 00165D84 38 7E 00 68 */ addi r3, r30, 0x68
/* 8016A128 00165D88 38 80 03 EA */ li r4, 0x3ea
/* 8016A12C 00165D8C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A130 00165D90 48 0B BD 15 */ bl func_80225E44
/* 8016A134 00165D94 38 7E 00 68 */ addi r3, r30, 0x68
/* 8016A138 00165D98 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A13C 00165D9C 38 BE 00 5C */ addi r5, r30, 0x5c
/* 8016A140 00165DA0 48 05 CB 09 */ bl __register_global_object_tmp
/* 8016A144 00165DA4 38 7E 00 90 */ addi r3, r30, 0x90
/* 8016A148 00165DA8 38 80 03 EB */ li r4, 0x3eb
/* 8016A14C 00165DAC 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A150 00165DB0 48 0B BC F5 */ bl func_80225E44
/* 8016A154 00165DB4 38 7E 00 90 */ addi r3, r30, 0x90
/* 8016A158 00165DB8 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A15C 00165DBC 38 BE 00 84 */ addi r5, r30, 0x84
/* 8016A160 00165DC0 48 05 CA E9 */ bl __register_global_object_tmp
/* 8016A164 00165DC4 38 7E 00 B8 */ addi r3, r30, 0xb8
/* 8016A168 00165DC8 38 80 03 EC */ li r4, 0x3ec
/* 8016A16C 00165DCC 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A170 00165DD0 48 0B BC D5 */ bl func_80225E44
/* 8016A174 00165DD4 38 7E 00 B8 */ addi r3, r30, 0xb8
/* 8016A178 00165DD8 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A17C 00165DDC 38 BE 00 AC */ addi r5, r30, 0xac
/* 8016A180 00165DE0 48 05 CA C9 */ bl __register_global_object_tmp
/* 8016A184 00165DE4 38 7E 00 E0 */ addi r3, r30, 0xe0
/* 8016A188 00165DE8 38 80 03 ED */ li r4, 0x3ed
/* 8016A18C 00165DEC 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A190 00165DF0 48 0B BC B5 */ bl func_80225E44
/* 8016A194 00165DF4 38 7E 00 E0 */ addi r3, r30, 0xe0
/* 8016A198 00165DF8 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A19C 00165DFC 38 BE 00 D4 */ addi r5, r30, 0xd4
/* 8016A1A0 00165E00 48 05 CA A9 */ bl __register_global_object_tmp
/* 8016A1A4 00165E04 38 7E 01 08 */ addi r3, r30, 0x108
/* 8016A1A8 00165E08 38 80 03 EE */ li r4, 0x3ee
/* 8016A1AC 00165E0C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A1B0 00165E10 48 0B BC 95 */ bl func_80225E44
/* 8016A1B4 00165E14 38 7E 01 08 */ addi r3, r30, 0x108
/* 8016A1B8 00165E18 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A1BC 00165E1C 38 BE 00 FC */ addi r5, r30, 0xfc
/* 8016A1C0 00165E20 48 05 CA 89 */ bl __register_global_object_tmp
/* 8016A1C4 00165E24 38 7E 01 30 */ addi r3, r30, 0x130
/* 8016A1C8 00165E28 38 80 03 EF */ li r4, 0x3ef
/* 8016A1CC 00165E2C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A1D0 00165E30 48 0B BC 75 */ bl func_80225E44
/* 8016A1D4 00165E34 38 7E 01 30 */ addi r3, r30, 0x130
/* 8016A1D8 00165E38 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A1DC 00165E3C 38 BE 01 24 */ addi r5, r30, 0x124
/* 8016A1E0 00165E40 48 05 CA 69 */ bl __register_global_object_tmp
/* 8016A1E4 00165E44 38 7E 01 58 */ addi r3, r30, 0x158
/* 8016A1E8 00165E48 38 80 03 F0 */ li r4, 0x3f0
/* 8016A1EC 00165E4C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A1F0 00165E50 48 0B BC 55 */ bl func_80225E44
/* 8016A1F4 00165E54 38 7E 01 58 */ addi r3, r30, 0x158
/* 8016A1F8 00165E58 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A1FC 00165E5C 38 BE 01 4C */ addi r5, r30, 0x14c
/* 8016A200 00165E60 48 05 CA 49 */ bl __register_global_object_tmp
/* 8016A204 00165E64 38 7E 01 80 */ addi r3, r30, 0x180
/* 8016A208 00165E68 38 80 03 F1 */ li r4, 0x3f1
/* 8016A20C 00165E6C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A210 00165E70 48 0B BC 35 */ bl func_80225E44
/* 8016A214 00165E74 38 7E 01 80 */ addi r3, r30, 0x180
/* 8016A218 00165E78 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A21C 00165E7C 38 BE 01 74 */ addi r5, r30, 0x174
/* 8016A220 00165E80 48 05 CA 29 */ bl __register_global_object_tmp
/* 8016A224 00165E84 38 7E 01 A8 */ addi r3, r30, 0x1a8
/* 8016A228 00165E88 38 80 03 F2 */ li r4, 0x3f2
/* 8016A22C 00165E8C 38 AD 9E 9C */ addi r5, r13, lbl_8063F15C-_SDA_BASE_
/* 8016A230 00165E90 48 0B BC 15 */ bl func_80225E44
/* 8016A234 00165E94 38 7E 01 A8 */ addi r3, r30, 0x1a8
/* 8016A238 00165E98 38 9F 5E E0 */ addi r4, r31, 0x5ee0
/* 8016A23C 00165E9C 38 BE 01 9C */ addi r5, r30, 0x19c
/* 8016A240 00165EA0 48 05 CA 09 */ bl __register_global_object_tmp
/* 8016A244 00165EA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016A248 00165EA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8016A24C 00165EAC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8016A250 00165EB0 7C 08 03 A6 */ mtlr r0
/* 8016A254 00165EB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8016A258 00165EB8 4E 80 00 20 */ blr
+4650
View File
File diff suppressed because it is too large Load Diff
+987
View File
@@ -0,0 +1,987 @@
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
lbl_8016E2B8:
/* 8016E2B8 00169F18 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E2BC 00169F1C 7C 65 1B 78 */ mr r5, r3
/* 8016E2C0 00169F20 2C 00 00 00 */ cmpwi r0, 0
/* 8016E2C4 00169F24 4D 82 00 20 */ beqlr
/* 8016E2C8 00169F28 7C 03 03 78 */ mr r3, r0
/* 8016E2CC 00169F2C 38 80 00 03 */ li r4, 3
/* 8016E2D0 00169F30 4C C6 31 82 */ crclr 6
/* 8016E2D4 00169F34 48 00 03 48 */ b lbl_8016E61C
/* 8016E2D8 00169F38 4E 80 00 20 */ blr
.global func_8016E2DC
func_8016E2DC:
/* 8016E2DC 00169F3C 38 60 00 01 */ li r3, 1
/* 8016E2E0 00169F40 48 00 00 04 */ b func_8016E2E4
.global func_8016E2E4
func_8016E2E4:
/* 8016E2E4 00169F44 80 0D 9F 0C */ lwz r0, lbl_8063F1CC-_SDA_BASE_(r13)
/* 8016E2E8 00169F48 3C 80 80 49 */ lis r4, lbl_8048CDD8@ha
/* 8016E2EC 00169F4C 38 84 CD D8 */ addi r4, r4, lbl_8048CDD8@l
/* 8016E2F0 00169F50 7C 09 03 A6 */ mtctr r0
/* 8016E2F4 00169F54 2C 00 00 00 */ cmpwi r0, 0
/* 8016E2F8 00169F58 40 81 00 18 */ ble lbl_8016E310
lbl_8016E2FC:
/* 8016E2FC 00169F5C 80 04 00 00 */ lwz r0, 0(r4)
/* 8016E300 00169F60 7C 03 00 00 */ cmpw r3, r0
/* 8016E304 00169F64 4D 82 00 20 */ beqlr
/* 8016E308 00169F68 38 84 00 04 */ addi r4, r4, 4
/* 8016E30C 00169F6C 42 00 FF F0 */ bdnz lbl_8016E2FC
lbl_8016E310:
/* 8016E310 00169F70 80 AD 9F 0C */ lwz r5, lbl_8063F1CC-_SDA_BASE_(r13)
/* 8016E314 00169F74 3C 80 80 49 */ lis r4, lbl_8048CDD8@ha
/* 8016E318 00169F78 38 84 CD D8 */ addi r4, r4, lbl_8048CDD8@l
/* 8016E31C 00169F7C 54 A0 10 3A */ slwi r0, r5, 2
/* 8016E320 00169F80 38 A5 00 01 */ addi r5, r5, 1
/* 8016E324 00169F84 7C 64 01 2E */ stwx r3, r4, r0
/* 8016E328 00169F88 90 AD 9F 0C */ stw r5, lbl_8063F1CC-_SDA_BASE_(r13)
/* 8016E32C 00169F8C 4E 80 00 20 */ blr
.global func_8016E330
func_8016E330:
/* 8016E330 00169F90 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E334 00169F94 54 89 10 3A */ slwi r9, r4, 2
/* 8016E338 00169F98 3C E0 00 01 */ lis r7, 0x0000FFFF@ha
/* 8016E33C 00169F9C 2C 03 00 07 */ cmpwi r3, 7
/* 8016E340 00169FA0 7D 00 4A 14 */ add r8, r0, r9
/* 8016E344 00169FA4 90 68 00 10 */ stw r3, 0x10(r8)
/* 8016E348 00169FA8 38 07 FF FF */ addi r0, r7, 0x0000FFFF@l
/* 8016E34C 00169FAC 80 ED 9F 08 */ lwz r7, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E350 00169FB0 7C E7 4A 14 */ add r7, r7, r9
/* 8016E354 00169FB4 90 67 00 20 */ stw r3, 0x20(r7)
/* 8016E358 00169FB8 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E35C 00169FBC 7C 63 4A 14 */ add r3, r3, r9
/* 8016E360 00169FC0 90 83 00 40 */ stw r4, 0x40(r3)
/* 8016E364 00169FC4 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E368 00169FC8 7C 63 4A 14 */ add r3, r3, r9
/* 8016E36C 00169FCC 90 A3 00 50 */ stw r5, 0x50(r3)
/* 8016E370 00169FD0 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E374 00169FD4 7C 63 4A 14 */ add r3, r3, r9
/* 8016E378 00169FD8 90 C3 00 30 */ stw r6, 0x30(r3)
/* 8016E37C 00169FDC 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E380 00169FE0 7C 03 49 2E */ stwx r0, r3, r9
/* 8016E384 00169FE4 4D 82 00 20 */ beqlr
/* 8016E388 00169FE8 38 60 00 03 */ li r3, 3
/* 8016E38C 00169FEC 4B FF FF 58 */ b func_8016E2E4
/* 8016E390 00169FF0 4E 80 00 20 */ blr
.global func_8016E394
func_8016E394:
/* 8016E394 00169FF4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8016E398 00169FF8 7C 08 02 A6 */ mflr r0
/* 8016E39C 00169FFC 54 68 10 3A */ slwi r8, r3, 2
/* 8016E3A0 0016A000 38 E0 00 0B */ li r7, 0xb
/* 8016E3A4 0016A004 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016E3A8 0016A008 38 60 00 01 */ li r3, 1
/* 8016E3AC 0016A00C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8016E3B0 0016A010 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8016E3B4 0016A014 7C DE 33 78 */ mr r30, r6
/* 8016E3B8 0016A018 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8016E3BC 0016A01C 7C BD 2B 78 */ mr r29, r5
/* 8016E3C0 0016A020 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E3C4 0016A024 7C A0 42 14 */ add r5, r0, r8
/* 8016E3C8 0016A028 38 00 00 00 */ li r0, 0
/* 8016E3CC 0016A02C 90 E5 00 10 */ stw r7, 0x10(r5)
/* 8016E3D0 0016A030 38 A0 00 24 */ li r5, 0x24
/* 8016E3D4 0016A034 80 CD 9F 08 */ lwz r6, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E3D8 0016A038 7C C6 42 14 */ add r6, r6, r8
/* 8016E3DC 0016A03C 83 E6 00 60 */ lwz r31, 0x60(r6)
/* 8016E3E0 0016A040 98 7F 00 00 */ stb r3, 0(r31)
/* 8016E3E4 0016A044 98 1F 00 01 */ stb r0, 1(r31)
/* 8016E3E8 0016A048 98 1F 00 02 */ stb r0, 2(r31)
/* 8016E3EC 0016A04C 98 1F 00 03 */ stb r0, 3(r31)
/* 8016E3F0 0016A050 3B FF 00 04 */ addi r31, r31, 4
/* 8016E3F4 0016A054 7F E3 FB 78 */ mr r3, r31
/* 8016E3F8 0016A058 4B E9 5C 09 */ bl memcpy
/* 8016E3FC 0016A05C 7F A4 EB 78 */ mr r4, r29
/* 8016E400 0016A060 7F C5 F3 78 */ mr r5, r30
/* 8016E404 0016A064 38 7F 00 24 */ addi r3, r31, 0x24
/* 8016E408 0016A068 4B E9 5B F9 */ bl memcpy
/* 8016E40C 0016A06C 38 60 00 0B */ li r3, 0xb
/* 8016E410 0016A070 4B FF FE D5 */ bl func_8016E2E4
/* 8016E414 0016A074 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8016E418 0016A078 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8016E41C 0016A07C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8016E420 0016A080 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8016E424 0016A084 7C 08 03 A6 */ mtlr r0
/* 8016E428 0016A088 38 21 00 20 */ addi r1, r1, 0x20
/* 8016E42C 0016A08C 4E 80 00 20 */ blr
.global func_8016E430
func_8016E430:
/* 8016E430 0016A090 80 8D 9F 08 */ lwz r4, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E434 0016A094 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 8016E438 0016A098 7C 64 02 14 */ add r3, r4, r0
/* 8016E43C 0016A09C 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8016E440 0016A0A0 4E 80 00 20 */ blr
.global func_8016E444
func_8016E444:
/* 8016E444 0016A0A4 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E448 0016A0A8 38 80 00 01 */ li r4, 1
/* 8016E44C 0016A0AC 7C 60 1A 14 */ add r3, r0, r3
/* 8016E450 0016A0B0 98 83 00 78 */ stb r4, 0x78(r3)
/* 8016E454 0016A0B4 4E 80 00 20 */ blr
.global func_8016E458
func_8016E458:
/* 8016E458 0016A0B8 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E45C 0016A0BC 38 A0 00 01 */ li r5, 1
/* 8016E460 0016A0C0 7C 80 1A 14 */ add r4, r0, r3
/* 8016E464 0016A0C4 98 A4 00 7C */ stb r5, 0x7c(r4)
/* 8016E468 0016A0C8 80 0D 9F 08 */ lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E46C 0016A0CC 7C 60 1A 14 */ add r3, r0, r3
/* 8016E470 0016A0D0 98 A3 00 80 */ stb r5, 0x80(r3)
/* 8016E474 0016A0D4 4E 80 00 20 */ blr
.global VMBASEGetVirtualAddrFromPageInMRAM
VMBASEGetVirtualAddrFromPageInMRAM:
/* 8016E478 0016A0D8 80 8D 9F 08 */ lwz r4, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E47C 0016A0DC 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 8016E480 0016A0E0 7C 64 00 2E */ lwzx r3, r4, r0
/* 8016E484 0016A0E4 4E 80 00 20 */ blr
.global func_8016E488
func_8016E488:
/* 8016E488 0016A0E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016E48C 0016A0EC 7C 08 02 A6 */ mflr r0
/* 8016E490 0016A0F0 38 80 05 14 */ li r4, 0x514
/* 8016E494 0016A0F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016E498 0016A0F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016E49C 0016A0FC 93 C1 00 08 */ stw r30, 8(r1)
/* 8016E4A0 0016A100 7C 7E 1B 78 */ mr r30, r3
/* 8016E4A4 0016A104 90 6D 9F 08 */ stw r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E4A8 0016A108 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8016E4AC 0016A10C 48 06 C7 E9 */ bl func_801DAC94
/* 8016E4B0 0016A110 7C 7F 1B 78 */ mr r31, r3
/* 8016E4B4 0016A114 38 80 00 00 */ li r4, 0
/* 8016E4B8 0016A118 38 A0 05 14 */ li r5, 0x514
/* 8016E4BC 0016A11C 4B E9 5C 49 */ bl memset
/* 8016E4C0 0016A120 38 80 00 00 */ li r4, 0
/* 8016E4C4 0016A124 38 00 00 FF */ li r0, 0xff
/* 8016E4C8 0016A128 90 9E 00 00 */ stw r4, 0(r30)
/* 8016E4CC 0016A12C 3C A0 80 49 */ lis r5, lbl_8048CDD8@ha
/* 8016E4D0 0016A130 7F C3 F3 78 */ mr r3, r30
/* 8016E4D4 0016A134 90 9E 00 10 */ stw r4, 0x10(r30)
/* 8016E4D8 0016A138 90 9E 00 20 */ stw r4, 0x20(r30)
/* 8016E4DC 0016A13C 90 9E 00 30 */ stw r4, 0x30(r30)
/* 8016E4E0 0016A140 90 1E 00 40 */ stw r0, 0x40(r30)
/* 8016E4E4 0016A144 90 9E 00 50 */ stw r4, 0x50(r30)
/* 8016E4E8 0016A148 94 85 CD D8 */ stwu r4, lbl_8048CDD8@l(r5)
/* 8016E4EC 0016A14C 98 9E 00 74 */ stb r4, 0x74(r30)
/* 8016E4F0 0016A150 98 9E 00 78 */ stb r4, 0x78(r30)
/* 8016E4F4 0016A154 98 9E 00 7C */ stb r4, 0x7c(r30)
/* 8016E4F8 0016A158 98 9E 00 80 */ stb r4, 0x80(r30)
/* 8016E4FC 0016A15C 93 FE 00 60 */ stw r31, 0x60(r30)
/* 8016E500 0016A160 3B FF 01 04 */ addi r31, r31, 0x104
/* 8016E504 0016A164 90 9E 00 04 */ stw r4, 4(r30)
/* 8016E508 0016A168 90 9E 00 14 */ stw r4, 0x14(r30)
/* 8016E50C 0016A16C 90 9E 00 24 */ stw r4, 0x24(r30)
/* 8016E510 0016A170 90 9E 00 34 */ stw r4, 0x34(r30)
/* 8016E514 0016A174 90 1E 00 44 */ stw r0, 0x44(r30)
/* 8016E518 0016A178 90 9E 00 54 */ stw r4, 0x54(r30)
/* 8016E51C 0016A17C 90 85 00 04 */ stw r4, 4(r5)
/* 8016E520 0016A180 98 9E 00 75 */ stb r4, 0x75(r30)
/* 8016E524 0016A184 98 9E 00 79 */ stb r4, 0x79(r30)
/* 8016E528 0016A188 98 9E 00 7D */ stb r4, 0x7d(r30)
/* 8016E52C 0016A18C 98 9E 00 81 */ stb r4, 0x81(r30)
/* 8016E530 0016A190 93 FE 00 64 */ stw r31, 0x64(r30)
/* 8016E534 0016A194 3B FF 01 04 */ addi r31, r31, 0x104
/* 8016E538 0016A198 90 9E 00 08 */ stw r4, 8(r30)
/* 8016E53C 0016A19C 90 9E 00 18 */ stw r4, 0x18(r30)
/* 8016E540 0016A1A0 90 9E 00 28 */ stw r4, 0x28(r30)
/* 8016E544 0016A1A4 90 9E 00 38 */ stw r4, 0x38(r30)
/* 8016E548 0016A1A8 90 1E 00 48 */ stw r0, 0x48(r30)
/* 8016E54C 0016A1AC 90 9E 00 58 */ stw r4, 0x58(r30)
/* 8016E550 0016A1B0 90 85 00 08 */ stw r4, 8(r5)
/* 8016E554 0016A1B4 98 9E 00 76 */ stb r4, 0x76(r30)
/* 8016E558 0016A1B8 98 9E 00 7A */ stb r4, 0x7a(r30)
/* 8016E55C 0016A1BC 98 9E 00 7E */ stb r4, 0x7e(r30)
/* 8016E560 0016A1C0 98 9E 00 82 */ stb r4, 0x82(r30)
/* 8016E564 0016A1C4 93 FE 00 68 */ stw r31, 0x68(r30)
/* 8016E568 0016A1C8 3B FF 01 04 */ addi r31, r31, 0x104
/* 8016E56C 0016A1CC 90 9E 00 0C */ stw r4, 0xc(r30)
/* 8016E570 0016A1D0 90 9E 00 1C */ stw r4, 0x1c(r30)
/* 8016E574 0016A1D4 90 9E 00 2C */ stw r4, 0x2c(r30)
/* 8016E578 0016A1D8 90 9E 00 3C */ stw r4, 0x3c(r30)
/* 8016E57C 0016A1DC 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 8016E580 0016A1E0 90 9E 00 5C */ stw r4, 0x5c(r30)
/* 8016E584 0016A1E4 90 85 00 0C */ stw r4, 0xc(r5)
/* 8016E588 0016A1E8 98 9E 00 77 */ stb r4, 0x77(r30)
/* 8016E58C 0016A1EC 98 9E 00 7B */ stb r4, 0x7b(r30)
/* 8016E590 0016A1F0 98 9E 00 7F */ stb r4, 0x7f(r30)
/* 8016E594 0016A1F4 98 9E 00 83 */ stb r4, 0x83(r30)
/* 8016E598 0016A1F8 93 FE 00 6C */ stw r31, 0x6c(r30)
/* 8016E59C 0016A1FC 3B FF 01 04 */ addi r31, r31, 0x104
/* 8016E5A0 0016A200 93 FE 00 70 */ stw r31, 0x70(r30)
/* 8016E5A4 0016A204 90 8D 9F 0C */ stw r4, lbl_8063F1CC-_SDA_BASE_(r13)
/* 8016E5A8 0016A208 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8016E5AC 0016A20C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8016E5B0 0016A210 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016E5B4 0016A214 7C 08 03 A6 */ mtlr r0
/* 8016E5B8 0016A218 38 21 00 10 */ addi r1, r1, 0x10
/* 8016E5BC 0016A21C 4E 80 00 20 */ blr
.global func_8016E5C0
func_8016E5C0:
/* 8016E5C0 0016A220 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016E5C4 0016A224 7C 08 02 A6 */ mflr r0
/* 8016E5C8 0016A228 2C 03 00 00 */ cmpwi r3, 0
/* 8016E5CC 0016A22C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016E5D0 0016A230 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016E5D4 0016A234 7C 9F 23 78 */ mr r31, r4
/* 8016E5D8 0016A238 93 C1 00 08 */ stw r30, 8(r1)
/* 8016E5DC 0016A23C 7C 7E 1B 78 */ mr r30, r3
/* 8016E5E0 0016A240 41 82 00 20 */ beq lbl_8016E600
/* 8016E5E4 0016A244 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8016E5E8 0016A248 80 9E 00 60 */ lwz r4, 0x60(r30)
/* 8016E5EC 0016A24C 48 06 C7 5D */ bl func_801DAD48
/* 8016E5F0 0016A250 2C 1F 00 00 */ cmpwi r31, 0
/* 8016E5F4 0016A254 40 81 00 0C */ ble lbl_8016E600
/* 8016E5F8 0016A258 7F C3 F3 78 */ mr r3, r30
/* 8016E5FC 0016A25C 48 06 C4 BD */ bl func_801DAAB8
lbl_8016E600:
/* 8016E600 0016A260 7F C3 F3 78 */ mr r3, r30
/* 8016E604 0016A264 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8016E608 0016A268 83 C1 00 08 */ lwz r30, 8(r1)
/* 8016E60C 0016A26C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016E610 0016A270 7C 08 03 A6 */ mtlr r0
/* 8016E614 0016A274 38 21 00 10 */ addi r1, r1, 0x10
/* 8016E618 0016A278 4E 80 00 20 */ blr
lbl_8016E61C: #__blank?
/* 8016E61C 0016A27C 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8016E620 0016A280 40 86 00 24 */ bne cr1, lbl_8016E644
/* 8016E624 0016A284 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 8016E628 0016A288 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 8016E62C 0016A28C D8 61 00 38 */ stfd f3, 0x38(r1)
/* 8016E630 0016A290 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 8016E634 0016A294 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 8016E638 0016A298 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 8016E63C 0016A29C D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 8016E640 0016A2A0 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_8016E644:
/* 8016E644 0016A2A4 90 61 00 08 */ stw r3, 8(r1)
/* 8016E648 0016A2A8 90 81 00 0C */ stw r4, 0xc(r1)
/* 8016E64C 0016A2AC 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8016E650 0016A2B0 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8016E654 0016A2B4 90 E1 00 18 */ stw r7, 0x18(r1)
/* 8016E658 0016A2B8 91 01 00 1C */ stw r8, 0x1c(r1)
/* 8016E65C 0016A2BC 91 21 00 20 */ stw r9, 0x20(r1)
/* 8016E660 0016A2C0 91 41 00 24 */ stw r10, 0x24(r1)
/* 8016E664 0016A2C4 38 21 00 70 */ addi r1, r1, 0x70
/* 8016E668 0016A2C8 4E 80 00 20 */ blr
.global func_8016E66C
func_8016E66C:
/* 8016E66C 0016A2CC 80 6D 9F 08 */ lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8016E670 0016A2D0 48 00 00 04 */ b lbl_8016E674
lbl_8016E674:
/* 8016E674 0016A2D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016E678 0016A2D8 7C 08 02 A6 */ mflr r0
/* 8016E67C 0016A2DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016E680 0016A2E0 48 26 B7 89 */ bl func_803D9E08
/* 8016E684 0016A2E4 2C 03 00 00 */ cmpwi r3, 0
/* 8016E688 0016A2E8 41 82 00 14 */ beq lbl_8016E69C
/* 8016E68C 0016A2EC 38 60 00 06 */ li r3, 6
/* 8016E690 0016A2F0 4B FF FC 55 */ bl func_8016E2E4
/* 8016E694 0016A2F4 38 60 00 06 */ li r3, 6
/* 8016E698 0016A2F8 48 00 00 08 */ b lbl_8016E6A0
lbl_8016E69C:
/* 8016E69C 0016A2FC 80 6D 9F 0C */ lwz r3, lbl_8063F1CC-_SDA_BASE_(r13)
lbl_8016E6A0:
/* 8016E6A0 0016A300 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016E6A4 0016A304 7C 08 03 A6 */ mtlr r0
/* 8016E6A8 0016A308 38 21 00 10 */ addi r1, r1, 0x10
/* 8016E6AC 0016A30C 4E 80 00 20 */ blr
.global func_8016E6B0
func_8016E6B0:
/* 8016E6B0 0016A310 80 0D 9F 0C */ lwz r0, lbl_8063F1CC-_SDA_BASE_(r13)
/* 8016E6B4 0016A314 2C 00 00 00 */ cmpwi r0, 0
/* 8016E6B8 0016A318 41 82 00 4C */ beq lbl_8016E704
/* 8016E6BC 0016A31C 34 00 FF FF */ addic. r0, r0, -1
/* 8016E6C0 0016A320 3D 00 80 49 */ lis r8, lbl_8048CDD8@ha
/* 8016E6C4 0016A324 80 68 CD D8 */ lwz r3, lbl_8048CDD8@l(r8)
/* 8016E6C8 0016A328 90 0D 9F 0C */ stw r0, lbl_8063F1CC-_SDA_BASE_(r13)
/* 8016E6CC 0016A32C 41 82 00 2C */ beq lbl_8016E6F8
/* 8016E6D0 0016A330 38 E8 CD D8 */ addi r7, r8, -12840
/* 8016E6D4 0016A334 38 00 00 00 */ li r0, 0
/* 8016E6D8 0016A338 80 C7 00 04 */ lwz r6, 4(r7)
/* 8016E6DC 0016A33C 80 A7 00 08 */ lwz r5, 8(r7)
/* 8016E6E0 0016A340 80 87 00 0C */ lwz r4, 0xc(r7)
/* 8016E6E4 0016A344 90 C8 CD D8 */ stw r6, -0x3228(r8)
/* 8016E6E8 0016A348 90 A7 00 04 */ stw r5, 4(r7)
/* 8016E6EC 0016A34C 90 87 00 08 */ stw r4, 8(r7)
/* 8016E6F0 0016A350 90 07 00 0C */ stw r0, 0xc(r7)
/* 8016E6F4 0016A354 4E 80 00 20 */ blr
lbl_8016E6F8:
/* 8016E6F8 0016A358 38 00 00 00 */ li r0, 0
/* 8016E6FC 0016A35C 90 08 CD D8 */ stw r0, -0x3228(r8)
/* 8016E700 0016A360 4E 80 00 20 */ blr
lbl_8016E704:
/* 8016E704 0016A364 38 60 00 00 */ li r3, 0
/* 8016E708 0016A368 4E 80 00 20 */ blr
.global cPlayer_PostPhysicsUpdate
cPlayer_PostPhysicsUpdate:
/* 8016E70C 0016A36C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016E710 0016A370 7C 08 02 A6 */ mflr r0
/* 8016E714 0016A374 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016E718 0016A378 48 00 00 15 */ bl func_8016E72C
/* 8016E71C 0016A37C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016E720 0016A380 7C 08 03 A6 */ mtlr r0
/* 8016E724 0016A384 38 21 00 10 */ addi r1, r1, 0x10
/* 8016E728 0016A388 4E 80 00 20 */ blr
.global func_8016E72C
func_8016E72C:
/* 8016E72C 0016A38C 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8016E730 0016A390 7C 08 02 A6 */ mflr r0
/* 8016E734 0016A394 90 01 00 74 */ stw r0, 0x74(r1)
/* 8016E738 0016A398 39 61 00 70 */ addi r11, r1, 0x70
/* 8016E73C 0016A39C 48 05 89 B9 */ bl __save_gpr
/* 8016E740 0016A3A0 7C 6F 1B 78 */ mr r15, r3
/* 8016E744 0016A3A4 4B EC 76 59 */ bl func_80035D9C
/* 8016E748 0016A3A8 4B ED 6E 49 */ bl func_80045590
/* 8016E74C 0016A3AC 7C 7C 1B 78 */ mr r28, r3
/* 8016E750 0016A3B0 4B E9 C3 ED */ bl func_8000AB3C
/* 8016E754 0016A3B4 7C 6E 1B 78 */ mr r14, r3
/* 8016E758 0016A3B8 4B FA E2 1D */ bl func_8011C974
/* 8016E75C 0016A3BC 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8016E760 0016A3C0 7C 7D 1B 78 */ mr r29, r3
/* 8016E764 0016A3C4 3A 00 00 00 */ li r16, 0
/* 8016E768 0016A3C8 28 00 03 EF */ cmplwi r0, 0x3ef
/* 8016E76C 0016A3CC 40 82 00 34 */ bne lbl_8016E7A0
/* 8016E770 0016A3D0 48 0B 50 C1 */ bl func_80223830
/* 8016E774 0016A3D4 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 8016E778 0016A3D8 80 A3 00 00 */ lwz r5, 0(r3)
/* 8016E77C 0016A3DC 38 04 43 FD */ addi r0, r4, 0x000343FD@l
/* 8016E780 0016A3E0 7C 85 01 D6 */ mullw r4, r5, r0
/* 8016E784 0016A3E4 3C 84 00 27 */ addis r4, r4, 0x27
/* 8016E788 0016A3E8 38 84 9E C3 */ addi r4, r4, -24893
/* 8016E78C 0016A3EC 54 80 87 3E */ rlwinm r0, r4, 0x10, 0x1c, 0x1f
/* 8016E790 0016A3F0 90 83 00 00 */ stw r4, 0(r3)
/* 8016E794 0016A3F4 2C 00 00 04 */ cmpwi r0, 4
/* 8016E798 0016A3F8 40 80 00 08 */ bge lbl_8016E7A0
/* 8016E79C 0016A3FC 3A 00 00 0E */ li r16, 0xe
lbl_8016E7A0:
/* 8016E7A0 0016A400 7D C3 73 78 */ mr r3, r14
/* 8016E7A4 0016A404 4B E9 C3 8D */ bl func_8000AB30
/* 8016E7A8 0016A408 54 6E 06 3E */ clrlwi r14, r3, 0x18
/* 8016E7AC 0016A40C 38 7D 00 8A */ addi r3, r29, 0x8a
/* 8016E7B0 0016A410 48 00 07 A1 */ bl func_8016EF50
/* 8016E7B4 0016A414 80 8F 00 00 */ lwz r4, 0(r15)
/* 8016E7B8 0016A418 7C 66 1B 78 */ mr r6, r3
/* 8016E7BC 0016A41C 7E 05 83 78 */ mr r5, r16
/* 8016E7C0 0016A420 7D C7 73 78 */ mr r7, r14
/* 8016E7C4 0016A424 38 60 00 00 */ li r3, 0
/* 8016E7C8 0016A428 48 26 B9 AD */ bl func_803DA174
/* 8016E7CC 0016A42C 90 6F 00 04 */ stw r3, 4(r15)
/* 8016E7D0 0016A430 3B C0 00 02 */ li r30, 2
/* 8016E7D4 0016A434 80 1D 00 08 */ lwz r0, 8(r29)
/* 8016E7D8 0016A438 2C 00 00 04 */ cmpwi r0, 4
/* 8016E7DC 0016A43C 40 82 00 08 */ bne lbl_8016E7E4
/* 8016E7E0 0016A440 3B C0 00 04 */ li r30, 4
lbl_8016E7E4:
/* 8016E7E4 0016A444 88 1D 09 91 */ lbz r0, 0x991(r29)
/* 8016E7E8 0016A448 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8016E7EC 0016A44C 40 82 00 0C */ bne lbl_8016E7F8
/* 8016E7F0 0016A450 38 60 00 00 */ li r3, 0
/* 8016E7F4 0016A454 48 00 04 B4 */ b lbl_8016ECA8
lbl_8016E7F8:
/* 8016E7F8 0016A458 3E E0 80 49 */ lis r23, lbl_8048DFC8@ha
/* 8016E7FC 0016A45C 3A 60 00 00 */ li r19, 0
/* 8016E800 0016A460 3A F7 DF C8 */ addi r23, r23, lbl_8048DFC8@l
/* 8016E804 0016A464 3B 20 00 00 */ li r25, 0
/* 8016E808 0016A468 3B 00 00 00 */ li r24, 0
/* 8016E80C 0016A46C 39 C0 00 00 */ li r14, 0
/* 8016E810 0016A470 48 00 02 F4 */ b lbl_8016EB04
lbl_8016E814:
/* 8016E814 0016A474 56 64 07 FF */ clrlwi. r4, r19, 0x1f
/* 8016E818 0016A478 41 82 00 18 */ beq lbl_8016E830
/* 8016E81C 0016A47C 56 60 FF FE */ rlwinm r0, r19, 0x1f, 0x1f, 0x1f
/* 8016E820 0016A480 1C 00 06 EC */ mulli r0, r0, 0x6ec
/* 8016E824 0016A484 7C 7D 02 14 */ add r3, r29, r0
/* 8016E828 0016A488 3B 63 12 24 */ addi r27, r3, 0x1224
/* 8016E82C 0016A48C 48 00 00 14 */ b lbl_8016E840
lbl_8016E830:
/* 8016E830 0016A490 56 60 FF FE */ rlwinm r0, r19, 0x1f, 0x1f, 0x1f
/* 8016E834 0016A494 1C 00 06 EC */ mulli r0, r0, 0x6ec
/* 8016E838 0016A498 7C 7D 02 14 */ add r3, r29, r0
/* 8016E83C 0016A49C 3B 63 04 4C */ addi r27, r3, 0x44c
lbl_8016E840:
/* 8016E840 0016A4A0 2C 04 00 00 */ cmpwi r4, 0
/* 8016E844 0016A4A4 41 82 00 10 */ beq lbl_8016E854
/* 8016E848 0016A4A8 7C 7D 02 14 */ add r3, r29, r0
/* 8016E84C 0016A4AC 3B 43 2D D4 */ addi r26, r3, 0x2dd4
/* 8016E850 0016A4B0 48 00 00 0C */ b lbl_8016E85C
lbl_8016E854:
/* 8016E854 0016A4B4 7C 7D 02 14 */ add r3, r29, r0
/* 8016E858 0016A4B8 3B 43 1F FC */ addi r26, r3, 0x1ffc
lbl_8016E85C:
/* 8016E85C 0016A4BC 8A 9D 00 19 */ lbz r20, 0x19(r29)
/* 8016E860 0016A4C0 2C 14 00 00 */ cmpwi r20, 0
/* 8016E864 0016A4C4 40 82 00 08 */ bne lbl_8016E86C
/* 8016E868 0016A4C8 3A 80 00 06 */ li r20, 6
lbl_8016E86C:
/* 8016E86C 0016A4CC 38 61 00 08 */ addi r3, r1, 8
/* 8016E870 0016A4D0 38 9B 00 04 */ addi r4, r27, 4
/* 8016E874 0016A4D4 38 A0 00 0C */ li r5, 0xc
/* 8016E878 0016A4D8 48 00 86 3D */ bl func_80176EB4
/* 8016E87C 0016A4DC A0 1B 00 04 */ lhz r0, 4(r27)
/* 8016E880 0016A4E0 2C 00 00 00 */ cmpwi r0, 0
/* 8016E884 0016A4E4 40 82 00 18 */ bne lbl_8016E89C
/* 8016E888 0016A4E8 38 61 00 08 */ addi r3, r1, 8
/* 8016E88C 0016A4EC 38 8D 83 68 */ addi r4, r13, lbl_8063D628-_SDA_BASE_
/* 8016E890 0016A4F0 38 A0 00 0C */ li r5, 0xc
/* 8016E894 0016A4F4 48 00 86 21 */ bl func_80176EB4
/* 8016E898 0016A4F8 48 00 00 14 */ b lbl_8016E8AC
lbl_8016E89C:
/* 8016E89C 0016A4FC 38 61 00 08 */ addi r3, r1, 8
/* 8016E8A0 0016A500 38 9B 00 04 */ addi r4, r27, 4
/* 8016E8A4 0016A504 38 A0 00 0C */ li r5, 0xc
/* 8016E8A8 0016A508 48 00 86 0D */ bl func_80176EB4
lbl_8016E8AC:
/* 8016E8AC 0016A50C 80 0F 00 04 */ lwz r0, 4(r15)
/* 8016E8B0 0016A510 38 81 00 08 */ addi r4, r1, 8
/* 8016E8B4 0016A514 7C 60 CA 14 */ add r3, r0, r25
/* 8016E8B8 0016A518 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 8016E8BC 0016A51C 48 26 B7 B9 */ bl func_803DA074
/* 8016E8C0 0016A520 80 0F 00 04 */ lwz r0, 4(r15)
/* 8016E8C4 0016A524 38 81 00 08 */ addi r4, r1, 8
/* 8016E8C8 0016A528 7C 60 C2 14 */ add r3, r0, r24
/* 8016E8CC 0016A52C 38 63 00 3C */ addi r3, r3, 0x3c
/* 8016E8D0 0016A530 48 27 03 55 */ bl func_803DEC24
/* 8016E8D4 0016A534 99 D7 00 00 */ stb r14, 0(r23)
/* 8016E8D8 0016A538 38 00 00 01 */ li r0, 1
/* 8016E8DC 0016A53C 3A 40 00 00 */ li r18, 0
/* 8016E8E0 0016A540 98 17 00 01 */ stb r0, 1(r23)
/* 8016E8E4 0016A544 38 00 00 02 */ li r0, 2
/* 8016E8E8 0016A548 98 17 00 02 */ stb r0, 2(r23)
/* 8016E8EC 0016A54C 38 00 00 03 */ li r0, 3
/* 8016E8F0 0016A550 98 17 00 03 */ stb r0, 3(r23)
/* 8016E8F4 0016A554 38 00 00 04 */ li r0, 4
/* 8016E8F8 0016A558 98 17 00 04 */ stb r0, 4(r23)
/* 8016E8FC 0016A55C 38 00 00 05 */ li r0, 5
/* 8016E900 0016A560 98 17 00 05 */ stb r0, 5(r23)
/* 8016E904 0016A564 88 1D 00 1B */ lbz r0, 0x1b(r29)
/* 8016E908 0016A568 28 00 00 01 */ cmplwi r0, 1
/* 8016E90C 0016A56C 40 82 00 B8 */ bne lbl_8016E9C4
/* 8016E910 0016A570 2C 13 00 01 */ cmpwi r19, 1
/* 8016E914 0016A574 41 82 00 0C */ beq lbl_8016E920
/* 8016E918 0016A578 2C 13 00 03 */ cmpwi r19, 3
/* 8016E91C 0016A57C 40 82 00 A8 */ bne lbl_8016E9C4
lbl_8016E920:
/* 8016E920 0016A580 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8016E924 0016A584 7E 92 A3 78 */ mr r18, r20
/* 8016E928 0016A588 28 00 03 EF */ cmplwi r0, 0x3ef
/* 8016E92C 0016A58C 40 82 00 6C */ bne lbl_8016E998
/* 8016E930 0016A590 88 1D 00 14 */ lbz r0, 0x14(r29)
/* 8016E934 0016A594 28 00 00 0B */ cmplwi r0, 0xb
/* 8016E938 0016A598 40 82 00 60 */ bne lbl_8016E998
/* 8016E93C 0016A59C A0 7D 00 16 */ lhz r3, 0x16(r29)
/* 8016E940 0016A5A0 28 03 00 0A */ cmplwi r3, 0xa
/* 8016E944 0016A5A4 40 80 00 0C */ bge lbl_8016E950
/* 8016E948 0016A5A8 3A 40 00 01 */ li r18, 1
/* 8016E94C 0016A5AC 48 00 00 24 */ b lbl_8016E970
lbl_8016E950:
/* 8016E950 0016A5B0 28 03 00 1E */ cmplwi r3, 0x1e
/* 8016E954 0016A5B4 40 80 00 0C */ bge lbl_8016E960
/* 8016E958 0016A5B8 3A 40 00 02 */ li r18, 2
/* 8016E95C 0016A5BC 48 00 00 14 */ b lbl_8016E970
lbl_8016E960:
/* 8016E960 0016A5C0 38 00 00 28 */ li r0, 0x28
/* 8016E964 0016A5C4 7C 00 18 10 */ subfc r0, r0, r3
/* 8016E968 0016A5C8 7C 60 01 10 */ subfe r3, r0, r0
/* 8016E96C 0016A5CC 3A 43 00 04 */ addi r18, r3, 4
lbl_8016E970:
/* 8016E970 0016A5D0 56 40 06 3E */ clrlwi r0, r18, 0x18
/* 8016E974 0016A5D4 28 00 00 04 */ cmplwi r0, 4
/* 8016E978 0016A5D8 40 81 00 08 */ ble lbl_8016E980
/* 8016E97C 0016A5DC 3A 40 00 04 */ li r18, 4
lbl_8016E980:
/* 8016E980 0016A5E0 80 1D 00 08 */ lwz r0, 8(r29)
/* 8016E984 0016A5E4 2C 00 00 01 */ cmpwi r0, 1
/* 8016E988 0016A5E8 40 82 00 10 */ bne lbl_8016E998
/* 8016E98C 0016A5EC 56 43 06 3E */ clrlwi r3, r18, 0x18
/* 8016E990 0016A5F0 38 03 00 01 */ addi r0, r3, 1
/* 8016E994 0016A5F4 54 12 06 3E */ clrlwi r18, r0, 0x18
lbl_8016E998:
/* 8016E998 0016A5F8 48 05 2D 51 */ bl func_801C16E8
/* 8016E99C 0016A5FC 2C 03 00 00 */ cmpwi r3, 0
/* 8016E9A0 0016A600 40 82 00 24 */ bne lbl_8016E9C4
/* 8016E9A4 0016A604 88 1D 00 14 */ lbz r0, 0x14(r29)
/* 8016E9A8 0016A608 28 00 00 04 */ cmplwi r0, 4
/* 8016E9AC 0016A60C 41 82 00 18 */ beq lbl_8016E9C4
/* 8016E9B0 0016A610 80 DD 00 08 */ lwz r6, 8(r29)
/* 8016E9B4 0016A614 7F 63 DB 78 */ mr r3, r27
/* 8016E9B8 0016A618 7E E4 BB 78 */ mr r4, r23
/* 8016E9BC 0016A61C 56 45 06 3E */ clrlwi r5, r18, 0x18
/* 8016E9C0 0016A620 48 00 FB 2D */ bl func_8017E4EC
lbl_8016E9C4:
/* 8016E9C4 0016A624 88 1D 00 14 */ lbz r0, 0x14(r29)
/* 8016E9C8 0016A628 28 00 00 03 */ cmplwi r0, 3
/* 8016E9CC 0016A62C 40 82 00 A4 */ bne lbl_8016EA70
/* 8016E9D0 0016A630 88 1D 00 18 */ lbz r0, 0x18(r29)
/* 8016E9D4 0016A634 28 00 00 01 */ cmplwi r0, 1
/* 8016E9D8 0016A638 40 82 00 98 */ bne lbl_8016EA70
/* 8016E9DC 0016A63C 1E B4 00 8C */ mulli r21, r20, 0x8c
/* 8016E9E0 0016A640 7E A3 AB 78 */ mr r3, r21
/* 8016E9E4 0016A644 48 06 C3 81 */ bl func_801DAD64
/* 8016E9E8 0016A648 7C 71 1B 78 */ mr r17, r3
/* 8016E9EC 0016A64C 7E FF BB 78 */ mr r31, r23
/* 8016E9F0 0016A650 7E 36 8B 78 */ mr r22, r17
/* 8016E9F4 0016A654 3A 00 00 00 */ li r16, 0
/* 8016E9F8 0016A658 48 00 00 34 */ b lbl_8016EA2C
lbl_8016E9FC:
/* 8016E9FC 0016A65C 88 1F 00 00 */ lbz r0, 0(r31)
/* 8016EA00 0016A660 28 00 00 FF */ cmplwi r0, 0xff
/* 8016EA04 0016A664 41 82 00 1C */ beq lbl_8016EA20
/* 8016EA08 0016A668 1C 00 00 8C */ mulli r0, r0, 0x8c
/* 8016EA0C 0016A66C 7E C3 B3 78 */ mr r3, r22
/* 8016EA10 0016A670 38 A0 00 8C */ li r5, 0x8c
/* 8016EA14 0016A674 7C 9B 02 14 */ add r4, r27, r0
/* 8016EA18 0016A678 38 84 01 FC */ addi r4, r4, 0x1fc
/* 8016EA1C 0016A67C 4B E9 55 E5 */ bl memcpy
lbl_8016EA20:
/* 8016EA20 0016A680 3A D6 00 8C */ addi r22, r22, 0x8c
/* 8016EA24 0016A684 3A 10 00 01 */ addi r16, r16, 1
/* 8016EA28 0016A688 3B FF 00 01 */ addi r31, r31, 1
lbl_8016EA2C:
/* 8016EA2C 0016A68C 7C 10 A0 00 */ cmpw r16, r20
/* 8016EA30 0016A690 41 80 FF CC */ blt lbl_8016E9FC
/* 8016EA34 0016A694 7E 24 8B 78 */ mr r4, r17
/* 8016EA38 0016A698 7E A5 AB 78 */ mr r5, r21
/* 8016EA3C 0016A69C 38 7A 01 FC */ addi r3, r26, 0x1fc
/* 8016EA40 0016A6A0 4B E9 55 C1 */ bl memcpy
/* 8016EA44 0016A6A4 7E 23 8B 78 */ mr r3, r17
/* 8016EA48 0016A6A8 48 06 C4 5D */ bl func_801DAEA4
/* 8016EA4C 0016A6AC 80 1D 00 08 */ lwz r0, 8(r29)
/* 8016EA50 0016A6B0 2C 00 00 01 */ cmpwi r0, 1
/* 8016EA54 0016A6B4 41 82 00 0C */ beq lbl_8016EA60
/* 8016EA58 0016A6B8 2C 00 00 04 */ cmpwi r0, 4
/* 8016EA5C 0016A6BC 40 82 00 08 */ bne lbl_8016EA64
lbl_8016EA60:
/* 8016EA60 0016A6C0 3A 80 00 02 */ li r20, 2
lbl_8016EA64:
/* 8016EA64 0016A6C4 2C 00 00 02 */ cmpwi r0, 2
/* 8016EA68 0016A6C8 40 82 00 08 */ bne lbl_8016EA70
/* 8016EA6C 0016A6CC 3A 80 00 01 */ li r20, 1
lbl_8016EA70:
/* 8016EA70 0016A6D0 7E F1 BB 78 */ mr r17, r23
/* 8016EA74 0016A6D4 3A 00 00 00 */ li r16, 0
/* 8016EA78 0016A6D8 48 00 00 74 */ b lbl_8016EAEC
lbl_8016EA7C:
/* 8016EA7C 0016A6DC 88 11 00 00 */ lbz r0, 0(r17)
/* 8016EA80 0016A6E0 28 00 00 FF */ cmplwi r0, 0xff
/* 8016EA84 0016A6E4 41 82 00 60 */ beq lbl_8016EAE4
/* 8016EA88 0016A6E8 1C 00 00 8C */ mulli r0, r0, 0x8c
/* 8016EA8C 0016A6EC 7C 7B 02 14 */ add r3, r27, r0
/* 8016EA90 0016A6F0 38 63 01 FC */ addi r3, r3, 0x1fc
/* 8016EA94 0016A6F4 88 03 00 8A */ lbz r0, 0x8a(r3)
/* 8016EA98 0016A6F8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8016EA9C 0016A6FC 41 82 00 48 */ beq lbl_8016EAE4
/* 8016EAA0 0016A700 56 40 06 3F */ clrlwi. r0, r18, 0x18
/* 8016EAA4 0016A704 41 82 00 0C */ beq lbl_8016EAB0
/* 8016EAA8 0016A708 7C 10 00 00 */ cmpw r16, r0
/* 8016EAAC 0016A70C 40 80 00 38 */ bge lbl_8016EAE4
lbl_8016EAB0:
/* 8016EAB0 0016A710 80 8F 00 08 */ lwz r4, 8(r15)
/* 8016EAB4 0016A714 48 26 DC 95 */ bl func_803DC748
/* 8016EAB8 0016A718 80 6F 00 08 */ lwz r3, 8(r15)
/* 8016EABC 0016A71C 38 80 00 05 */ li r4, 5
/* 8016EAC0 0016A720 38 A0 00 00 */ li r5, 0
/* 8016EAC4 0016A724 48 26 EF 19 */ bl func_803DD9DC
/* 8016EAC8 0016A728 2C 03 00 00 */ cmpwi r3, 0
/* 8016EACC 0016A72C 41 82 00 18 */ beq lbl_8016EAE4
/* 8016EAD0 0016A730 80 0F 00 04 */ lwz r0, 4(r15)
/* 8016EAD4 0016A734 80 8F 00 08 */ lwz r4, 8(r15)
/* 8016EAD8 0016A738 7C 79 02 14 */ add r3, r25, r0
/* 8016EADC 0016A73C 80 63 00 04 */ lwz r3, 4(r3)
/* 8016EAE0 0016A740 48 26 FD B1 */ bl func_803DE890
lbl_8016EAE4:
/* 8016EAE4 0016A744 3A 10 00 01 */ addi r16, r16, 1
/* 8016EAE8 0016A748 3A 31 00 01 */ addi r17, r17, 1
lbl_8016EAEC:
/* 8016EAEC 0016A74C 7C 10 A0 00 */ cmpw r16, r20
/* 8016EAF0 0016A750 41 80 FF 8C */ blt lbl_8016EA7C
/* 8016EAF4 0016A754 3B 39 00 04 */ addi r25, r25, 4
/* 8016EAF8 0016A758 3B 18 00 2C */ addi r24, r24, 0x2c
/* 8016EAFC 0016A75C 3A F7 00 06 */ addi r23, r23, 6
/* 8016EB00 0016A760 3A 73 00 01 */ addi r19, r19, 1
lbl_8016EB04:
/* 8016EB04 0016A764 7C 13 F0 00 */ cmpw r19, r30
/* 8016EB08 0016A768 41 80 FD 0C */ blt lbl_8016E814
/* 8016EB0C 0016A76C 88 1D 00 14 */ lbz r0, 0x14(r29)
/* 8016EB10 0016A770 28 00 00 0B */ cmplwi r0, 0xb
/* 8016EB14 0016A774 40 82 00 1C */ bne lbl_8016EB30
/* 8016EB18 0016A778 A0 1D 00 16 */ lhz r0, 0x16(r29)
/* 8016EB1C 0016A77C 28 00 00 01 */ cmplwi r0, 1
/* 8016EB20 0016A780 41 82 00 10 */ beq lbl_8016EB30
/* 8016EB24 0016A784 80 6F 00 04 */ lwz r3, 4(r15)
/* 8016EB28 0016A788 80 63 00 04 */ lwz r3, 4(r3)
/* 8016EB2C 0016A78C 4B FE 1D E5 */ bl func_80150910
lbl_8016EB30:
/* 8016EB30 0016A790 80 1D 00 08 */ lwz r0, 8(r29)
/* 8016EB34 0016A794 2C 00 00 03 */ cmpwi r0, 3
/* 8016EB38 0016A798 41 82 00 68 */ beq lbl_8016EBA0
/* 8016EB3C 0016A79C 40 80 00 14 */ bge lbl_8016EB50
/* 8016EB40 0016A7A0 2C 00 00 01 */ cmpwi r0, 1
/* 8016EB44 0016A7A4 41 82 00 18 */ beq lbl_8016EB5C
/* 8016EB48 0016A7A8 40 80 00 2C */ bge lbl_8016EB74
/* 8016EB4C 0016A7AC 48 00 00 54 */ b lbl_8016EBA0
lbl_8016EB50:
/* 8016EB50 0016A7B0 2C 00 00 05 */ cmpwi r0, 5
/* 8016EB54 0016A7B4 40 80 00 4C */ bge lbl_8016EBA0
/* 8016EB58 0016A7B8 48 00 00 34 */ b lbl_8016EB8C
lbl_8016EB5C:
/* 8016EB5C 0016A7BC 80 6F 00 00 */ lwz r3, 0(r15)
/* 8016EB60 0016A7C0 38 00 00 01 */ li r0, 1
/* 8016EB64 0016A7C4 60 63 00 03 */ ori r3, r3, 3
/* 8016EB68 0016A7C8 90 6F 00 00 */ stw r3, 0(r15)
/* 8016EB6C 0016A7CC 90 1C 00 00 */ stw r0, 0(r28)
/* 8016EB70 0016A7D0 48 00 00 30 */ b lbl_8016EBA0
lbl_8016EB74:
/* 8016EB74 0016A7D4 80 6F 00 00 */ lwz r3, 0(r15)
/* 8016EB78 0016A7D8 38 00 00 00 */ li r0, 0
/* 8016EB7C 0016A7DC 60 63 00 01 */ ori r3, r3, 1
/* 8016EB80 0016A7E0 90 6F 00 00 */ stw r3, 0(r15)
/* 8016EB84 0016A7E4 90 1C 00 00 */ stw r0, 0(r28)
/* 8016EB88 0016A7E8 48 00 00 18 */ b lbl_8016EBA0
lbl_8016EB8C:
/* 8016EB8C 0016A7EC 80 6F 00 00 */ lwz r3, 0(r15)
/* 8016EB90 0016A7F0 38 00 00 02 */ li r0, 2
/* 8016EB94 0016A7F4 60 63 00 0B */ ori r3, r3, 0xb
/* 8016EB98 0016A7F8 90 6F 00 00 */ stw r3, 0(r15)
/* 8016EB9C 0016A7FC 90 1C 00 00 */ stw r0, 0(r28)
lbl_8016EBA0:
/* 8016EBA0 0016A800 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8016EBA4 0016A804 2C 00 00 02 */ cmpwi r0, 2
/* 8016EBA8 0016A808 41 82 00 20 */ beq lbl_8016EBC8
/* 8016EBAC 0016A80C 40 80 00 10 */ bge lbl_8016EBBC
/* 8016EBB0 0016A810 2C 00 00 01 */ cmpwi r0, 1
/* 8016EBB4 0016A814 40 80 00 60 */ bge lbl_8016EC14
/* 8016EBB8 0016A818 48 00 00 7C */ b lbl_8016EC34
lbl_8016EBBC:
/* 8016EBBC 0016A81C 2C 00 00 04 */ cmpwi r0, 4
/* 8016EBC0 0016A820 40 80 00 74 */ bge lbl_8016EC34
/* 8016EBC4 0016A824 48 00 00 18 */ b lbl_8016EBDC
lbl_8016EBC8:
/* 8016EBC8 0016A828 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EBCC 0016A82C 60 00 08 00 */ ori r0, r0, 0x800
/* 8016EBD0 0016A830 64 00 00 08 */ oris r0, r0, 8
/* 8016EBD4 0016A834 90 0F 00 00 */ stw r0, 0(r15)
/* 8016EBD8 0016A838 48 00 00 5C */ b lbl_8016EC34
lbl_8016EBDC:
/* 8016EBDC 0016A83C 4B FF 9F 39 */ bl func_80168B14
/* 8016EBE0 0016A840 2C 03 00 00 */ cmpwi r3, 0
/* 8016EBE4 0016A844 41 82 00 14 */ beq lbl_8016EBF8
/* 8016EBE8 0016A848 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EBEC 0016A84C 60 00 20 00 */ ori r0, r0, 0x2000
/* 8016EBF0 0016A850 90 0F 00 00 */ stw r0, 0(r15)
/* 8016EBF4 0016A854 48 00 00 40 */ b lbl_8016EC34
lbl_8016EBF8:
/* 8016EBF8 0016A858 4B FF 9F 31 */ bl func_80168B28
/* 8016EBFC 0016A85C 2C 03 00 00 */ cmpwi r3, 0
/* 8016EC00 0016A860 41 82 00 34 */ beq lbl_8016EC34
/* 8016EC04 0016A864 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EC08 0016A868 64 00 00 04 */ oris r0, r0, 4
/* 8016EC0C 0016A86C 90 0F 00 00 */ stw r0, 0(r15)
/* 8016EC10 0016A870 48 00 00 24 */ b lbl_8016EC34
lbl_8016EC14:
/* 8016EC14 0016A874 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EC18 0016A878 60 03 10 00 */ ori r3, r0, 0x1000
/* 8016EC1C 0016A87C 90 6F 00 00 */ stw r3, 0(r15)
/* 8016EC20 0016A880 88 1D 00 1B */ lbz r0, 0x1b(r29)
/* 8016EC24 0016A884 28 00 00 02 */ cmplwi r0, 2
/* 8016EC28 0016A888 40 82 00 0C */ bne lbl_8016EC34
/* 8016EC2C 0016A88C 64 60 00 08 */ oris r0, r3, 8
/* 8016EC30 0016A890 90 0F 00 00 */ stw r0, 0(r15)
lbl_8016EC34:
/* 8016EC34 0016A894 88 1D 00 1B */ lbz r0, 0x1b(r29)
/* 8016EC38 0016A898 2C 00 00 04 */ cmpwi r0, 4
/* 8016EC3C 0016A89C 41 82 00 4C */ beq lbl_8016EC88
/* 8016EC40 0016A8A0 40 80 00 1C */ bge lbl_8016EC5C
/* 8016EC44 0016A8A4 2C 00 00 02 */ cmpwi r0, 2
/* 8016EC48 0016A8A8 41 82 00 30 */ beq lbl_8016EC78
/* 8016EC4C 0016A8AC 40 80 00 58 */ bge lbl_8016ECA4
/* 8016EC50 0016A8B0 2C 00 00 01 */ cmpwi r0, 1
/* 8016EC54 0016A8B4 40 80 00 14 */ bge lbl_8016EC68
/* 8016EC58 0016A8B8 48 00 00 4C */ b lbl_8016ECA4
lbl_8016EC5C:
/* 8016EC5C 0016A8BC 2C 00 00 08 */ cmpwi r0, 8
/* 8016EC60 0016A8C0 41 82 00 38 */ beq lbl_8016EC98
/* 8016EC64 0016A8C4 48 00 00 40 */ b lbl_8016ECA4
lbl_8016EC68:
/* 8016EC68 0016A8C8 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EC6C 0016A8CC 60 00 40 00 */ ori r0, r0, 0x4000
/* 8016EC70 0016A8D0 90 0F 00 00 */ stw r0, 0(r15)
/* 8016EC74 0016A8D4 48 00 00 30 */ b lbl_8016ECA4
lbl_8016EC78:
/* 8016EC78 0016A8D8 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EC7C 0016A8DC 60 00 80 00 */ ori r0, r0, 0x8000
/* 8016EC80 0016A8E0 90 0F 00 00 */ stw r0, 0(r15)
/* 8016EC84 0016A8E4 48 00 00 20 */ b lbl_8016ECA4
lbl_8016EC88:
/* 8016EC88 0016A8E8 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EC8C 0016A8EC 64 00 00 01 */ oris r0, r0, 1
/* 8016EC90 0016A8F0 90 0F 00 00 */ stw r0, 0(r15)
/* 8016EC94 0016A8F4 48 00 00 10 */ b lbl_8016ECA4
lbl_8016EC98:
/* 8016EC98 0016A8F8 80 0F 00 00 */ lwz r0, 0(r15)
/* 8016EC9C 0016A8FC 60 00 40 00 */ ori r0, r0, 0x4000
/* 8016ECA0 0016A900 90 0F 00 00 */ stw r0, 0(r15)
lbl_8016ECA4:
/* 8016ECA4 0016A904 38 60 00 01 */ li r3, 1
lbl_8016ECA8:
/* 8016ECA8 0016A908 39 61 00 70 */ addi r11, r1, 0x70
/* 8016ECAC 0016A90C 48 05 84 95 */ bl __restore_gpr
/* 8016ECB0 0016A910 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8016ECB4 0016A914 7C 08 03 A6 */ mtlr r0
/* 8016ECB8 0016A918 38 21 00 70 */ addi r1, r1, 0x70
/* 8016ECBC 0016A91C 4E 80 00 20 */ blr
.global func_8016ECC0
func_8016ECC0:
/* 8016ECC0 0016A920 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8016ECC4 0016A924 7C 08 02 A6 */ mflr r0
/* 8016ECC8 0016A928 90 01 00 34 */ stw r0, 0x34(r1)
/* 8016ECCC 0016A92C 39 61 00 30 */ addi r11, r1, 0x30
/* 8016ECD0 0016A930 48 05 84 45 */ bl _savegpr_22
/* 8016ECD4 0016A934 80 03 00 00 */ lwz r0, 0(r3)
/* 8016ECD8 0016A938 7C 7D 1B 78 */ mr r29, r3
/* 8016ECDC 0016A93C 54 03 07 39 */ rlwinm. r3, r0, 0, 0x1c, 0x1c
/* 8016ECE0 0016A940 54 04 FF FE */ rlwinm r4, r0, 0x1f, 0x1f, 0x1f
/* 8016ECE4 0016A944 54 03 EF FE */ rlwinm r3, r0, 0x1d, 0x1f, 0x1f
/* 8016ECE8 0016A948 3B E4 00 01 */ addi r31, r4, 1
/* 8016ECEC 0016A94C 38 03 00 01 */ addi r0, r3, 1
/* 8016ECF0 0016A950 41 82 00 74 */ beq lbl_8016ED64
/* 8016ECF4 0016A954 54 1B 0D FC */ rlwinm r27, r0, 1, 0x17, 0x1e
/* 8016ECF8 0016A958 3A C0 00 00 */ li r22, 0
/* 8016ECFC 0016A95C 48 00 00 58 */ b lbl_8016ED54
lbl_8016ED00:
/* 8016ED00 0016A960 56 DC 15 BA */ rlwinm r28, r22, 2, 0x16, 0x1d
/* 8016ED04 0016A964 3A E0 00 00 */ li r23, 0
lbl_8016ED08:
/* 8016ED08 0016A968 80 1D 00 04 */ lwz r0, 4(r29)
/* 8016ED0C 0016A96C 56 E4 06 3E */ clrlwi r4, r23, 0x18
/* 8016ED10 0016A970 7C 7C 02 14 */ add r3, r28, r0
/* 8016ED14 0016A974 80 63 00 04 */ lwz r3, 4(r3)
/* 8016ED18 0016A978 48 26 FC 35 */ bl func_803DE94C
/* 8016ED1C 0016A97C 7C 78 1B 78 */ mr r24, r3
/* 8016ED20 0016A980 38 80 00 A2 */ li r4, 0xa2
/* 8016ED24 0016A984 38 A0 00 00 */ li r5, 0
/* 8016ED28 0016A988 48 26 EC B5 */ bl func_803DD9DC
/* 8016ED2C 0016A98C 2C 03 00 00 */ cmpwi r3, 0
/* 8016ED30 0016A990 41 82 00 14 */ beq lbl_8016ED44
/* 8016ED34 0016A994 7F 03 C3 78 */ mr r3, r24
/* 8016ED38 0016A998 56 C4 06 3E */ clrlwi r4, r22, 0x18
/* 8016ED3C 0016A99C 4B FF E2 75 */ bl func_8016CFB0
/* 8016ED40 0016A9A0 48 00 00 10 */ b lbl_8016ED50
lbl_8016ED44:
/* 8016ED44 0016A9A4 3A F7 00 01 */ addi r23, r23, 1
/* 8016ED48 0016A9A8 28 17 00 06 */ cmplwi r23, 6
/* 8016ED4C 0016A9AC 41 80 FF BC */ blt lbl_8016ED08
lbl_8016ED50:
/* 8016ED50 0016A9B0 3A D6 00 01 */ addi r22, r22, 1
lbl_8016ED54:
/* 8016ED54 0016A9B4 56 C0 06 3E */ clrlwi r0, r22, 0x18
/* 8016ED58 0016A9B8 7C 00 D8 00 */ cmpw r0, r27
/* 8016ED5C 0016A9BC 41 80 FF A4 */ blt lbl_8016ED00
/* 8016ED60 0016A9C0 48 00 01 50 */ b lbl_8016EEB0
lbl_8016ED64:
/* 8016ED64 0016A9C4 54 1E 0D FC */ rlwinm r30, r0, 1, 0x17, 0x1e
/* 8016ED68 0016A9C8 3B 20 00 00 */ li r25, 0
/* 8016ED6C 0016A9CC 48 00 00 94 */ b lbl_8016EE00
lbl_8016ED70:
/* 8016ED70 0016A9D0 57 20 07 FF */ clrlwi. r0, r25, 0x1f
/* 8016ED74 0016A9D4 40 82 00 88 */ bne lbl_8016EDFC
/* 8016ED78 0016A9D8 57 3B 15 BA */ rlwinm r27, r25, 2, 0x16, 0x1d
/* 8016ED7C 0016A9DC 57 FC 06 3E */ clrlwi r28, r31, 0x18
/* 8016ED80 0016A9E0 3B 40 00 00 */ li r26, 0
/* 8016ED84 0016A9E4 3A C0 00 00 */ li r22, 0
/* 8016ED88 0016A9E8 48 00 00 68 */ b lbl_8016EDF0
lbl_8016ED8C:
/* 8016ED8C 0016A9EC 7F 58 D3 78 */ mr r24, r26
/* 8016ED90 0016A9F0 48 00 00 50 */ b lbl_8016EDE0
lbl_8016ED94:
/* 8016ED94 0016A9F4 80 1D 00 04 */ lwz r0, 4(r29)
/* 8016ED98 0016A9F8 57 04 06 3E */ clrlwi r4, r24, 0x18
/* 8016ED9C 0016A9FC 3B 5A 00 01 */ addi r26, r26, 1
/* 8016EDA0 0016AA00 7C 7B 02 14 */ add r3, r27, r0
/* 8016EDA4 0016AA04 80 63 00 04 */ lwz r3, 4(r3)
/* 8016EDA8 0016AA08 48 26 FB A5 */ bl func_803DE94C
/* 8016EDAC 0016AA0C 7C 77 1B 78 */ mr r23, r3
/* 8016EDB0 0016AA10 38 80 00 A2 */ li r4, 0xa2
/* 8016EDB4 0016AA14 38 A0 00 00 */ li r5, 0
/* 8016EDB8 0016AA18 48 26 EC 25 */ bl func_803DD9DC
/* 8016EDBC 0016AA1C 2C 03 00 00 */ cmpwi r3, 0
/* 8016EDC0 0016AA20 41 82 00 1C */ beq lbl_8016EDDC
/* 8016EDC4 0016AA24 57 24 06 3E */ clrlwi r4, r25, 0x18
/* 8016EDC8 0016AA28 56 C0 0D FC */ rlwinm r0, r22, 1, 0x17, 0x1e
/* 8016EDCC 0016AA2C 7E E3 BB 78 */ mr r3, r23
/* 8016EDD0 0016AA30 7C 84 02 14 */ add r4, r4, r0
/* 8016EDD4 0016AA34 4B FF E1 DD */ bl func_8016CFB0
/* 8016EDD8 0016AA38 48 00 00 14 */ b lbl_8016EDEC
lbl_8016EDDC:
/* 8016EDDC 0016AA3C 3B 18 00 01 */ addi r24, r24, 1
lbl_8016EDE0:
/* 8016EDE0 0016AA40 57 00 06 3E */ clrlwi r0, r24, 0x18
/* 8016EDE4 0016AA44 28 00 00 06 */ cmplwi r0, 6
/* 8016EDE8 0016AA48 41 80 FF AC */ blt lbl_8016ED94
lbl_8016EDEC:
/* 8016EDEC 0016AA4C 3A D6 00 01 */ addi r22, r22, 1
lbl_8016EDF0:
/* 8016EDF0 0016AA50 56 C0 06 3E */ clrlwi r0, r22, 0x18
/* 8016EDF4 0016AA54 7C 00 E0 40 */ cmplw r0, r28
/* 8016EDF8 0016AA58 41 80 FF 94 */ blt lbl_8016ED8C
lbl_8016EDFC:
/* 8016EDFC 0016AA5C 3B 39 00 01 */ addi r25, r25, 1
lbl_8016EE00:
/* 8016EE00 0016AA60 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 8016EE04 0016AA64 7C 00 F0 00 */ cmpw r0, r30
/* 8016EE08 0016AA68 41 80 FF 68 */ blt lbl_8016ED70
/* 8016EE0C 0016AA6C 3B 20 00 00 */ li r25, 0
/* 8016EE10 0016AA70 48 00 00 94 */ b lbl_8016EEA4
lbl_8016EE14:
/* 8016EE14 0016AA74 57 20 07 FF */ clrlwi. r0, r25, 0x1f
/* 8016EE18 0016AA78 41 82 00 88 */ beq lbl_8016EEA0
/* 8016EE1C 0016AA7C 57 3B 15 BA */ rlwinm r27, r25, 2, 0x16, 0x1d
/* 8016EE20 0016AA80 57 FC 06 3E */ clrlwi r28, r31, 0x18
/* 8016EE24 0016AA84 3B 40 00 00 */ li r26, 0
/* 8016EE28 0016AA88 3A C0 00 00 */ li r22, 0
/* 8016EE2C 0016AA8C 48 00 00 68 */ b lbl_8016EE94
lbl_8016EE30:
/* 8016EE30 0016AA90 7F 58 D3 78 */ mr r24, r26
/* 8016EE34 0016AA94 48 00 00 50 */ b lbl_8016EE84
lbl_8016EE38:
/* 8016EE38 0016AA98 80 1D 00 04 */ lwz r0, 4(r29)
/* 8016EE3C 0016AA9C 57 04 06 3E */ clrlwi r4, r24, 0x18
/* 8016EE40 0016AAA0 3B 5A 00 01 */ addi r26, r26, 1
/* 8016EE44 0016AAA4 7C 7B 02 14 */ add r3, r27, r0
/* 8016EE48 0016AAA8 80 63 00 04 */ lwz r3, 4(r3)
/* 8016EE4C 0016AAAC 48 26 FB 01 */ bl func_803DE94C
/* 8016EE50 0016AAB0 7C 77 1B 78 */ mr r23, r3
/* 8016EE54 0016AAB4 38 80 00 A2 */ li r4, 0xa2
/* 8016EE58 0016AAB8 38 A0 00 00 */ li r5, 0
/* 8016EE5C 0016AABC 48 26 EB 81 */ bl func_803DD9DC
/* 8016EE60 0016AAC0 2C 03 00 00 */ cmpwi r3, 0
/* 8016EE64 0016AAC4 41 82 00 1C */ beq lbl_8016EE80
/* 8016EE68 0016AAC8 57 24 06 3E */ clrlwi r4, r25, 0x18
/* 8016EE6C 0016AACC 56 C0 0D FC */ rlwinm r0, r22, 1, 0x17, 0x1e
/* 8016EE70 0016AAD0 7E E3 BB 78 */ mr r3, r23
/* 8016EE74 0016AAD4 7C 84 02 14 */ add r4, r4, r0
/* 8016EE78 0016AAD8 4B FF E1 39 */ bl func_8016CFB0
/* 8016EE7C 0016AADC 48 00 00 14 */ b lbl_8016EE90
lbl_8016EE80:
/* 8016EE80 0016AAE0 3B 18 00 01 */ addi r24, r24, 1
lbl_8016EE84:
/* 8016EE84 0016AAE4 57 00 06 3E */ clrlwi r0, r24, 0x18
/* 8016EE88 0016AAE8 28 00 00 06 */ cmplwi r0, 6
/* 8016EE8C 0016AAEC 41 80 FF AC */ blt lbl_8016EE38
lbl_8016EE90:
/* 8016EE90 0016AAF0 3A D6 00 01 */ addi r22, r22, 1
lbl_8016EE94:
/* 8016EE94 0016AAF4 56 C0 06 3E */ clrlwi r0, r22, 0x18
/* 8016EE98 0016AAF8 7C 00 E0 40 */ cmplw r0, r28
/* 8016EE9C 0016AAFC 41 80 FF 94 */ blt lbl_8016EE30
lbl_8016EEA0:
/* 8016EEA0 0016AB00 3B 39 00 01 */ addi r25, r25, 1
lbl_8016EEA4:
/* 8016EEA4 0016AB04 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 8016EEA8 0016AB08 7C 00 F0 00 */ cmpw r0, r30
/* 8016EEAC 0016AB0C 41 80 FF 68 */ blt lbl_8016EE14
lbl_8016EEB0:
/* 8016EEB0 0016AB10 39 61 00 30 */ addi r11, r1, 0x30
/* 8016EEB4 0016AB14 48 05 82 AD */ bl _restgpr_22
/* 8016EEB8 0016AB18 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8016EEBC 0016AB1C 7C 08 03 A6 */ mtlr r0
/* 8016EEC0 0016AB20 38 21 00 30 */ addi r1, r1, 0x30
/* 8016EEC4 0016AB24 4E 80 00 20 */ blr
.global func_8016EEC8
func_8016EEC8:
/* 8016EEC8 0016AB28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016EECC 0016AB2C 7C 08 02 A6 */ mflr r0
/* 8016EED0 0016AB30 90 01 00 14 */ stw r0, 0x14(r1)
/* 8016EED4 0016AB34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016EED8 0016AB38 3B E0 00 00 */ li r31, 0
/* 8016EEDC 0016AB3C 93 C1 00 08 */ stw r30, 8(r1)
/* 8016EEE0 0016AB40 7C 7E 1B 78 */ mr r30, r3
lbl_8016EEE4:
/* 8016EEE4 0016AB44 80 7E 00 00 */ lwz r3, 0(r30)
/* 8016EEE8 0016AB48 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 8016EEEC 0016AB4C 48 25 A3 DD */ bl func_803C92C8
/* 8016EEF0 0016AB50 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 8016EEF4 0016AB54 28 04 00 FF */ cmplwi r4, 0xff
/* 8016EEF8 0016AB58 41 82 00 34 */ beq lbl_8016EF2C
/* 8016EEFC 0016AB5C 80 BE 00 04 */ lwz r5, 4(r30)
/* 8016EF00 0016AB60 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 8016EF04 0016AB64 80 7E 00 00 */ lwz r3, 0(r30)
/* 8016EF08 0016AB68 7C A5 02 14 */ add r5, r5, r0
/* 8016EF0C 0016AB6C 80 A5 00 04 */ lwz r5, 4(r5)
/* 8016EF10 0016AB70 48 00 85 49 */ bl func_80177458
/* 8016EF14 0016AB74 80 1E 00 00 */ lwz r0, 0(r30)
/* 8016EF18 0016AB78 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8016EF1C 0016AB7C 40 82 00 10 */ bne lbl_8016EF2C
/* 8016EF20 0016AB80 57 E0 06 3E */ clrlwi r0, r31, 0x18
/* 8016EF24 0016AB84 28 00 00 01 */ cmplwi r0, 1
/* 8016EF28 0016AB88 40 80 00 10 */ bge lbl_8016EF38
lbl_8016EF2C:
/* 8016EF2C 0016AB8C 3B FF 00 01 */ addi r31, r31, 1
/* 8016EF30 0016AB90 28 1F 00 04 */ cmplwi r31, 4
/* 8016EF34 0016AB94 41 80 FF B0 */ blt lbl_8016EEE4
lbl_8016EF38:
/* 8016EF38 0016AB98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016EF3C 0016AB9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8016EF40 0016ABA0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8016EF44 0016ABA4 7C 08 03 A6 */ mtlr r0
/* 8016EF48 0016ABA8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016EF4C 0016ABAC 4E 80 00 20 */ blr
.global func_8016EF50
func_8016EF50:
/* 8016EF50 0016ABB0 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 8016EF54 0016ABB4 38 80 00 00 */ li r4, 0
/* 8016EF58 0016ABB8 54 00 9F FF */ rlwinm. r0, r0, 0x13, 0x1f, 0x1f
/* 8016EF5C 0016ABBC 40 82 00 08 */ bne lbl_8016EF64
/* 8016EF60 0016ABC0 60 84 00 02 */ ori r4, r4, 2
lbl_8016EF64:
/* 8016EF64 0016ABC4 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 8016EF68 0016ABC8 54 00 A7 FF */ rlwinm. r0, r0, 0x14, 0x1f, 0x1f
/* 8016EF6C 0016ABCC 40 82 00 08 */ bne lbl_8016EF74
/* 8016EF70 0016ABD0 60 84 00 04 */ ori r4, r4, 4
lbl_8016EF74:
/* 8016EF74 0016ABD4 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 8016EF78 0016ABD8 54 00 AF FF */ rlwinm. r0, r0, 0x15, 0x1f, 0x1f
/* 8016EF7C 0016ABDC 41 82 00 08 */ beq lbl_8016EF84
/* 8016EF80 0016ABE0 60 84 00 08 */ ori r4, r4, 8
lbl_8016EF84:
/* 8016EF84 0016ABE4 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 8016EF88 0016ABE8 54 00 B7 FF */ rlwinm. r0, r0, 0x16, 0x1f, 0x1f
/* 8016EF8C 0016ABEC 41 82 00 08 */ beq lbl_8016EF94
/* 8016EF90 0016ABF0 60 84 00 10 */ ori r4, r4, 0x10
lbl_8016EF94:
/* 8016EF94 0016ABF4 A0 03 00 0C */ lhz r0, 0xc(r3)
/* 8016EF98 0016ABF8 54 00 BF FF */ rlwinm. r0, r0, 0x17, 0x1f, 0x1f
/* 8016EF9C 0016ABFC 41 82 00 08 */ beq lbl_8016EFA4
/* 8016EFA0 0016AC00 60 84 00 01 */ ori r4, r4, 1
lbl_8016EFA4:
/* 8016EFA4 0016AC04 7C 83 23 78 */ mr r3, r4
/* 8016EFA8 0016AC08 4E 80 00 20 */ blr
.global func_8016EFAC
func_8016EFAC:
/* 8016EFAC 0016AC0C 38 A0 00 01 */ li r5, 1
/* 8016EFB0 0016AC10 38 6D 9F 10 */ addi r3, r13, lbl_8063F1D0-_SDA_BASE_
/* 8016EFB4 0016AC14 38 80 00 04 */ li r4, 4
/* 8016EFB8 0016AC18 38 00 00 00 */ li r0, 0
/* 8016EFBC 0016AC1C 98 AD 9F 10 */ stb r5, lbl_8063F1D0-_SDA_BASE_(r13)
/* 8016EFC0 0016AC20 B0 83 00 02 */ sth r4, 2(r3)
/* 8016EFC4 0016AC24 98 03 00 04 */ stb r0, 4(r3)
/* 8016EFC8 0016AC28 4E 80 00 20 */ blr
+1738
View File
File diff suppressed because it is too large Load Diff
+7161
View File
File diff suppressed because it is too large Load Diff
-11868
View File
File diff suppressed because it is too large Load Diff
-4996
View File
File diff suppressed because it is too large Load Diff
+9 -1
View File
@@ -106,7 +106,15 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/code_80167820.o \
$(BUILD_DIR)/asm/code_80167994.o \
$(BUILD_DIR)/asm/code_801679F8.o \
$(BUILD_DIR)/asm/text_4.o \
$(BUILD_DIR)/asm/code_801682D0.o \
$(BUILD_DIR)/asm/code_80168798.o \
$(BUILD_DIR)/asm/code_80168C1C.o \
$(BUILD_DIR)/asm/code_80169268.o \
$(BUILD_DIR)/asm/code_801697AC.o \
$(BUILD_DIR)/asm/code_8016A25C.o \
$(BUILD_DIR)/asm/code_8016E2B8.o \
$(BUILD_DIR)/asm/code_8016EFCC.o \
$(BUILD_DIR)/asm/code_801708DC.o \
$(BUILD_DIR)/asm/text_5.o \
$(BUILD_DIR)/asm/Runtime/__mem.o \
$(BUILD_DIR)/asm/Runtime/__va_arg.o \