.global func_8036c48c
.type func_8036c48c, @function
func_8036c48c:
mflr r0
stw r0, 4(r1)
stwu r1, -0x18(r1)
stw r31, 0x14(r1)
stw r30, 0x10(r1)
stw r29, 0xc(r1)
lwz r0, lbl_805c6828@sda21(0)
lis r4, lbl_8053ebe0@ha
lis r3, lbl_804eebb0@ha
cmpwi r0, 0x0
addi r30, r4, lbl_8053ebe0@l
addi r31, r3, lbl_804eebb0@l
bne- lbl_8036c828
li r0, 0x1
stw r0, lbl_805c6828@sda21(0)
bl func_803727e4
stw r4, lbl_805c6844@sda21(0)
stw r3, lbl_805c6840@sda21(0)
bl func_8036ead4
bl func_8036c1e4
bl func_8036c20c
li r0, 0x0
lis r4, 0x8000
stw r0, lbl_805c681c@sda21(0)
stw r4, lbl_805c6818@sda21(0)
stw r0, lbl_805c6924@sda21(0)
lwz r3, 0xf4(r4)
cmplwi r3, 0
beq- lbl_8036c530
addi r0, r3, 0xc
stw r0, lbl_805c681c@sda21(0)
lwz r0, 0x24(r3)
lwz r3, lbl_805c681c@sda21(0)
stw r0, lbl_805c69fc@sda21(0)
lwz r0, 0(r3)
clrlwi r0, r0, 0x18
stb r0, 0x30e8(r4)
lwz r0, lbl_805c69fc@sda21(0)
clrlwi r0, r0, 0x18
stb r0, 0x30e9(r4)
b lbl_8036c554
lbl_8036c530:
lwz r0, 0x34(r4)
cmplwi r0, 0
beq- lbl_8036c554
lbz r3, 0x30e8(r4)
addi r0, 0, lbl_805c6820@sda21
stw r3, lbl_805c6820@sda21(0)
stw r0, lbl_805c681c@sda21(0)
lbz r0, 0x30e9(r4)
stw r0, lbl_805c69fc@sda21(0)
lbl_8036c554:
li r0, 0x1
lwz r3, lbl_805c6818@sda21(0)
stw r0, lbl_805c6924@sda21(0)
lwz r3, 0x30(r3)
cmplwi r3, 0
bne- lbl_8036c578
lis r3, 0x805e
addi r3, r3, 0x29e0
b lbl_8036c578
lbl_8036c578:
bl func_8036d630
lwz r3, lbl_805c6818@sda21(0)
lwz r0, 0x30(r3)
cmplwi r0, 0
bne- lbl_8036c5b8
lwz r3, lbl_805c681c@sda21(0)
cmplwi r3, 0
beq- lbl_8036c5b8
lwz r0, 0(r3)
cmplwi r0, 2
bge- lbl_8036c5b8
lis r3, 0x805e
addi r3, r3, 0x9c8
addi r0, r3, 0x1f
rlwinm r3, r0, 0, 0, 0x1a
bl func_8036d630
lbl_8036c5b8:
lwz r3, lbl_805c6818@sda21(0)
lwz r3, 0x34(r3)
cmplwi r3, 0
bne- lbl_8036c5d4
lis r3, 0x8170
addi r3, r3, 0x0
b lbl_8036c5d4
lbl_8036c5d4:
bl func_8036d628
bl func_8036c844
bl func_803715bc
bl func_8036cc5c
bl func_8036faac
bl func_8036eb50
lis r3, func_803707e4@ha
addi r4, r3, func_803707e4@l
li r3, 0x16
bl func_8036eb20
bl func_8036e66c
bl func_8036dd58
bl func_8042c668
bl func_8042d91c
bl func_80370ce8
bl func_80371620
bl func_8036d638
bl func_8036c1cc
rlwinm r3, r3, 0, 2, 0
bl func_8036c1d4
lwz r3, lbl_805c6818@sda21(0)
addi r4, r3, 0x2c
lwz r0, 0(r4)
rlwinm r0, r0, 0, 3, 3
cmplwi r0, 0
beq- lbl_8036c64c
lis r3, 0x1000
addi r0, r3, 0x4
stw r0, 0(r4)
b lbl_8036c654
lbl_8036c64c:
li r0, 0x1
stw r0, 0(r4)
lbl_8036c654:
lis r3, 0xcc00
lwz r4, lbl_805c6818@sda21(0)
addi r3, r3, 0x3000
lwz r0, 0x2c(r3)
lwz r3, 0x2c(r4)
rlwinm r0, r0, 0, 0, 3
srwi r0, r0, 0x1c
add r0, r3, r0
stw r0, 0x2c(r4)
lwz r0, lbl_805c6838@sda21(0)
cmpwi r0, 0x0
bne- lbl_8036c688
bl func_8036fe88
lbl_8036c688:
mr r3, r31
crclr 6
bl func_8036e6b4
addi r3, r31, 0x20
crclr 6
addi r4, r31, 0x38
addi r5, r31, 0x44
bl func_8036e6b4
addi r3, r31, 0x50
crclr 6
bl func_8036e6b4
lwz r3, lbl_805c6818@sda21(0)
cmplwi r3, 0
beq- lbl_8036c6cc
lwz r4, 0x2c(r3)
cmplwi r4, 0
bne- lbl_8036c6d8
lbl_8036c6cc:
lis r3, 0x1000
addi r4, r3, 0x2
b lbl_8036c6d8
lbl_8036c6d8:
rlwinm r0, r4, 0, 3, 3
cmplwi r0, 0
bne- lbl_8036c6f4
crclr 6
addi r3, r31, 0x60
bl func_8036e6b4
b lbl_8036c77c
lbl_8036c6f4:
lis r3, 0x1000
addi r0, r3, 0x2
cmpw r4, r0
beq- lbl_8036c748
bge- lbl_8036c718
cmpw r4, r3
beq- lbl_8036c728
bge- lbl_8036c738
b lbl_8036c768
lbl_8036c718:
addi r0, r3, 0x4
cmpw r4, r0
bge- lbl_8036c768
b lbl_8036c758
lbl_8036c728:
addi r3, r31, 0x6c
crclr 6
bl func_8036e6b4
b lbl_8036c77c
lbl_8036c738:
addi r3, r31, 0x7c
crclr 6
bl func_8036e6b4
b lbl_8036c77c
lbl_8036c748:
addi r3, r31, 0x8c
crclr 6
bl func_8036e6b4
b lbl_8036c77c
lbl_8036c758:
addi r3, r31, 0x9c
crclr 6
bl func_8036e6b4
b lbl_8036c77c
lbl_8036c768:
addis r4, r4, 0xf000
crclr 6
addi r3, r31, 0xac
addi r4, r4, -0x3
bl func_8036e6b4
lbl_8036c77c:
lwz r4, lbl_805c6818@sda21(0)
addi r3, r31, 0xc0
crclr 6
lwz r0, 0x28(r4)
srwi r4, r0, 0x14
bl func_8036e6b4
bl func_8036d618
mr r29, r3
bl func_8036d620
mr r4, r3
crclr 6
mr r5, r29
addi r3, r31, 0xd0
bl func_8036e6b4
lwz r3, lbl_805c681c@sda21(0)
cmplwi r3, 0
beq- lbl_8036c7d0
lwz r0, 0(r3)
cmplwi r0, 2
blt- lbl_8036c7d0
bl func_80392310
lbl_8036c7d0:
bl func_8036c328
bl func_8036eae8
lwz r0, lbl_805c6838@sda21(0)
cmpwi r0, 0x0
bne- lbl_8036c828
bl func_8037510c
lwz r0, lbl_805c6824@sda21(0)
cmpwi r0, 0x0
beq- lbl_8036c808
lis r3, 1
addi r0, r3, -0x7000
lis r3, 0x8000
sth r0, 0x30e6(r3)
b lbl_8036c828
lbl_8036c808:
mr r3, r30
li r4, 0x20
bl func_8036d8e0
lis r3, func_8036c450@ha
addi r5, r3, func_8036c450@l
mr r4, r30
addi r3, r30, 0x20
bl func_80376e2c
lbl_8036c828:
lwz r0, 0x1c(r1)
lwz r31, 0x14(r1)
lwz r30, 0x10(r1)
lwz r29, 0xc(r1)
addi r1, r1, 0x18
mtlr r0
blr
.size func_8036c48c, . - func_8036c48c