.include "macros.inc"
.section .text
.global func_8036e6b4
.type func_8036e6b4, @function
func_8036e6b4:
mflr r0
stw r0, 4(r1)
stwu r1, -0x78(r1)
bne- cr1, lbl_8036e6e4
stfd f1, 0x28(r1)
stfd f2, 0x30(r1)
stfd f3, 0x38(r1)
stfd f4, 0x40(r1)
stfd f5, 0x48(r1)
stfd f6, 0x50(r1)
stfd f7, 0x58(r1)
stfd f8, 0x60(r1)
lbl_8036e6e4:
stw r3, 8(r1)
lis r0, 0x100
stw r4, 0xc(r1)
addi r4, r1, 0x6c
stw r5, 0x10(r1)
stw r6, 0x14(r1)
stw r7, 0x18(r1)
stw r8, 0x1c(r1)
stw r9, 0x20(r1)
stw r10, 0x24(r1)
stw r0, 0x6c(r1)
addi r0, r1, 0x80
stw r0, 0x70(r1)
addi r0, r1, 0x8
stw r0, 0x74(r1)
bl func_80397324
lwz r0, 0x7c(r1)
addi r1, r1, 0x78
mtlr r0
blr
.size func_8036e6b4, . - func_8036e6b4
.global func_8036e734
.type func_8036e734, @function
func_8036e734:
mflr r0
stw r0, 4(r1)
stwu r1, -0x90(r1)
stw r31, 0x8c(r1)
stw r30, 0x88(r1)
stw r29, 0x84(r1)
stw r28, 0x80(r1)
bne- cr1, lbl_8036e774
stfd f1, 0x28(r1)
stfd f2, 0x30(r1)
stfd f3, 0x38(r1)
stfd f4, 0x40(r1)
stfd f5, 0x48(r1)
stfd f6, 0x50(r1)
stfd f7, 0x58(r1)
stfd f8, 0x60(r1)
lbl_8036e774:
stw r3, 8(r1)
addi r28, r3, 0x0
addi r30, r4, 0x0
stw r4, 0xc(r1)
addi r29, r5, 0x0
stw r5, 0x10(r1)
stw r6, 0x14(r1)
lis r6, lbl_804ef1f8@ha
addi r31, r6, lbl_804ef1f8@l
stw r7, 0x18(r1)
stw r8, 0x1c(r1)
stw r9, 0x20(r1)
stw r10, 0x24(r1)
bl func_8036ead4
lis r0, 0x300
stw r0, 0x74(r1)
addi r0, r1, 0x98
addi r4, r1, 0x74
stw r0, 0x78(r1)
addi r0, r1, 0x8
addi r3, r29, 0x0
stw r0, 0x7c(r1)
bl func_80397324
addi r3, r31, 0x0
crclr 6
addi r4, r28, 0x0
addi r5, r30, 0x0
bl func_8036e6b4
addi r3, r31, 0x18
crclr 6
bl func_8036e6b4
li r30, 0x0
bl func_8036e258
mr r29, r3
b lbl_8036e81c
lbl_8036e800:
lwz r5, 0(r29)
mr r4, r29
lwz r6, 4(r29)
addi r3, r31, 0x40
crclr 6
bl func_8036e6b4
lwz r29, 0(r29)
lbl_8036e81c:
cmplwi r29, 0
beq- lbl_8036e83c
addis r0, r29, 1
cmplwi r0, 0xffff
beq- lbl_8036e83c
cmplwi r30, 0x10
addi r30, r30, 0x1
blt+ lbl_8036e800
lbl_8036e83c:
bl func_8036c1b8
lwz r0, 0x94(r1)
lwz r31, 0x8c(r1)
lwz r30, 0x88(r1)
lwz r29, 0x84(r1)
lwz r28, 0x80(r1)
addi r1, r1, 0x90
mtlr r0
blr
.size func_8036e734, . - func_8036e734
.global func_8036e860
.type func_8036e860, @function
func_8036e860:
lis r5, lbl_8053ec30@ha
rlwinm r3, r3, 2, 0xe, 0x1d
addi r0, r5, lbl_8053ec30@l
add r5, r0, r3
lwz r3, 0(r5)
stw r4, 0(r5)
blr
.size func_8036e860, . - func_8036e860
.global func_8036e87c
.type func_8036e87c, @function
func_8036e87c:
mflr r0
stw r0, 4(r1)
stwu r1, -0x38(r1)
stmw r25, 0x1c(r1)
mr r31, r4
addi r25, r3, 0x0
addi r26, r5, 0x0
addi r27, r6, 0x0
lwz r0, 0x19c(r4)
lis r4, lbl_804ef1f8@ha
addi r29, r4, lbl_804ef1f8@l
rlwinm. r0, r0, 0, 0x1e, 0x1e
bne- lbl_8036e8c4
addi r3, r29, 0x5c
crclr 6
clrlwi r4, r25, 0x18
bl func_8036e6b4
b lbl_8036e93c
lbl_8036e8c4:
clrlwi r30, r25, 0x18
lis r3, lbl_8053ec30@ha
rlwinm r4, r25, 2, 0x16, 0x1d
addi r0, r3, lbl_8053ec30@l
add r28, r0, r4
lwz r0, 0(r28)
cmplwi r0, 0
beq- lbl_8036e918
bl func_803717b4
lwz r12, 0(r28)
addi r3, r30, 0x0
addi r4, r31, 0x0
crclr 6
mtlr r12
addi r5, r26, 0x0
addi r6, r27, 0x0
blrl
bl func_803717f4
bl func_80371ce8
mr r3, r31
bl func_8036e180
lbl_8036e918:
clrlwi r0, r25, 0x18
cmplwi r0, 8
bne- lbl_8036e92c
mr r3, r31
bl func_8036e180
lbl_8036e92c:
addi r3, r29, 0x7c
crclr 6
clrlwi r4, r25, 0x18
bl func_8036e6b4
lbl_8036e93c:
addi r3, 0, lbl_805c3d28@sda21
crclr 6
bl func_8036e6b4
mr r3, r31
bl func_8036e340
addi r4, r26, 0x0
crclr 6
addi r5, r27, 0x0
addi r3, r29, 0x94
bl func_8036e6b4
bl func_803727c4
addi r5, r3, 0x0
crclr 6
addi r6, r4, 0x0
addi r3, r29, 0xc8
bl func_8036e6b4
clrlwi r0, r25, 0x18
cmplwi r0, 0xf
bgt- lbl_8036ea48
lis r3, jtbl_804ef4d4@ha
addi r3, r3, jtbl_804ef4d4@l
slwi r0, r0, 2
lwzx r0, r3, r0
mtctr r0
bctr
lbl_8036e9a0:
.global jump_8036e9a0
jump_8036e9a0:
lwz r4, 0x198(r31)
addi r5, r27, 0x0
addi r3, r29, 0xd8
crclr 6
bl func_8036e6b4
b lbl_8036ea48
lbl_8036e9b8:
.global jump_8036e9b8
jump_8036e9b8:
lwz r4, 0x198(r31)
addi r3, r29, 0x138
crclr 6
bl func_8036e6b4
b lbl_8036ea48
lbl_8036e9cc:
.global jump_8036e9cc
jump_8036e9cc:
lwz r4, 0x198(r31)
addi r5, r27, 0x0
addi r3, r29, 0x184
crclr 6
bl func_8036e6b4
b lbl_8036ea48
lbl_8036e9e4:
.global jump_8036e9e4
jump_8036e9e4:
lwz r4, 0x198(r31)
addi r5, r27, 0x0
addi r3, r29, 0x1e8
crclr 6
bl func_8036e6b4
b lbl_8036ea48
lbl_8036e9fc:
.global jump_8036e9fc
jump_8036e9fc:
addi r3, 0, lbl_805c3d28@sda21
crclr 6
bl func_8036e6b4
lis r30, 0xcc00
crclr 6
addi r31, r30, 0x5000
lhz r4, 0x5030(r30)
addi r3, r29, 0x248
lhz r5, 0x5032(r30)
bl func_8036e6b4
lhz r4, 0x20(r31)
addi r3, r29, 0x268
lhz r5, 0x22(r31)
crclr 6
bl func_8036e6b4
lwz r4, 0x6014(r30)
crclr 6
addi r3, r29, 0x288
bl func_8036e6b4
lbl_8036ea48:
.global jump_8036ea48
jump_8036ea48:
lha r4, lbl_805c6870@sda21(0)
addi r3, r29, 0x2a4
crclr 6
lwz r5, lbl_805c686c@sda21(0)
lwz r7, lbl_805c6878@sda21(0)
lwz r8, lbl_805c687c@sda21(0)
bl func_8036e6b4
bl func_8036c1b8
lmw r25, 0x1c(r1)
lwz r0, 0x3c(r1)
addi r1, r1, 0x38
mtlr r0
blr
.size func_8036e87c, . - func_8036e87c
.global func_8036ea7c
.type func_8036ea7c, @function
func_8036ea7c:
lhz r3, lbl_805c3d30@sda21(0)
cmplwi r3, 1
blelr-
lis r3, 0x8000
lwz r0, 0xcc(r3)
cmpwi r0, 0x0
beq- lbl_8036eaa0
blt- lbl_8036eac4
b lbl_8036eac4
lbl_8036eaa0:
lis r3, 0xcc00
lhz r0, 0x206e(r3)
rlwinm. r0, r0, 0, 0x1e, 0x1e
beq- lbl_8036eab8
li r0, 0x1
b lbl_8036eabc
lbl_8036eab8:
li r0, 0x0
lbl_8036eabc:
sth r0, lbl_805c3d30@sda21(0)
b lbl_8036eacc
lbl_8036eac4:
li r0, 0x0
sth r0, lbl_805c3d30@sda21(0)
lbl_8036eacc:
lhz r3, lbl_805c3d30@sda21(0)
blr
.size func_8036ea7c, . - func_8036ea7c