papermario/asm/nonmatchings/code_364F10/func_E0064000.s

113 lines
5.9 KiB
ArmAsm
Raw Normal View History

2021-01-07 11:43:17 +01:00
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0064000
/* 364F10 E0064000 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 364F14 E0064004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 364F18 E0064008 4485A000 */ mtc1 $a1, $f20
/* 364F1C E006400C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 364F20 E0064010 4486B000 */ mtc1 $a2, $f22
/* 364F24 E0064014 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 364F28 E0064018 4487C000 */ mtc1 $a3, $f24
/* 364F2C E006401C AFB30034 */ sw $s3, 0x34($sp)
/* 364F30 E0064020 0080982D */ daddu $s3, $a0, $zero
/* 364F34 E0064024 AFB1002C */ sw $s1, 0x2c($sp)
/* 364F38 E0064028 24110001 */ addiu $s1, $zero, 1
/* 364F3C E006402C F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 364F40 E0064030 C7BA0070 */ lwc1 $f26, 0x70($sp)
/* 364F44 E0064034 27A40010 */ addiu $a0, $sp, 0x10
/* 364F48 E0064038 AFBF0038 */ sw $ra, 0x38($sp)
/* 364F4C E006403C AFB20030 */ sw $s2, 0x30($sp)
/* 364F50 E0064040 16600002 */ bnez $s3, .LE006404C
/* 364F54 E0064044 AFB00028 */ sw $s0, 0x28($sp)
/* 364F58 E0064048 24110004 */ addiu $s1, $zero, 4
.LE006404C:
/* 364F5C E006404C 26310001 */ addiu $s1, $s1, 1
2021-01-09 08:55:31 +01:00
/* 364F60 E0064050 3C02E006 */ lui $v0, %hi(func_E006419C)
/* 364F64 E0064054 2442419C */ addiu $v0, $v0, %lo(func_E006419C)
2021-01-07 11:43:17 +01:00
/* 364F68 E0064058 AFA00010 */ sw $zero, 0x10($sp)
/* 364F6C E006405C AC820008 */ sw $v0, 8($a0)
2021-01-09 08:55:31 +01:00
/* 364F70 E0064060 3C02E006 */ lui $v0, %hi(func_E00641A4)
/* 364F74 E0064064 244241A4 */ addiu $v0, $v0, %lo(func_E00641A4)
2021-01-07 11:43:17 +01:00
/* 364F78 E0064068 AC82000C */ sw $v0, 0xc($a0)
2021-01-09 08:55:31 +01:00
/* 364F7C E006406C 3C02E006 */ lui $v0, %hi(func_E00643DC)
/* 364F80 E0064070 244243DC */ addiu $v0, $v0, %lo(func_E00643DC)
2021-01-07 11:43:17 +01:00
/* 364F84 E0064074 AC820010 */ sw $v0, 0x10($a0)
/* 364F88 E0064078 24020032 */ addiu $v0, $zero, 0x32
/* 364F8C E006407C AC800014 */ sw $zero, 0x14($a0)
/* 364F90 E0064080 0C080124 */ jal func_E0200490
/* 364F94 E0064084 AC820004 */ sw $v0, 4($a0)
/* 364F98 E0064088 00112040 */ sll $a0, $s1, 1
/* 364F9C E006408C 00912021 */ addu $a0, $a0, $s1
/* 364FA0 E0064090 00042080 */ sll $a0, $a0, 2
/* 364FA4 E0064094 00912023 */ subu $a0, $a0, $s1
/* 364FA8 E0064098 000420C0 */ sll $a0, $a0, 3
/* 364FAC E006409C 0040902D */ daddu $s2, $v0, $zero
/* 364FB0 E00640A0 0C08012C */ jal func_E02004B0
/* 364FB4 E00640A4 AE510008 */ sw $s1, 8($s2)
/* 364FB8 E00640A8 0040802D */ daddu $s0, $v0, $zero
/* 364FBC E00640AC 16000003 */ bnez $s0, .LE00640BC
/* 364FC0 E00640B0 AE50000C */ sw $s0, 0xc($s2)
.LE00640B4:
/* 364FC4 E00640B4 0801902D */ j .LE00640B4
/* 364FC8 E00640B8 00000000 */ nop
.LE00640BC:
/* 364FCC E00640BC 0200202D */ daddu $a0, $s0, $zero
/* 364FD0 E00640C0 00112840 */ sll $a1, $s1, 1
/* 364FD4 E00640C4 00B12821 */ addu $a1, $a1, $s1
/* 364FD8 E00640C8 00052880 */ sll $a1, $a1, 2
/* 364FDC E00640CC 00B12823 */ subu $a1, $a1, $s1
/* 364FE0 E00640D0 0C080130 */ jal func_E02004C0
/* 364FE4 E00640D4 000528C0 */ sll $a1, $a1, 3
/* 364FE8 E00640D8 2402003C */ addiu $v0, $zero, 0x3c
/* 364FEC E00640DC 240300FF */ addiu $v1, $zero, 0xff
/* 364FF0 E00640E0 AE020028 */ sw $v0, 0x28($s0)
/* 364FF4 E00640E4 2402007A */ addiu $v0, $zero, 0x7a
/* 364FF8 E00640E8 A2020052 */ sb $v0, 0x52($s0)
/* 364FFC E00640EC 240200F0 */ addiu $v0, $zero, 0xf0
/* 365000 E00640F0 A2020053 */ sb $v0, 0x53($s0)
/* 365004 E00640F4 240200FA */ addiu $v0, $zero, 0xfa
/* 365008 E00640F8 AE00002C */ sw $zero, 0x2c($s0)
/* 36500C E00640FC A6130000 */ sh $s3, ($s0)
/* 365010 E0064100 E6140004 */ swc1 $f20, 4($s0)
/* 365014 E0064104 E6160008 */ swc1 $f22, 8($s0)
/* 365018 E0064108 E618000C */ swc1 $f24, 0xc($s0)
/* 36501C E006410C AE030038 */ sw $v1, 0x38($s0)
/* 365020 E0064110 A2000050 */ sb $zero, 0x50($s0)
/* 365024 E0064114 A2030051 */ sb $v1, 0x51($s0)
/* 365028 E0064118 A2030054 */ sb $v1, 0x54($s0)
/* 36502C E006411C A2020055 */ sb $v0, 0x55($s0)
/* 365030 E0064120 24030001 */ addiu $v1, $zero, 1
/* 365034 E0064124 0071102A */ slt $v0, $v1, $s1
/* 365038 E0064128 10400010 */ beqz $v0, .LE006416C
/* 36503C E006412C 26100058 */ addiu $s0, $s0, 0x58
/* 365040 E0064130 26040030 */ addiu $a0, $s0, 0x30
/* 365044 E0064134 2406001E */ addiu $a2, $zero, 0x1e
/* 365048 E0064138 2405FFFF */ addiu $a1, $zero, -1
.LE006413C:
/* 36504C E006413C 44860000 */ mtc1 $a2, $f0
/* 365050 E0064140 00000000 */ nop
/* 365054 E0064144 46800020 */ cvt.s.w $f0, $f0
/* 365058 E0064148 24C6001E */ addiu $a2, $a2, 0x1e
/* 36505C E006414C AC85001C */ sw $a1, 0x1c($a0)
/* 365060 E0064150 24A5FFFC */ addiu $a1, $a1, -4
/* 365064 E0064154 24630001 */ addiu $v1, $v1, 1
/* 365068 E0064158 E49A0004 */ swc1 $f26, 4($a0)
/* 36506C E006415C E4800000 */ swc1 $f0, ($a0)
/* 365070 E0064160 0071102A */ slt $v0, $v1, $s1
/* 365074 E0064164 1440FFF5 */ bnez $v0, .LE006413C
/* 365078 E0064168 24840058 */ addiu $a0, $a0, 0x58
.LE006416C:
/* 36507C E006416C 0240102D */ daddu $v0, $s2, $zero
/* 365080 E0064170 8FBF0038 */ lw $ra, 0x38($sp)
/* 365084 E0064174 8FB30034 */ lw $s3, 0x34($sp)
/* 365088 E0064178 8FB20030 */ lw $s2, 0x30($sp)
/* 36508C E006417C 8FB1002C */ lw $s1, 0x2c($sp)
/* 365090 E0064180 8FB00028 */ lw $s0, 0x28($sp)
/* 365094 E0064184 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 365098 E0064188 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 36509C E006418C D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3650A0 E0064190 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3650A4 E0064194 03E00008 */ jr $ra
/* 3650A8 E0064198 27BD0060 */ addiu $sp, $sp, 0x60