prime/asm/Dolphin/GX/GXInit.s

1204 lines
60 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global __GXDefaultTexRegionCallback
__GXDefaultTexRegionCallback:
/* 803750AC 0037200C 7C 08 02 A6 */ mflr r0
/* 803750B0 00372010 90 01 00 04 */ stw r0, 4(r1)
/* 803750B4 00372014 94 21 FF F8 */ stwu r1, -8(r1)
/* 803750B8 00372018 48 00 52 3D */ bl GXGetTexObjFmt
/* 803750BC 0037201C 2C 03 00 08 */ cmpwi r3, 8
/* 803750C0 00372020 41 82 00 38 */ beq lbl_803750F8
/* 803750C4 00372024 2C 03 00 09 */ cmpwi r3, 9
/* 803750C8 00372028 41 82 00 30 */ beq lbl_803750F8
/* 803750CC 0037202C 2C 03 00 0A */ cmpwi r3, 0xa
/* 803750D0 00372030 41 82 00 28 */ beq lbl_803750F8
/* 803750D4 00372034 80 A2 CE 08 */ lwz r5, lbl_805AEB28@sda21(r2)
/* 803750D8 00372038 80 65 02 C8 */ lwz r3, 0x2c8(r5)
/* 803750DC 0037203C 54 60 07 7E */ clrlwi r0, r3, 0x1d
/* 803750E0 00372040 38 83 00 01 */ addi r4, r3, 1
/* 803750E4 00372044 54 03 20 36 */ slwi r3, r0, 4
/* 803750E8 00372048 90 85 02 C8 */ stw r4, 0x2c8(r5)
/* 803750EC 0037204C 38 63 02 08 */ addi r3, r3, 0x208
/* 803750F0 00372050 7C 65 1A 14 */ add r3, r5, r3
/* 803750F4 00372054 48 00 00 24 */ b lbl_80375118
lbl_803750F8:
/* 803750F8 00372058 80 A2 CE 08 */ lwz r5, lbl_805AEB28@sda21(r2)
/* 803750FC 0037205C 80 65 02 CC */ lwz r3, 0x2cc(r5)
/* 80375100 00372060 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 80375104 00372064 38 83 00 01 */ addi r4, r3, 1
/* 80375108 00372068 54 03 20 36 */ slwi r3, r0, 4
/* 8037510C 0037206C 90 85 02 CC */ stw r4, 0x2cc(r5)
/* 80375110 00372070 38 63 02 88 */ addi r3, r3, 0x288
/* 80375114 00372074 7C 65 1A 14 */ add r3, r5, r3
lbl_80375118:
/* 80375118 00372078 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8037511C 0037207C 38 21 00 08 */ addi r1, r1, 8
/* 80375120 00372080 7C 08 03 A6 */ mtlr r0
/* 80375124 00372084 4E 80 00 20 */ blr
.global __GXDefaultTlutRegionCallback
__GXDefaultTlutRegionCallback:
/* 80375128 00372088 28 03 00 14 */ cmplwi r3, 0x14
/* 8037512C 0037208C 41 80 00 0C */ blt lbl_80375138
/* 80375130 00372090 38 60 00 00 */ li r3, 0
/* 80375134 00372094 48 00 00 14 */ b sub_80375148
lbl_80375138:
/* 80375138 00372098 54 63 20 36 */ slwi r3, r3, 4
/* 8037513C 0037209C 80 02 CE 08 */ lwz r0, lbl_805AEB28@sda21(r2)
/* 80375140 003720A0 38 63 02 D0 */ addi r3, r3, 0x2d0
/* 80375144 003720A4 7C 60 1A 14 */ add r3, r0, r3
.global sub_80375148
sub_80375148:
/* 80375148 003720A8 4E 80 00 20 */ blr
.global GXInit
GXInit:
/* 8037514C 003720AC 7C 08 02 A6 */ mflr r0
/* 80375150 003720B0 90 01 00 04 */ stw r0, 4(r1)
/* 80375154 003720B4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80375158 003720B8 BF 21 00 34 */ stmw r25, 0x34(r1)
/* 8037515C 003720BC 7C 7A 1B 78 */ mr r26, r3
/* 80375160 003720C0 7C 99 23 78 */ mr r25, r4
/* 80375164 003720C4 3C 80 80 54 */ lis r4, lbl_80540C88@ha
/* 80375168 003720C8 80 6D 9F 08 */ lwz r3, lbl_805A8AC8@sda21(r13)
/* 8037516C 003720CC 3B C4 0C 88 */ addi r30, r4, lbl_80540C88@l
/* 80375170 003720D0 48 00 8E C9 */ bl OSRegisterVersion
/* 80375174 003720D4 80 A2 CE 08 */ lwz r5, lbl_805AEB28@sda21(r2)
/* 80375178 003720D8 3B E0 00 00 */ li r31, 0
/* 8037517C 003720DC 38 00 00 01 */ li r0, 1
/* 80375180 003720E0 9B E5 04 F0 */ stb r31, 0x4f0(r5)
/* 80375184 003720E4 38 60 00 01 */ li r3, 1
/* 80375188 003720E8 38 80 00 00 */ li r4, 0
/* 8037518C 003720EC 98 05 04 F1 */ stb r0, 0x4f1(r5)
/* 80375190 003720F0 93 E5 04 DC */ stw r31, 0x4dc(r5)
/* 80375194 003720F4 93 E5 04 E0 */ stw r31, 0x4e0(r5)
/* 80375198 003720F8 48 00 31 0D */ bl GXSetMisc
/* 8037519C 003720FC 3C 80 CC 00 */ lis r4, 0xCC003000@ha
/* 803751A0 00372100 38 A4 30 00 */ addi r5, r4, 0xCC003000@l
/* 803751A4 00372104 90 8D AC 7C */ stw r4, lbl_805A983C@sda21(r13)
/* 803751A8 00372108 38 64 10 00 */ addi r3, r4, 0x1000
/* 803751AC 0037210C 38 04 40 00 */ addi r0, r4, 0x4000
/* 803751B0 00372110 90 AD AC 78 */ stw r5, lbl_805A9838@sda21(r13)
/* 803751B4 00372114 90 6D AC 80 */ stw r3, lbl_805A9840@sda21(r13)
/* 803751B8 00372118 90 0D AC 84 */ stw r0, lbl_805A9844@sda21(r13)
/* 803751BC 0037211C 48 00 17 25 */ bl __GXFifoInit
/* 803751C0 00372120 7F 44 D3 78 */ mr r4, r26
/* 803751C4 00372124 7F 25 CB 78 */ mr r5, r25
/* 803751C8 00372128 38 7E 04 F8 */ addi r3, r30, 0x4f8
/* 803751CC 0037212C 48 00 11 E5 */ bl GXInitFifoBase
/* 803751D0 00372130 38 7E 04 F8 */ addi r3, r30, 0x4f8
/* 803751D4 00372134 48 00 12 C5 */ bl GXSetCPUFifo
/* 803751D8 00372138 38 7E 04 F8 */ addi r3, r30, 0x4f8
/* 803751DC 0037213C 48 00 13 CD */ bl GXSetGPFifo
/* 803751E0 00372140 48 00 35 F5 */ bl __GXPEInit
/* 803751E4 00372144 4B FF A6 8D */ bl PPCMfhid2
/* 803751E8 00372148 3C 80 0C 01 */ lis r4, 0x0C008000@ha
/* 803751EC 0037214C 7C 7A 1B 78 */ mr r26, r3
/* 803751F0 00372150 38 64 80 00 */ addi r3, r4, 0x0C008000@l
/* 803751F4 00372154 4B FF A6 99 */ bl PPCMtwpar
/* 803751F8 00372158 67 43 40 00 */ oris r3, r26, 0x4000
/* 803751FC 0037215C 4B FF A6 7D */ bl PPCMthid2
/* 80375200 00372160 80 C2 CE 08 */ lwz r6, lbl_805AEB28@sda21(r2)
/* 80375204 00372164 38 00 00 FF */ li r0, 0xff
/* 80375208 00372168 39 00 00 00 */ li r8, 0
/* 8037520C 0037216C 93 E6 02 04 */ stw r31, 0x204(r6)
/* 80375210 00372170 38 86 02 04 */ addi r4, r6, 0x204
/* 80375214 00372174 38 E6 01 24 */ addi r7, r6, 0x124
/* 80375218 00372178 80 64 00 00 */ lwz r3, 0(r4)
/* 8037521C 0037217C 39 26 00 7C */ addi r9, r6, 0x7c
/* 80375220 00372180 38 A0 00 C1 */ li r5, 0xc1
/* 80375224 00372184 54 63 02 3E */ clrlwi r3, r3, 8
/* 80375228 00372188 90 64 00 00 */ stw r3, 0(r4)
/* 8037522C 0037218C 38 80 00 C0 */ li r4, 0xc0
/* 80375230 00372190 90 06 01 24 */ stw r0, 0x124(r6)
/* 80375234 00372194 80 07 00 00 */ lwz r0, 0(r7)
/* 80375238 00372198 54 00 02 3E */ clrlwi r0, r0, 8
/* 8037523C 0037219C 64 00 0F 00 */ oris r0, r0, 0xf00
/* 80375240 003721A0 90 07 00 00 */ stw r0, 0(r7)
/* 80375244 003721A4 93 E6 00 7C */ stw r31, 0x7c(r6)
/* 80375248 003721A8 80 09 00 00 */ lwz r0, 0(r9)
/* 8037524C 003721AC 54 00 02 3E */ clrlwi r0, r0, 8
/* 80375250 003721B0 64 00 22 00 */ oris r0, r0, 0x2200
/* 80375254 003721B4 90 09 00 00 */ stw r0, 0(r9)
/* 80375258 003721B8 48 00 00 04 */ b lbl_8037525C
lbl_8037525C:
/* 8037525C 003721BC 38 00 00 08 */ li r0, 8
/* 80375260 003721C0 7C 09 03 A6 */ mtctr r0
/* 80375264 003721C4 48 00 00 04 */ b lbl_80375268
lbl_80375268:
/* 80375268 003721C8 48 00 00 04 */ b lbl_8037526C
lbl_8037526C:
/* 8037526C 003721CC 80 62 CE 08 */ lwz r3, lbl_805AEB28@sda21(r2)
/* 80375270 003721D0 55 06 F8 7E */ srwi r6, r8, 1
/* 80375274 003721D4 3B 9F 01 30 */ addi r28, r31, 0x130
/* 80375278 003721D8 38 00 00 00 */ li r0, 0
/* 8037527C 003721DC 3B 5F 01 70 */ addi r26, r31, 0x170
/* 80375280 003721E0 7C 03 E1 2E */ stwx r0, r3, r28
/* 80375284 003721E4 54 CA 10 3A */ slwi r10, r6, 2
/* 80375288 003721E8 3B 6A 01 00 */ addi r27, r10, 0x100
/* 8037528C 003721EC 7C 03 D1 2E */ stwx r0, r3, r26
/* 80375290 003721F0 39 3F 04 9C */ addi r9, r31, 0x49c
/* 80375294 003721F4 7C 03 D9 2E */ stwx r0, r3, r27
/* 80375298 003721F8 3B A0 00 FF */ li r29, 0xff
/* 8037529C 003721FC 54 8C C0 0E */ slwi r12, r4, 0x18
/* 803752A0 00372200 7F A3 49 2E */ stwx r29, r3, r9
/* 803752A4 00372204 7F 23 E2 14 */ add r25, r3, r28
/* 803752A8 00372208 3B FF 00 04 */ addi r31, r31, 4
/* 803752AC 0037220C 83 99 00 00 */ lwz r28, 0(r25)
/* 803752B0 00372210 7F 43 D2 14 */ add r26, r3, r26
/* 803752B4 00372214 54 AB C0 0E */ slwi r11, r5, 0x18
/* 803752B8 00372218 57 9C 02 3E */ clrlwi r28, r28, 8
/* 803752BC 0037221C 7F 8C 63 78 */ or r12, r28, r12
/* 803752C0 00372220 91 99 00 00 */ stw r12, 0(r25)
/* 803752C4 00372224 38 EA 01 B0 */ addi r7, r10, 0x1b0
/* 803752C8 00372228 39 46 00 F6 */ addi r10, r6, 0xf6
/* 803752CC 0037222C 81 9A 00 00 */ lwz r12, 0(r26)
/* 803752D0 00372230 39 26 00 28 */ addi r9, r6, 0x28
/* 803752D4 00372234 3B 9F 01 30 */ addi r28, r31, 0x130
/* 803752D8 00372238 55 86 02 3E */ clrlwi r6, r12, 8
/* 803752DC 0037223C 7C C6 5B 78 */ or r6, r6, r11
/* 803752E0 00372240 90 DA 00 00 */ stw r6, 0(r26)
/* 803752E4 00372244 7C E3 3A 14 */ add r7, r3, r7
/* 803752E8 00372248 39 08 00 01 */ addi r8, r8, 1
/* 803752EC 0037224C 81 67 00 00 */ lwz r11, 0(r7)
/* 803752F0 00372250 55 06 F8 7E */ srwi r6, r8, 1
/* 803752F4 00372254 55 4A C0 0E */ slwi r10, r10, 0x18
/* 803752F8 00372258 55 6B 02 3E */ clrlwi r11, r11, 8
/* 803752FC 0037225C 7D 6A 53 78 */ or r10, r11, r10
/* 80375300 00372260 91 47 00 00 */ stw r10, 0(r7)
/* 80375304 00372264 7F 23 DA 14 */ add r25, r3, r27
/* 80375308 00372268 54 CA 10 3A */ slwi r10, r6, 2
/* 8037530C 0037226C 80 F9 00 00 */ lwz r7, 0(r25)
/* 80375310 00372270 55 29 C0 0E */ slwi r9, r9, 0x18
/* 80375314 00372274 3B 5F 01 70 */ addi r26, r31, 0x170
/* 80375318 00372278 54 E7 02 3E */ clrlwi r7, r7, 8
/* 8037531C 0037227C 7C E7 4B 78 */ or r7, r7, r9
/* 80375320 00372280 90 F9 00 00 */ stw r7, 0(r25)
/* 80375324 00372284 3B 6A 01 00 */ addi r27, r10, 0x100
/* 80375328 00372288 39 3F 04 9C */ addi r9, r31, 0x49c
/* 8037532C 0037228C 7C 03 E1 2E */ stwx r0, r3, r28
/* 80375330 00372290 38 84 00 02 */ addi r4, r4, 2
/* 80375334 00372294 54 8C C0 0E */ slwi r12, r4, 0x18
/* 80375338 00372298 7C 03 D1 2E */ stwx r0, r3, r26
/* 8037533C 0037229C 38 A5 00 02 */ addi r5, r5, 2
/* 80375340 003722A0 54 AB C0 0E */ slwi r11, r5, 0x18
/* 80375344 003722A4 7C 03 D9 2E */ stwx r0, r3, r27
/* 80375348 003722A8 38 EA 01 B0 */ addi r7, r10, 0x1b0
/* 8037534C 003722AC 39 46 00 F6 */ addi r10, r6, 0xf6
/* 80375350 003722B0 7F A3 49 2E */ stwx r29, r3, r9
/* 80375354 003722B4 7F 23 E2 14 */ add r25, r3, r28
/* 80375358 003722B8 39 26 00 28 */ addi r9, r6, 0x28
/* 8037535C 003722BC 83 99 00 00 */ lwz r28, 0(r25)
/* 80375360 003722C0 7F 43 D2 14 */ add r26, r3, r26
/* 80375364 003722C4 7C E3 3A 14 */ add r7, r3, r7
/* 80375368 003722C8 57 9C 02 3E */ clrlwi r28, r28, 8
/* 8037536C 003722CC 7F 8C 63 78 */ or r12, r28, r12
/* 80375370 003722D0 91 99 00 00 */ stw r12, 0(r25)
/* 80375374 003722D4 55 4A C0 0E */ slwi r10, r10, 0x18
/* 80375378 003722D8 7F 23 DA 14 */ add r25, r3, r27
/* 8037537C 003722DC 81 9A 00 00 */ lwz r12, 0(r26)
/* 80375380 003722E0 55 29 C0 0E */ slwi r9, r9, 0x18
/* 80375384 003722E4 3B FF 00 04 */ addi r31, r31, 4
/* 80375388 003722E8 55 86 02 3E */ clrlwi r6, r12, 8
/* 8037538C 003722EC 7C C6 5B 78 */ or r6, r6, r11
/* 80375390 003722F0 90 DA 00 00 */ stw r6, 0(r26)
/* 80375394 003722F4 38 84 00 02 */ addi r4, r4, 2
/* 80375398 003722F8 38 A5 00 02 */ addi r5, r5, 2
/* 8037539C 003722FC 81 67 00 00 */ lwz r11, 0(r7)
/* 803753A0 00372300 39 08 00 01 */ addi r8, r8, 1
/* 803753A4 00372304 55 6B 02 3E */ clrlwi r11, r11, 8
/* 803753A8 00372308 7D 6A 53 78 */ or r10, r11, r10
/* 803753AC 0037230C 91 47 00 00 */ stw r10, 0(r7)
/* 803753B0 00372310 80 F9 00 00 */ lwz r7, 0(r25)
/* 803753B4 00372314 54 E7 02 3E */ clrlwi r7, r7, 8
/* 803753B8 00372318 7C E7 4B 78 */ or r7, r7, r9
/* 803753BC 0037231C 90 F9 00 00 */ stw r7, 0(r25)
/* 803753C0 00372320 42 00 FE AC */ bdnz lbl_8037526C
/* 803753C4 00372324 90 03 01 20 */ stw r0, 0x120(r3)
/* 803753C8 00372328 38 83 01 20 */ addi r4, r3, 0x120
/* 803753CC 0037232C 7C 09 03 78 */ mr r9, r0
/* 803753D0 00372330 80 64 00 00 */ lwz r3, 0(r4)
/* 803753D4 00372334 39 40 00 30 */ li r10, 0x30
/* 803753D8 00372338 39 60 00 31 */ li r11, 0x31
/* 803753DC 0037233C 54 63 02 3E */ clrlwi r3, r3, 8
/* 803753E0 00372340 64 63 27 00 */ oris r3, r3, 0x2700
/* 803753E4 00372344 90 64 00 00 */ stw r3, 0(r4)
/* 803753E8 00372348 48 00 00 04 */ b lbl_803753EC
lbl_803753EC:
/* 803753EC 0037234C 38 60 00 02 */ li r3, 2
/* 803753F0 00372350 7C 69 03 A6 */ mtctr r3
/* 803753F4 00372354 48 00 00 04 */ b lbl_803753F8
lbl_803753F8:
/* 803753F8 00372358 48 00 00 04 */ b lbl_803753FC
lbl_803753FC:
/* 803753FC 0037235C 80 62 CE 08 */ lwz r3, lbl_805AEB28@sda21(r2)
/* 80375400 00372360 39 09 00 B8 */ addi r8, r9, 0xb8
/* 80375404 00372364 38 E9 00 D8 */ addi r7, r9, 0xd8
/* 80375408 00372368 7C 03 41 2E */ stwx r0, r3, r8
/* 8037540C 0037236C 55 46 C0 0E */ slwi r6, r10, 0x18
/* 80375410 00372370 55 64 C0 0E */ slwi r4, r11, 0x18
/* 80375414 00372374 7C 03 39 2E */ stwx r0, r3, r7
/* 80375418 00372378 7D 83 42 14 */ add r12, r3, r8
/* 8037541C 0037237C 39 29 00 04 */ addi r9, r9, 4
/* 80375420 00372380 80 AC 00 00 */ lwz r5, 0(r12)
/* 80375424 00372384 7F 23 3A 14 */ add r25, r3, r7
/* 80375428 00372388 39 09 00 B8 */ addi r8, r9, 0xb8
/* 8037542C 0037238C 54 A5 02 3E */ clrlwi r5, r5, 8
/* 80375430 00372390 7C A5 33 78 */ or r5, r5, r6
/* 80375434 00372394 90 AC 00 00 */ stw r5, 0(r12)
/* 80375438 00372398 38 E9 00 D8 */ addi r7, r9, 0xd8
/* 8037543C 0037239C 39 4A 00 02 */ addi r10, r10, 2
/* 80375440 003723A0 80 B9 00 00 */ lwz r5, 0(r25)
/* 80375444 003723A4 55 46 C0 0E */ slwi r6, r10, 0x18
/* 80375448 003723A8 7D 83 42 14 */ add r12, r3, r8
/* 8037544C 003723AC 54 A5 02 3E */ clrlwi r5, r5, 8
/* 80375450 003723B0 7C A4 23 78 */ or r4, r5, r4
/* 80375454 003723B4 90 99 00 00 */ stw r4, 0(r25)
/* 80375458 003723B8 39 6B 00 02 */ addi r11, r11, 2
/* 8037545C 003723BC 55 64 C0 0E */ slwi r4, r11, 0x18
/* 80375460 003723C0 7C 03 41 2E */ stwx r0, r3, r8
/* 80375464 003723C4 39 29 00 04 */ addi r9, r9, 4
/* 80375468 003723C8 7F 23 3A 14 */ add r25, r3, r7
/* 8037546C 003723CC 7C 03 39 2E */ stwx r0, r3, r7
/* 80375470 003723D0 39 09 00 B8 */ addi r8, r9, 0xb8
/* 80375474 003723D4 38 E9 00 D8 */ addi r7, r9, 0xd8
/* 80375478 003723D8 80 AC 00 00 */ lwz r5, 0(r12)
/* 8037547C 003723DC 39 4A 00 02 */ addi r10, r10, 2
/* 80375480 003723E0 39 6B 00 02 */ addi r11, r11, 2
/* 80375484 003723E4 54 A5 02 3E */ clrlwi r5, r5, 8
/* 80375488 003723E8 7C A5 33 78 */ or r5, r5, r6
/* 8037548C 003723EC 90 AC 00 00 */ stw r5, 0(r12)
/* 80375490 003723F0 55 46 C0 0E */ slwi r6, r10, 0x18
/* 80375494 003723F4 7D 83 42 14 */ add r12, r3, r8
/* 80375498 003723F8 80 B9 00 00 */ lwz r5, 0(r25)
/* 8037549C 003723FC 39 29 00 04 */ addi r9, r9, 4
/* 803754A0 00372400 39 4A 00 02 */ addi r10, r10, 2
/* 803754A4 00372404 54 A5 02 3E */ clrlwi r5, r5, 8
/* 803754A8 00372408 7C A4 23 78 */ or r4, r5, r4
/* 803754AC 0037240C 90 99 00 00 */ stw r4, 0(r25)
/* 803754B0 00372410 55 64 C0 0E */ slwi r4, r11, 0x18
/* 803754B4 00372414 7F 23 3A 14 */ add r25, r3, r7
/* 803754B8 00372418 7C 03 41 2E */ stwx r0, r3, r8
/* 803754BC 0037241C 39 09 00 B8 */ addi r8, r9, 0xb8
/* 803754C0 00372420 39 6B 00 02 */ addi r11, r11, 2
/* 803754C4 00372424 7C 03 39 2E */ stwx r0, r3, r7
/* 803754C8 00372428 38 E9 00 D8 */ addi r7, r9, 0xd8
/* 803754CC 0037242C 39 29 00 04 */ addi r9, r9, 4
/* 803754D0 00372430 80 AC 00 00 */ lwz r5, 0(r12)
/* 803754D4 00372434 54 A5 02 3E */ clrlwi r5, r5, 8
/* 803754D8 00372438 7C A5 33 78 */ or r5, r5, r6
/* 803754DC 0037243C 90 AC 00 00 */ stw r5, 0(r12)
/* 803754E0 00372440 55 46 C0 0E */ slwi r6, r10, 0x18
/* 803754E4 00372444 7D 83 42 14 */ add r12, r3, r8
/* 803754E8 00372448 80 B9 00 00 */ lwz r5, 0(r25)
/* 803754EC 0037244C 39 4A 00 02 */ addi r10, r10, 2
/* 803754F0 00372450 54 A5 02 3E */ clrlwi r5, r5, 8
/* 803754F4 00372454 7C A4 23 78 */ or r4, r5, r4
/* 803754F8 00372458 90 99 00 00 */ stw r4, 0(r25)
/* 803754FC 0037245C 55 64 C0 0E */ slwi r4, r11, 0x18
/* 80375500 00372460 7F 23 3A 14 */ add r25, r3, r7
/* 80375504 00372464 7C 03 41 2E */ stwx r0, r3, r8
/* 80375508 00372468 39 6B 00 02 */ addi r11, r11, 2
/* 8037550C 0037246C 7C 03 39 2E */ stwx r0, r3, r7
/* 80375510 00372470 80 AC 00 00 */ lwz r5, 0(r12)
/* 80375514 00372474 54 A5 02 3E */ clrlwi r5, r5, 8
/* 80375518 00372478 7C A5 33 78 */ or r5, r5, r6
/* 8037551C 0037247C 90 AC 00 00 */ stw r5, 0(r12)
/* 80375520 00372480 80 B9 00 00 */ lwz r5, 0(r25)
/* 80375524 00372484 54 A5 02 3E */ clrlwi r5, r5, 8
/* 80375528 00372488 7C A4 23 78 */ or r4, r5, r4
/* 8037552C 0037248C 90 99 00 00 */ stw r4, 0(r25)
/* 80375530 00372490 42 00 FE CC */ bdnz lbl_803753FC
/* 80375534 00372494 38 A3 00 F8 */ addi r5, r3, 0xf8
/* 80375538 00372498 80 05 00 00 */ lwz r0, 0(r5)
/* 8037553C 0037249C 3C 80 10 62 */ lis r4, 0x10624DD3@ha
/* 80375540 003724A0 38 C3 00 FC */ addi r6, r3, 0xfc
/* 80375544 003724A4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80375548 003724A8 64 00 20 00 */ oris r0, r0, 0x2000
/* 8037554C 003724AC 90 05 00 00 */ stw r0, 0(r5)
/* 80375550 003724B0 38 E3 01 D0 */ addi r7, r3, 0x1d0
/* 80375554 003724B4 39 03 01 D4 */ addi r8, r3, 0x1d4
/* 80375558 003724B8 80 06 00 00 */ lwz r0, 0(r6)
/* 8037555C 003724BC 39 23 01 D8 */ addi r9, r3, 0x1d8
/* 80375560 003724C0 39 43 01 DC */ addi r10, r3, 0x1dc
/* 80375564 003724C4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80375568 003724C8 64 00 21 00 */ oris r0, r0, 0x2100
/* 8037556C 003724CC 90 06 00 00 */ stw r0, 0(r6)
/* 80375570 003724D0 38 C3 01 FC */ addi r6, r3, 0x1fc
/* 80375574 003724D4 3B A0 00 00 */ li r29, 0
/* 80375578 003724D8 80 07 00 00 */ lwz r0, 0(r7)
/* 8037557C 003724DC 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 80375580 003724E0 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
/* 80375584 003724E4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80375588 003724E8 64 00 41 00 */ oris r0, r0, 0x4100
/* 8037558C 003724EC 90 07 00 00 */ stw r0, 0(r7)
/* 80375590 003724F0 80 08 00 00 */ lwz r0, 0(r8)
/* 80375594 003724F4 54 00 02 3E */ clrlwi r0, r0, 8
/* 80375598 003724F8 64 00 42 00 */ oris r0, r0, 0x4200
/* 8037559C 003724FC 90 08 00 00 */ stw r0, 0(r8)
/* 803755A0 00372500 80 09 00 00 */ lwz r0, 0(r9)
/* 803755A4 00372504 54 00 02 3E */ clrlwi r0, r0, 8
/* 803755A8 00372508 64 00 40 00 */ oris r0, r0, 0x4000
/* 803755AC 0037250C 90 09 00 00 */ stw r0, 0(r9)
/* 803755B0 00372510 80 0A 00 00 */ lwz r0, 0(r10)
/* 803755B4 00372514 54 00 02 3E */ clrlwi r0, r0, 8
/* 803755B8 00372518 64 00 43 00 */ oris r0, r0, 0x4300
/* 803755BC 0037251C 90 0A 00 00 */ stw r0, 0(r10)
/* 803755C0 00372520 80 06 00 00 */ lwz r0, 0(r6)
/* 803755C4 00372524 54 00 06 6C */ rlwinm r0, r0, 0, 0x19, 0x16
/* 803755C8 00372528 90 06 00 00 */ stw r0, 0(r6)
/* 803755CC 0037252C 93 A3 04 F4 */ stw r29, 0x4f4(r3)
/* 803755D0 00372530 9B A3 04 F2 */ stb r29, 0x4f2(r3)
/* 803755D4 00372534 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 803755D8 00372538 7C 04 00 16 */ mulhwu r0, r4, r0
/* 803755DC 0037253C 54 19 D9 7E */ srwi r25, r0, 5
/* 803755E0 00372540 48 00 5E 15 */ bl __GXFlushTextureState
/* 803755E4 00372544 57 20 AA FE */ srwi r0, r25, 0xb
/* 803755E8 00372548 64 00 69 00 */ oris r0, r0, 0x6900
/* 803755EC 0037254C 3B 80 00 61 */ li r28, 0x61
/* 803755F0 00372550 3F E0 CC 01 */ lis r31, 0xCC008000@ha
/* 803755F4 00372554 9B 9F 80 00 */ stb r28, 0xCC008000@l(r31)
/* 803755F8 00372558 60 00 04 00 */ ori r0, r0, 0x400
/* 803755FC 0037255C 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 80375600 00372560 48 00 5D F5 */ bl __GXFlushTextureState
/* 80375604 00372564 3C 60 3E 10 */ lis r3, 0x3E0F83E1@ha
/* 80375608 00372568 9B 9F 80 00 */ stb r28, 0xCC008000@l(r31)
/* 8037560C 0037256C 38 03 83 E1 */ addi r0, r3, 0x3E0F83E1@l
/* 80375610 00372570 7C 00 C8 16 */ mulhwu r0, r0, r25
/* 80375614 00372574 54 00 B2 BE */ srwi r0, r0, 0xa
/* 80375618 00372578 64 00 46 00 */ oris r0, r0, 0x4600
/* 8037561C 0037257C 60 00 02 00 */ ori r0, r0, 0x200
/* 80375620 00372580 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 80375624 00372584 7F A7 EB 78 */ mr r7, r29
/* 80375628 00372588 48 00 00 04 */ b lbl_8037562C
lbl_8037562C:
/* 8037562C 0037258C 38 00 00 02 */ li r0, 2
/* 80375630 00372590 7C 09 03 A6 */ mtctr r0
/* 80375634 00372594 38 A0 00 08 */ li r5, 8
/* 80375638 00372598 48 00 00 04 */ b lbl_8037563C
lbl_8037563C:
/* 8037563C 0037259C 48 00 00 04 */ b lbl_80375640
lbl_80375640:
/* 80375640 003725A0 80 C2 CE 08 */ lwz r6, lbl_805AEB28@sda21(r2)
/* 80375644 003725A4 39 07 00 1C */ addi r8, r7, 0x1c
/* 80375648 003725A8 39 27 00 3C */ addi r9, r7, 0x3c
/* 8037564C 003725AC 7D 06 42 14 */ add r8, r6, r8
/* 80375650 003725B0 80 08 00 00 */ lwz r0, 0(r8)
/* 80375654 003725B4 63 A4 00 80 */ ori r4, r29, 0x80
/* 80375658 003725B8 38 67 00 3C */ addi r3, r7, 0x3c
/* 8037565C 003725BC 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
/* 80375660 003725C0 64 00 40 00 */ oris r0, r0, 0x4000
/* 80375664 003725C4 90 08 00 00 */ stw r0, 0(r8)
/* 80375668 003725C8 7D 26 4A 14 */ add r9, r6, r9
/* 8037566C 003725CC 38 E7 00 04 */ addi r7, r7, 4
/* 80375670 003725D0 80 09 00 00 */ lwz r0, 0(r9)
/* 80375674 003725D4 39 07 00 1C */ addi r8, r7, 0x1c
/* 80375678 003725D8 7D 06 42 14 */ add r8, r6, r8
/* 8037567C 003725DC 54 00 00 7E */ clrlwi r0, r0, 1
/* 80375680 003725E0 64 00 80 00 */ oris r0, r0, 0x8000
/* 80375684 003725E4 90 09 00 00 */ stw r0, 0(r9)
/* 80375688 003725E8 39 27 00 3C */ addi r9, r7, 0x3c
/* 8037568C 003725EC 7D 26 4A 14 */ add r9, r6, r9
/* 80375690 003725F0 98 BF 80 00 */ stb r5, 0xCC008000@l(r31)
/* 80375694 003725F4 3B BD 00 01 */ addi r29, r29, 1
/* 80375698 003725F8 98 9F 80 00 */ stb r4, 0xCC008000@l(r31)
/* 8037569C 003725FC 63 A4 00 80 */ ori r4, r29, 0x80
/* 803756A0 00372600 3B BD 00 01 */ addi r29, r29, 1
/* 803756A4 00372604 7C 06 18 2E */ lwzx r0, r6, r3
/* 803756A8 00372608 38 67 00 3C */ addi r3, r7, 0x3c
/* 803756AC 0037260C 38 E7 00 04 */ addi r7, r7, 4
/* 803756B0 00372610 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 803756B4 00372614 80 08 00 00 */ lwz r0, 0(r8)
/* 803756B8 00372618 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
/* 803756BC 0037261C 64 00 40 00 */ oris r0, r0, 0x4000
/* 803756C0 00372620 90 08 00 00 */ stw r0, 0(r8)
/* 803756C4 00372624 39 07 00 1C */ addi r8, r7, 0x1c
/* 803756C8 00372628 7D 06 42 14 */ add r8, r6, r8
/* 803756CC 0037262C 80 09 00 00 */ lwz r0, 0(r9)
/* 803756D0 00372630 54 00 00 7E */ clrlwi r0, r0, 1
/* 803756D4 00372634 64 00 80 00 */ oris r0, r0, 0x8000
/* 803756D8 00372638 90 09 00 00 */ stw r0, 0(r9)
/* 803756DC 0037263C 39 27 00 3C */ addi r9, r7, 0x3c
/* 803756E0 00372640 7D 26 4A 14 */ add r9, r6, r9
/* 803756E4 00372644 98 BF 80 00 */ stb r5, 0xCC008000@l(r31)
/* 803756E8 00372648 98 9F 80 00 */ stb r4, 0xCC008000@l(r31)
/* 803756EC 0037264C 63 A4 00 80 */ ori r4, r29, 0x80
/* 803756F0 00372650 3B BD 00 01 */ addi r29, r29, 1
/* 803756F4 00372654 7C 06 18 2E */ lwzx r0, r6, r3
/* 803756F8 00372658 38 67 00 3C */ addi r3, r7, 0x3c
/* 803756FC 0037265C 38 E7 00 04 */ addi r7, r7, 4
/* 80375700 00372660 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 80375704 00372664 80 08 00 00 */ lwz r0, 0(r8)
/* 80375708 00372668 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
/* 8037570C 0037266C 64 00 40 00 */ oris r0, r0, 0x4000
/* 80375710 00372670 90 08 00 00 */ stw r0, 0(r8)
/* 80375714 00372674 39 07 00 1C */ addi r8, r7, 0x1c
/* 80375718 00372678 7D 06 42 14 */ add r8, r6, r8
/* 8037571C 0037267C 80 09 00 00 */ lwz r0, 0(r9)
/* 80375720 00372680 54 00 00 7E */ clrlwi r0, r0, 1
/* 80375724 00372684 64 00 80 00 */ oris r0, r0, 0x8000
/* 80375728 00372688 90 09 00 00 */ stw r0, 0(r9)
/* 8037572C 0037268C 39 27 00 3C */ addi r9, r7, 0x3c
/* 80375730 00372690 7D 26 4A 14 */ add r9, r6, r9
/* 80375734 00372694 98 BF 80 00 */ stb r5, 0xCC008000@l(r31)
/* 80375738 00372698 98 9F 80 00 */ stb r4, 0xCC008000@l(r31)
/* 8037573C 0037269C 63 A4 00 80 */ ori r4, r29, 0x80
/* 80375740 003726A0 3B BD 00 01 */ addi r29, r29, 1
/* 80375744 003726A4 7C 06 18 2E */ lwzx r0, r6, r3
/* 80375748 003726A8 38 67 00 3C */ addi r3, r7, 0x3c
/* 8037574C 003726AC 38 E7 00 04 */ addi r7, r7, 4
/* 80375750 003726B0 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 80375754 003726B4 80 08 00 00 */ lwz r0, 0(r8)
/* 80375758 003726B8 54 00 00 80 */ rlwinm r0, r0, 0, 2, 0
/* 8037575C 003726BC 64 00 40 00 */ oris r0, r0, 0x4000
/* 80375760 003726C0 90 08 00 00 */ stw r0, 0(r8)
/* 80375764 003726C4 80 09 00 00 */ lwz r0, 0(r9)
/* 80375768 003726C8 54 00 00 7E */ clrlwi r0, r0, 1
/* 8037576C 003726CC 64 00 80 00 */ oris r0, r0, 0x8000
/* 80375770 003726D0 90 09 00 00 */ stw r0, 0(r9)
/* 80375774 003726D4 98 BF 80 00 */ stb r5, 0xCC008000@l(r31)
/* 80375778 003726D8 98 9F 80 00 */ stb r4, 0xCC008000@l(r31)
/* 8037577C 003726DC 7C 06 18 2E */ lwzx r0, r6, r3
/* 80375780 003726E0 90 1F 80 00 */ stw r0, 0xCC008000@l(r31)
/* 80375784 003726E4 42 00 FE BC */ bdnz lbl_80375640
/* 80375788 003726E8 38 80 00 10 */ li r4, 0x10
/* 8037578C 003726EC 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 80375790 003726F0 98 86 80 00 */ stb r4, 0xCC008000@l(r6)
/* 80375794 003726F4 38 00 10 00 */ li r0, 0x1000
/* 80375798 003726F8 3B 80 00 00 */ li r28, 0
/* 8037579C 003726FC 90 06 80 00 */ stw r0, 0xCC008000@l(r6)
/* 803757A0 00372700 38 00 00 3F */ li r0, 0x3f
/* 803757A4 00372704 57 99 78 20 */ slwi r25, r28, 0xf
/* 803757A8 00372708 90 06 80 00 */ stw r0, 0xCC008000@l(r6)
/* 803757AC 0037270C 38 00 10 12 */ li r0, 0x1012
/* 803757B0 00372710 38 A0 00 01 */ li r5, 1
/* 803757B4 00372714 98 86 80 00 */ stb r4, 0xCC008000@l(r6)
/* 803757B8 00372718 38 80 00 61 */ li r4, 0x61
/* 803757BC 0037271C 3C 60 58 00 */ lis r3, 0x5800000F@ha
/* 803757C0 00372720 90 06 80 00 */ stw r0, 0xCC008000@l(r6)
/* 803757C4 00372724 38 03 00 0F */ addi r0, r3, 0x5800000F@l
/* 803757C8 00372728 3F 59 00 08 */ addis r26, r25, 8
/* 803757CC 0037272C 90 A6 80 00 */ stw r5, 0xCC008000@l(r6)
/* 803757D0 00372730 57 9B 20 36 */ slwi r27, r28, 4
/* 803757D4 00372734 98 86 80 00 */ stb r4, 0xCC008000@l(r6)
/* 803757D8 00372738 90 06 80 00 */ stw r0, 0xCC008000@l(r6)
/* 803757DC 0037273C 48 00 00 04 */ b lbl_803757E0
lbl_803757E0:
/* 803757E0 00372740 48 00 00 04 */ b lbl_803757E4
lbl_803757E4:
/* 803757E4 00372744 48 00 00 04 */ b lbl_803757E8
lbl_803757E8:
/* 803757E8 00372748 80 02 CE 08 */ lwz r0, lbl_805AEB28@sda21(r2)
/* 803757EC 0037274C 38 7B 02 08 */ addi r3, r27, 0x208
/* 803757F0 00372750 7F 25 CB 78 */ mr r5, r25
/* 803757F4 00372754 7F 47 D3 78 */ mr r7, r26
/* 803757F8 00372758 7C 60 1A 14 */ add r3, r0, r3
/* 803757FC 0037275C 38 80 00 00 */ li r4, 0
/* 80375800 00372760 38 C0 00 00 */ li r6, 0
/* 80375804 00372764 39 00 00 00 */ li r8, 0
/* 80375808 00372768 48 00 4D C5 */ bl GXInitTexCacheRegion
/* 8037580C 0037276C 3F 5A 00 01 */ addis r26, r26, 1
/* 80375810 00372770 3F 39 00 01 */ addis r25, r25, 1
/* 80375814 00372774 3B 5A 80 00 */ addi r26, r26, -32768
/* 80375818 00372778 3B 39 80 00 */ addi r25, r25, -32768
/* 8037581C 0037277C 3B 7B 00 10 */ addi r27, r27, 0x10
/* 80375820 00372780 3B 9C 00 01 */ addi r28, r28, 1
/* 80375824 00372784 28 1C 00 08 */ cmplwi r28, 8
/* 80375828 00372788 41 80 FF C0 */ blt lbl_803757E8
/* 8037582C 0037278C 3B 20 00 00 */ li r25, 0
/* 80375830 00372790 57 23 08 3C */ slwi r3, r25, 1
/* 80375834 00372794 3B 43 00 09 */ addi r26, r3, 9
/* 80375838 00372798 3B 63 00 08 */ addi r27, r3, 8
/* 8037583C 0037279C 57 3C 20 36 */ slwi r28, r25, 4
/* 80375840 003727A0 48 00 00 04 */ b lbl_80375844
lbl_80375844:
/* 80375844 003727A4 48 00 00 04 */ b lbl_80375848
lbl_80375848:
/* 80375848 003727A8 48 00 00 04 */ b lbl_8037584C
lbl_8037584C:
/* 8037584C 003727AC 80 02 CE 08 */ lwz r0, lbl_805AEB28@sda21(r2)
/* 80375850 003727B0 38 7C 02 88 */ addi r3, r28, 0x288
/* 80375854 003727B4 57 65 78 20 */ slwi r5, r27, 0xf
/* 80375858 003727B8 7C 60 1A 14 */ add r3, r0, r3
/* 8037585C 003727BC 57 47 78 20 */ slwi r7, r26, 0xf
/* 80375860 003727C0 38 80 00 00 */ li r4, 0
/* 80375864 003727C4 38 C0 00 00 */ li r6, 0
/* 80375868 003727C8 39 00 00 00 */ li r8, 0
/* 8037586C 003727CC 48 00 4D 61 */ bl GXInitTexCacheRegion
/* 80375870 003727D0 3B 5A 00 02 */ addi r26, r26, 2
/* 80375874 003727D4 3B 7B 00 02 */ addi r27, r27, 2
/* 80375878 003727D8 3B 9C 00 10 */ addi r28, r28, 0x10
/* 8037587C 003727DC 3B 39 00 01 */ addi r25, r25, 1
/* 80375880 003727E0 28 19 00 04 */ cmplwi r25, 4
/* 80375884 003727E4 41 80 FF C8 */ blt lbl_8037584C
/* 80375888 003727E8 3B 20 00 00 */ li r25, 0
/* 8037588C 003727EC 57 23 68 24 */ slwi r3, r25, 0xd
/* 80375890 003727F0 3F 43 00 0C */ addis r26, r3, 0xc
/* 80375894 003727F4 57 3B 20 36 */ slwi r27, r25, 4
/* 80375898 003727F8 48 00 00 04 */ b lbl_8037589C
lbl_8037589C:
/* 8037589C 003727FC 48 00 00 04 */ b lbl_803758A0
lbl_803758A0:
/* 803758A0 00372800 48 00 00 04 */ b lbl_803758A4
lbl_803758A4:
/* 803758A4 00372804 80 02 CE 08 */ lwz r0, lbl_805AEB28@sda21(r2)
/* 803758A8 00372808 38 7B 02 D0 */ addi r3, r27, 0x2d0
/* 803758AC 0037280C 7F 44 D3 78 */ mr r4, r26
/* 803758B0 00372810 7C 60 1A 14 */ add r3, r0, r3
/* 803758B4 00372814 38 A0 00 10 */ li r5, 0x10
/* 803758B8 00372818 48 00 4E 35 */ bl GXInitTlutRegion
/* 803758BC 0037281C 3B 5A 20 00 */ addi r26, r26, 0x2000
/* 803758C0 00372820 3B 7B 00 10 */ addi r27, r27, 0x10
/* 803758C4 00372824 3B 39 00 01 */ addi r25, r25, 1
/* 803758C8 00372828 28 19 00 10 */ cmplwi r25, 0x10
/* 803758CC 0037282C 41 80 FF D8 */ blt lbl_803758A4
/* 803758D0 00372830 3B 20 00 00 */ li r25, 0
/* 803758D4 00372834 57 23 78 20 */ slwi r3, r25, 0xf
/* 803758D8 00372838 3F 43 00 0E */ addis r26, r3, 0xe
/* 803758DC 0037283C 48 00 00 04 */ b lbl_803758E0
lbl_803758E0:
/* 803758E0 00372840 48 00 00 04 */ b lbl_803758E4
lbl_803758E4:
/* 803758E4 00372844 48 00 00 04 */ b lbl_803758E8
lbl_803758E8:
/* 803758E8 00372848 38 19 00 10 */ addi r0, r25, 0x10
/* 803758EC 0037284C 80 A2 CE 08 */ lwz r5, lbl_805AEB28@sda21(r2)
/* 803758F0 00372850 54 03 20 36 */ slwi r3, r0, 4
/* 803758F4 00372854 38 63 02 D0 */ addi r3, r3, 0x2d0
/* 803758F8 00372858 7F 44 D3 78 */ mr r4, r26
/* 803758FC 0037285C 7C 65 1A 14 */ add r3, r5, r3
/* 80375900 00372860 38 A0 00 40 */ li r5, 0x40
/* 80375904 00372864 48 00 4D E9 */ bl GXInitTlutRegion
/* 80375908 00372868 3F 5A 00 01 */ addis r26, r26, 1
/* 8037590C 0037286C 3B 5A 80 00 */ addi r26, r26, -32768
/* 80375910 00372870 3B 39 00 01 */ addi r25, r25, 1
/* 80375914 00372874 28 19 00 04 */ cmplwi r25, 4
/* 80375918 00372878 41 80 FF D0 */ blt lbl_803758E8
/* 8037591C 0037287C 80 8D AC 7C */ lwz r4, lbl_805A983C@sda21(r13)
/* 80375920 00372880 39 80 00 00 */ li r12, 0
/* 80375924 00372884 38 60 00 08 */ li r3, 8
/* 80375928 00372888 B1 84 00 06 */ sth r12, 6(r4)
/* 8037592C 0037288C 3D 40 CC 01 */ lis r10, 0xCC008000@ha
/* 80375930 00372890 39 20 00 20 */ li r9, 0x20
/* 80375934 00372894 81 62 CE 08 */ lwz r11, lbl_805AEB28@sda21(r2)
/* 80375938 00372898 39 00 00 10 */ li r8, 0x10
/* 8037593C 0037289C 38 E0 10 06 */ li r7, 0x1006
/* 80375940 003728A0 38 8B 04 EC */ addi r4, r11, 0x4ec
/* 80375944 003728A4 80 04 00 00 */ lwz r0, 0(r4)
/* 80375948 003728A8 38 C0 00 61 */ li r6, 0x61
/* 8037594C 003728AC 3C A0 23 00 */ lis r5, 0x2300
/* 80375950 003728B0 54 00 07 2E */ rlwinm r0, r0, 0, 0x1c, 0x17
/* 80375954 003728B4 90 04 00 00 */ stw r0, 0(r4)
/* 80375958 003728B8 3C 80 24 00 */ lis r4, 0x2400
/* 8037595C 003728BC 3C 00 67 00 */ lis r0, 0x6700
/* 80375960 003728C0 98 6A 80 00 */ stb r3, 0xCC008000@l(r10)
/* 80375964 003728C4 38 60 00 00 */ li r3, 0
/* 80375968 003728C8 99 2A 80 00 */ stb r9, 0xCC008000@l(r10)
/* 8037596C 003728CC 81 2B 04 EC */ lwz r9, 0x4ec(r11)
/* 80375970 003728D0 91 2A 80 00 */ stw r9, 0xCC008000@l(r10)
/* 80375974 003728D4 99 0A 80 00 */ stb r8, 0xCC008000@l(r10)
/* 80375978 003728D8 90 EA 80 00 */ stw r7, 0xCC008000@l(r10)
/* 8037597C 003728DC 91 8A 80 00 */ stw r12, 0xCC008000@l(r10)
/* 80375980 003728E0 98 CA 80 00 */ stb r6, 0xCC008000@l(r10)
/* 80375984 003728E4 90 AA 80 00 */ stw r5, 0xCC008000@l(r10)
/* 80375988 003728E8 98 CA 80 00 */ stb r6, 0xCC008000@l(r10)
/* 8037598C 003728EC 90 8A 80 00 */ stw r4, 0xCC008000@l(r10)
/* 80375990 003728F0 98 CA 80 00 */ stb r6, 0xCC008000@l(r10)
/* 80375994 003728F4 90 0A 80 00 */ stw r0, 0xCC008000@l(r10)
/* 80375998 003728F8 48 00 52 55 */ bl __GXSetTmemConfig
/* 8037599C 003728FC 48 00 00 1D */ bl __GXInitGX
/* 803759A0 00372900 38 7E 04 F8 */ addi r3, r30, 0x4f8
/* 803759A4 00372904 BB 21 00 34 */ lmw r25, 0x34(r1)
/* 803759A8 00372908 80 01 00 54 */ lwz r0, 0x54(r1)
/* 803759AC 0037290C 38 21 00 50 */ addi r1, r1, 0x50
/* 803759B0 00372910 7C 08 03 A6 */ mtlr r0
/* 803759B4 00372914 4E 80 00 20 */ blr
.global __GXInitGX
__GXInitGX:
/* 803759B8 00372918 7C 08 02 A6 */ mflr r0
/* 803759BC 0037291C 90 01 00 04 */ stw r0, 4(r1)
/* 803759C0 00372920 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 803759C4 00372924 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 803759C8 00372928 93 C1 00 78 */ stw r30, 0x78(r1)
/* 803759CC 0037292C 93 A1 00 74 */ stw r29, 0x74(r1)
/* 803759D0 00372930 80 82 CE 0C */ lwz r4, lbl_805AEB2C@sda21(r2)
/* 803759D4 00372934 80 62 CE 10 */ lwz r3, lbl_805AEB30@sda21(r2)
/* 803759D8 00372938 80 02 CE 14 */ lwz r0, lbl_805AEB34@sda21(r2)
/* 803759DC 0037293C 90 81 00 28 */ stw r4, 0x28(r1)
/* 803759E0 00372940 90 61 00 24 */ stw r3, 0x24(r1)
/* 803759E4 00372944 90 01 00 20 */ stw r0, 0x20(r1)
/* 803759E8 00372948 48 01 3A F1 */ bl VIGetTvFormat
/* 803759EC 0037294C 2C 03 00 02 */ cmpwi r3, 2
/* 803759F0 00372950 41 82 00 54 */ beq lbl_80375A44
/* 803759F4 00372954 40 80 00 14 */ bge lbl_80375A08
/* 803759F8 00372958 2C 03 00 00 */ cmpwi r3, 0
/* 803759FC 0037295C 41 82 00 18 */ beq lbl_80375A14
/* 80375A00 00372960 40 80 00 24 */ bge lbl_80375A24
/* 80375A04 00372964 48 00 00 50 */ b lbl_80375A54
lbl_80375A08:
/* 80375A08 00372968 2C 03 00 05 */ cmpwi r3, 5
/* 80375A0C 0037296C 41 82 00 28 */ beq lbl_80375A34
/* 80375A10 00372970 48 00 00 44 */ b lbl_80375A54
lbl_80375A14:
/* 80375A14 00372974 3C 60 80 3F */ lis r3, lbl_803F08E0@ha
/* 80375A18 00372978 38 03 08 E0 */ addi r0, r3, lbl_803F08E0@l
/* 80375A1C 0037297C 7C 1F 03 78 */ mr r31, r0
/* 80375A20 00372980 48 00 00 40 */ b lbl_80375A60
lbl_80375A24:
/* 80375A24 00372984 3C 60 80 3F */ lis r3, lbl_803F0958@ha
/* 80375A28 00372988 38 03 09 58 */ addi r0, r3, lbl_803F0958@l
/* 80375A2C 0037298C 7C 1F 03 78 */ mr r31, r0
/* 80375A30 00372990 48 00 00 30 */ b lbl_80375A60
lbl_80375A34:
/* 80375A34 00372994 3C 60 80 3F */ lis r3, lbl_803F0994@ha
/* 80375A38 00372998 38 03 09 94 */ addi r0, r3, lbl_803F0994@l
/* 80375A3C 0037299C 7C 1F 03 78 */ mr r31, r0
/* 80375A40 003729A0 48 00 00 20 */ b lbl_80375A60
lbl_80375A44:
/* 80375A44 003729A4 3C 60 80 3F */ lis r3, lbl_803F091C@ha
/* 80375A48 003729A8 38 03 09 1C */ addi r0, r3, lbl_803F091C@l
/* 80375A4C 003729AC 7C 1F 03 78 */ mr r31, r0
/* 80375A50 003729B0 48 00 00 10 */ b lbl_80375A60
lbl_80375A54:
/* 80375A54 003729B4 3C 60 80 3F */ lis r3, lbl_803F08E0@ha
/* 80375A58 003729B8 38 03 08 E0 */ addi r0, r3, lbl_803F08E0@l
/* 80375A5C 003729BC 7C 1F 03 78 */ mr r31, r0
lbl_80375A60:
/* 80375A60 003729C0 80 01 00 28 */ lwz r0, 0x28(r1)
/* 80375A64 003729C4 3C 80 01 00 */ lis r4, 0x00FFFFFF@ha
/* 80375A68 003729C8 38 61 00 1C */ addi r3, r1, 0x1c
/* 80375A6C 003729CC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80375A70 003729D0 38 84 FF FF */ addi r4, r4, 0x00FFFFFF@l
/* 80375A74 003729D4 48 00 36 B9 */ bl GXSetCopyClear
/* 80375A78 003729D8 38 60 00 00 */ li r3, 0
/* 80375A7C 003729DC 38 80 00 01 */ li r4, 1
/* 80375A80 003729E0 38 A0 00 04 */ li r5, 4
/* 80375A84 003729E4 38 C0 00 3C */ li r6, 0x3c
/* 80375A88 003729E8 38 E0 00 00 */ li r7, 0
/* 80375A8C 003729EC 39 00 00 7D */ li r8, 0x7d
/* 80375A90 003729F0 48 00 25 05 */ bl GXSetTexCoordGen2
/* 80375A94 003729F4 38 60 00 01 */ li r3, 1
/* 80375A98 003729F8 38 80 00 01 */ li r4, 1
/* 80375A9C 003729FC 38 A0 00 05 */ li r5, 5
/* 80375AA0 00372A00 38 C0 00 3C */ li r6, 0x3c
/* 80375AA4 00372A04 38 E0 00 00 */ li r7, 0
/* 80375AA8 00372A08 39 00 00 7D */ li r8, 0x7d
/* 80375AAC 00372A0C 48 00 24 E9 */ bl GXSetTexCoordGen2
/* 80375AB0 00372A10 38 60 00 02 */ li r3, 2
/* 80375AB4 00372A14 38 80 00 01 */ li r4, 1
/* 80375AB8 00372A18 38 A0 00 06 */ li r5, 6
/* 80375ABC 00372A1C 38 C0 00 3C */ li r6, 0x3c
/* 80375AC0 00372A20 38 E0 00 00 */ li r7, 0
/* 80375AC4 00372A24 39 00 00 7D */ li r8, 0x7d
/* 80375AC8 00372A28 48 00 24 CD */ bl GXSetTexCoordGen2
/* 80375ACC 00372A2C 38 60 00 03 */ li r3, 3
/* 80375AD0 00372A30 38 80 00 01 */ li r4, 1
/* 80375AD4 00372A34 38 A0 00 07 */ li r5, 7
/* 80375AD8 00372A38 38 C0 00 3C */ li r6, 0x3c
/* 80375ADC 00372A3C 38 E0 00 00 */ li r7, 0
/* 80375AE0 00372A40 39 00 00 7D */ li r8, 0x7d
/* 80375AE4 00372A44 48 00 24 B1 */ bl GXSetTexCoordGen2
/* 80375AE8 00372A48 38 60 00 04 */ li r3, 4
/* 80375AEC 00372A4C 38 80 00 01 */ li r4, 1
/* 80375AF0 00372A50 38 A0 00 08 */ li r5, 8
/* 80375AF4 00372A54 38 C0 00 3C */ li r6, 0x3c
/* 80375AF8 00372A58 38 E0 00 00 */ li r7, 0
/* 80375AFC 00372A5C 39 00 00 7D */ li r8, 0x7d
/* 80375B00 00372A60 48 00 24 95 */ bl GXSetTexCoordGen2
/* 80375B04 00372A64 38 60 00 05 */ li r3, 5
/* 80375B08 00372A68 38 80 00 01 */ li r4, 1
/* 80375B0C 00372A6C 38 A0 00 09 */ li r5, 9
/* 80375B10 00372A70 38 C0 00 3C */ li r6, 0x3c
/* 80375B14 00372A74 38 E0 00 00 */ li r7, 0
/* 80375B18 00372A78 39 00 00 7D */ li r8, 0x7d
/* 80375B1C 00372A7C 48 00 24 79 */ bl GXSetTexCoordGen2
/* 80375B20 00372A80 38 60 00 06 */ li r3, 6
/* 80375B24 00372A84 38 80 00 01 */ li r4, 1
/* 80375B28 00372A88 38 A0 00 0A */ li r5, 0xa
/* 80375B2C 00372A8C 38 C0 00 3C */ li r6, 0x3c
/* 80375B30 00372A90 38 E0 00 00 */ li r7, 0
/* 80375B34 00372A94 39 00 00 7D */ li r8, 0x7d
/* 80375B38 00372A98 48 00 24 5D */ bl GXSetTexCoordGen2
/* 80375B3C 00372A9C 38 60 00 07 */ li r3, 7
/* 80375B40 00372AA0 38 80 00 01 */ li r4, 1
/* 80375B44 00372AA4 38 A0 00 0B */ li r5, 0xb
/* 80375B48 00372AA8 38 C0 00 3C */ li r6, 0x3c
/* 80375B4C 00372AAC 38 E0 00 00 */ li r7, 0
/* 80375B50 00372AB0 39 00 00 7D */ li r8, 0x7d
/* 80375B54 00372AB4 48 00 24 41 */ bl GXSetTexCoordGen2
/* 80375B58 00372AB8 38 60 00 01 */ li r3, 1
/* 80375B5C 00372ABC 48 00 27 09 */ bl GXSetNumTexGens
/* 80375B60 00372AC0 48 00 1B F5 */ bl GXClearVtxDesc
/* 80375B64 00372AC4 48 00 24 21 */ bl GXInvalidateVtxCache
/* 80375B68 00372AC8 3B A0 00 09 */ li r29, 9
/* 80375B6C 00372ACC 48 00 00 04 */ b lbl_80375B70
lbl_80375B70:
/* 80375B70 00372AD0 48 00 00 04 */ b lbl_80375B74
lbl_80375B74:
/* 80375B74 00372AD4 48 00 00 04 */ b lbl_80375B78
lbl_80375B78:
/* 80375B78 00372AD8 80 82 CE 08 */ lwz r4, lbl_805AEB28@sda21(r2)
/* 80375B7C 00372ADC 7F A3 EB 78 */ mr r3, r29
/* 80375B80 00372AE0 38 A0 00 00 */ li r5, 0
/* 80375B84 00372AE4 48 00 23 75 */ bl GXSetArray
/* 80375B88 00372AE8 3B BD 00 01 */ addi r29, r29, 1
/* 80375B8C 00372AEC 28 1D 00 18 */ cmplwi r29, 0x18
/* 80375B90 00372AF0 40 81 FF E8 */ ble lbl_80375B78
/* 80375B94 00372AF4 3B A0 00 00 */ li r29, 0
/* 80375B98 00372AF8 48 00 00 04 */ b lbl_80375B9C
lbl_80375B9C:
/* 80375B9C 00372AFC 3C 60 80 3F */ lis r3, lbl_803F062C@ha
/* 80375BA0 00372B00 3B C3 06 2C */ addi r30, r3, lbl_803F062C@l
/* 80375BA4 00372B04 48 00 00 04 */ b lbl_80375BA8
lbl_80375BA8:
/* 80375BA8 00372B08 48 00 00 04 */ b lbl_80375BAC
lbl_80375BAC:
/* 80375BAC 00372B0C 7F A3 EB 78 */ mr r3, r29
/* 80375BB0 00372B10 7F C4 F3 78 */ mr r4, r30
/* 80375BB4 00372B14 48 00 1F 31 */ bl GXSetVtxAttrFmtv
/* 80375BB8 00372B18 3B BD 00 01 */ addi r29, r29, 1
/* 80375BBC 00372B1C 28 1D 00 08 */ cmplwi r29, 8
/* 80375BC0 00372B20 41 80 FF EC */ blt lbl_80375BAC
/* 80375BC4 00372B24 38 60 00 06 */ li r3, 6
/* 80375BC8 00372B28 38 80 00 00 */ li r4, 0
/* 80375BCC 00372B2C 48 00 2E A1 */ bl GXSetLineWidth
/* 80375BD0 00372B30 38 60 00 06 */ li r3, 6
/* 80375BD4 00372B34 38 80 00 00 */ li r4, 0
/* 80375BD8 00372B38 48 00 2E DD */ bl GXSetPointSize
/* 80375BDC 00372B3C 38 60 00 00 */ li r3, 0
/* 80375BE0 00372B40 38 80 00 00 */ li r4, 0
/* 80375BE4 00372B44 38 A0 00 00 */ li r5, 0
/* 80375BE8 00372B48 48 00 2F 15 */ bl GXEnableTexOffsets
/* 80375BEC 00372B4C 38 60 00 01 */ li r3, 1
/* 80375BF0 00372B50 38 80 00 00 */ li r4, 0
/* 80375BF4 00372B54 38 A0 00 00 */ li r5, 0
/* 80375BF8 00372B58 48 00 2F 05 */ bl GXEnableTexOffsets
/* 80375BFC 00372B5C 38 60 00 02 */ li r3, 2
/* 80375C00 00372B60 38 80 00 00 */ li r4, 0
/* 80375C04 00372B64 38 A0 00 00 */ li r5, 0
/* 80375C08 00372B68 48 00 2E F5 */ bl GXEnableTexOffsets
/* 80375C0C 00372B6C 38 60 00 03 */ li r3, 3
/* 80375C10 00372B70 38 80 00 00 */ li r4, 0
/* 80375C14 00372B74 38 A0 00 00 */ li r5, 0
/* 80375C18 00372B78 48 00 2E E5 */ bl GXEnableTexOffsets
/* 80375C1C 00372B7C 38 60 00 04 */ li r3, 4
/* 80375C20 00372B80 38 80 00 00 */ li r4, 0
/* 80375C24 00372B84 38 A0 00 00 */ li r5, 0
/* 80375C28 00372B88 48 00 2E D5 */ bl GXEnableTexOffsets
/* 80375C2C 00372B8C 38 60 00 05 */ li r3, 5
/* 80375C30 00372B90 38 80 00 00 */ li r4, 0
/* 80375C34 00372B94 38 A0 00 00 */ li r5, 0
/* 80375C38 00372B98 48 00 2E C5 */ bl GXEnableTexOffsets
/* 80375C3C 00372B9C 38 60 00 06 */ li r3, 6
/* 80375C40 00372BA0 38 80 00 00 */ li r4, 0
/* 80375C44 00372BA4 38 A0 00 00 */ li r5, 0
/* 80375C48 00372BA8 48 00 2E B5 */ bl GXEnableTexOffsets
/* 80375C4C 00372BAC 38 60 00 07 */ li r3, 7
/* 80375C50 00372BB0 38 80 00 00 */ li r4, 0
/* 80375C54 00372BB4 38 A0 00 00 */ li r5, 0
/* 80375C58 00372BB8 48 00 2E A5 */ bl GXEnableTexOffsets
/* 80375C5C 00372BBC C0 22 CE 18 */ lfs f1, lbl_805AEB38@sda21(r2)
/* 80375C60 00372BC0 38 61 00 2C */ addi r3, r1, 0x2c
/* 80375C64 00372BC4 C0 02 CE 1C */ lfs f0, lbl_805AEB3C@sda21(r2)
/* 80375C68 00372BC8 38 80 00 00 */ li r4, 0
/* 80375C6C 00372BCC D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80375C70 00372BD0 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80375C74 00372BD4 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80375C78 00372BD8 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 80375C7C 00372BDC D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80375C80 00372BE0 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 80375C84 00372BE4 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80375C88 00372BE8 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80375C8C 00372BEC D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80375C90 00372BF0 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 80375C94 00372BF4 D0 21 00 54 */ stfs f1, 0x54(r1)
/* 80375C98 00372BF8 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 80375C9C 00372BFC 48 00 67 1D */ bl GXLoadPosMtxImm
/* 80375CA0 00372C00 38 61 00 2C */ addi r3, r1, 0x2c
/* 80375CA4 00372C04 38 80 00 00 */ li r4, 0
/* 80375CA8 00372C08 48 00 67 61 */ bl GXLoadNrmMtxImm
/* 80375CAC 00372C0C 38 60 00 00 */ li r3, 0
/* 80375CB0 00372C10 48 00 67 A9 */ bl GXSetCurrentMtx
/* 80375CB4 00372C14 38 61 00 2C */ addi r3, r1, 0x2c
/* 80375CB8 00372C18 38 80 00 3C */ li r4, 0x3c
/* 80375CBC 00372C1C 38 A0 00 00 */ li r5, 0
/* 80375CC0 00372C20 48 00 67 D1 */ bl GXLoadTexMtxImm
/* 80375CC4 00372C24 38 61 00 2C */ addi r3, r1, 0x2c
/* 80375CC8 00372C28 38 80 00 7D */ li r4, 0x7d
/* 80375CCC 00372C2C 38 A0 00 00 */ li r5, 0
/* 80375CD0 00372C30 48 00 67 C1 */ bl GXLoadTexMtxImm
/* 80375CD4 00372C34 A0 9F 00 04 */ lhz r4, 4(r31)
/* 80375CD8 00372C38 3C 60 43 30 */ lis r3, 0x4330
/* 80375CDC 00372C3C A0 1F 00 08 */ lhz r0, 8(r31)
/* 80375CE0 00372C40 90 81 00 6C */ stw r4, 0x6c(r1)
/* 80375CE4 00372C44 C0 22 CE 1C */ lfs f1, lbl_805AEB3C@sda21(r2)
/* 80375CE8 00372C48 90 01 00 64 */ stw r0, 0x64(r1)
/* 80375CEC 00372C4C C8 82 CE 28 */ lfd f4, lbl_805AEB48@sda21(r2)
/* 80375CF0 00372C50 FC 40 08 90 */ fmr f2, f1
/* 80375CF4 00372C54 90 61 00 68 */ stw r3, 0x68(r1)
/* 80375CF8 00372C58 FC A0 08 90 */ fmr f5, f1
/* 80375CFC 00372C5C C0 C2 CE 18 */ lfs f6, lbl_805AEB38@sda21(r2)
/* 80375D00 00372C60 90 61 00 60 */ stw r3, 0x60(r1)
/* 80375D04 00372C64 C8 61 00 68 */ lfd f3, 0x68(r1)
/* 80375D08 00372C68 C8 01 00 60 */ lfd f0, 0x60(r1)
/* 80375D0C 00372C6C EC 63 20 28 */ fsubs f3, f3, f4
/* 80375D10 00372C70 EC 80 20 28 */ fsubs f4, f0, f4
/* 80375D14 00372C74 48 00 69 35 */ bl GXSetViewport
/* 80375D18 00372C78 3C 60 80 3F */ lis r3, lbl_803F06FC@ha
/* 80375D1C 00372C7C 38 63 06 FC */ addi r3, r3, lbl_803F06FC@l
/* 80375D20 00372C80 48 00 65 D9 */ bl GXSetProjectionv
/* 80375D24 00372C84 38 60 00 00 */ li r3, 0
/* 80375D28 00372C88 48 00 2E 7D */ bl GXSetCoPlanar
/* 80375D2C 00372C8C 38 60 00 02 */ li r3, 2
/* 80375D30 00372C90 48 00 2E 29 */ bl GXSetCullMode
/* 80375D34 00372C94 38 60 00 00 */ li r3, 0
/* 80375D38 00372C98 48 00 6A 05 */ bl GXSetClipMode
/* 80375D3C 00372C9C A0 BF 00 04 */ lhz r5, 4(r31)
/* 80375D40 00372CA0 38 60 00 00 */ li r3, 0
/* 80375D44 00372CA4 A0 DF 00 06 */ lhz r6, 6(r31)
/* 80375D48 00372CA8 38 80 00 00 */ li r4, 0
/* 80375D4C 00372CAC 48 00 69 21 */ bl GXSetScissor
/* 80375D50 00372CB0 38 60 00 00 */ li r3, 0
/* 80375D54 00372CB4 38 80 00 00 */ li r4, 0
/* 80375D58 00372CB8 48 00 69 A5 */ bl GXSetScissorBoxOffset
/* 80375D5C 00372CBC 38 60 00 00 */ li r3, 0
/* 80375D60 00372CC0 48 00 3D D1 */ bl GXSetNumChans
/* 80375D64 00372CC4 38 60 00 04 */ li r3, 4
/* 80375D68 00372CC8 38 80 00 00 */ li r4, 0
/* 80375D6C 00372CCC 38 A0 00 00 */ li r5, 0
/* 80375D70 00372CD0 38 C0 00 01 */ li r6, 1
/* 80375D74 00372CD4 38 E0 00 00 */ li r7, 0
/* 80375D78 00372CD8 39 00 00 00 */ li r8, 0
/* 80375D7C 00372CDC 39 20 00 02 */ li r9, 2
/* 80375D80 00372CE0 48 00 3D F5 */ bl GXSetChanCtrl
/* 80375D84 00372CE4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80375D88 00372CE8 38 81 00 18 */ addi r4, r1, 0x18
/* 80375D8C 00372CEC 38 60 00 04 */ li r3, 4
/* 80375D90 00372CF0 90 01 00 18 */ stw r0, 0x18(r1)
/* 80375D94 00372CF4 48 00 3B B5 */ bl GXSetChanAmbColor
/* 80375D98 00372CF8 80 01 00 20 */ lwz r0, 0x20(r1)
/* 80375D9C 00372CFC 38 81 00 14 */ addi r4, r1, 0x14
/* 80375DA0 00372D00 38 60 00 04 */ li r3, 4
/* 80375DA4 00372D04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80375DA8 00372D08 48 00 3C 95 */ bl GXSetChanMatColor
/* 80375DAC 00372D0C 38 60 00 05 */ li r3, 5
/* 80375DB0 00372D10 38 80 00 00 */ li r4, 0
/* 80375DB4 00372D14 38 A0 00 00 */ li r5, 0
/* 80375DB8 00372D18 38 C0 00 01 */ li r6, 1
/* 80375DBC 00372D1C 38 E0 00 00 */ li r7, 0
/* 80375DC0 00372D20 39 00 00 00 */ li r8, 0
/* 80375DC4 00372D24 39 20 00 02 */ li r9, 2
/* 80375DC8 00372D28 48 00 3D AD */ bl GXSetChanCtrl
/* 80375DCC 00372D2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80375DD0 00372D30 38 81 00 10 */ addi r4, r1, 0x10
/* 80375DD4 00372D34 38 60 00 05 */ li r3, 5
/* 80375DD8 00372D38 90 01 00 10 */ stw r0, 0x10(r1)
/* 80375DDC 00372D3C 48 00 3B 6D */ bl GXSetChanAmbColor
/* 80375DE0 00372D40 80 01 00 20 */ lwz r0, 0x20(r1)
/* 80375DE4 00372D44 38 81 00 0C */ addi r4, r1, 0xc
/* 80375DE8 00372D48 38 60 00 05 */ li r3, 5
/* 80375DEC 00372D4C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80375DF0 00372D50 48 00 3C 4D */ bl GXSetChanMatColor
/* 80375DF4 00372D54 48 00 4A 4D */ bl GXInvalidateTexAll
/* 80375DF8 00372D58 80 82 CE 08 */ lwz r4, lbl_805AEB28@sda21(r2)
/* 80375DFC 00372D5C 3B C0 00 00 */ li r30, 0
/* 80375E00 00372D60 3C 60 80 37 */ lis r3, __GXDefaultTexRegionCallback@ha
/* 80375E04 00372D64 93 C4 02 C8 */ stw r30, 0x2c8(r4)
/* 80375E08 00372D68 38 63 50 AC */ addi r3, r3, __GXDefaultTexRegionCallback@l
/* 80375E0C 00372D6C 93 C4 02 CC */ stw r30, 0x2cc(r4)
/* 80375E10 00372D70 48 00 4A 79 */ bl GXSetTexRegionCallback
/* 80375E14 00372D74 3C 60 80 37 */ lis r3, __GXDefaultTlutRegionCallback@ha
/* 80375E18 00372D78 38 63 51 28 */ addi r3, r3, __GXDefaultTlutRegionCallback@l
/* 80375E1C 00372D7C 48 00 4A 81 */ bl GXSetTlutRegionCallback
/* 80375E20 00372D80 38 60 00 00 */ li r3, 0
/* 80375E24 00372D84 38 80 00 00 */ li r4, 0
/* 80375E28 00372D88 38 A0 00 00 */ li r5, 0
/* 80375E2C 00372D8C 38 C0 00 04 */ li r6, 4
/* 80375E30 00372D90 48 00 5B C5 */ bl GXSetTevOrder
/* 80375E34 00372D94 38 60 00 01 */ li r3, 1
/* 80375E38 00372D98 38 80 00 01 */ li r4, 1
/* 80375E3C 00372D9C 38 A0 00 01 */ li r5, 1
/* 80375E40 00372DA0 38 C0 00 04 */ li r6, 4
/* 80375E44 00372DA4 48 00 5B B1 */ bl GXSetTevOrder
/* 80375E48 00372DA8 38 60 00 02 */ li r3, 2
/* 80375E4C 00372DAC 38 80 00 02 */ li r4, 2
/* 80375E50 00372DB0 38 A0 00 02 */ li r5, 2
/* 80375E54 00372DB4 38 C0 00 04 */ li r6, 4
/* 80375E58 00372DB8 48 00 5B 9D */ bl GXSetTevOrder
/* 80375E5C 00372DBC 38 60 00 03 */ li r3, 3
/* 80375E60 00372DC0 38 80 00 03 */ li r4, 3
/* 80375E64 00372DC4 38 A0 00 03 */ li r5, 3
/* 80375E68 00372DC8 38 C0 00 04 */ li r6, 4
/* 80375E6C 00372DCC 48 00 5B 89 */ bl GXSetTevOrder
/* 80375E70 00372DD0 38 60 00 04 */ li r3, 4
/* 80375E74 00372DD4 38 80 00 04 */ li r4, 4
/* 80375E78 00372DD8 38 A0 00 04 */ li r5, 4
/* 80375E7C 00372DDC 38 C0 00 04 */ li r6, 4
/* 80375E80 00372DE0 48 00 5B 75 */ bl GXSetTevOrder
/* 80375E84 00372DE4 38 60 00 05 */ li r3, 5
/* 80375E88 00372DE8 38 80 00 05 */ li r4, 5
/* 80375E8C 00372DEC 38 A0 00 05 */ li r5, 5
/* 80375E90 00372DF0 38 C0 00 04 */ li r6, 4
/* 80375E94 00372DF4 48 00 5B 61 */ bl GXSetTevOrder
/* 80375E98 00372DF8 38 60 00 06 */ li r3, 6
/* 80375E9C 00372DFC 38 80 00 06 */ li r4, 6
/* 80375EA0 00372E00 38 A0 00 06 */ li r5, 6
/* 80375EA4 00372E04 38 C0 00 04 */ li r6, 4
/* 80375EA8 00372E08 48 00 5B 4D */ bl GXSetTevOrder
/* 80375EAC 00372E0C 38 60 00 07 */ li r3, 7
/* 80375EB0 00372E10 38 80 00 07 */ li r4, 7
/* 80375EB4 00372E14 38 A0 00 07 */ li r5, 7
/* 80375EB8 00372E18 38 C0 00 04 */ li r6, 4
/* 80375EBC 00372E1C 48 00 5B 39 */ bl GXSetTevOrder
/* 80375EC0 00372E20 38 60 00 08 */ li r3, 8
/* 80375EC4 00372E24 38 80 00 FF */ li r4, 0xff
/* 80375EC8 00372E28 38 A0 00 FF */ li r5, 0xff
/* 80375ECC 00372E2C 38 C0 00 FF */ li r6, 0xff
/* 80375ED0 00372E30 48 00 5B 25 */ bl GXSetTevOrder
/* 80375ED4 00372E34 38 60 00 09 */ li r3, 9
/* 80375ED8 00372E38 38 80 00 FF */ li r4, 0xff
/* 80375EDC 00372E3C 38 A0 00 FF */ li r5, 0xff
/* 80375EE0 00372E40 38 C0 00 FF */ li r6, 0xff
/* 80375EE4 00372E44 48 00 5B 11 */ bl GXSetTevOrder
/* 80375EE8 00372E48 38 60 00 0A */ li r3, 0xa
/* 80375EEC 00372E4C 38 80 00 FF */ li r4, 0xff
/* 80375EF0 00372E50 38 A0 00 FF */ li r5, 0xff
/* 80375EF4 00372E54 38 C0 00 FF */ li r6, 0xff
/* 80375EF8 00372E58 48 00 5A FD */ bl GXSetTevOrder
/* 80375EFC 00372E5C 38 60 00 0B */ li r3, 0xb
/* 80375F00 00372E60 38 80 00 FF */ li r4, 0xff
/* 80375F04 00372E64 38 A0 00 FF */ li r5, 0xff
/* 80375F08 00372E68 38 C0 00 FF */ li r6, 0xff
/* 80375F0C 00372E6C 48 00 5A E9 */ bl GXSetTevOrder
/* 80375F10 00372E70 38 60 00 0C */ li r3, 0xc
/* 80375F14 00372E74 38 80 00 FF */ li r4, 0xff
/* 80375F18 00372E78 38 A0 00 FF */ li r5, 0xff
/* 80375F1C 00372E7C 38 C0 00 FF */ li r6, 0xff
/* 80375F20 00372E80 48 00 5A D5 */ bl GXSetTevOrder
/* 80375F24 00372E84 38 60 00 0D */ li r3, 0xd
/* 80375F28 00372E88 38 80 00 FF */ li r4, 0xff
/* 80375F2C 00372E8C 38 A0 00 FF */ li r5, 0xff
/* 80375F30 00372E90 38 C0 00 FF */ li r6, 0xff
/* 80375F34 00372E94 48 00 5A C1 */ bl GXSetTevOrder
/* 80375F38 00372E98 38 60 00 0E */ li r3, 0xe
/* 80375F3C 00372E9C 38 80 00 FF */ li r4, 0xff
/* 80375F40 00372EA0 38 A0 00 FF */ li r5, 0xff
/* 80375F44 00372EA4 38 C0 00 FF */ li r6, 0xff
/* 80375F48 00372EA8 48 00 5A AD */ bl GXSetTevOrder
/* 80375F4C 00372EAC 38 60 00 0F */ li r3, 0xf
/* 80375F50 00372EB0 38 80 00 FF */ li r4, 0xff
/* 80375F54 00372EB4 38 A0 00 FF */ li r5, 0xff
/* 80375F58 00372EB8 38 C0 00 FF */ li r6, 0xff
/* 80375F5C 00372EBC 48 00 5A 99 */ bl GXSetTevOrder
/* 80375F60 00372EC0 38 60 00 01 */ li r3, 1
/* 80375F64 00372EC4 48 00 5C 69 */ bl GXSetNumTevStages
/* 80375F68 00372EC8 38 60 00 00 */ li r3, 0
/* 80375F6C 00372ECC 38 80 00 03 */ li r4, 3
/* 80375F70 00372ED0 48 00 54 A9 */ bl GXSetTevOp
/* 80375F74 00372ED4 38 60 00 07 */ li r3, 7
/* 80375F78 00372ED8 38 80 00 00 */ li r4, 0
/* 80375F7C 00372EDC 38 A0 00 00 */ li r5, 0
/* 80375F80 00372EE0 38 C0 00 07 */ li r6, 7
/* 80375F84 00372EE4 38 E0 00 00 */ li r7, 0
/* 80375F88 00372EE8 48 00 59 95 */ bl GXSetAlphaCompare
/* 80375F8C 00372EEC 38 60 00 00 */ li r3, 0
/* 80375F90 00372EF0 38 80 00 11 */ li r4, 0x11
/* 80375F94 00372EF4 38 A0 00 00 */ li r5, 0
/* 80375F98 00372EF8 48 00 59 D9 */ bl GXSetZTexture
/* 80375F9C 00372EFC 48 00 00 04 */ b lbl_80375FA0
lbl_80375FA0:
/* 80375FA0 00372F00 48 00 00 04 */ b lbl_80375FA4
lbl_80375FA4:
/* 80375FA4 00372F04 48 00 00 04 */ b lbl_80375FA8
lbl_80375FA8:
/* 80375FA8 00372F08 7F C3 F3 78 */ mr r3, r30
/* 80375FAC 00372F0C 38 80 00 06 */ li r4, 6
/* 80375FB0 00372F10 48 00 57 A9 */ bl GXSetTevKColorSel
/* 80375FB4 00372F14 7F C3 F3 78 */ mr r3, r30
/* 80375FB8 00372F18 38 80 00 00 */ li r4, 0
/* 80375FBC 00372F1C 48 00 58 09 */ bl GXSetTevKAlphaSel
/* 80375FC0 00372F20 7F C3 F3 78 */ mr r3, r30
/* 80375FC4 00372F24 38 80 00 00 */ li r4, 0
/* 80375FC8 00372F28 38 A0 00 00 */ li r5, 0
/* 80375FCC 00372F2C 48 00 58 65 */ bl GXSetTevSwapMode
/* 80375FD0 00372F30 3B DE 00 01 */ addi r30, r30, 1
/* 80375FD4 00372F34 28 1E 00 10 */ cmplwi r30, 0x10
/* 80375FD8 00372F38 41 80 FF D0 */ blt lbl_80375FA8
/* 80375FDC 00372F3C 38 60 00 00 */ li r3, 0
/* 80375FE0 00372F40 38 80 00 00 */ li r4, 0
/* 80375FE4 00372F44 38 A0 00 01 */ li r5, 1
/* 80375FE8 00372F48 38 C0 00 02 */ li r6, 2
/* 80375FEC 00372F4C 38 E0 00 03 */ li r7, 3
/* 80375FF0 00372F50 48 00 58 95 */ bl GXSetTevSwapModeTable
/* 80375FF4 00372F54 38 60 00 01 */ li r3, 1
/* 80375FF8 00372F58 38 80 00 00 */ li r4, 0
/* 80375FFC 00372F5C 38 A0 00 00 */ li r5, 0
/* 80376000 00372F60 38 C0 00 00 */ li r6, 0
/* 80376004 00372F64 38 E0 00 03 */ li r7, 3
/* 80376008 00372F68 48 00 58 7D */ bl GXSetTevSwapModeTable
/* 8037600C 00372F6C 38 60 00 02 */ li r3, 2
/* 80376010 00372F70 38 80 00 01 */ li r4, 1
/* 80376014 00372F74 38 A0 00 01 */ li r5, 1
/* 80376018 00372F78 38 C0 00 01 */ li r6, 1
/* 8037601C 00372F7C 38 E0 00 03 */ li r7, 3
/* 80376020 00372F80 48 00 58 65 */ bl GXSetTevSwapModeTable
/* 80376024 00372F84 38 60 00 03 */ li r3, 3
/* 80376028 00372F88 38 80 00 02 */ li r4, 2
/* 8037602C 00372F8C 38 A0 00 02 */ li r5, 2
/* 80376030 00372F90 38 C0 00 02 */ li r6, 2
/* 80376034 00372F94 38 E0 00 03 */ li r7, 3
/* 80376038 00372F98 48 00 58 4D */ bl GXSetTevSwapModeTable
/* 8037603C 00372F9C 3B C0 00 00 */ li r30, 0
/* 80376040 00372FA0 48 00 00 04 */ b lbl_80376044
lbl_80376044:
/* 80376044 00372FA4 48 00 00 04 */ b lbl_80376048
lbl_80376048:
/* 80376048 00372FA8 48 00 00 04 */ b lbl_8037604C
lbl_8037604C:
/* 8037604C 00372FAC 7F C3 F3 78 */ mr r3, r30
/* 80376050 00372FB0 48 00 52 91 */ bl GXSetTevDirect
/* 80376054 00372FB4 3B DE 00 01 */ addi r30, r30, 1
/* 80376058 00372FB8 28 1E 00 10 */ cmplwi r30, 0x10
/* 8037605C 00372FBC 41 80 FF F0 */ blt lbl_8037604C
/* 80376060 00372FC0 38 60 00 00 */ li r3, 0
/* 80376064 00372FC4 48 00 52 55 */ bl GXSetNumIndStages
/* 80376068 00372FC8 38 60 00 00 */ li r3, 0
/* 8037606C 00372FCC 38 80 00 00 */ li r4, 0
/* 80376070 00372FD0 38 A0 00 00 */ li r5, 0
/* 80376074 00372FD4 48 00 4F B5 */ bl GXSetIndTexCoordScale
/* 80376078 00372FD8 38 60 00 01 */ li r3, 1
/* 8037607C 00372FDC 38 80 00 00 */ li r4, 0
/* 80376080 00372FE0 38 A0 00 00 */ li r5, 0
/* 80376084 00372FE4 48 00 4F A5 */ bl GXSetIndTexCoordScale
/* 80376088 00372FE8 38 60 00 02 */ li r3, 2
/* 8037608C 00372FEC 38 80 00 00 */ li r4, 0
/* 80376090 00372FF0 38 A0 00 00 */ li r5, 0
/* 80376094 00372FF4 48 00 4F 95 */ bl GXSetIndTexCoordScale
/* 80376098 00372FF8 38 60 00 03 */ li r3, 3
/* 8037609C 00372FFC 38 80 00 00 */ li r4, 0
/* 803760A0 00373000 38 A0 00 00 */ li r5, 0
/* 803760A4 00373004 48 00 4F 85 */ bl GXSetIndTexCoordScale
/* 803760A8 00373008 C0 42 CE 18 */ lfs f2, lbl_805AEB38@sda21(r2)
/* 803760AC 0037300C 38 81 00 08 */ addi r4, r1, 8
/* 803760B0 00373010 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803760B4 00373014 38 60 00 00 */ li r3, 0
/* 803760B8 00373018 FC 80 10 90 */ fmr f4, f2
/* 803760BC 0037301C 90 01 00 08 */ stw r0, 8(r1)
/* 803760C0 00373020 C0 22 CE 1C */ lfs f1, lbl_805AEB3C@sda21(r2)
/* 803760C4 00373024 C0 62 CE 20 */ lfs f3, lbl_805AEB40@sda21(r2)
/* 803760C8 00373028 48 00 5B 35 */ bl GXSetFog
/* 803760CC 0037302C 38 60 00 00 */ li r3, 0
/* 803760D0 00373030 38 80 00 00 */ li r4, 0
/* 803760D4 00373034 38 A0 00 00 */ li r5, 0
/* 803760D8 00373038 48 00 5C D5 */ bl GXSetFogRangeAdj
/* 803760DC 0037303C 38 60 00 00 */ li r3, 0
/* 803760E0 00373040 38 80 00 04 */ li r4, 4
/* 803760E4 00373044 38 A0 00 05 */ li r5, 5
/* 803760E8 00373048 38 C0 00 00 */ li r6, 0
/* 803760EC 0037304C 48 00 5D C1 */ bl GXSetBlendMode
/* 803760F0 00373050 38 60 00 01 */ li r3, 1
/* 803760F4 00373054 48 00 5E 0D */ bl GXSetColorUpdate
/* 803760F8 00373058 38 60 00 01 */ li r3, 1
/* 803760FC 0037305C 48 00 5E 31 */ bl GXSetAlphaUpdate
/* 80376100 00373060 38 60 00 01 */ li r3, 1
/* 80376104 00373064 38 80 00 03 */ li r4, 3
/* 80376108 00373068 38 A0 00 01 */ li r5, 1
/* 8037610C 0037306C 48 00 5E 4D */ bl GXSetZMode
/* 80376110 00373070 38 60 00 01 */ li r3, 1
/* 80376114 00373074 48 00 5E 79 */ bl GXSetZCompLoc
/* 80376118 00373078 38 60 00 01 */ li r3, 1
/* 8037611C 0037307C 48 00 5F 91 */ bl GXSetDither
/* 80376120 00373080 38 60 00 00 */ li r3, 0
/* 80376124 00373084 38 80 00 00 */ li r4, 0
/* 80376128 00373088 48 00 5F B9 */ bl GXSetDstAlpha
/* 8037612C 0037308C 38 60 00 00 */ li r3, 0
/* 80376130 00373090 38 80 00 00 */ li r4, 0
/* 80376134 00373094 48 00 5E 91 */ bl GXSetPixelFmt
/* 80376138 00373098 38 60 00 01 */ li r3, 1
/* 8037613C 0037309C 38 80 00 01 */ li r4, 1
/* 80376140 003730A0 48 00 5F DD */ bl GXSetFieldMask
/* 80376144 003730A4 A0 1F 00 08 */ lhz r0, 8(r31)
/* 80376148 003730A8 A0 7F 00 10 */ lhz r3, 0x10(r31)
/* 8037614C 003730AC 54 00 08 3C */ slwi r0, r0, 1
/* 80376150 003730B0 7C 03 00 00 */ cmpw r3, r0
/* 80376154 003730B4 40 82 00 0C */ bne lbl_80376160
/* 80376158 003730B8 38 80 00 01 */ li r4, 1
/* 8037615C 003730BC 48 00 00 08 */ b lbl_80376164
lbl_80376160:
/* 80376160 003730C0 38 80 00 00 */ li r4, 0
lbl_80376164:
/* 80376164 003730C4 88 7F 00 18 */ lbz r3, 0x18(r31)
/* 80376168 003730C8 48 00 5F ED */ bl GXSetFieldMode
/* 8037616C 003730CC A0 BF 00 04 */ lhz r5, 4(r31)
/* 80376170 003730D0 38 60 00 00 */ li r3, 0
/* 80376174 003730D4 A0 DF 00 06 */ lhz r6, 6(r31)
/* 80376178 003730D8 38 80 00 00 */ li r4, 0
/* 8037617C 003730DC 48 00 2B A9 */ bl GXSetDispCopySrc
/* 80376180 003730E0 A0 7F 00 04 */ lhz r3, 4(r31)
/* 80376184 003730E4 A0 9F 00 06 */ lhz r4, 6(r31)
/* 80376188 003730E8 48 00 2C BD */ bl GXSetDispCopyDst
/* 8037618C 003730EC A0 9F 00 08 */ lhz r4, 8(r31)
/* 80376190 003730F0 3C 60 43 30 */ lis r3, 0x4330
/* 80376194 003730F4 A0 1F 00 06 */ lhz r0, 6(r31)
/* 80376198 003730F8 90 81 00 64 */ stw r4, 0x64(r1)
/* 8037619C 003730FC C8 42 CE 28 */ lfd f2, lbl_805AEB48@sda21(r2)
/* 803761A0 00373100 90 01 00 6C */ stw r0, 0x6c(r1)
/* 803761A4 00373104 90 61 00 60 */ stw r3, 0x60(r1)
/* 803761A8 00373108 90 61 00 68 */ stw r3, 0x68(r1)
/* 803761AC 0037310C C8 21 00 60 */ lfd f1, 0x60(r1)
/* 803761B0 00373110 C8 01 00 68 */ lfd f0, 0x68(r1)
/* 803761B4 00373114 EC 21 10 28 */ fsubs f1, f1, f2
/* 803761B8 00373118 EC 00 10 28 */ fsubs f0, f0, f2
/* 803761BC 0037311C EC 21 00 24 */ fdivs f1, f1, f0
/* 803761C0 00373120 48 00 2E A5 */ bl GXSetDispCopyYScale
/* 803761C4 00373124 38 60 00 03 */ li r3, 3
/* 803761C8 00373128 48 00 2E 35 */ bl GXSetCopyClamp
/* 803761CC 0037312C 88 7F 00 19 */ lbz r3, 0x19(r31)
/* 803761D0 00373130 38 9F 00 1A */ addi r4, r31, 0x1a
/* 803761D4 00373134 38 DF 00 32 */ addi r6, r31, 0x32
/* 803761D8 00373138 38 A0 00 01 */ li r5, 1
/* 803761DC 0037313C 48 00 2F B9 */ bl GXSetCopyFilter
/* 803761E0 00373140 38 60 00 00 */ li r3, 0
/* 803761E4 00373144 48 00 31 D9 */ bl GXSetDispCopyGamma
/* 803761E8 00373148 38 60 00 00 */ li r3, 0
/* 803761EC 0037314C 48 00 2D E9 */ bl GXSetDispCopyFrame2Field
/* 803761F0 00373150 48 00 34 C1 */ bl GXClearBoundingBox
/* 803761F4 00373154 38 60 00 01 */ li r3, 1
/* 803761F8 00373158 48 00 24 5D */ bl GXPokeColorUpdate
/* 803761FC 0037315C 38 60 00 01 */ li r3, 1
/* 80376200 00373160 48 00 23 B1 */ bl GXPokeAlphaUpdate
/* 80376204 00373164 38 60 00 00 */ li r3, 0
/* 80376208 00373168 48 00 24 7D */ bl GXPokeDither
/* 8037620C 0037316C 38 60 00 00 */ li r3, 0
/* 80376210 00373170 38 80 00 00 */ li r4, 0
/* 80376214 00373174 38 A0 00 01 */ li r5, 1
/* 80376218 00373178 38 C0 00 0F */ li r6, 0xf
/* 8037621C 0037317C 48 00 23 B1 */ bl GXPokeBlendMode
/* 80376220 00373180 38 60 00 07 */ li r3, 7
/* 80376224 00373184 38 80 00 00 */ li r4, 0
/* 80376228 00373188 48 00 23 61 */ bl GXPokeAlphaMode
/* 8037622C 0037318C 38 60 00 01 */ li r3, 1
/* 80376230 00373190 48 00 23 6D */ bl GXPokeAlphaRead
/* 80376234 00373194 38 60 00 00 */ li r3, 0
/* 80376238 00373198 38 80 00 00 */ li r4, 0
/* 8037623C 0037319C 48 00 24 35 */ bl GXPokeDstAlpha
/* 80376240 003731A0 38 60 00 01 */ li r3, 1
/* 80376244 003731A4 38 80 00 07 */ li r4, 7
/* 80376248 003731A8 38 A0 00 01 */ li r5, 1
/* 8037624C 003731AC 48 00 24 55 */ bl GXPokeZMode
/* 80376250 003731B0 38 60 00 23 */ li r3, 0x23
/* 80376254 003731B4 38 80 00 16 */ li r4, 0x16
/* 80376258 003731B8 48 00 65 91 */ bl GXSetGPMetric
/* 8037625C 003731BC 48 00 6D D5 */ bl GXClearGPMetric
/* 80376260 003731C0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80376264 003731C4 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 80376268 003731C8 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 8037626C 003731CC 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 80376270 003731D0 38 21 00 80 */ addi r1, r1, 0x80
/* 80376274 003731D4 7C 08 03 A6 */ mtlr r0
/* 80376278 003731D8 4E 80 00 20 */ blr