mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
482 lines
21 KiB
ArmAsm
482 lines
21 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_80115498
|
|
/* 0ABB98 80115498 27BDFF88 */ addiu $sp, $sp, -0x78
|
|
/* 0ABB9C 8011549C AFB50064 */ sw $s5, 0x64($sp)
|
|
/* 0ABBA0 801154A0 0080A82D */ daddu $s5, $a0, $zero
|
|
/* 0ABBA4 801154A4 00A0182D */ daddu $v1, $a1, $zero
|
|
/* 0ABBA8 801154A8 AFA60080 */ sw $a2, 0x80($sp)
|
|
/* 0ABBAC 801154AC AFA70084 */ sw $a3, 0x84($sp)
|
|
/* 0ABBB0 801154B0 00C71021 */ addu $v0, $a2, $a3
|
|
/* 0ABBB4 801154B4 02A2102B */ sltu $v0, $s5, $v0
|
|
/* 0ABBB8 801154B8 AFBF0074 */ sw $ra, 0x74($sp)
|
|
/* 0ABBBC 801154BC AFBE0070 */ sw $fp, 0x70($sp)
|
|
/* 0ABBC0 801154C0 AFB7006C */ sw $s7, 0x6c($sp)
|
|
/* 0ABBC4 801154C4 AFB60068 */ sw $s6, 0x68($sp)
|
|
/* 0ABBC8 801154C8 AFB40060 */ sw $s4, 0x60($sp)
|
|
/* 0ABBCC 801154CC AFB3005C */ sw $s3, 0x5c($sp)
|
|
/* 0ABBD0 801154D0 AFB20058 */ sw $s2, 0x58($sp)
|
|
/* 0ABBD4 801154D4 AFB10054 */ sw $s1, 0x54($sp)
|
|
/* 0ABBD8 801154D8 10400180 */ beqz $v0, .L80115ADC
|
|
/* 0ABBDC 801154DC AFB00050 */ sw $s0, 0x50($sp)
|
|
/* 0ABBE0 801154E0 27B30020 */ addiu $s3, $sp, 0x20
|
|
/* 0ABBE4 801154E4 24170001 */ addiu $s7, $zero, 1
|
|
/* 0ABBE8 801154E8 241E1000 */ addiu $fp, $zero, 0x1000
|
|
/* 0ABBEC 801154EC 00031100 */ sll $v0, $v1, 4
|
|
/* 0ABBF0 801154F0 00451021 */ addu $v0, $v0, $a1
|
|
/* 0ABBF4 801154F4 0002B080 */ sll $s6, $v0, 2
|
|
/* 0ABBF8 801154F8 02A0202D */ daddu $a0, $s5, $zero
|
|
.L801154FC:
|
|
/* 0ABBFC 801154FC 26A50030 */ addiu $a1, $s5, 0x30
|
|
/* 0ABC00 80115500 0C00A5CF */ jal dma_copy
|
|
/* 0ABC04 80115504 27A60020 */ addiu $a2, $sp, 0x20
|
|
/* 0ABC08 80115508 93A20048 */ lbu $v0, 0x48($sp)
|
|
/* 0ABC0C 8011550C 10400173 */ beqz $v0, .L80115ADC
|
|
/* 0ABC10 80115510 00000000 */ nop
|
|
/* 0ABC14 80115514 97A40042 */ lhu $a0, 0x42($sp)
|
|
/* 0ABC18 80115518 97A20046 */ lhu $v0, 0x46($sp)
|
|
/* 0ABC1C 8011551C 00820018 */ mult $a0, $v0
|
|
/* 0ABC20 80115520 97A3004C */ lhu $v1, 0x4c($sp)
|
|
/* 0ABC24 80115524 30630F00 */ andi $v1, $v1, 0xf00
|
|
/* 0ABC28 80115528 00009012 */ mflo $s2
|
|
/* 0ABC2C 8011552C 14600049 */ bnez $v1, .L80115654
|
|
/* 0ABC30 80115530 24080100 */ addiu $t0, $zero, 0x100
|
|
/* 0ABC34 80115534 93A20049 */ lbu $v0, 0x49($sp)
|
|
/* 0ABC38 80115538 54570125 */ bnel $v0, $s7, .L801159D0
|
|
/* 0ABC3C 8011553C 00129042 */ srl $s2, $s2, 1
|
|
/* 0ABC40 80115540 24050002 */ addiu $a1, $zero, 2
|
|
/* 0ABC44 80115544 14A00002 */ bnez $a1, .L80115550
|
|
/* 0ABC48 80115548 0085001A */ div $zero, $a0, $a1
|
|
/* 0ABC4C 8011554C 0007000D */ break 7
|
|
.L80115550:
|
|
/* 0ABC50 80115550 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABC54 80115554 14A10004 */ bne $a1, $at, .L80115568
|
|
/* 0ABC58 80115558 3C018000 */ lui $at, 0x8000
|
|
/* 0ABC5C 8011555C 14810002 */ bne $a0, $at, .L80115568
|
|
/* 0ABC60 80115560 00000000 */ nop
|
|
/* 0ABC64 80115564 0006000D */ break 6
|
|
.L80115568:
|
|
/* 0ABC68 80115568 00001012 */ mflo $v0
|
|
/* 0ABC6C 8011556C 28420010 */ slti $v0, $v0, 0x10
|
|
/* 0ABC70 80115570 54400117 */ bnel $v0, $zero, .L801159D0
|
|
/* 0ABC74 80115574 00129042 */ srl $s2, $s2, 1
|
|
/* 0ABC78 80115578 96660026 */ lhu $a2, 0x26($s3)
|
|
.L8011557C:
|
|
/* 0ABC7C 8011557C 14A00002 */ bnez $a1, .L80115588
|
|
/* 0ABC80 80115580 00C5001A */ div $zero, $a2, $a1
|
|
/* 0ABC84 80115584 0007000D */ break 7
|
|
.L80115588:
|
|
/* 0ABC88 80115588 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABC8C 8011558C 14A10004 */ bne $a1, $at, .L801155A0
|
|
/* 0ABC90 80115590 3C018000 */ lui $at, 0x8000
|
|
/* 0ABC94 80115594 14C10002 */ bne $a2, $at, .L801155A0
|
|
/* 0ABC98 80115598 00000000 */ nop
|
|
/* 0ABC9C 8011559C 0006000D */ break 6
|
|
.L801155A0:
|
|
/* 0ABCA0 801155A0 00001012 */ mflo $v0
|
|
/* 0ABCA4 801155A4 5840010A */ blezl $v0, .L801159D0
|
|
/* 0ABCA8 801155A8 00129042 */ srl $s2, $s2, 1
|
|
/* 0ABCAC 801155AC 96630022 */ lhu $v1, 0x22($s3)
|
|
/* 0ABCB0 801155B0 14A00002 */ bnez $a1, .L801155BC
|
|
/* 0ABCB4 801155B4 0065001A */ div $zero, $v1, $a1
|
|
/* 0ABCB8 801155B8 0007000D */ break 7
|
|
.L801155BC:
|
|
/* 0ABCBC 801155BC 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABCC0 801155C0 14A10004 */ bne $a1, $at, .L801155D4
|
|
/* 0ABCC4 801155C4 3C018000 */ lui $at, 0x8000
|
|
/* 0ABCC8 801155C8 14610002 */ bne $v1, $at, .L801155D4
|
|
/* 0ABCCC 801155CC 00000000 */ nop
|
|
/* 0ABCD0 801155D0 0006000D */ break 6
|
|
.L801155D4:
|
|
/* 0ABCD4 801155D4 00001012 */ mflo $v0
|
|
/* 0ABCD8 801155D8 00000000 */ nop
|
|
/* 0ABCDC 801155DC 00000000 */ nop
|
|
/* 0ABCE0 801155E0 00460018 */ mult $v0, $a2
|
|
/* 0ABCE4 801155E4 00005012 */ mflo $t2
|
|
/* 0ABCE8 801155E8 00000000 */ nop
|
|
/* 0ABCEC 801155EC 14A00002 */ bnez $a1, .L801155F8
|
|
/* 0ABCF0 801155F0 0145001A */ div $zero, $t2, $a1
|
|
/* 0ABCF4 801155F4 0007000D */ break 7
|
|
.L801155F8:
|
|
/* 0ABCF8 801155F8 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABCFC 801155FC 14A10004 */ bne $a1, $at, .L80115610
|
|
/* 0ABD00 80115600 3C018000 */ lui $at, 0x8000
|
|
/* 0ABD04 80115604 15410002 */ bne $t2, $at, .L80115610
|
|
/* 0ABD08 80115608 00000000 */ nop
|
|
/* 0ABD0C 8011560C 0006000D */ break 6
|
|
.L80115610:
|
|
/* 0ABD10 80115610 00002012 */ mflo $a0
|
|
/* 0ABD14 80115614 00052840 */ sll $a1, $a1, 1
|
|
/* 0ABD18 80115618 14A00002 */ bnez $a1, .L80115624
|
|
/* 0ABD1C 8011561C 0065001A */ div $zero, $v1, $a1
|
|
/* 0ABD20 80115620 0007000D */ break 7
|
|
.L80115624:
|
|
/* 0ABD24 80115624 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABD28 80115628 14A10004 */ bne $a1, $at, .L8011563C
|
|
/* 0ABD2C 8011562C 3C018000 */ lui $at, 0x8000
|
|
/* 0ABD30 80115630 14610002 */ bne $v1, $at, .L8011563C
|
|
/* 0ABD34 80115634 00000000 */ nop
|
|
/* 0ABD38 80115638 0006000D */ break 6
|
|
.L8011563C:
|
|
/* 0ABD3C 8011563C 00001012 */ mflo $v0
|
|
/* 0ABD40 80115640 28420010 */ slti $v0, $v0, 0x10
|
|
/* 0ABD44 80115644 1040FFCD */ beqz $v0, .L8011557C
|
|
/* 0ABD48 80115648 02449021 */ addu $s2, $s2, $a0
|
|
/* 0ABD4C 8011564C 08045674 */ j .L801159D0
|
|
/* 0ABD50 80115650 00129042 */ srl $s2, $s2, 1
|
|
|
|
.L80115654:
|
|
/* 0ABD54 80115654 14680048 */ bne $v1, $t0, .L80115778
|
|
/* 0ABD58 80115658 00000000 */ nop
|
|
/* 0ABD5C 8011565C 93A20049 */ lbu $v0, 0x49($sp)
|
|
/* 0ABD60 80115660 145700DB */ bne $v0, $s7, .L801159D0
|
|
/* 0ABD64 80115664 24050002 */ addiu $a1, $zero, 2
|
|
/* 0ABD68 80115668 14A00002 */ bnez $a1, .L80115674
|
|
/* 0ABD6C 8011566C 0085001A */ div $zero, $a0, $a1
|
|
/* 0ABD70 80115670 0007000D */ break 7
|
|
.L80115674:
|
|
/* 0ABD74 80115674 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABD78 80115678 14A10004 */ bne $a1, $at, .L8011568C
|
|
/* 0ABD7C 8011567C 3C018000 */ lui $at, 0x8000
|
|
/* 0ABD80 80115680 14810002 */ bne $a0, $at, .L8011568C
|
|
/* 0ABD84 80115684 00000000 */ nop
|
|
/* 0ABD88 80115688 0006000D */ break 6
|
|
.L8011568C:
|
|
/* 0ABD8C 8011568C 00001012 */ mflo $v0
|
|
/* 0ABD90 80115690 28420008 */ slti $v0, $v0, 8
|
|
/* 0ABD94 80115694 144000CE */ bnez $v0, .L801159D0
|
|
/* 0ABD98 80115698 00000000 */ nop
|
|
/* 0ABD9C 8011569C 96660026 */ lhu $a2, 0x26($s3)
|
|
.L801156A0:
|
|
/* 0ABDA0 801156A0 14A00002 */ bnez $a1, .L801156AC
|
|
/* 0ABDA4 801156A4 00C5001A */ div $zero, $a2, $a1
|
|
/* 0ABDA8 801156A8 0007000D */ break 7
|
|
.L801156AC:
|
|
/* 0ABDAC 801156AC 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABDB0 801156B0 14A10004 */ bne $a1, $at, .L801156C4
|
|
/* 0ABDB4 801156B4 3C018000 */ lui $at, 0x8000
|
|
/* 0ABDB8 801156B8 14C10002 */ bne $a2, $at, .L801156C4
|
|
/* 0ABDBC 801156BC 00000000 */ nop
|
|
/* 0ABDC0 801156C0 0006000D */ break 6
|
|
.L801156C4:
|
|
/* 0ABDC4 801156C4 00001012 */ mflo $v0
|
|
/* 0ABDC8 801156C8 184000C1 */ blez $v0, .L801159D0
|
|
/* 0ABDCC 801156CC 00000000 */ nop
|
|
/* 0ABDD0 801156D0 96630022 */ lhu $v1, 0x22($s3)
|
|
/* 0ABDD4 801156D4 14A00002 */ bnez $a1, .L801156E0
|
|
/* 0ABDD8 801156D8 0065001A */ div $zero, $v1, $a1
|
|
/* 0ABDDC 801156DC 0007000D */ break 7
|
|
.L801156E0:
|
|
/* 0ABDE0 801156E0 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABDE4 801156E4 14A10004 */ bne $a1, $at, .L801156F8
|
|
/* 0ABDE8 801156E8 3C018000 */ lui $at, 0x8000
|
|
/* 0ABDEC 801156EC 14610002 */ bne $v1, $at, .L801156F8
|
|
/* 0ABDF0 801156F0 00000000 */ nop
|
|
/* 0ABDF4 801156F4 0006000D */ break 6
|
|
.L801156F8:
|
|
/* 0ABDF8 801156F8 00001012 */ mflo $v0
|
|
/* 0ABDFC 801156FC 00000000 */ nop
|
|
/* 0ABE00 80115700 00000000 */ nop
|
|
/* 0ABE04 80115704 00460018 */ mult $v0, $a2
|
|
/* 0ABE08 80115708 00005012 */ mflo $t2
|
|
/* 0ABE0C 8011570C 00000000 */ nop
|
|
/* 0ABE10 80115710 14A00002 */ bnez $a1, .L8011571C
|
|
/* 0ABE14 80115714 0145001A */ div $zero, $t2, $a1
|
|
/* 0ABE18 80115718 0007000D */ break 7
|
|
.L8011571C:
|
|
/* 0ABE1C 8011571C 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABE20 80115720 14A10004 */ bne $a1, $at, .L80115734
|
|
/* 0ABE24 80115724 3C018000 */ lui $at, 0x8000
|
|
/* 0ABE28 80115728 15410002 */ bne $t2, $at, .L80115734
|
|
/* 0ABE2C 8011572C 00000000 */ nop
|
|
/* 0ABE30 80115730 0006000D */ break 6
|
|
.L80115734:
|
|
/* 0ABE34 80115734 00002012 */ mflo $a0
|
|
/* 0ABE38 80115738 00052840 */ sll $a1, $a1, 1
|
|
/* 0ABE3C 8011573C 14A00002 */ bnez $a1, .L80115748
|
|
/* 0ABE40 80115740 0065001A */ div $zero, $v1, $a1
|
|
/* 0ABE44 80115744 0007000D */ break 7
|
|
.L80115748:
|
|
/* 0ABE48 80115748 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABE4C 8011574C 14A10004 */ bne $a1, $at, .L80115760
|
|
/* 0ABE50 80115750 3C018000 */ lui $at, 0x8000
|
|
/* 0ABE54 80115754 14610002 */ bne $v1, $at, .L80115760
|
|
/* 0ABE58 80115758 00000000 */ nop
|
|
/* 0ABE5C 8011575C 0006000D */ break 6
|
|
.L80115760:
|
|
/* 0ABE60 80115760 00001012 */ mflo $v0
|
|
/* 0ABE64 80115764 28420008 */ slti $v0, $v0, 8
|
|
/* 0ABE68 80115768 14400099 */ bnez $v0, .L801159D0
|
|
/* 0ABE6C 8011576C 02449021 */ addu $s2, $s2, $a0
|
|
/* 0ABE70 80115770 080455A8 */ j .L801156A0
|
|
/* 0ABE74 80115774 00000000 */ nop
|
|
|
|
.L80115778:
|
|
/* 0ABE78 80115778 9662002C */ lhu $v0, 0x2c($s3)
|
|
/* 0ABE7C 8011577C 30430F00 */ andi $v1, $v0, 0xf00
|
|
/* 0ABE80 80115780 24020200 */ addiu $v0, $zero, 0x200
|
|
/* 0ABE84 80115784 14620049 */ bne $v1, $v0, .L801158AC
|
|
/* 0ABE88 80115788 24020300 */ addiu $v0, $zero, 0x300
|
|
/* 0ABE8C 8011578C 92620029 */ lbu $v0, 0x29($s3)
|
|
/* 0ABE90 80115790 5457008F */ bnel $v0, $s7, .L801159D0
|
|
/* 0ABE94 80115794 00129040 */ sll $s2, $s2, 1
|
|
/* 0ABE98 80115798 96670022 */ lhu $a3, 0x22($s3)
|
|
/* 0ABE9C 8011579C 24040002 */ addiu $a0, $zero, 2
|
|
/* 0ABEA0 801157A0 14800002 */ bnez $a0, .L801157AC
|
|
/* 0ABEA4 801157A4 00E4001A */ div $zero, $a3, $a0
|
|
/* 0ABEA8 801157A8 0007000D */ break 7
|
|
.L801157AC:
|
|
/* 0ABEAC 801157AC 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABEB0 801157B0 14810004 */ bne $a0, $at, .L801157C4
|
|
/* 0ABEB4 801157B4 3C018000 */ lui $at, 0x8000
|
|
/* 0ABEB8 801157B8 14E10002 */ bne $a3, $at, .L801157C4
|
|
/* 0ABEBC 801157BC 00000000 */ nop
|
|
/* 0ABEC0 801157C0 0006000D */ break 6
|
|
.L801157C4:
|
|
/* 0ABEC4 801157C4 00001012 */ mflo $v0
|
|
/* 0ABEC8 801157C8 28420004 */ slti $v0, $v0, 4
|
|
/* 0ABECC 801157CC 54400080 */ bnel $v0, $zero, .L801159D0
|
|
/* 0ABED0 801157D0 00129040 */ sll $s2, $s2, 1
|
|
/* 0ABED4 801157D4 96660026 */ lhu $a2, 0x26($s3)
|
|
.L801157D8:
|
|
/* 0ABED8 801157D8 14800002 */ bnez $a0, .L801157E4
|
|
/* 0ABEDC 801157DC 00C4001A */ div $zero, $a2, $a0
|
|
/* 0ABEE0 801157E0 0007000D */ break 7
|
|
.L801157E4:
|
|
/* 0ABEE4 801157E4 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABEE8 801157E8 14810004 */ bne $a0, $at, .L801157FC
|
|
/* 0ABEEC 801157EC 3C018000 */ lui $at, 0x8000
|
|
/* 0ABEF0 801157F0 14C10002 */ bne $a2, $at, .L801157FC
|
|
/* 0ABEF4 801157F4 00000000 */ nop
|
|
/* 0ABEF8 801157F8 0006000D */ break 6
|
|
.L801157FC:
|
|
/* 0ABEFC 801157FC 00001012 */ mflo $v0
|
|
/* 0ABF00 80115800 58400073 */ blezl $v0, .L801159D0
|
|
/* 0ABF04 80115804 00129040 */ sll $s2, $s2, 1
|
|
/* 0ABF08 80115808 14800002 */ bnez $a0, .L80115814
|
|
/* 0ABF0C 8011580C 00E4001A */ div $zero, $a3, $a0
|
|
/* 0ABF10 80115810 0007000D */ break 7
|
|
.L80115814:
|
|
/* 0ABF14 80115814 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABF18 80115818 14810004 */ bne $a0, $at, .L8011582C
|
|
/* 0ABF1C 8011581C 3C018000 */ lui $at, 0x8000
|
|
/* 0ABF20 80115820 14E10002 */ bne $a3, $at, .L8011582C
|
|
/* 0ABF24 80115824 00000000 */ nop
|
|
/* 0ABF28 80115828 0006000D */ break 6
|
|
.L8011582C:
|
|
/* 0ABF2C 8011582C 00001012 */ mflo $v0
|
|
/* 0ABF30 80115830 00000000 */ nop
|
|
/* 0ABF34 80115834 00000000 */ nop
|
|
/* 0ABF38 80115838 00460018 */ mult $v0, $a2
|
|
/* 0ABF3C 8011583C 00001812 */ mflo $v1
|
|
/* 0ABF40 80115840 00000000 */ nop
|
|
/* 0ABF44 80115844 14800002 */ bnez $a0, .L80115850
|
|
/* 0ABF48 80115848 0064001A */ div $zero, $v1, $a0
|
|
/* 0ABF4C 8011584C 0007000D */ break 7
|
|
.L80115850:
|
|
/* 0ABF50 80115850 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABF54 80115854 14810004 */ bne $a0, $at, .L80115868
|
|
/* 0ABF58 80115858 3C018000 */ lui $at, 0x8000
|
|
/* 0ABF5C 8011585C 14610002 */ bne $v1, $at, .L80115868
|
|
/* 0ABF60 80115860 00000000 */ nop
|
|
/* 0ABF64 80115864 0006000D */ break 6
|
|
.L80115868:
|
|
/* 0ABF68 80115868 00001812 */ mflo $v1
|
|
/* 0ABF6C 8011586C 00042040 */ sll $a0, $a0, 1
|
|
/* 0ABF70 80115870 14800002 */ bnez $a0, .L8011587C
|
|
/* 0ABF74 80115874 00E4001A */ div $zero, $a3, $a0
|
|
/* 0ABF78 80115878 0007000D */ break 7
|
|
.L8011587C:
|
|
/* 0ABF7C 8011587C 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABF80 80115880 14810004 */ bne $a0, $at, .L80115894
|
|
/* 0ABF84 80115884 3C018000 */ lui $at, 0x8000
|
|
/* 0ABF88 80115888 14E10002 */ bne $a3, $at, .L80115894
|
|
/* 0ABF8C 8011588C 00000000 */ nop
|
|
/* 0ABF90 80115890 0006000D */ break 6
|
|
.L80115894:
|
|
/* 0ABF94 80115894 00001012 */ mflo $v0
|
|
/* 0ABF98 80115898 28420004 */ slti $v0, $v0, 4
|
|
/* 0ABF9C 8011589C 1040FFCE */ beqz $v0, .L801157D8
|
|
/* 0ABFA0 801158A0 02439021 */ addu $s2, $s2, $v1
|
|
/* 0ABFA4 801158A4 08045674 */ j .L801159D0
|
|
/* 0ABFA8 801158A8 00129040 */ sll $s2, $s2, 1
|
|
|
|
.L801158AC:
|
|
/* 0ABFAC 801158AC 14620048 */ bne $v1, $v0, .L801159D0
|
|
/* 0ABFB0 801158B0 00000000 */ nop
|
|
/* 0ABFB4 801158B4 92620029 */ lbu $v0, 0x29($s3)
|
|
/* 0ABFB8 801158B8 54570045 */ bnel $v0, $s7, .L801159D0
|
|
/* 0ABFBC 801158BC 00129080 */ sll $s2, $s2, 2
|
|
/* 0ABFC0 801158C0 96670022 */ lhu $a3, 0x22($s3)
|
|
/* 0ABFC4 801158C4 24040002 */ addiu $a0, $zero, 2
|
|
/* 0ABFC8 801158C8 14800002 */ bnez $a0, .L801158D4
|
|
/* 0ABFCC 801158CC 00E4001A */ div $zero, $a3, $a0
|
|
/* 0ABFD0 801158D0 0007000D */ break 7
|
|
.L801158D4:
|
|
/* 0ABFD4 801158D4 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0ABFD8 801158D8 14810004 */ bne $a0, $at, .L801158EC
|
|
/* 0ABFDC 801158DC 3C018000 */ lui $at, 0x8000
|
|
/* 0ABFE0 801158E0 14E10002 */ bne $a3, $at, .L801158EC
|
|
/* 0ABFE4 801158E4 00000000 */ nop
|
|
/* 0ABFE8 801158E8 0006000D */ break 6
|
|
.L801158EC:
|
|
/* 0ABFEC 801158EC 00001012 */ mflo $v0
|
|
/* 0ABFF0 801158F0 0044102A */ slt $v0, $v0, $a0
|
|
/* 0ABFF4 801158F4 54400036 */ bnel $v0, $zero, .L801159D0
|
|
/* 0ABFF8 801158F8 00129080 */ sll $s2, $s2, 2
|
|
/* 0ABFFC 801158FC 96660026 */ lhu $a2, 0x26($s3)
|
|
.L80115900:
|
|
/* 0AC000 80115900 14800002 */ bnez $a0, .L8011590C
|
|
/* 0AC004 80115904 00C4001A */ div $zero, $a2, $a0
|
|
/* 0AC008 80115908 0007000D */ break 7
|
|
.L8011590C:
|
|
/* 0AC00C 8011590C 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0AC010 80115910 14810004 */ bne $a0, $at, .L80115924
|
|
/* 0AC014 80115914 3C018000 */ lui $at, 0x8000
|
|
/* 0AC018 80115918 14C10002 */ bne $a2, $at, .L80115924
|
|
/* 0AC01C 8011591C 00000000 */ nop
|
|
/* 0AC020 80115920 0006000D */ break 6
|
|
.L80115924:
|
|
/* 0AC024 80115924 00001012 */ mflo $v0
|
|
/* 0AC028 80115928 58400029 */ blezl $v0, .L801159D0
|
|
/* 0AC02C 8011592C 00129080 */ sll $s2, $s2, 2
|
|
/* 0AC030 80115930 14800002 */ bnez $a0, .L8011593C
|
|
/* 0AC034 80115934 00E4001A */ div $zero, $a3, $a0
|
|
/* 0AC038 80115938 0007000D */ break 7
|
|
.L8011593C:
|
|
/* 0AC03C 8011593C 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0AC040 80115940 14810004 */ bne $a0, $at, .L80115954
|
|
/* 0AC044 80115944 3C018000 */ lui $at, 0x8000
|
|
/* 0AC048 80115948 14E10002 */ bne $a3, $at, .L80115954
|
|
/* 0AC04C 8011594C 00000000 */ nop
|
|
/* 0AC050 80115950 0006000D */ break 6
|
|
.L80115954:
|
|
/* 0AC054 80115954 00001012 */ mflo $v0
|
|
/* 0AC058 80115958 00000000 */ nop
|
|
/* 0AC05C 8011595C 00000000 */ nop
|
|
/* 0AC060 80115960 00460018 */ mult $v0, $a2
|
|
/* 0AC064 80115964 00001812 */ mflo $v1
|
|
/* 0AC068 80115968 00000000 */ nop
|
|
/* 0AC06C 8011596C 14800002 */ bnez $a0, .L80115978
|
|
/* 0AC070 80115970 0064001A */ div $zero, $v1, $a0
|
|
/* 0AC074 80115974 0007000D */ break 7
|
|
.L80115978:
|
|
/* 0AC078 80115978 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0AC07C 8011597C 14810004 */ bne $a0, $at, .L80115990
|
|
/* 0AC080 80115980 3C018000 */ lui $at, 0x8000
|
|
/* 0AC084 80115984 14610002 */ bne $v1, $at, .L80115990
|
|
/* 0AC088 80115988 00000000 */ nop
|
|
/* 0AC08C 8011598C 0006000D */ break 6
|
|
.L80115990:
|
|
/* 0AC090 80115990 00001812 */ mflo $v1
|
|
/* 0AC094 80115994 00042040 */ sll $a0, $a0, 1
|
|
/* 0AC098 80115998 14800002 */ bnez $a0, .L801159A4
|
|
/* 0AC09C 8011599C 00E4001A */ div $zero, $a3, $a0
|
|
/* 0AC0A0 801159A0 0007000D */ break 7
|
|
.L801159A4:
|
|
/* 0AC0A4 801159A4 2401FFFF */ addiu $at, $zero, -1
|
|
/* 0AC0A8 801159A8 14810004 */ bne $a0, $at, .L801159BC
|
|
/* 0AC0AC 801159AC 3C018000 */ lui $at, 0x8000
|
|
/* 0AC0B0 801159B0 14E10002 */ bne $a3, $at, .L801159BC
|
|
/* 0AC0B4 801159B4 00000000 */ nop
|
|
/* 0AC0B8 801159B8 0006000D */ break 6
|
|
.L801159BC:
|
|
/* 0AC0BC 801159BC 00001012 */ mflo $v0
|
|
/* 0AC0C0 801159C0 28420002 */ slti $v0, $v0, 2
|
|
/* 0AC0C4 801159C4 1040FFCE */ beqz $v0, .L80115900
|
|
/* 0AC0C8 801159C8 02439021 */ addu $s2, $s2, $v1
|
|
/* 0AC0CC 801159CC 00129080 */ sll $s2, $s2, 2
|
|
.L801159D0:
|
|
/* 0AC0D0 801159D0 9662002A */ lhu $v0, 0x2a($s3)
|
|
/* 0AC0D4 801159D4 24030002 */ addiu $v1, $zero, 2
|
|
/* 0AC0D8 801159D8 3042000F */ andi $v0, $v0, 0xf
|
|
/* 0AC0DC 801159DC 14430007 */ bne $v0, $v1, .L801159FC
|
|
/* 0AC0E0 801159E0 0000A02D */ daddu $s4, $zero, $zero
|
|
/* 0AC0E4 801159E4 9662002C */ lhu $v0, 0x2c($s3)
|
|
/* 0AC0E8 801159E8 24080100 */ addiu $t0, $zero, 0x100
|
|
/* 0AC0EC 801159EC 30420F00 */ andi $v0, $v0, 0xf00
|
|
/* 0AC0F0 801159F0 14480002 */ bne $v0, $t0, .L801159FC
|
|
/* 0AC0F4 801159F4 24140020 */ addiu $s4, $zero, 0x20
|
|
/* 0AC0F8 801159F8 24140200 */ addiu $s4, $zero, 0x200
|
|
.L801159FC:
|
|
/* 0AC0FC 801159FC 92630029 */ lbu $v1, 0x29($s3)
|
|
/* 0AC100 80115A00 24020003 */ addiu $v0, $zero, 3
|
|
/* 0AC104 80115A04 1462001E */ bne $v1, $v0, .L80115A80
|
|
/* 0AC108 80115A08 0000882D */ daddu $s1, $zero, $zero
|
|
/* 0AC10C 80115A0C 96640020 */ lhu $a0, 0x20($s3)
|
|
/* 0AC110 80115A10 96620024 */ lhu $v0, 0x24($s3)
|
|
/* 0AC114 80115A14 00820018 */ mult $a0, $v0
|
|
/* 0AC118 80115A18 9663002C */ lhu $v1, 0x2c($s3)
|
|
/* 0AC11C 80115A1C 3063F000 */ andi $v1, $v1, 0xf000
|
|
/* 0AC120 80115A20 00008012 */ mflo $s0
|
|
/* 0AC124 80115A24 14600003 */ bnez $v1, .L80115A34
|
|
/* 0AC128 80115A28 00000000 */ nop
|
|
/* 0AC12C 80115A2C 08045695 */ j .L80115A54
|
|
/* 0AC130 80115A30 00108042 */ srl $s0, $s0, 1
|
|
|
|
.L80115A34:
|
|
/* 0AC134 80115A34 107E0007 */ beq $v1, $fp, .L80115A54
|
|
/* 0AC138 80115A38 24022000 */ addiu $v0, $zero, 0x2000
|
|
/* 0AC13C 80115A3C 14620003 */ bne $v1, $v0, .L80115A4C
|
|
/* 0AC140 80115A40 24023000 */ addiu $v0, $zero, 0x3000
|
|
/* 0AC144 80115A44 08045695 */ j .L80115A54
|
|
/* 0AC148 80115A48 00108040 */ sll $s0, $s0, 1
|
|
|
|
.L80115A4C:
|
|
/* 0AC14C 80115A4C 50620001 */ beql $v1, $v0, .L80115A54
|
|
/* 0AC150 80115A50 00108080 */ sll $s0, $s0, 2
|
|
.L80115A54:
|
|
/* 0AC154 80115A54 9662002A */ lhu $v0, 0x2a($s3)
|
|
/* 0AC158 80115A58 24030020 */ addiu $v1, $zero, 0x20
|
|
/* 0AC15C 80115A5C 304200F0 */ andi $v0, $v0, 0xf0
|
|
/* 0AC160 80115A60 14430008 */ bne $v0, $v1, .L80115A84
|
|
/* 0AC164 80115A64 0000882D */ daddu $s1, $zero, $zero
|
|
/* 0AC168 80115A68 9662002C */ lhu $v0, 0x2c($s3)
|
|
/* 0AC16C 80115A6C 3042F000 */ andi $v0, $v0, 0xf000
|
|
/* 0AC170 80115A70 145E0004 */ bne $v0, $fp, .L80115A84
|
|
/* 0AC174 80115A74 0060882D */ daddu $s1, $v1, $zero
|
|
/* 0AC178 80115A78 080456A1 */ j .L80115A84
|
|
/* 0AC17C 80115A7C 24110200 */ addiu $s1, $zero, 0x200
|
|
|
|
.L80115A80:
|
|
/* 0AC180 80115A80 0220802D */ daddu $s0, $s1, $zero
|
|
.L80115A84:
|
|
/* 0AC184 80115A84 26D60044 */ addiu $s6, $s6, 0x44
|
|
/* 0AC188 80115A88 26A40030 */ addiu $a0, $s5, 0x30
|
|
/* 0AC18C 80115A8C 3C058016 */ lui $a1, 0x8016
|
|
/* 0AC190 80115A90 24A5A590 */ addiu $a1, $a1, -0x5a70
|
|
/* 0AC194 80115A94 02C52821 */ addu $a1, $s6, $a1
|
|
/* 0AC198 80115A98 0260302D */ daddu $a2, $s3, $zero
|
|
/* 0AC19C 80115A9C 0240382D */ daddu $a3, $s2, $zero
|
|
/* 0AC1A0 80115AA0 AFB40010 */ sw $s4, 0x10($sp)
|
|
/* 0AC1A4 80115AA4 AFB00014 */ sw $s0, 0x14($sp)
|
|
/* 0AC1A8 80115AA8 0C0452D6 */ jal func_80114B58
|
|
/* 0AC1AC 80115AAC AFB10018 */ sw $s1, 0x18($sp)
|
|
/* 0AC1B0 80115AB0 02541021 */ addu $v0, $s2, $s4
|
|
/* 0AC1B4 80115AB4 24420030 */ addiu $v0, $v0, 0x30
|
|
/* 0AC1B8 80115AB8 02A2A821 */ addu $s5, $s5, $v0
|
|
/* 0AC1BC 80115ABC 02111021 */ addu $v0, $s0, $s1
|
|
/* 0AC1C0 80115AC0 8FA80080 */ lw $t0, 0x80($sp)
|
|
/* 0AC1C4 80115AC4 8FA90084 */ lw $t1, 0x84($sp)
|
|
/* 0AC1C8 80115AC8 02A2A821 */ addu $s5, $s5, $v0
|
|
/* 0AC1CC 80115ACC 01091021 */ addu $v0, $t0, $t1
|
|
/* 0AC1D0 80115AD0 02A2102B */ sltu $v0, $s5, $v0
|
|
/* 0AC1D4 80115AD4 1440FE89 */ bnez $v0, .L801154FC
|
|
/* 0AC1D8 80115AD8 02A0202D */ daddu $a0, $s5, $zero
|
|
.L80115ADC:
|
|
/* 0AC1DC 80115ADC 8FBF0074 */ lw $ra, 0x74($sp)
|
|
/* 0AC1E0 80115AE0 8FBE0070 */ lw $fp, 0x70($sp)
|
|
/* 0AC1E4 80115AE4 8FB7006C */ lw $s7, 0x6c($sp)
|
|
/* 0AC1E8 80115AE8 8FB60068 */ lw $s6, 0x68($sp)
|
|
/* 0AC1EC 80115AEC 8FB50064 */ lw $s5, 0x64($sp)
|
|
/* 0AC1F0 80115AF0 8FB40060 */ lw $s4, 0x60($sp)
|
|
/* 0AC1F4 80115AF4 8FB3005C */ lw $s3, 0x5c($sp)
|
|
/* 0AC1F8 80115AF8 8FB20058 */ lw $s2, 0x58($sp)
|
|
/* 0AC1FC 80115AFC 8FB10054 */ lw $s1, 0x54($sp)
|
|
/* 0AC200 80115B00 8FB00050 */ lw $s0, 0x50($sp)
|
|
/* 0AC204 80115B04 03E00008 */ jr $ra
|
|
/* 0AC208 80115B08 27BD0078 */ addiu $sp, $sp, 0x78
|
|
|