mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
344 lines
17 KiB
ArmAsm
344 lines
17 KiB
ArmAsm
|
.set noat # allow manual use of $at
|
||
|
.set noreorder # don't insert nops after branches
|
||
|
|
||
|
glabel func_80052310
|
||
|
/* 2D710 80052310 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||
|
/* 2D714 80052314 AFB60028 */ sw $s6, 0x28($sp)
|
||
|
/* 2D718 80052318 0080B02D */ daddu $s6, $a0, $zero
|
||
|
/* 2D71C 8005231C AFB20018 */ sw $s2, 0x18($sp)
|
||
|
/* 2D720 80052320 0000902D */ daddu $s2, $zero, $zero
|
||
|
/* 2D724 80052324 AFB50024 */ sw $s5, 0x24($sp)
|
||
|
/* 2D728 80052328 3C158008 */ lui $s5, %hi(D_80078570)
|
||
|
/* 2D72C 8005232C 26B58570 */ addiu $s5, $s5, %lo(D_80078570)
|
||
|
/* 2D730 80052330 AFB3001C */ sw $s3, 0x1c($sp)
|
||
|
/* 2D734 80052334 241300B8 */ addiu $s3, $zero, 0xb8
|
||
|
/* 2D738 80052338 AFB40020 */ sw $s4, 0x20($sp)
|
||
|
/* 2D73C 8005233C 2414FFFF */ addiu $s4, $zero, -1
|
||
|
/* 2D740 80052340 AFB10014 */ sw $s1, 0x14($sp)
|
||
|
/* 2D744 80052344 24111320 */ addiu $s1, $zero, 0x1320
|
||
|
/* 2D748 80052348 AFBF002C */ sw $ra, 0x2c($sp)
|
||
|
/* 2D74C 8005234C AFB00010 */ sw $s0, 0x10($sp)
|
||
|
/* 2D750 80052350 02D18021 */ addu $s0, $s6, $s1
|
||
|
.L80052354:
|
||
|
/* 2D754 80052354 8E02001C */ lw $v0, 0x1c($s0)
|
||
|
/* 2D758 80052358 50400118 */ beql $v0, $zero, .L800527BC
|
||
|
/* 2D75C 8005235C 26310048 */ addiu $s1, $s1, 0x48
|
||
|
/* 2D760 80052360 9204003D */ lbu $a0, 0x3d($s0)
|
||
|
/* 2D764 80052364 30820002 */ andi $v0, $a0, 2
|
||
|
/* 2D768 80052368 10400005 */ beqz $v0, .L80052380
|
||
|
/* 2D76C 8005236C 30820010 */ andi $v0, $a0, 0x10
|
||
|
/* 2D770 80052370 0C0149FD */ jal func_800527F4
|
||
|
/* 2D774 80052374 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 2D778 80052378 080149EF */ j .L800527BC
|
||
|
/* 2D77C 8005237C 26310048 */ addiu $s1, $s1, 0x48
|
||
|
.L80052380:
|
||
|
/* 2D780 80052380 1040005C */ beqz $v0, .L800524F4
|
||
|
/* 2D784 80052384 308200EF */ andi $v0, $a0, 0xef
|
||
|
/* 2D788 80052388 8E030018 */ lw $v1, 0x18($s0)
|
||
|
/* 2D78C 8005238C 8E040028 */ lw $a0, 0x28($s0)
|
||
|
/* 2D790 80052390 34420001 */ ori $v0, $v0, 1
|
||
|
/* 2D794 80052394 A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2D798 80052398 28821677 */ slti $v0, $a0, 0x1677
|
||
|
/* 2D79C 8005239C 1440000E */ bnez $v0, .L800523D8
|
||
|
/* 2D7A0 800523A0 AE03001C */ sw $v1, 0x1c($s0)
|
||
|
/* 2D7A4 800523A4 8E020024 */ lw $v0, 0x24($s0)
|
||
|
/* 2D7A8 800523A8 C602002C */ lwc1 $f2, 0x2c($s0)
|
||
|
/* 2D7AC 800523AC 00441023 */ subu $v0, $v0, $a0
|
||
|
/* 2D7B0 800523B0 44820000 */ mtc1 $v0, $f0
|
||
|
/* 2D7B4 800523B4 00000000 */ nop
|
||
|
/* 2D7B8 800523B8 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 2D7BC 800523BC 46001082 */ mul.s $f2, $f2, $f0
|
||
|
/* 2D7C0 800523C0 00000000 */ nop
|
||
|
/* 2D7C4 800523C4 92020039 */ lbu $v0, 0x39($s0)
|
||
|
/* 2D7C8 800523C8 4600110D */ trunc.w.s $f4, $f2
|
||
|
/* 2D7CC 800523CC 44032000 */ mfc1 $v1, $f4
|
||
|
/* 2D7D0 800523D0 080148F7 */ j .L800523DC
|
||
|
/* 2D7D4 800523D4 00431021 */ addu $v0, $v0, $v1
|
||
|
.L800523D8:
|
||
|
/* 2D7D8 800523D8 9202003A */ lbu $v0, 0x3a($s0)
|
||
|
.L800523DC:
|
||
|
/* 2D7DC 800523DC A2020039 */ sb $v0, 0x39($s0)
|
||
|
/* 2D7E0 800523E0 8E02001C */ lw $v0, 0x1c($s0)
|
||
|
/* 2D7E4 800523E4 90430000 */ lbu $v1, ($v0)
|
||
|
/* 2D7E8 800523E8 24420001 */ addiu $v0, $v0, 1
|
||
|
/* 2D7EC 800523EC AE02001C */ sw $v0, 0x1c($s0)
|
||
|
/* 2D7F0 800523F0 A203003B */ sb $v1, 0x3b($s0)
|
||
|
/* 2D7F4 800523F4 90440000 */ lbu $a0, ($v0)
|
||
|
/* 2D7F8 800523F8 80430000 */ lb $v1, ($v0)
|
||
|
/* 2D7FC 800523FC 24420001 */ addiu $v0, $v0, 1
|
||
|
/* 2D800 80052400 04610006 */ bgez $v1, .L8005241C
|
||
|
/* 2D804 80052404 AE02001C */ sw $v0, 0x1c($s0)
|
||
|
/* 2D808 80052408 3084007F */ andi $a0, $a0, 0x7f
|
||
|
/* 2D80C 8005240C 92030039 */ lbu $v1, 0x39($s0)
|
||
|
/* 2D810 80052410 24020001 */ addiu $v0, $zero, 1
|
||
|
/* 2D814 80052414 A202003E */ sb $v0, 0x3e($s0)
|
||
|
/* 2D818 80052418 A203003F */ sb $v1, 0x3f($s0)
|
||
|
.L8005241C:
|
||
|
/* 2D81C 8005241C 9202003B */ lbu $v0, 0x3b($s0)
|
||
|
/* 2D820 80052420 9205003D */ lbu $a1, 0x3d($s0)
|
||
|
/* 2D824 80052424 A204003A */ sb $a0, 0x3a($s0)
|
||
|
/* 2D828 80052428 00021080 */ sll $v0, $v0, 2
|
||
|
/* 2D82C 8005242C 00551021 */ addu $v0, $v0, $s5
|
||
|
/* 2D830 80052430 8C440000 */ lw $a0, ($v0)
|
||
|
/* 2D834 80052434 30A20020 */ andi $v0, $a1, 0x20
|
||
|
/* 2D838 80052438 AE040028 */ sw $a0, 0x28($s0)
|
||
|
/* 2D83C 8005243C 1040001A */ beqz $v0, .L800524A8
|
||
|
/* 2D840 80052440 AE040024 */ sw $a0, 0x24($s0)
|
||
|
/* 2D844 80052444 0080182D */ daddu $v1, $a0, $zero
|
||
|
/* 2D848 80052448 30A200DF */ andi $v0, $a1, 0xdf
|
||
|
/* 2D84C 8005244C A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2D850 80052450 28621677 */ slti $v0, $v1, 0x1677
|
||
|
/* 2D854 80052454 14400011 */ bnez $v0, .L8005249C
|
||
|
/* 2D858 80052458 2462E98A */ addiu $v0, $v1, -0x1676
|
||
|
/* 2D85C 8005245C 00621823 */ subu $v1, $v1, $v0
|
||
|
/* 2D860 80052460 C602002C */ lwc1 $f2, 0x2c($s0)
|
||
|
/* 2D864 80052464 44830000 */ mtc1 $v1, $f0
|
||
|
/* 2D868 80052468 00000000 */ nop
|
||
|
/* 2D86C 8005246C 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 2D870 80052470 AE020028 */ sw $v0, 0x28($s0)
|
||
|
/* 2D874 80052474 46001082 */ mul.s $f2, $f2, $f0
|
||
|
/* 2D878 80052478 00000000 */ nop
|
||
|
/* 2D87C 8005247C 9202003D */ lbu $v0, 0x3d($s0)
|
||
|
/* 2D880 80052480 92030039 */ lbu $v1, 0x39($s0)
|
||
|
/* 2D884 80052484 34420002 */ ori $v0, $v0, 2
|
||
|
/* 2D888 80052488 A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2D88C 8005248C 4600110D */ trunc.w.s $f4, $f2
|
||
|
/* 2D890 80052490 44022000 */ mfc1 $v0, $f4
|
||
|
/* 2D894 80052494 08014928 */ j .L800524A0
|
||
|
/* 2D898 80052498 00621821 */ addu $v1, $v1, $v0
|
||
|
.L8005249C:
|
||
|
/* 2D89C 8005249C 9203003A */ lbu $v1, 0x3a($s0)
|
||
|
.L800524A0:
|
||
|
/* 2D8A0 800524A0 0801492E */ j .L800524B8
|
||
|
/* 2D8A4 800524A4 AE130008 */ sw $s3, 8($s0)
|
||
|
.L800524A8:
|
||
|
/* 2D8A8 800524A8 0C014A1C */ jal func_80052870
|
||
|
/* 2D8AC 800524AC 00000000 */ nop
|
||
|
/* 2D8B0 800524B0 9203003A */ lbu $v1, 0x3a($s0)
|
||
|
/* 2D8B4 800524B4 AE020008 */ sw $v0, 8($s0)
|
||
|
.L800524B8:
|
||
|
/* 2D8B8 800524B8 00031400 */ sll $v0, $v1, 0x10
|
||
|
/* 2D8BC 800524BC 86030040 */ lh $v1, 0x40($s0)
|
||
|
/* 2D8C0 800524C0 00021403 */ sra $v0, $v0, 0x10
|
||
|
/* 2D8C4 800524C4 00430018 */ mult $v0, $v1
|
||
|
/* 2D8C8 800524C8 00003012 */ mflo $a2
|
||
|
/* 2D8CC 800524CC 9202003F */ lbu $v0, 0x3f($s0)
|
||
|
/* 2D8D0 800524D0 00000000 */ nop
|
||
|
/* 2D8D4 800524D4 00C20018 */ mult $a2, $v0
|
||
|
/* 2D8D8 800524D8 00003012 */ mflo $a2
|
||
|
/* 2D8DC 800524DC 8E030030 */ lw $v1, 0x30($s0)
|
||
|
/* 2D8E0 800524E0 00061383 */ sra $v0, $a2, 0xe
|
||
|
/* 2D8E4 800524E4 00430018 */ mult $v0, $v1
|
||
|
/* 2D8E8 800524E8 92020043 */ lbu $v0, 0x43($s0)
|
||
|
/* 2D8EC 800524EC 080149EA */ j .L800527A8
|
||
|
/* 2D8F0 800524F0 34420004 */ ori $v0, $v0, 4
|
||
|
.L800524F4:
|
||
|
/* 2D8F4 800524F4 8E020028 */ lw $v0, 0x28($s0)
|
||
|
/* 2D8F8 800524F8 14540015 */ bne $v0, $s4, .L80052550
|
||
|
/* 2D8FC 800524FC 2442E98A */ addiu $v0, $v0, -0x1676
|
||
|
/* 2D900 80052500 30820020 */ andi $v0, $a0, 0x20
|
||
|
/* 2D904 80052504 504000AD */ beql $v0, $zero, .L800527BC
|
||
|
/* 2D908 80052508 26310048 */ addiu $s1, $s1, 0x48
|
||
|
/* 2D90C 8005250C 92030039 */ lbu $v1, 0x39($s0)
|
||
|
/* 2D910 80052510 86020040 */ lh $v0, 0x40($s0)
|
||
|
/* 2D914 80052514 00620018 */ mult $v1, $v0
|
||
|
/* 2D918 80052518 00003012 */ mflo $a2
|
||
|
/* 2D91C 8005251C 9202003F */ lbu $v0, 0x3f($s0)
|
||
|
/* 2D920 80052520 00000000 */ nop
|
||
|
/* 2D924 80052524 00C20018 */ mult $a2, $v0
|
||
|
/* 2D928 80052528 00003012 */ mflo $a2
|
||
|
/* 2D92C 8005252C 8E030030 */ lw $v1, 0x30($s0)
|
||
|
/* 2D930 80052530 00061383 */ sra $v0, $a2, 0xe
|
||
|
/* 2D934 80052534 00430018 */ mult $v0, $v1
|
||
|
/* 2D938 80052538 92030043 */ lbu $v1, 0x43($s0)
|
||
|
/* 2D93C 8005253C 308200DF */ andi $v0, $a0, 0xdf
|
||
|
/* 2D940 80052540 A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2D944 80052544 34630004 */ ori $v1, $v1, 4
|
||
|
/* 2D948 80052548 080149EB */ j .L800527AC
|
||
|
/* 2D94C 8005254C A2030043 */ sb $v1, 0x43($s0)
|
||
|
.L80052550:
|
||
|
/* 2D950 80052550 1C40006A */ bgtz $v0, .L800526FC
|
||
|
/* 2D954 80052554 AE020028 */ sw $v0, 0x28($s0)
|
||
|
/* 2D958 80052558 8E02001C */ lw $v0, 0x1c($s0)
|
||
|
/* 2D95C 8005255C 90430000 */ lbu $v1, ($v0)
|
||
|
/* 2D960 80052560 240200FF */ addiu $v0, $zero, 0xff
|
||
|
/* 2D964 80052564 14620012 */ bne $v1, $v0, .L800525B0
|
||
|
/* 2D968 80052568 00000000 */ nop
|
||
|
/* 2D96C 8005256C 9202003D */ lbu $v0, 0x3d($s0)
|
||
|
/* 2D970 80052570 30420001 */ andi $v0, $v0, 1
|
||
|
/* 2D974 80052574 10400005 */ beqz $v0, .L8005258C
|
||
|
/* 2D978 80052578 24020001 */ addiu $v0, $zero, 1
|
||
|
/* 2D97C 8005257C A200003D */ sb $zero, 0x3d($s0)
|
||
|
/* 2D980 80052580 AE00001C */ sw $zero, 0x1c($s0)
|
||
|
/* 2D984 80052584 080149EE */ j .L800527B8
|
||
|
/* 2D988 80052588 A2020042 */ sb $v0, 0x42($s0)
|
||
|
.L8005258C:
|
||
|
/* 2D98C 8005258C 9203003A */ lbu $v1, 0x3a($s0)
|
||
|
/* 2D990 80052590 2402003B */ addiu $v0, $zero, 0x3b
|
||
|
/* 2D994 80052594 AE140028 */ sw $s4, 0x28($s0)
|
||
|
/* 2D998 80052598 AE140024 */ sw $s4, 0x24($s0)
|
||
|
/* 2D99C 8005259C A202003B */ sb $v0, 0x3b($s0)
|
||
|
/* 2D9A0 800525A0 AE130008 */ sw $s3, 8($s0)
|
||
|
/* 2D9A4 800525A4 AE00002C */ sw $zero, 0x2c($s0)
|
||
|
/* 2D9A8 800525A8 080149EE */ j .L800527B8
|
||
|
/* 2D9AC 800525AC A2030039 */ sb $v1, 0x39($s0)
|
||
|
.L800525B0:
|
||
|
/* 2D9B0 800525B0 0C014A6B */ jal func_800529AC
|
||
|
/* 2D9B4 800525B4 0200202D */ daddu $a0, $s0, $zero
|
||
|
/* 2D9B8 800525B8 A202003B */ sb $v0, 0x3b($s0)
|
||
|
/* 2D9BC 800525BC 304200FF */ andi $v0, $v0, 0xff
|
||
|
/* 2D9C0 800525C0 00021080 */ sll $v0, $v0, 2
|
||
|
/* 2D9C4 800525C4 8E03001C */ lw $v1, 0x1c($s0)
|
||
|
/* 2D9C8 800525C8 9204003A */ lbu $a0, 0x3a($s0)
|
||
|
/* 2D9CC 800525CC 00551021 */ addu $v0, $v0, $s5
|
||
|
/* 2D9D0 800525D0 A2040039 */ sb $a0, 0x39($s0)
|
||
|
/* 2D9D4 800525D4 90640000 */ lbu $a0, ($v1)
|
||
|
/* 2D9D8 800525D8 24630001 */ addiu $v1, $v1, 1
|
||
|
/* 2D9DC 800525DC AE03001C */ sw $v1, 0x1c($s0)
|
||
|
/* 2D9E0 800525E0 3084007F */ andi $a0, $a0, 0x7f
|
||
|
/* 2D9E4 800525E4 A204003A */ sb $a0, 0x3a($s0)
|
||
|
/* 2D9E8 800525E8 8C440000 */ lw $a0, ($v0)
|
||
|
/* 2D9EC 800525EC AE040028 */ sw $a0, 0x28($s0)
|
||
|
/* 2D9F0 800525F0 10800010 */ beqz $a0, .L80052634
|
||
|
/* 2D9F4 800525F4 AE040024 */ sw $a0, 0x24($s0)
|
||
|
/* 2D9F8 800525F8 9202003A */ lbu $v0, 0x3a($s0)
|
||
|
/* 2D9FC 800525FC 92030039 */ lbu $v1, 0x39($s0)
|
||
|
/* 2DA00 80052600 44821000 */ mtc1 $v0, $f2
|
||
|
/* 2DA04 80052604 00000000 */ nop
|
||
|
/* 2DA08 80052608 468010A0 */ cvt.s.w $f2, $f2
|
||
|
/* 2DA0C 8005260C 44830000 */ mtc1 $v1, $f0
|
||
|
/* 2DA10 80052610 00000000 */ nop
|
||
|
/* 2DA14 80052614 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 2DA18 80052618 46001081 */ sub.s $f2, $f2, $f0
|
||
|
/* 2DA1C 8005261C 44840000 */ mtc1 $a0, $f0
|
||
|
/* 2DA20 80052620 00000000 */ nop
|
||
|
/* 2DA24 80052624 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 2DA28 80052628 46001083 */ div.s $f2, $f2, $f0
|
||
|
/* 2DA2C 8005262C 0801498E */ j .L80052638
|
||
|
/* 2DA30 80052630 E602002C */ swc1 $f2, 0x2c($s0)
|
||
|
.L80052634:
|
||
|
/* 2DA34 80052634 AE00002C */ sw $zero, 0x2c($s0)
|
||
|
.L80052638:
|
||
|
/* 2DA38 80052638 9203003D */ lbu $v1, 0x3d($s0)
|
||
|
/* 2DA3C 8005263C 30620020 */ andi $v0, $v1, 0x20
|
||
|
/* 2DA40 80052640 1040001A */ beqz $v0, .L800526AC
|
||
|
/* 2DA44 80052644 306200DF */ andi $v0, $v1, 0xdf
|
||
|
/* 2DA48 80052648 8E040028 */ lw $a0, 0x28($s0)
|
||
|
/* 2DA4C 8005264C A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2DA50 80052650 28821677 */ slti $v0, $a0, 0x1677
|
||
|
/* 2DA54 80052654 14400012 */ bnez $v0, .L800526A0
|
||
|
/* 2DA58 80052658 2482E98A */ addiu $v0, $a0, -0x1676
|
||
|
/* 2DA5C 8005265C 8E030024 */ lw $v1, 0x24($s0)
|
||
|
/* 2DA60 80052660 C602002C */ lwc1 $f2, 0x2c($s0)
|
||
|
/* 2DA64 80052664 AE020028 */ sw $v0, 0x28($s0)
|
||
|
/* 2DA68 80052668 00621823 */ subu $v1, $v1, $v0
|
||
|
/* 2DA6C 8005266C 44830000 */ mtc1 $v1, $f0
|
||
|
/* 2DA70 80052670 00000000 */ nop
|
||
|
/* 2DA74 80052674 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 2DA78 80052678 46001082 */ mul.s $f2, $f2, $f0
|
||
|
/* 2DA7C 8005267C 00000000 */ nop
|
||
|
/* 2DA80 80052680 9202003D */ lbu $v0, 0x3d($s0)
|
||
|
/* 2DA84 80052684 92030039 */ lbu $v1, 0x39($s0)
|
||
|
/* 2DA88 80052688 34420002 */ ori $v0, $v0, 2
|
||
|
/* 2DA8C 8005268C A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2DA90 80052690 4600110D */ trunc.w.s $f4, $f2
|
||
|
/* 2DA94 80052694 44022000 */ mfc1 $v0, $f4
|
||
|
/* 2DA98 80052698 080149A9 */ j .L800526A4
|
||
|
/* 2DA9C 8005269C 00621821 */ addu $v1, $v1, $v0
|
||
|
.L800526A0:
|
||
|
/* 2DAA0 800526A0 9203003A */ lbu $v1, 0x3a($s0)
|
||
|
.L800526A4:
|
||
|
/* 2DAA4 800526A4 080149B0 */ j .L800526C0
|
||
|
/* 2DAA8 800526A8 AE130008 */ sw $s3, 8($s0)
|
||
|
.L800526AC:
|
||
|
/* 2DAAC 800526AC 8E040024 */ lw $a0, 0x24($s0)
|
||
|
/* 2DAB0 800526B0 0C014A1C */ jal func_80052870
|
||
|
/* 2DAB4 800526B4 00000000 */ nop
|
||
|
/* 2DAB8 800526B8 9203003A */ lbu $v1, 0x3a($s0)
|
||
|
/* 2DABC 800526BC AE020008 */ sw $v0, 8($s0)
|
||
|
.L800526C0:
|
||
|
/* 2DAC0 800526C0 00031400 */ sll $v0, $v1, 0x10
|
||
|
/* 2DAC4 800526C4 86030040 */ lh $v1, 0x40($s0)
|
||
|
/* 2DAC8 800526C8 00021403 */ sra $v0, $v0, 0x10
|
||
|
/* 2DACC 800526CC 00430018 */ mult $v0, $v1
|
||
|
/* 2DAD0 800526D0 00003012 */ mflo $a2
|
||
|
/* 2DAD4 800526D4 9202003F */ lbu $v0, 0x3f($s0)
|
||
|
/* 2DAD8 800526D8 00000000 */ nop
|
||
|
/* 2DADC 800526DC 00C20018 */ mult $a2, $v0
|
||
|
/* 2DAE0 800526E0 00003012 */ mflo $a2
|
||
|
/* 2DAE4 800526E4 8E030030 */ lw $v1, 0x30($s0)
|
||
|
/* 2DAE8 800526E8 00061383 */ sra $v0, $a2, 0xe
|
||
|
/* 2DAEC 800526EC 00430018 */ mult $v0, $v1
|
||
|
/* 2DAF0 800526F0 92020043 */ lbu $v0, 0x43($s0)
|
||
|
/* 2DAF4 800526F4 080149EA */ j .L800527A8
|
||
|
/* 2DAF8 800526F8 34420004 */ ori $v0, $v0, 4
|
||
|
.L800526FC:
|
||
|
/* 2DAFC 800526FC 9203003D */ lbu $v1, 0x3d($s0)
|
||
|
/* 2DB00 80052700 30620020 */ andi $v0, $v1, 0x20
|
||
|
/* 2DB04 80052704 5040002D */ beql $v0, $zero, .L800527BC
|
||
|
/* 2DB08 80052708 26310048 */ addiu $s1, $s1, 0x48
|
||
|
/* 2DB0C 8005270C 8E040028 */ lw $a0, 0x28($s0)
|
||
|
/* 2DB10 80052710 306200DF */ andi $v0, $v1, 0xdf
|
||
|
/* 2DB14 80052714 A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2DB18 80052718 28821677 */ slti $v0, $a0, 0x1677
|
||
|
/* 2DB1C 8005271C 14400012 */ bnez $v0, .L80052768
|
||
|
/* 2DB20 80052720 2482E98A */ addiu $v0, $a0, -0x1676
|
||
|
/* 2DB24 80052724 8E030024 */ lw $v1, 0x24($s0)
|
||
|
/* 2DB28 80052728 C602002C */ lwc1 $f2, 0x2c($s0)
|
||
|
/* 2DB2C 8005272C AE020028 */ sw $v0, 0x28($s0)
|
||
|
/* 2DB30 80052730 00621823 */ subu $v1, $v1, $v0
|
||
|
/* 2DB34 80052734 44830000 */ mtc1 $v1, $f0
|
||
|
/* 2DB38 80052738 00000000 */ nop
|
||
|
/* 2DB3C 8005273C 46800020 */ cvt.s.w $f0, $f0
|
||
|
/* 2DB40 80052740 46001082 */ mul.s $f2, $f2, $f0
|
||
|
/* 2DB44 80052744 00000000 */ nop
|
||
|
/* 2DB48 80052748 9202003D */ lbu $v0, 0x3d($s0)
|
||
|
/* 2DB4C 8005274C 92030039 */ lbu $v1, 0x39($s0)
|
||
|
/* 2DB50 80052750 34420002 */ ori $v0, $v0, 2
|
||
|
/* 2DB54 80052754 A202003D */ sb $v0, 0x3d($s0)
|
||
|
/* 2DB58 80052758 4600110D */ trunc.w.s $f4, $f2
|
||
|
/* 2DB5C 8005275C 44022000 */ mfc1 $v0, $f4
|
||
|
/* 2DB60 80052760 080149DB */ j .L8005276C
|
||
|
/* 2DB64 80052764 00621821 */ addu $v1, $v1, $v0
|
||
|
.L80052768:
|
||
|
/* 2DB68 80052768 9203003A */ lbu $v1, 0x3a($s0)
|
||
|
.L8005276C:
|
||
|
/* 2DB6C 8005276C 00031400 */ sll $v0, $v1, 0x10
|
||
|
/* 2DB70 80052770 86030040 */ lh $v1, 0x40($s0)
|
||
|
/* 2DB74 80052774 00021403 */ sra $v0, $v0, 0x10
|
||
|
/* 2DB78 80052778 00430018 */ mult $v0, $v1
|
||
|
/* 2DB7C 8005277C 00003012 */ mflo $a2
|
||
|
/* 2DB80 80052780 9202003F */ lbu $v0, 0x3f($s0)
|
||
|
/* 2DB84 80052784 00000000 */ nop
|
||
|
/* 2DB88 80052788 00C20018 */ mult $a2, $v0
|
||
|
/* 2DB8C 8005278C 00003012 */ mflo $a2
|
||
|
/* 2DB90 80052790 8E030030 */ lw $v1, 0x30($s0)
|
||
|
/* 2DB94 80052794 00061383 */ sra $v0, $a2, 0xe
|
||
|
/* 2DB98 80052798 00430018 */ mult $v0, $v1
|
||
|
/* 2DB9C 8005279C 92020043 */ lbu $v0, 0x43($s0)
|
||
|
/* 2DBA0 800527A0 AE130008 */ sw $s3, 8($s0)
|
||
|
/* 2DBA4 800527A4 34420004 */ ori $v0, $v0, 4
|
||
|
.L800527A8:
|
||
|
/* 2DBA8 800527A8 A2020043 */ sb $v0, 0x43($s0)
|
||
|
.L800527AC:
|
||
|
/* 2DBAC 800527AC 00003012 */ mflo $a2
|
||
|
/* 2DBB0 800527B0 000611C3 */ sra $v0, $a2, 7
|
||
|
/* 2DBB4 800527B4 A602000C */ sh $v0, 0xc($s0)
|
||
|
.L800527B8:
|
||
|
/* 2DBB8 800527B8 26310048 */ addiu $s1, $s1, 0x48
|
||
|
.L800527BC:
|
||
|
/* 2DBBC 800527BC 26520001 */ addiu $s2, $s2, 1
|
||
|
/* 2DBC0 800527C0 2A420018 */ slti $v0, $s2, 0x18
|
||
|
/* 2DBC4 800527C4 1440FEE3 */ bnez $v0, .L80052354
|
||
|
/* 2DBC8 800527C8 02D18021 */ addu $s0, $s6, $s1
|
||
|
/* 2DBCC 800527CC 8FBF002C */ lw $ra, 0x2c($sp)
|
||
|
/* 2DBD0 800527D0 8FB60028 */ lw $s6, 0x28($sp)
|
||
|
/* 2DBD4 800527D4 8FB50024 */ lw $s5, 0x24($sp)
|
||
|
/* 2DBD8 800527D8 8FB40020 */ lw $s4, 0x20($sp)
|
||
|
/* 2DBDC 800527DC 8FB3001C */ lw $s3, 0x1c($sp)
|
||
|
/* 2DBE0 800527E0 8FB20018 */ lw $s2, 0x18($sp)
|
||
|
/* 2DBE4 800527E4 8FB10014 */ lw $s1, 0x14($sp)
|
||
|
/* 2DBE8 800527E8 8FB00010 */ lw $s0, 0x10($sp)
|
||
|
/* 2DBEC 800527EC 03E00008 */ jr $ra
|
||
|
/* 2DBF0 800527F0 27BD0030 */ addiu $sp, $sp, 0x30
|