.include "macros.inc"
.section .text
.global func_8036d308
.type func_8036d308, @function
func_8036d308:
addi r7, r3, 0x0
li r6, 0x0
b lbl_8036d324
lbl_8036d314:
cmplw r4, r7
ble- lbl_8036d32c
mr r6, r7
lwz r7, 4(r7)
lbl_8036d324:
cmplwi r7, 0
bne+ lbl_8036d314
lbl_8036d32c:
stw r7, 4(r4)
cmplwi r7, 0
stw r6, 0(r4)
beq- lbl_8036d370
stw r4, 0(r7)
lwz r5, 8(r4)
add r0, r4, r5
cmplw r0, r7
bne- lbl_8036d370
lwz r0, 8(r7)
add r0, r5, r0
stw r0, 8(r4)
lwz r7, 4(r7)
cmplwi r7, 0
stw r7, 4(r4)
beq- lbl_8036d370
stw r4, 0(r7)
lbl_8036d370:
cmplwi r6, 0
beq- lbl_8036d3ac
stw r4, 4(r6)
lwz r5, 8(r6)
add r0, r6, r5
cmplw r0, r4
bnelr-
lwz r0, 8(r4)
cmplwi r7, 0
add r0, r5, r0
stw r0, 8(r6)
stw r7, 4(r6)
beqlr-
stw r6, 0(r7)
blr
lbl_8036d3ac:
mr r3, r4
blr
.size func_8036d308, . - func_8036d308
.global func_8036d3b4
.type func_8036d3b4, @function
func_8036d3b4:
mulli r0, r3, 0xc
lwz r3, lbl_805c6850@sda21(0)
add r5, r3, r0
addi r0, r4, 0x3f
lwz r6, 4(r5)
rlwinm r3, r0, 0, 0, 0x1a
b lbl_8036d3e0
lbl_8036d3d0:
lwz r0, 8(r6)
cmpw r3, r0
ble- lbl_8036d3e8
lwz r6, 4(r6)
lbl_8036d3e0:
cmplwi r6, 0
bne+ lbl_8036d3d0
lbl_8036d3e8:
cmplwi r6, 0
bne- lbl_8036d3f8
li r3, 0x0
blr
lbl_8036d3f8:
lwz r0, 8(r6)
subf r0, r3, r0
cmplwi r0, 0x40
bge- lbl_8036d444
lwz r4, 4(r6)
lwz r3, 4(r5)
cmplwi r4, 0
beq- lbl_8036d420
lwz r0, 0(r6)
stw r0, 0(r4)
lbl_8036d420:
lwz r4, 0(r6)
cmplwi r4, 0
bne- lbl_8036d434
lwz r3, 4(r6)
b lbl_8036d43c
lbl_8036d434:
lwz r0, 4(r6)
stw r0, 4(r4)
lbl_8036d43c:
stw r3, 4(r5)
b lbl_8036d488
lbl_8036d444:
stw r3, 8(r6)
add r4, r6, r3
stw r0, 8(r4)
lwz r0, 0(r6)
stw r0, 0(r4)
lwz r0, 4(r6)
stw r0, 4(r4)
lwz r3, 4(r4)
cmplwi r3, 0
beq- lbl_8036d470
stw r4, 0(r3)
lbl_8036d470:
lwz r3, 0(r4)
cmplwi r3, 0
beq- lbl_8036d484
stw r4, 4(r3)
b lbl_8036d488
lbl_8036d484:
stw r4, 4(r5)
lbl_8036d488:
lwz r3, 8(r5)
li r0, 0x0
stw r3, 4(r6)
cmplwi r3, 0
stw r0, 0(r6)
beq- lbl_8036d4a4
stw r6, 0(r3)
lbl_8036d4a4:
stw r6, 8(r5)
addi r3, r6, 0x20
blr
.size func_8036d3b4, . - func_8036d3b4
.global func_8036d4b0
.type func_8036d4b0, @function
func_8036d4b0:
mflr r0
addi r6, r4, -0x20
stw r0, 4(r1)
mulli r0, r3, 0xc
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
lwz r4, lbl_805c6850@sda21(0)
lwz r3, 4(r6)
add r31, r4, r0
cmplwi r3, 0
lwz r5, 8(r31)
mr r4, r6
beq- lbl_8036d4ec
lwz r0, 0(r4)
stw r0, 0(r3)
lbl_8036d4ec:
lwz r3, 0(r4)
cmplwi r3, 0
bne- lbl_8036d500
lwz r5, 4(r4)
b lbl_8036d508
lbl_8036d500:
lwz r0, 4(r4)
stw r0, 4(r3)
lbl_8036d508:
stw r5, 8(r31)
lwz r3, 4(r31)
bl func_8036d308
stw r3, 4(r31)
lwz r0, 0x1c(r1)
lwz r31, 0x14(r1)
addi r1, r1, 0x18
mtlr r0
blr
.size func_8036d4b0, . - func_8036d4b0
.global func_8036d52c
.type func_8036d52c, @function
func_8036d52c:
lwz r0, lbl_805c3d18@sda21(0)
stw r3, lbl_805c3d18@sda21(0)
mr r3, r0
blr
.size func_8036d52c, . - func_8036d52c
.global func_8036d53c
.type func_8036d53c, @function
func_8036d53c:
mulli r7, r5, 0xc
stw r3, lbl_805c6850@sda21(0)
stw r5, lbl_805c6854@sda21(0)
li r6, 0x0
addi r3, r6, 0x0
li r8, 0x0
li r5, -0x1
b lbl_8036d578
lbl_8036d55c:
lwz r0, lbl_805c6850@sda21(0)
addi r8, r8, 0x1
add r9, r0, r6
stw r5, 0(r9)
addi r6, r6, 0xc
stw r3, 8(r9)
stw r3, 4(r9)
lbl_8036d578:
lwz r0, lbl_805c6854@sda21(0)
cmpw r8, r0
blt+ lbl_8036d55c
lwz r3, lbl_805c6850@sda21(0)
rlwinm r0, r4, 0, 0, 0x1a
li r4, -0x1
stw r0, lbl_805c685c@sda21(0)
add r3, r3, r7
addi r0, r3, 0x1f
stw r4, lbl_805c3d18@sda21(0)
rlwinm r3, r0, 0, 0, 0x1a
stw r3, lbl_805c6858@sda21(0)
blr
.size func_8036d53c, . - func_8036d53c
.global func_8036d5ac
.type func_8036d5ac, @function
func_8036d5ac:
lwz r6, lbl_805c6854@sda21(0)
addi r0, r3, 0x1f
lwz r5, lbl_805c6850@sda21(0)
rlwinm r7, r0, 0, 0, 0x1a
cmpwi r6, 0x0
mtctr r6
rlwinm r4, r4, 0, 0, 0x1a
li r3, 0x0
ble- lbl_8036d610
lbl_8036d5d0:
lwz r0, 0(r5)
cmpwi r0, 0x0
bge- lbl_8036d604
subf r0, r7, r4
stw r0, 0(r5)
li r4, 0x0
stw r4, 0(r7)
stw r4, 4(r7)
lwz r0, 0(r5)
stw r0, 8(r7)
stw r7, 4(r5)
stw r4, 8(r5)
blr
lbl_8036d604:
addi r5, r5, 0xc
addi r3, r3, 0x1
bdnz lbl_8036d5d0
lbl_8036d610:
li r3, -0x1
blr
.size func_8036d5ac, . - func_8036d5ac