papermario/asm/nonmatchings/code_2d9a0_len_890/func_80052660.s

359 lines
16 KiB
ArmAsm
Raw Normal View History

2020-08-04 08:49:11 +02:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
2020-04-26 06:13:18 +02:00
2020-08-01 18:55:49 +02:00
glabel func_80052660
2020-04-26 06:13:18 +02:00
/* 02DA60 80052660 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 02DA64 80052664 AFB60028 */ sw $s6, 0x28($sp)
2020-04-26 08:34:37 +02:00
/* 02DA68 80052668 0080B02D */ daddu $s6, $a0, $zero
2020-04-26 06:13:18 +02:00
/* 02DA6C 8005266C AFB20018 */ sw $s2, 0x18($sp)
2020-04-26 08:34:37 +02:00
/* 02DA70 80052670 0000902D */ daddu $s2, $zero, $zero
2020-04-26 06:13:18 +02:00
/* 02DA74 80052674 AFB50024 */ sw $s5, 0x24($sp)
/* 02DA78 80052678 3C158008 */ lui $s5, 0x8008
/* 02DA7C 8005267C 26B585A0 */ addiu $s5, $s5, -0x7a60
/* 02DA80 80052680 AFB3001C */ sw $s3, 0x1c($sp)
/* 02DA84 80052684 241300B8 */ addiu $s3, $zero, 0xb8
/* 02DA88 80052688 AFB40020 */ sw $s4, 0x20($sp)
/* 02DA8C 8005268C 2414FFFF */ addiu $s4, $zero, -1
/* 02DA90 80052690 AFB10014 */ sw $s1, 0x14($sp)
/* 02DA94 80052694 24111320 */ addiu $s1, $zero, 0x1320
/* 02DA98 80052698 AFBF002C */ sw $ra, 0x2c($sp)
/* 02DA9C 8005269C AFB00010 */ sw $s0, 0x10($sp)
/* 02DAA0 800526A0 02D18021 */ addu $s0, $s6, $s1
.L800526A4:
/* 02DAA4 800526A4 8E02001C */ lw $v0, 0x1c($s0)
/* 02DAA8 800526A8 50400118 */ beql $v0, $zero, .L80052B0C
/* 02DAAC 800526AC 26310048 */ addiu $s1, $s1, 0x48
/* 02DAB0 800526B0 9204003D */ lbu $a0, 0x3d($s0)
/* 02DAB4 800526B4 30820002 */ andi $v0, $a0, 2
/* 02DAB8 800526B8 10400005 */ beqz $v0, .L800526D0
/* 02DABC 800526BC 30820010 */ andi $v0, $a0, 0x10
/* 02DAC0 800526C0 0C014AD1 */ jal func_80052B44
2020-04-26 08:34:37 +02:00
/* 02DAC4 800526C4 0200202D */ daddu $a0, $s0, $zero
2020-05-02 06:24:20 +02:00
/* 02DAC8 800526C8 08014AC3 */ j .L80052B0C
2020-04-26 06:13:18 +02:00
/* 02DACC 800526CC 26310048 */ addiu $s1, $s1, 0x48
.L800526D0:
/* 02DAD0 800526D0 1040005C */ beqz $v0, .L80052844
/* 02DAD4 800526D4 308200EF */ andi $v0, $a0, 0xef
/* 02DAD8 800526D8 8E030018 */ lw $v1, 0x18($s0)
/* 02DADC 800526DC 8E040028 */ lw $a0, 0x28($s0)
/* 02DAE0 800526E0 34420001 */ ori $v0, $v0, 1
/* 02DAE4 800526E4 A202003D */ sb $v0, 0x3d($s0)
/* 02DAE8 800526E8 28821677 */ slti $v0, $a0, 0x1677
/* 02DAEC 800526EC 1440000E */ bnez $v0, .L80052728
/* 02DAF0 800526F0 AE03001C */ sw $v1, 0x1c($s0)
/* 02DAF4 800526F4 8E020024 */ lw $v0, 0x24($s0)
/* 02DAF8 800526F8 C602002C */ lwc1 $f2, 0x2c($s0)
/* 02DAFC 800526FC 00441023 */ subu $v0, $v0, $a0
/* 02DB00 80052700 44820000 */ mtc1 $v0, $f0
/* 02DB04 80052704 00000000 */ nop
/* 02DB08 80052708 46800020 */ cvt.s.w $f0, $f0
/* 02DB0C 8005270C 46001082 */ mul.s $f2, $f2, $f0
/* 02DB10 80052710 00000000 */ nop
/* 02DB14 80052714 92020039 */ lbu $v0, 0x39($s0)
/* 02DB18 80052718 4600110D */ trunc.w.s $f4, $f2
/* 02DB1C 8005271C 44032000 */ mfc1 $v1, $f4
2020-05-02 06:24:20 +02:00
/* 02DB20 80052720 080149CB */ j .L8005272C
2020-04-26 06:13:18 +02:00
/* 02DB24 80052724 00431021 */ addu $v0, $v0, $v1
.L80052728:
/* 02DB28 80052728 9202003A */ lbu $v0, 0x3a($s0)
2020-05-02 06:24:20 +02:00
.L8005272C:
2020-04-26 06:13:18 +02:00
/* 02DB2C 8005272C A2020039 */ sb $v0, 0x39($s0)
/* 02DB30 80052730 8E02001C */ lw $v0, 0x1c($s0)
/* 02DB34 80052734 90430000 */ lbu $v1, ($v0)
/* 02DB38 80052738 24420001 */ addiu $v0, $v0, 1
/* 02DB3C 8005273C AE02001C */ sw $v0, 0x1c($s0)
/* 02DB40 80052740 A203003B */ sb $v1, 0x3b($s0)
/* 02DB44 80052744 90440000 */ lbu $a0, ($v0)
/* 02DB48 80052748 80430000 */ lb $v1, ($v0)
/* 02DB4C 8005274C 24420001 */ addiu $v0, $v0, 1
/* 02DB50 80052750 04610006 */ bgez $v1, .L8005276C
/* 02DB54 80052754 AE02001C */ sw $v0, 0x1c($s0)
/* 02DB58 80052758 3084007F */ andi $a0, $a0, 0x7f
/* 02DB5C 8005275C 92030039 */ lbu $v1, 0x39($s0)
/* 02DB60 80052760 24020001 */ addiu $v0, $zero, 1
/* 02DB64 80052764 A202003E */ sb $v0, 0x3e($s0)
/* 02DB68 80052768 A203003F */ sb $v1, 0x3f($s0)
.L8005276C:
/* 02DB6C 8005276C 9202003B */ lbu $v0, 0x3b($s0)
/* 02DB70 80052770 9205003D */ lbu $a1, 0x3d($s0)
/* 02DB74 80052774 A204003A */ sb $a0, 0x3a($s0)
/* 02DB78 80052778 00021080 */ sll $v0, $v0, 2
/* 02DB7C 8005277C 00551021 */ addu $v0, $v0, $s5
/* 02DB80 80052780 8C440000 */ lw $a0, ($v0)
/* 02DB84 80052784 30A20020 */ andi $v0, $a1, 0x20
/* 02DB88 80052788 AE040028 */ sw $a0, 0x28($s0)
/* 02DB8C 8005278C 1040001A */ beqz $v0, .L800527F8
/* 02DB90 80052790 AE040024 */ sw $a0, 0x24($s0)
2020-04-26 08:34:37 +02:00
/* 02DB94 80052794 0080182D */ daddu $v1, $a0, $zero
2020-04-26 06:13:18 +02:00
/* 02DB98 80052798 30A200DF */ andi $v0, $a1, 0xdf
/* 02DB9C 8005279C A202003D */ sb $v0, 0x3d($s0)
/* 02DBA0 800527A0 28621677 */ slti $v0, $v1, 0x1677
/* 02DBA4 800527A4 14400011 */ bnez $v0, .L800527EC
/* 02DBA8 800527A8 2462E98A */ addiu $v0, $v1, -0x1676
/* 02DBAC 800527AC 00621823 */ subu $v1, $v1, $v0
/* 02DBB0 800527B0 C602002C */ lwc1 $f2, 0x2c($s0)
/* 02DBB4 800527B4 44830000 */ mtc1 $v1, $f0
/* 02DBB8 800527B8 00000000 */ nop
/* 02DBBC 800527BC 46800020 */ cvt.s.w $f0, $f0
/* 02DBC0 800527C0 AE020028 */ sw $v0, 0x28($s0)
/* 02DBC4 800527C4 46001082 */ mul.s $f2, $f2, $f0
/* 02DBC8 800527C8 00000000 */ nop
/* 02DBCC 800527CC 9202003D */ lbu $v0, 0x3d($s0)
/* 02DBD0 800527D0 92030039 */ lbu $v1, 0x39($s0)
/* 02DBD4 800527D4 34420002 */ ori $v0, $v0, 2
/* 02DBD8 800527D8 A202003D */ sb $v0, 0x3d($s0)
/* 02DBDC 800527DC 4600110D */ trunc.w.s $f4, $f2
/* 02DBE0 800527E0 44022000 */ mfc1 $v0, $f4
2020-05-02 06:24:20 +02:00
/* 02DBE4 800527E4 080149FC */ j .L800527F0
2020-04-26 06:13:18 +02:00
/* 02DBE8 800527E8 00621821 */ addu $v1, $v1, $v0
.L800527EC:
/* 02DBEC 800527EC 9203003A */ lbu $v1, 0x3a($s0)
2020-05-02 06:24:20 +02:00
.L800527F0:
/* 02DBF0 800527F0 08014A02 */ j .L80052808
2020-04-26 06:13:18 +02:00
/* 02DBF4 800527F4 AE130008 */ sw $s3, 8($s0)
.L800527F8:
/* 02DBF8 800527F8 0C014AF0 */ jal func_80052BC0
/* 02DBFC 800527FC 00000000 */ nop
/* 02DC00 80052800 9203003A */ lbu $v1, 0x3a($s0)
/* 02DC04 80052804 AE020008 */ sw $v0, 8($s0)
2020-05-02 06:24:20 +02:00
.L80052808:
2020-04-26 06:13:18 +02:00
/* 02DC08 80052808 00031400 */ sll $v0, $v1, 0x10
/* 02DC0C 8005280C 86030040 */ lh $v1, 0x40($s0)
/* 02DC10 80052810 00021403 */ sra $v0, $v0, 0x10
/* 02DC14 80052814 00430018 */ mult $v0, $v1
/* 02DC18 80052818 00003012 */ mflo $a2
/* 02DC1C 8005281C 9202003F */ lbu $v0, 0x3f($s0)
/* 02DC20 80052820 00000000 */ nop
/* 02DC24 80052824 00C20018 */ mult $a2, $v0
/* 02DC28 80052828 00003012 */ mflo $a2
/* 02DC2C 8005282C 8E030030 */ lw $v1, 0x30($s0)
/* 02DC30 80052830 00061383 */ sra $v0, $a2, 0xe
/* 02DC34 80052834 00430018 */ mult $v0, $v1
/* 02DC38 80052838 92020043 */ lbu $v0, 0x43($s0)
2020-05-02 06:24:20 +02:00
/* 02DC3C 8005283C 08014ABE */ j .L80052AF8
2020-04-26 06:13:18 +02:00
/* 02DC40 80052840 34420004 */ ori $v0, $v0, 4
.L80052844:
/* 02DC44 80052844 8E020028 */ lw $v0, 0x28($s0)
/* 02DC48 80052848 14540015 */ bne $v0, $s4, .L800528A0
/* 02DC4C 8005284C 2442E98A */ addiu $v0, $v0, -0x1676
/* 02DC50 80052850 30820020 */ andi $v0, $a0, 0x20
/* 02DC54 80052854 504000AD */ beql $v0, $zero, .L80052B0C
/* 02DC58 80052858 26310048 */ addiu $s1, $s1, 0x48
/* 02DC5C 8005285C 92030039 */ lbu $v1, 0x39($s0)
/* 02DC60 80052860 86020040 */ lh $v0, 0x40($s0)
/* 02DC64 80052864 00620018 */ mult $v1, $v0
/* 02DC68 80052868 00003012 */ mflo $a2
/* 02DC6C 8005286C 9202003F */ lbu $v0, 0x3f($s0)
/* 02DC70 80052870 00000000 */ nop
/* 02DC74 80052874 00C20018 */ mult $a2, $v0
/* 02DC78 80052878 00003012 */ mflo $a2
/* 02DC7C 8005287C 8E030030 */ lw $v1, 0x30($s0)
/* 02DC80 80052880 00061383 */ sra $v0, $a2, 0xe
/* 02DC84 80052884 00430018 */ mult $v0, $v1
/* 02DC88 80052888 92030043 */ lbu $v1, 0x43($s0)
/* 02DC8C 8005288C 308200DF */ andi $v0, $a0, 0xdf
/* 02DC90 80052890 A202003D */ sb $v0, 0x3d($s0)
/* 02DC94 80052894 34630004 */ ori $v1, $v1, 4
2020-05-02 06:24:20 +02:00
/* 02DC98 80052898 08014ABF */ j .L80052AFC
2020-04-26 06:13:18 +02:00
/* 02DC9C 8005289C A2030043 */ sb $v1, 0x43($s0)
.L800528A0:
/* 02DCA0 800528A0 1C40006A */ bgtz $v0, .L80052A4C
/* 02DCA4 800528A4 AE020028 */ sw $v0, 0x28($s0)
/* 02DCA8 800528A8 8E02001C */ lw $v0, 0x1c($s0)
/* 02DCAC 800528AC 90430000 */ lbu $v1, ($v0)
/* 02DCB0 800528B0 240200FF */ addiu $v0, $zero, 0xff
/* 02DCB4 800528B4 14620012 */ bne $v1, $v0, .L80052900
/* 02DCB8 800528B8 00000000 */ nop
/* 02DCBC 800528BC 9202003D */ lbu $v0, 0x3d($s0)
/* 02DCC0 800528C0 30420001 */ andi $v0, $v0, 1
/* 02DCC4 800528C4 10400005 */ beqz $v0, .L800528DC
/* 02DCC8 800528C8 24020001 */ addiu $v0, $zero, 1
/* 02DCCC 800528CC A200003D */ sb $zero, 0x3d($s0)
/* 02DCD0 800528D0 AE00001C */ sw $zero, 0x1c($s0)
2020-05-02 06:24:20 +02:00
/* 02DCD4 800528D4 08014AC2 */ j .L80052B08
2020-04-26 06:13:18 +02:00
/* 02DCD8 800528D8 A2020042 */ sb $v0, 0x42($s0)
.L800528DC:
/* 02DCDC 800528DC 9203003A */ lbu $v1, 0x3a($s0)
/* 02DCE0 800528E0 2402003B */ addiu $v0, $zero, 0x3b
/* 02DCE4 800528E4 AE140028 */ sw $s4, 0x28($s0)
/* 02DCE8 800528E8 AE140024 */ sw $s4, 0x24($s0)
/* 02DCEC 800528EC A202003B */ sb $v0, 0x3b($s0)
/* 02DCF0 800528F0 AE130008 */ sw $s3, 8($s0)
/* 02DCF4 800528F4 AE00002C */ sw $zero, 0x2c($s0)
2020-05-02 06:24:20 +02:00
/* 02DCF8 800528F8 08014AC2 */ j .L80052B08
2020-04-26 06:13:18 +02:00
/* 02DCFC 800528FC A2030039 */ sb $v1, 0x39($s0)
.L80052900:
/* 02DD00 80052900 0C014B3F */ jal func_80052CFC
2020-04-26 08:34:37 +02:00
/* 02DD04 80052904 0200202D */ daddu $a0, $s0, $zero
2020-04-26 06:13:18 +02:00
/* 02DD08 80052908 A202003B */ sb $v0, 0x3b($s0)
/* 02DD0C 8005290C 304200FF */ andi $v0, $v0, 0xff
/* 02DD10 80052910 00021080 */ sll $v0, $v0, 2
/* 02DD14 80052914 8E03001C */ lw $v1, 0x1c($s0)
/* 02DD18 80052918 9204003A */ lbu $a0, 0x3a($s0)
/* 02DD1C 8005291C 00551021 */ addu $v0, $v0, $s5
/* 02DD20 80052920 A2040039 */ sb $a0, 0x39($s0)
/* 02DD24 80052924 90640000 */ lbu $a0, ($v1)
/* 02DD28 80052928 24630001 */ addiu $v1, $v1, 1
/* 02DD2C 8005292C AE03001C */ sw $v1, 0x1c($s0)
/* 02DD30 80052930 3084007F */ andi $a0, $a0, 0x7f
/* 02DD34 80052934 A204003A */ sb $a0, 0x3a($s0)
/* 02DD38 80052938 8C440000 */ lw $a0, ($v0)
/* 02DD3C 8005293C AE040028 */ sw $a0, 0x28($s0)
/* 02DD40 80052940 10800010 */ beqz $a0, .L80052984
/* 02DD44 80052944 AE040024 */ sw $a0, 0x24($s0)
/* 02DD48 80052948 9202003A */ lbu $v0, 0x3a($s0)
/* 02DD4C 8005294C 92030039 */ lbu $v1, 0x39($s0)
/* 02DD50 80052950 44821000 */ mtc1 $v0, $f2
/* 02DD54 80052954 00000000 */ nop
/* 02DD58 80052958 468010A0 */ cvt.s.w $f2, $f2
/* 02DD5C 8005295C 44830000 */ mtc1 $v1, $f0
/* 02DD60 80052960 00000000 */ nop
/* 02DD64 80052964 46800020 */ cvt.s.w $f0, $f0
/* 02DD68 80052968 46001081 */ sub.s $f2, $f2, $f0
/* 02DD6C 8005296C 44840000 */ mtc1 $a0, $f0
/* 02DD70 80052970 00000000 */ nop
/* 02DD74 80052974 46800020 */ cvt.s.w $f0, $f0
/* 02DD78 80052978 46001083 */ div.s $f2, $f2, $f0
2020-05-02 06:24:20 +02:00
/* 02DD7C 8005297C 08014A62 */ j .L80052988
2020-04-26 06:13:18 +02:00
/* 02DD80 80052980 E602002C */ swc1 $f2, 0x2c($s0)
.L80052984:
/* 02DD84 80052984 AE00002C */ sw $zero, 0x2c($s0)
2020-05-02 06:24:20 +02:00
.L80052988:
2020-04-26 06:13:18 +02:00
/* 02DD88 80052988 9203003D */ lbu $v1, 0x3d($s0)
/* 02DD8C 8005298C 30620020 */ andi $v0, $v1, 0x20
/* 02DD90 80052990 1040001A */ beqz $v0, .L800529FC
/* 02DD94 80052994 306200DF */ andi $v0, $v1, 0xdf
/* 02DD98 80052998 8E040028 */ lw $a0, 0x28($s0)
/* 02DD9C 8005299C A202003D */ sb $v0, 0x3d($s0)
/* 02DDA0 800529A0 28821677 */ slti $v0, $a0, 0x1677
/* 02DDA4 800529A4 14400012 */ bnez $v0, .L800529F0
/* 02DDA8 800529A8 2482E98A */ addiu $v0, $a0, -0x1676
/* 02DDAC 800529AC 8E030024 */ lw $v1, 0x24($s0)
/* 02DDB0 800529B0 C602002C */ lwc1 $f2, 0x2c($s0)
/* 02DDB4 800529B4 AE020028 */ sw $v0, 0x28($s0)
/* 02DDB8 800529B8 00621823 */ subu $v1, $v1, $v0
/* 02DDBC 800529BC 44830000 */ mtc1 $v1, $f0
/* 02DDC0 800529C0 00000000 */ nop
/* 02DDC4 800529C4 46800020 */ cvt.s.w $f0, $f0
/* 02DDC8 800529C8 46001082 */ mul.s $f2, $f2, $f0
/* 02DDCC 800529CC 00000000 */ nop
/* 02DDD0 800529D0 9202003D */ lbu $v0, 0x3d($s0)
/* 02DDD4 800529D4 92030039 */ lbu $v1, 0x39($s0)
/* 02DDD8 800529D8 34420002 */ ori $v0, $v0, 2
/* 02DDDC 800529DC A202003D */ sb $v0, 0x3d($s0)
/* 02DDE0 800529E0 4600110D */ trunc.w.s $f4, $f2
/* 02DDE4 800529E4 44022000 */ mfc1 $v0, $f4
2020-05-02 06:24:20 +02:00
/* 02DDE8 800529E8 08014A7D */ j .L800529F4
2020-04-26 06:13:18 +02:00
/* 02DDEC 800529EC 00621821 */ addu $v1, $v1, $v0
.L800529F0:
/* 02DDF0 800529F0 9203003A */ lbu $v1, 0x3a($s0)
2020-05-02 06:24:20 +02:00
.L800529F4:
/* 02DDF4 800529F4 08014A84 */ j .L80052A10
2020-04-26 06:13:18 +02:00
/* 02DDF8 800529F8 AE130008 */ sw $s3, 8($s0)
.L800529FC:
/* 02DDFC 800529FC 8E040024 */ lw $a0, 0x24($s0)
/* 02DE00 80052A00 0C014AF0 */ jal func_80052BC0
/* 02DE04 80052A04 00000000 */ nop
/* 02DE08 80052A08 9203003A */ lbu $v1, 0x3a($s0)
/* 02DE0C 80052A0C AE020008 */ sw $v0, 8($s0)
2020-05-02 06:24:20 +02:00
.L80052A10:
2020-04-26 06:13:18 +02:00
/* 02DE10 80052A10 00031400 */ sll $v0, $v1, 0x10
/* 02DE14 80052A14 86030040 */ lh $v1, 0x40($s0)
/* 02DE18 80052A18 00021403 */ sra $v0, $v0, 0x10
/* 02DE1C 80052A1C 00430018 */ mult $v0, $v1
/* 02DE20 80052A20 00003012 */ mflo $a2
/* 02DE24 80052A24 9202003F */ lbu $v0, 0x3f($s0)
/* 02DE28 80052A28 00000000 */ nop
/* 02DE2C 80052A2C 00C20018 */ mult $a2, $v0
/* 02DE30 80052A30 00003012 */ mflo $a2
/* 02DE34 80052A34 8E030030 */ lw $v1, 0x30($s0)
/* 02DE38 80052A38 00061383 */ sra $v0, $a2, 0xe
/* 02DE3C 80052A3C 00430018 */ mult $v0, $v1
/* 02DE40 80052A40 92020043 */ lbu $v0, 0x43($s0)
2020-05-02 06:24:20 +02:00
/* 02DE44 80052A44 08014ABE */ j .L80052AF8
2020-04-26 06:13:18 +02:00
/* 02DE48 80052A48 34420004 */ ori $v0, $v0, 4
.L80052A4C:
/* 02DE4C 80052A4C 9203003D */ lbu $v1, 0x3d($s0)
/* 02DE50 80052A50 30620020 */ andi $v0, $v1, 0x20
/* 02DE54 80052A54 5040002D */ beql $v0, $zero, .L80052B0C
/* 02DE58 80052A58 26310048 */ addiu $s1, $s1, 0x48
/* 02DE5C 80052A5C 8E040028 */ lw $a0, 0x28($s0)
/* 02DE60 80052A60 306200DF */ andi $v0, $v1, 0xdf
/* 02DE64 80052A64 A202003D */ sb $v0, 0x3d($s0)
/* 02DE68 80052A68 28821677 */ slti $v0, $a0, 0x1677
/* 02DE6C 80052A6C 14400012 */ bnez $v0, .L80052AB8
/* 02DE70 80052A70 2482E98A */ addiu $v0, $a0, -0x1676
/* 02DE74 80052A74 8E030024 */ lw $v1, 0x24($s0)
/* 02DE78 80052A78 C602002C */ lwc1 $f2, 0x2c($s0)
/* 02DE7C 80052A7C AE020028 */ sw $v0, 0x28($s0)
/* 02DE80 80052A80 00621823 */ subu $v1, $v1, $v0
/* 02DE84 80052A84 44830000 */ mtc1 $v1, $f0
/* 02DE88 80052A88 00000000 */ nop
/* 02DE8C 80052A8C 46800020 */ cvt.s.w $f0, $f0
/* 02DE90 80052A90 46001082 */ mul.s $f2, $f2, $f0
/* 02DE94 80052A94 00000000 */ nop
/* 02DE98 80052A98 9202003D */ lbu $v0, 0x3d($s0)
/* 02DE9C 80052A9C 92030039 */ lbu $v1, 0x39($s0)
/* 02DEA0 80052AA0 34420002 */ ori $v0, $v0, 2
/* 02DEA4 80052AA4 A202003D */ sb $v0, 0x3d($s0)
/* 02DEA8 80052AA8 4600110D */ trunc.w.s $f4, $f2
/* 02DEAC 80052AAC 44022000 */ mfc1 $v0, $f4
2020-05-02 06:24:20 +02:00
/* 02DEB0 80052AB0 08014AAF */ j .L80052ABC
2020-04-26 06:13:18 +02:00
/* 02DEB4 80052AB4 00621821 */ addu $v1, $v1, $v0
.L80052AB8:
/* 02DEB8 80052AB8 9203003A */ lbu $v1, 0x3a($s0)
2020-05-02 06:24:20 +02:00
.L80052ABC:
2020-04-26 06:13:18 +02:00
/* 02DEBC 80052ABC 00031400 */ sll $v0, $v1, 0x10
/* 02DEC0 80052AC0 86030040 */ lh $v1, 0x40($s0)
/* 02DEC4 80052AC4 00021403 */ sra $v0, $v0, 0x10
/* 02DEC8 80052AC8 00430018 */ mult $v0, $v1
/* 02DECC 80052ACC 00003012 */ mflo $a2
/* 02DED0 80052AD0 9202003F */ lbu $v0, 0x3f($s0)
/* 02DED4 80052AD4 00000000 */ nop
/* 02DED8 80052AD8 00C20018 */ mult $a2, $v0
/* 02DEDC 80052ADC 00003012 */ mflo $a2
/* 02DEE0 80052AE0 8E030030 */ lw $v1, 0x30($s0)
/* 02DEE4 80052AE4 00061383 */ sra $v0, $a2, 0xe
/* 02DEE8 80052AE8 00430018 */ mult $v0, $v1
/* 02DEEC 80052AEC 92020043 */ lbu $v0, 0x43($s0)
/* 02DEF0 80052AF0 AE130008 */ sw $s3, 8($s0)
/* 02DEF4 80052AF4 34420004 */ ori $v0, $v0, 4
2020-05-02 06:24:20 +02:00
.L80052AF8:
2020-04-26 06:13:18 +02:00
/* 02DEF8 80052AF8 A2020043 */ sb $v0, 0x43($s0)
2020-05-02 06:24:20 +02:00
.L80052AFC:
2020-04-26 06:13:18 +02:00
/* 02DEFC 80052AFC 00003012 */ mflo $a2
/* 02DF00 80052B00 000611C3 */ sra $v0, $a2, 7
/* 02DF04 80052B04 A602000C */ sh $v0, 0xc($s0)
2020-05-02 06:24:20 +02:00
.L80052B08:
2020-04-26 06:13:18 +02:00
/* 02DF08 80052B08 26310048 */ addiu $s1, $s1, 0x48
.L80052B0C:
/* 02DF0C 80052B0C 26520001 */ addiu $s2, $s2, 1
/* 02DF10 80052B10 2A420018 */ slti $v0, $s2, 0x18
/* 02DF14 80052B14 1440FEE3 */ bnez $v0, .L800526A4
/* 02DF18 80052B18 02D18021 */ addu $s0, $s6, $s1
/* 02DF1C 80052B1C 8FBF002C */ lw $ra, 0x2c($sp)
/* 02DF20 80052B20 8FB60028 */ lw $s6, 0x28($sp)
/* 02DF24 80052B24 8FB50024 */ lw $s5, 0x24($sp)
/* 02DF28 80052B28 8FB40020 */ lw $s4, 0x20($sp)
/* 02DF2C 80052B2C 8FB3001C */ lw $s3, 0x1c($sp)
/* 02DF30 80052B30 8FB20018 */ lw $s2, 0x18($sp)
/* 02DF34 80052B34 8FB10014 */ lw $s1, 0x14($sp)
/* 02DF38 80052B38 8FB00010 */ lw $s0, 0x10($sp)
/* 02DF3C 80052B3C 03E00008 */ jr $ra
/* 02DF40 80052B40 27BD0030 */ addiu $sp, $sp, 0x30