mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
326 lines
15 KiB
ArmAsm
326 lines
15 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
|
|
glabel func_8003BA60
|
|
/* 016E60 8003BA60 27BDFFC0 */ addiu $sp, $sp, -0x40
|
|
/* 016E64 8003BA64 AFB30024 */ sw $s3, 0x24($sp)
|
|
/* 016E68 8003BA68 0080982D */ daddu $s3, $a0, $zero
|
|
/* 016E6C 8003BA6C AFB60030 */ sw $s6, 0x30($sp)
|
|
/* 016E70 8003BA70 00A0B02D */ daddu $s6, $a1, $zero
|
|
/* 016E74 8003BA74 AFB40028 */ sw $s4, 0x28($sp)
|
|
/* 016E78 8003BA78 00C0A02D */ daddu $s4, $a2, $zero
|
|
/* 016E7C 8003BA7C AFBF0038 */ sw $ra, 0x38($sp)
|
|
/* 016E80 8003BA80 AFB70034 */ sw $s7, 0x34($sp)
|
|
/* 016E84 8003BA84 AFB5002C */ sw $s5, 0x2c($sp)
|
|
/* 016E88 8003BA88 AFB20020 */ sw $s2, 0x20($sp)
|
|
/* 016E8C 8003BA8C AFB1001C */ sw $s1, 0x1c($sp)
|
|
/* 016E90 8003BA90 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* 016E94 8003BA94 826200B6 */ lb $v0, 0xb6($s3)
|
|
/* 016E98 8003BA98 10400049 */ beqz $v0, .L8003BBC0
|
|
/* 016E9C 8003BA9C 00E0B82D */ daddu $s7, $a3, $zero
|
|
/* 016EA0 8003BAA0 8E620000 */ lw $v0, ($s3)
|
|
/* 016EA4 8003BAA4 3C034000 */ lui $v1, 0x4000
|
|
/* 016EA8 8003BAA8 00431024 */ and $v0, $v0, $v1
|
|
/* 016EAC 8003BAAC 14400004 */ bnez $v0, .L8003BAC0
|
|
/* 016EB0 8003BAB0 00000000 */ nop
|
|
/* 016EB4 8003BAB4 0C0B7A90 */ jal func_802DEA40
|
|
/* 016EB8 8003BAB8 96640028 */ lhu $a0, 0x28($s3)
|
|
/* 016EBC 8003BABC AE6200C4 */ sw $v0, 0xc4($s3)
|
|
.L8003BAC0:
|
|
/* 016EC0 8003BAC0 8E6400C4 */ lw $a0, 0xc4($s3)
|
|
/* 016EC4 8003BAC4 A26000C1 */ sb $zero, 0xc1($s3)
|
|
/* 016EC8 8003BAC8 8C830000 */ lw $v1, ($a0)
|
|
/* 016ECC 8003BACC 2402FFFF */ addiu $v0, $zero, -1
|
|
/* 016ED0 8003BAD0 1062000B */ beq $v1, $v0, .L8003BB00
|
|
/* 016ED4 8003BAD4 0080182D */ daddu $v1, $a0, $zero
|
|
/* 016ED8 8003BAD8 0040202D */ daddu $a0, $v0, $zero
|
|
.L8003BADC:
|
|
/* 016EDC 8003BADC 926200C1 */ lbu $v0, 0xc1($s3)
|
|
/* 016EE0 8003BAE0 24420001 */ addiu $v0, $v0, 1
|
|
/* 016EE4 8003BAE4 A26200C1 */ sb $v0, 0xc1($s3)
|
|
/* 016EE8 8003BAE8 00021600 */ sll $v0, $v0, 0x18
|
|
/* 016EEC 8003BAEC 00021583 */ sra $v0, $v0, 0x16
|
|
/* 016EF0 8003BAF0 00431021 */ addu $v0, $v0, $v1
|
|
/* 016EF4 8003BAF4 8C420000 */ lw $v0, ($v0)
|
|
/* 016EF8 8003BAF8 1444FFF8 */ bne $v0, $a0, .L8003BADC
|
|
/* 016EFC 8003BAFC 00000000 */ nop
|
|
.L8003BB00:
|
|
/* 016F00 8003BB00 826300B6 */ lb $v1, 0xb6($s3)
|
|
/* 016F04 8003BB04 24020001 */ addiu $v0, $zero, 1
|
|
/* 016F08 8003BB08 14620004 */ bne $v1, $v0, .L8003BB1C
|
|
/* 016F0C 8003BB0C 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 016F10 8003BB10 A26000B7 */ sb $zero, 0xb7($s3)
|
|
/* 016F14 8003BB14 0800EEC9 */ j .L8003BB24
|
|
/* 016F18 8003BB18 A66000BE */ sh $zero, 0xbe($s3)
|
|
|
|
.L8003BB1C:
|
|
/* 016F1C 8003BB1C A26000B7 */ sb $zero, 0xb7($s3)
|
|
/* 016F20 8003BB20 A66200BE */ sh $v0, 0xbe($s3)
|
|
.L8003BB24:
|
|
/* 016F24 8003BB24 826200C1 */ lb $v0, 0xc1($s3)
|
|
/* 016F28 8003BB28 18400018 */ blez $v0, .L8003BB8C
|
|
/* 016F2C 8003BB2C 0000202D */ daddu $a0, $zero, $zero
|
|
/* 016F30 8003BB30 0260302D */ daddu $a2, $s3, $zero
|
|
/* 016F34 8003BB34 240500C8 */ addiu $a1, $zero, 0xc8
|
|
.L8003BB38:
|
|
/* 016F38 8003BB38 8E6300C4 */ lw $v1, 0xc4($s3)
|
|
/* 016F3C 8003BB3C 00041080 */ sll $v0, $a0, 2
|
|
/* 016F40 8003BB40 00431021 */ addu $v0, $v0, $v1
|
|
/* 016F44 8003BB44 8C520000 */ lw $s2, ($v0)
|
|
/* 016F48 8003BB48 02658821 */ addu $s1, $s3, $a1
|
|
/* 016F4C 8003BB4C 12400009 */ beqz $s2, .L8003BB74
|
|
/* 016F50 8003BB50 ACD102C8 */ sw $s1, 0x2c8($a2)
|
|
/* 016F54 8003BB54 0000802D */ daddu $s0, $zero, $zero
|
|
.L8003BB58:
|
|
/* 016F58 8003BB58 96420000 */ lhu $v0, ($s2)
|
|
/* 016F5C 8003BB5C 26520002 */ addiu $s2, $s2, 2
|
|
/* 016F60 8003BB60 26100001 */ addiu $s0, $s0, 1
|
|
/* 016F64 8003BB64 A6220000 */ sh $v0, ($s1)
|
|
/* 016F68 8003BB68 2A020010 */ slti $v0, $s0, 0x10
|
|
/* 016F6C 8003BB6C 1440FFFA */ bnez $v0, .L8003BB58
|
|
/* 016F70 8003BB70 26310002 */ addiu $s1, $s1, 2
|
|
.L8003BB74:
|
|
/* 016F74 8003BB74 24C60004 */ addiu $a2, $a2, 4
|
|
/* 016F78 8003BB78 826200C1 */ lb $v0, 0xc1($s3)
|
|
/* 016F7C 8003BB7C 24840001 */ addiu $a0, $a0, 1
|
|
/* 016F80 8003BB80 0082102A */ slt $v0, $a0, $v0
|
|
/* 016F84 8003BB84 1440FFEC */ bnez $v0, .L8003BB38
|
|
/* 016F88 8003BB88 24A50020 */ addiu $a1, $a1, 0x20
|
|
.L8003BB8C:
|
|
/* 016F8C 8003BB8C 16800007 */ bnez $s4, .L8003BBAC
|
|
/* 016F90 8003BB90 00000000 */ nop
|
|
/* 016F94 8003BB94 9662030C */ lhu $v0, 0x30c($s3)
|
|
/* 016F98 8003BB98 A660030C */ sh $zero, 0x30c($s3)
|
|
/* 016F9C 8003BB9C A662030E */ sh $v0, 0x30e($s3)
|
|
/* 016FA0 8003BBA0 0040182D */ daddu $v1, $v0, $zero
|
|
/* 016FA4 8003BBA4 A6620310 */ sh $v0, 0x310($s3)
|
|
/* 016FA8 8003BBA8 A6630312 */ sh $v1, 0x312($s3)
|
|
.L8003BBAC:
|
|
/* 016FAC 8003BBAC 9662030C */ lhu $v0, 0x30c($s3)
|
|
/* 016FB0 8003BBB0 A66000BE */ sh $zero, 0xbe($s3)
|
|
/* 016FB4 8003BBB4 A26000B7 */ sb $zero, 0xb7($s3)
|
|
/* 016FB8 8003BBB8 A26000B6 */ sb $zero, 0xb6($s3)
|
|
/* 016FBC 8003BBBC A66200BC */ sh $v0, 0xbc($s3)
|
|
.L8003BBC0:
|
|
/* 016FC0 8003BBC0 826300B7 */ lb $v1, 0xb7($s3)
|
|
/* 016FC4 8003BBC4 10600005 */ beqz $v1, .L8003BBDC
|
|
/* 016FC8 8003BBC8 24020001 */ addiu $v0, $zero, 1
|
|
/* 016FCC 8003BBCC 1062000C */ beq $v1, $v0, .L8003BC00
|
|
/* 016FD0 8003BBD0 24020002 */ addiu $v0, $zero, 2
|
|
/* 016FD4 8003BBD4 0800EF40 */ j .L8003BD00
|
|
/* 016FD8 8003BBD8 00000000 */ nop
|
|
|
|
.L8003BBDC:
|
|
/* 016FDC 8003BBDC 866200BC */ lh $v0, 0xbc($s3)
|
|
/* 016FE0 8003BBE0 966300BC */ lhu $v1, 0xbc($s3)
|
|
/* 016FE4 8003BBE4 10400003 */ beqz $v0, .L8003BBF4
|
|
/* 016FE8 8003BBE8 2462FFFF */ addiu $v0, $v1, -1
|
|
/* 016FEC 8003BBEC 0800EF3E */ j .L8003BCF8
|
|
/* 016FF0 8003BBF0 A66200BC */ sh $v0, 0xbc($s3)
|
|
|
|
.L8003BBF4:
|
|
/* 016FF4 8003BBF4 24020001 */ addiu $v0, $zero, 1
|
|
/* 016FF8 8003BBF8 A66000BE */ sh $zero, 0xbe($s3)
|
|
/* 016FFC 8003BBFC A26200B7 */ sb $v0, 0xb7($s3)
|
|
.L8003BC00:
|
|
/* 017000 8003BC00 8662030E */ lh $v0, 0x30e($s3)
|
|
/* 017004 8003BC04 24036400 */ addiu $v1, $zero, 0x6400
|
|
/* 017008 8003BC08 14400002 */ bnez $v0, .L8003BC14
|
|
/* 01700C 8003BC0C 0062001A */ div $zero, $v1, $v0
|
|
/* 017010 8003BC10 0007000D */ break 7
|
|
.L8003BC14:
|
|
/* 017014 8003BC14 2401FFFF */ addiu $at, $zero, -1
|
|
/* 017018 8003BC18 14410004 */ bne $v0, $at, .L8003BC2C
|
|
/* 01701C 8003BC1C 3C018000 */ lui $at, 0x8000
|
|
/* 017020 8003BC20 14610002 */ bne $v1, $at, .L8003BC2C
|
|
/* 017024 8003BC24 00000000 */ nop
|
|
/* 017028 8003BC28 0006000D */ break 6
|
|
.L8003BC2C:
|
|
/* 01702C 8003BC2C 00001812 */ mflo $v1
|
|
/* 017030 8003BC30 966200BE */ lhu $v0, 0xbe($s3)
|
|
/* 017034 8003BC34 00431021 */ addu $v0, $v0, $v1
|
|
/* 017038 8003BC38 A66200BE */ sh $v0, 0xbe($s3)
|
|
/* 01703C 8003BC3C 00021400 */ sll $v0, $v0, 0x10
|
|
/* 017040 8003BC40 00021403 */ sra $v0, $v0, 0x10
|
|
/* 017044 8003BC44 2842639D */ slti $v0, $v0, 0x639d
|
|
/* 017048 8003BC48 14400003 */ bnez $v0, .L8003BC58
|
|
/* 01704C 8003BC4C 3C0651EB */ lui $a2, 0x51eb
|
|
/* 017050 8003BC50 2402639C */ addiu $v0, $zero, 0x639c
|
|
/* 017054 8003BC54 A66200BE */ sh $v0, 0xbe($s3)
|
|
.L8003BC58:
|
|
/* 017058 8003BC58 34C6851F */ ori $a2, $a2, 0x851f
|
|
/* 01705C 8003BC5C 267400C8 */ addiu $s4, $s3, 0xc8
|
|
/* 017060 8003BC60 0000802D */ daddu $s0, $zero, $zero
|
|
/* 017064 8003BC64 86620308 */ lh $v0, 0x308($s3)
|
|
/* 017068 8003BC68 8E6500C4 */ lw $a1, 0xc4($s3)
|
|
/* 01706C 8003BC6C 966300BE */ lhu $v1, 0xbe($s3)
|
|
/* 017070 8003BC70 00021080 */ sll $v0, $v0, 2
|
|
/* 017074 8003BC74 00451021 */ addu $v0, $v0, $a1
|
|
/* 017078 8003BC78 00031C00 */ sll $v1, $v1, 0x10
|
|
/* 01707C 8003BC7C 00032403 */ sra $a0, $v1, 0x10
|
|
/* 017080 8003BC80 8C520000 */ lw $s2, ($v0)
|
|
/* 017084 8003BC84 8662030A */ lh $v0, 0x30a($s3)
|
|
/* 017088 8003BC88 00860018 */ mult $a0, $a2
|
|
/* 01708C 8003BC8C 00021080 */ sll $v0, $v0, 2
|
|
/* 017090 8003BC90 00451021 */ addu $v0, $v0, $a1
|
|
/* 017094 8003BC94 8C510000 */ lw $s1, ($v0)
|
|
/* 017098 8003BC98 00031FC3 */ sra $v1, $v1, 0x1f
|
|
/* 01709C 8003BC9C AE7402C8 */ sw $s4, 0x2c8($s3)
|
|
/* 0170A0 8003BCA0 00004010 */ mfhi $t0
|
|
/* 0170A4 8003BCA4 00081143 */ sra $v0, $t0, 5
|
|
/* 0170A8 8003BCA8 00431023 */ subu $v0, $v0, $v1
|
|
/* 0170AC 8003BCAC 00021400 */ sll $v0, $v0, 0x10
|
|
/* 0170B0 8003BCB0 0002AC03 */ sra $s5, $v0, 0x10
|
|
.L8003BCB4:
|
|
/* 0170B4 8003BCB4 96440000 */ lhu $a0, ($s2)
|
|
/* 0170B8 8003BCB8 26520002 */ addiu $s2, $s2, 2
|
|
/* 0170BC 8003BCBC 96250000 */ lhu $a1, ($s1)
|
|
/* 0170C0 8003BCC0 26310002 */ addiu $s1, $s1, 2
|
|
/* 0170C4 8003BCC4 02A0302D */ daddu $a2, $s5, $zero
|
|
/* 0170C8 8003BCC8 0C00EE5B */ jal func_8003B96C
|
|
/* 0170CC 8003BCCC 26100001 */ addiu $s0, $s0, 1
|
|
/* 0170D0 8003BCD0 A6820000 */ sh $v0, ($s4)
|
|
/* 0170D4 8003BCD4 2A020010 */ slti $v0, $s0, 0x10
|
|
/* 0170D8 8003BCD8 1440FFF6 */ bnez $v0, .L8003BCB4
|
|
/* 0170DC 8003BCDC 26940002 */ addiu $s4, $s4, 2
|
|
/* 0170E0 8003BCE0 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 0170E4 8003BCE4 16A20004 */ bne $s5, $v0, .L8003BCF8
|
|
/* 0170E8 8003BCE8 24020002 */ addiu $v0, $zero, 2
|
|
/* 0170EC 8003BCEC 96630310 */ lhu $v1, 0x310($s3)
|
|
/* 0170F0 8003BCF0 A26200B7 */ sb $v0, 0xb7($s3)
|
|
/* 0170F4 8003BCF4 A66300BC */ sh $v1, 0xbc($s3)
|
|
.L8003BCF8:
|
|
/* 0170F8 8003BCF8 826300B7 */ lb $v1, 0xb7($s3)
|
|
/* 0170FC 8003BCFC 24020002 */ addiu $v0, $zero, 2
|
|
.L8003BD00:
|
|
/* 017100 8003BD00 10620005 */ beq $v1, $v0, .L8003BD18
|
|
/* 017104 8003BD04 24020003 */ addiu $v0, $zero, 3
|
|
/* 017108 8003BD08 1062000A */ beq $v1, $v0, .L8003BD34
|
|
/* 01710C 8003BD0C 00000000 */ nop
|
|
/* 017110 8003BD10 0800EF8B */ j .L8003BE2C
|
|
/* 017114 8003BD14 00000000 */ nop
|
|
|
|
.L8003BD18:
|
|
/* 017118 8003BD18 866200BC */ lh $v0, 0xbc($s3)
|
|
/* 01711C 8003BD1C 966300BC */ lhu $v1, 0xbc($s3)
|
|
/* 017120 8003BD20 14400041 */ bnez $v0, .L8003BE28
|
|
/* 017124 8003BD24 2462FFFF */ addiu $v0, $v1, -1
|
|
/* 017128 8003BD28 24020003 */ addiu $v0, $zero, 3
|
|
/* 01712C 8003BD2C A66000BE */ sh $zero, 0xbe($s3)
|
|
/* 017130 8003BD30 A26200B7 */ sb $v0, 0xb7($s3)
|
|
.L8003BD34:
|
|
/* 017134 8003BD34 86620312 */ lh $v0, 0x312($s3)
|
|
/* 017138 8003BD38 24036400 */ addiu $v1, $zero, 0x6400
|
|
/* 01713C 8003BD3C 14400002 */ bnez $v0, .L8003BD48
|
|
/* 017140 8003BD40 0062001A */ div $zero, $v1, $v0
|
|
/* 017144 8003BD44 0007000D */ break 7
|
|
.L8003BD48:
|
|
/* 017148 8003BD48 2401FFFF */ addiu $at, $zero, -1
|
|
/* 01714C 8003BD4C 14410004 */ bne $v0, $at, .L8003BD60
|
|
/* 017150 8003BD50 3C018000 */ lui $at, 0x8000
|
|
/* 017154 8003BD54 14610002 */ bne $v1, $at, .L8003BD60
|
|
/* 017158 8003BD58 00000000 */ nop
|
|
/* 01715C 8003BD5C 0006000D */ break 6
|
|
.L8003BD60:
|
|
/* 017160 8003BD60 00001812 */ mflo $v1
|
|
/* 017164 8003BD64 966200BE */ lhu $v0, 0xbe($s3)
|
|
/* 017168 8003BD68 00431021 */ addu $v0, $v0, $v1
|
|
/* 01716C 8003BD6C A66200BE */ sh $v0, 0xbe($s3)
|
|
/* 017170 8003BD70 00021400 */ sll $v0, $v0, 0x10
|
|
/* 017174 8003BD74 00021403 */ sra $v0, $v0, 0x10
|
|
/* 017178 8003BD78 2842639D */ slti $v0, $v0, 0x639d
|
|
/* 01717C 8003BD7C 14400003 */ bnez $v0, .L8003BD8C
|
|
/* 017180 8003BD80 3C0651EB */ lui $a2, 0x51eb
|
|
/* 017184 8003BD84 2402639C */ addiu $v0, $zero, 0x639c
|
|
/* 017188 8003BD88 A66200BE */ sh $v0, 0xbe($s3)
|
|
.L8003BD8C:
|
|
/* 01718C 8003BD8C 34C6851F */ ori $a2, $a2, 0x851f
|
|
/* 017190 8003BD90 267400C8 */ addiu $s4, $s3, 0xc8
|
|
/* 017194 8003BD94 0000802D */ daddu $s0, $zero, $zero
|
|
/* 017198 8003BD98 8662030A */ lh $v0, 0x30a($s3)
|
|
/* 01719C 8003BD9C 8E6500C4 */ lw $a1, 0xc4($s3)
|
|
/* 0171A0 8003BDA0 966300BE */ lhu $v1, 0xbe($s3)
|
|
/* 0171A4 8003BDA4 00021080 */ sll $v0, $v0, 2
|
|
/* 0171A8 8003BDA8 00451021 */ addu $v0, $v0, $a1
|
|
/* 0171AC 8003BDAC 00031C00 */ sll $v1, $v1, 0x10
|
|
/* 0171B0 8003BDB0 00032403 */ sra $a0, $v1, 0x10
|
|
/* 0171B4 8003BDB4 8C520000 */ lw $s2, ($v0)
|
|
/* 0171B8 8003BDB8 86620308 */ lh $v0, 0x308($s3)
|
|
/* 0171BC 8003BDBC 00860018 */ mult $a0, $a2
|
|
/* 0171C0 8003BDC0 00021080 */ sll $v0, $v0, 2
|
|
/* 0171C4 8003BDC4 00451021 */ addu $v0, $v0, $a1
|
|
/* 0171C8 8003BDC8 8C510000 */ lw $s1, ($v0)
|
|
/* 0171CC 8003BDCC 00031FC3 */ sra $v1, $v1, 0x1f
|
|
/* 0171D0 8003BDD0 AE7402C8 */ sw $s4, 0x2c8($s3)
|
|
/* 0171D4 8003BDD4 00004010 */ mfhi $t0
|
|
/* 0171D8 8003BDD8 00081143 */ sra $v0, $t0, 5
|
|
/* 0171DC 8003BDDC 00431023 */ subu $v0, $v0, $v1
|
|
/* 0171E0 8003BDE0 00021400 */ sll $v0, $v0, 0x10
|
|
/* 0171E4 8003BDE4 0002AC03 */ sra $s5, $v0, 0x10
|
|
.L8003BDE8:
|
|
/* 0171E8 8003BDE8 96440000 */ lhu $a0, ($s2)
|
|
/* 0171EC 8003BDEC 26520002 */ addiu $s2, $s2, 2
|
|
/* 0171F0 8003BDF0 96250000 */ lhu $a1, ($s1)
|
|
/* 0171F4 8003BDF4 26310002 */ addiu $s1, $s1, 2
|
|
/* 0171F8 8003BDF8 02A0302D */ daddu $a2, $s5, $zero
|
|
/* 0171FC 8003BDFC 0C00EE5B */ jal func_8003B96C
|
|
/* 017200 8003BE00 26100001 */ addiu $s0, $s0, 1
|
|
/* 017204 8003BE04 A6820000 */ sh $v0, ($s4)
|
|
/* 017208 8003BE08 2A020010 */ slti $v0, $s0, 0x10
|
|
/* 01720C 8003BE0C 1440FFF6 */ bnez $v0, .L8003BDE8
|
|
/* 017210 8003BE10 26940002 */ addiu $s4, $s4, 2
|
|
/* 017214 8003BE14 240200FF */ addiu $v0, $zero, 0xff
|
|
/* 017218 8003BE18 16A20004 */ bne $s5, $v0, .L8003BE2C
|
|
/* 01721C 8003BE1C 00000000 */ nop
|
|
/* 017220 8003BE20 9662030C */ lhu $v0, 0x30c($s3)
|
|
/* 017224 8003BE24 A26000B7 */ sb $zero, 0xb7($s3)
|
|
.L8003BE28:
|
|
/* 017228 8003BE28 A66200BC */ sh $v0, 0xbc($s3)
|
|
.L8003BE2C:
|
|
/* 01722C 8003BE2C 826300B7 */ lb $v1, 0xb7($s3)
|
|
/* 017230 8003BE30 28620004 */ slti $v0, $v1, 4
|
|
/* 017234 8003BE34 1040001D */ beqz $v0, .L8003BEAC
|
|
/* 017238 8003BE38 00000000 */ nop
|
|
/* 01723C 8003BE3C 0460001B */ bltz $v1, .L8003BEAC
|
|
/* 017240 8003BE40 3C034000 */ lui $v1, 0x4000
|
|
/* 017244 8003BE44 8E620000 */ lw $v0, ($s3)
|
|
/* 017248 8003BE48 00431024 */ and $v0, $v0, $v1
|
|
/* 01724C 8003BE4C 14400017 */ bnez $v0, .L8003BEAC
|
|
/* 017250 8003BE50 02C0282D */ daddu $a1, $s6, $zero
|
|
/* 017254 8003BE54 926300AC */ lbu $v1, 0xac($s3)
|
|
/* 017258 8003BE58 926200AD */ lbu $v0, 0xad($s3)
|
|
/* 01725C 8003BE5C 00620018 */ mult $v1, $v0
|
|
/* 017260 8003BE60 00001812 */ mflo $v1
|
|
/* 017264 8003BE64 3C028080 */ lui $v0, 0x8080
|
|
/* 017268 8003BE68 34428081 */ ori $v0, $v0, 0x8081
|
|
/* 01726C 8003BE6C 00620018 */ mult $v1, $v0
|
|
/* 017270 8003BE70 8E660024 */ lw $a2, 0x24($s3)
|
|
/* 017274 8003BE74 266702C8 */ addiu $a3, $s3, 0x2c8
|
|
/* 017278 8003BE78 AFB70010 */ sw $s7, 0x10($sp)
|
|
/* 01727C 8003BE7C 00004810 */ mfhi $t1
|
|
/* 017280 8003BE80 01231021 */ addu $v0, $t1, $v1
|
|
/* 017284 8003BE84 000211C3 */ sra $v0, $v0, 7
|
|
/* 017288 8003BE88 00031FC3 */ sra $v1, $v1, 0x1f
|
|
/* 01728C 8003BE8C 0043A823 */ subu $s5, $v0, $v1
|
|
/* 017290 8003BE90 2AA400FF */ slti $a0, $s5, 0xff
|
|
/* 017294 8003BE94 000427C0 */ sll $a0, $a0, 0x1f
|
|
/* 017298 8003BE98 3C022000 */ lui $v0, 0x2000
|
|
/* 01729C 8003BE9C 00822025 */ or $a0, $a0, $v0
|
|
/* 0172A0 8003BEA0 00C42025 */ or $a0, $a2, $a0
|
|
/* 0172A4 8003BEA4 0C0B78F6 */ jal func_802DE3D8
|
|
/* 0172A8 8003BEA8 02A0302D */ daddu $a2, $s5, $zero
|
|
.L8003BEAC:
|
|
/* 0172AC 8003BEAC 8FBF0038 */ lw $ra, 0x38($sp)
|
|
/* 0172B0 8003BEB0 8FB70034 */ lw $s7, 0x34($sp)
|
|
/* 0172B4 8003BEB4 8FB60030 */ lw $s6, 0x30($sp)
|
|
/* 0172B8 8003BEB8 8FB5002C */ lw $s5, 0x2c($sp)
|
|
/* 0172BC 8003BEBC 8FB40028 */ lw $s4, 0x28($sp)
|
|
/* 0172C0 8003BEC0 8FB30024 */ lw $s3, 0x24($sp)
|
|
/* 0172C4 8003BEC4 8FB20020 */ lw $s2, 0x20($sp)
|
|
/* 0172C8 8003BEC8 8FB1001C */ lw $s1, 0x1c($sp)
|
|
/* 0172CC 8003BECC 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* 0172D0 8003BED0 03E00008 */ jr $ra
|
|
/* 0172D4 8003BED4 27BD0040 */ addiu $sp, $sp, 0x40
|
|
|