papermario/asm/nonmatchings/code_374E50/func_E00723D4.s
Ethan Roseman a8e550dd9a yee
2020-10-17 22:27:25 -04:00

188 lines
10 KiB
ArmAsm

.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E00723D4
/* 375224 E00723D4 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 375228 E00723D8 3C03DB06 */ lui $v1, 0xdb06
/* 37522C E00723DC 34630024 */ ori $v1, $v1, 0x24
/* 375230 E00723E0 3C05FFB3 */ lui $a1, 0xffb3
/* 375234 E00723E4 AFB10094 */ sw $s1, 0x94($sp)
/* 375238 E00723E8 3C11800A */ lui $s1, 0x800a
/* 37523C E00723EC 2631A66C */ addiu $s1, $s1, -0x5994
/* 375240 E00723F0 34A51E00 */ ori $a1, $a1, 0x1e00
/* 375244 E00723F4 AFB500A4 */ sw $s5, 0xa4($sp)
/* 375248 E00723F8 3C15E700 */ lui $s5, 0xe700
/* 37524C E00723FC AFBF00A8 */ sw $ra, 0xa8($sp)
/* 375250 E0072400 AFB400A0 */ sw $s4, 0xa0($sp)
/* 375254 E0072404 AFB3009C */ sw $s3, 0x9c($sp)
/* 375258 E0072408 AFB20098 */ sw $s2, 0x98($sp)
/* 37525C E007240C AFB00090 */ sw $s0, 0x90($sp)
/* 375260 E0072410 8E280000 */ lw $t0, ($s1)
/* 375264 E0072414 3C014080 */ lui $at, 0x4080
/* 375268 E0072418 44812000 */ mtc1 $at, $f4
/* 37526C E007241C 0100102D */ daddu $v0, $t0, $zero
/* 375270 E0072420 25080008 */ addiu $t0, $t0, 8
/* 375274 E0072424 AE280000 */ sw $t0, ($s1)
/* 375278 E0072428 8C90000C */ lw $s0, 0xc($a0)
/* 37527C E007242C 3C14DE00 */ lui $s4, 0xde00
/* 375280 E0072430 AC550000 */ sw $s5, ($v0)
/* 375284 E0072434 AC400004 */ sw $zero, 4($v0)
/* 375288 E0072438 25020008 */ addiu $v0, $t0, 8
/* 37528C E007243C AE220000 */ sw $v0, ($s1)
/* 375290 E0072440 25020010 */ addiu $v0, $t0, 0x10
/* 375294 E0072444 AD030000 */ sw $v1, ($t0)
/* 375298 E0072448 AE220000 */ sw $v0, ($s1)
/* 37529C E007244C 8C830010 */ lw $v1, 0x10($a0)
/* 3752A0 E0072450 25020018 */ addiu $v0, $t0, 0x18
/* 3752A4 E0072454 AE220000 */ sw $v0, ($s1)
/* 3752A8 E0072458 8C63001C */ lw $v1, 0x1c($v1)
/* 3752AC E007245C 3C020900 */ lui $v0, 0x900
/* 3752B0 E0072460 24420E60 */ addiu $v0, $v0, 0xe60
/* 3752B4 E0072464 AD02000C */ sw $v0, 0xc($t0)
/* 3752B8 E0072468 3C02FA00 */ lui $v0, 0xfa00
/* 3752BC E007246C AD020010 */ sw $v0, 0x10($t0)
/* 3752C0 E0072470 3C028000 */ lui $v0, 0x8000
/* 3752C4 E0072474 AD140008 */ sw $s4, 8($t0)
/* 3752C8 E0072478 00621821 */ addu $v1, $v1, $v0
/* 3752CC E007247C AD030004 */ sw $v1, 4($t0)
/* 3752D0 E0072480 92030027 */ lbu $v1, 0x27($s0)
/* 3752D4 E0072484 25020020 */ addiu $v0, $t0, 0x20
/* 3752D8 E0072488 AE220000 */ sw $v0, ($s1)
/* 3752DC E007248C 3C02FB00 */ lui $v0, 0xfb00
/* 3752E0 E0072490 AD020018 */ sw $v0, 0x18($t0)
/* 3752E4 E0072494 00651825 */ or $v1, $v1, $a1
/* 3752E8 E0072498 AD030014 */ sw $v1, 0x14($t0)
/* 3752EC E007249C 92020050 */ lbu $v0, 0x50($s0)
/* 3752F0 E00724A0 92040051 */ lbu $a0, 0x51($s0)
/* 3752F4 E00724A4 92030052 */ lbu $v1, 0x52($s0)
/* 3752F8 E00724A8 00021600 */ sll $v0, $v0, 0x18
/* 3752FC E00724AC 00042400 */ sll $a0, $a0, 0x10
/* 375300 E00724B0 00441025 */ or $v0, $v0, $a0
/* 375304 E00724B4 00031A00 */ sll $v1, $v1, 8
/* 375308 E00724B8 00431025 */ or $v0, $v0, $v1
/* 37530C E00724BC 34420080 */ ori $v0, $v0, 0x80
/* 375310 E00724C0 AD02001C */ sw $v0, 0x1c($t0)
/* 375314 E00724C4 C6020030 */ lwc1 $f2, 0x30($s0)
/* 375318 E00724C8 46041082 */ mul.s $f2, $f2, $f4
/* 37531C E00724CC 00000000 */ nop
/* 375320 E00724D0 3C130001 */ lui $s3, 1
/* 375324 E00724D4 36731630 */ ori $s3, $s3, 0x1630
/* 375328 E00724D8 C6000034 */ lwc1 $f0, 0x34($s0)
/* 37532C E00724DC 3C07F200 */ lui $a3, 0xf200
/* 375330 E00724E0 46040002 */ mul.s $f0, $f0, $f4
/* 375334 E00724E4 00000000 */ nop
/* 375338 E00724E8 27A40010 */ addiu $a0, $sp, 0x10
/* 37533C E00724EC 25020028 */ addiu $v0, $t0, 0x28
/* 375340 E00724F0 AE220000 */ sw $v0, ($s1)
/* 375344 E00724F4 4600118D */ trunc.w.s $f6, $f2
/* 375348 E00724F8 44023000 */ mfc1 $v0, $f6
/* 37534C E00724FC 4600018D */ trunc.w.s $f6, $f0
/* 375350 E0072500 44063000 */ mfc1 $a2, $f6
/* 375354 E0072504 30450FFF */ andi $a1, $v0, 0xfff
/* 375358 E0072508 00052B00 */ sll $a1, $a1, 0xc
/* 37535C E007250C 30C30FFF */ andi $v1, $a2, 0xfff
/* 375360 E0072510 00671825 */ or $v1, $v1, $a3
/* 375364 E0072514 00A32825 */ or $a1, $a1, $v1
/* 375368 E0072518 244200FC */ addiu $v0, $v0, 0xfc
/* 37536C E007251C C6000038 */ lwc1 $f0, 0x38($s0)
/* 375370 E0072520 30420FFF */ andi $v0, $v0, 0xfff
/* 375374 E0072524 46040002 */ mul.s $f0, $f0, $f4
/* 375378 E0072528 00000000 */ nop
/* 37537C E007252C 00021300 */ sll $v0, $v0, 0xc
/* 375380 E0072530 24C600FC */ addiu $a2, $a2, 0xfc
/* 375384 E0072534 C602003C */ lwc1 $f2, 0x3c($s0)
/* 375388 E0072538 30C60FFF */ andi $a2, $a2, 0xfff
/* 37538C E007253C 46041082 */ mul.s $f2, $f2, $f4
/* 375390 E0072540 00000000 */ nop
/* 375394 E0072544 00461025 */ or $v0, $v0, $a2
/* 375398 E0072548 AD050020 */ sw $a1, 0x20($t0)
/* 37539C E007254C AD020024 */ sw $v0, 0x24($t0)
/* 3753A0 E0072550 4600018D */ trunc.w.s $f6, $f0
/* 3753A4 E0072554 44053000 */ mfc1 $a1, $f6
/* 3753A8 E0072558 4600118D */ trunc.w.s $f6, $f2
/* 3753AC E007255C 44063000 */ mfc1 $a2, $f6
/* 3753B0 E0072560 30A30FFF */ andi $v1, $a1, 0xfff
/* 3753B4 E0072564 00031B00 */ sll $v1, $v1, 0xc
/* 3753B8 E0072568 30C20FFF */ andi $v0, $a2, 0xfff
/* 3753BC E007256C 00471025 */ or $v0, $v0, $a3
/* 3753C0 E0072570 00621825 */ or $v1, $v1, $v0
/* 3753C4 E0072574 24A5007C */ addiu $a1, $a1, 0x7c
/* 3753C8 E0072578 30A50FFF */ andi $a1, $a1, 0xfff
/* 3753CC E007257C 00052B00 */ sll $a1, $a1, 0xc
/* 3753D0 E0072580 24C6007C */ addiu $a2, $a2, 0x7c
/* 3753D4 E0072584 30C60FFF */ andi $a2, $a2, 0xfff
/* 3753D8 E0072588 3C020100 */ lui $v0, 0x100
/* 3753DC E007258C 00C23025 */ or $a2, $a2, $v0
/* 3753E0 E0072590 00A62825 */ or $a1, $a1, $a2
/* 3753E4 E0072594 AD030028 */ sw $v1, 0x28($t0)
/* 3753E8 E0072598 AD05002C */ sw $a1, 0x2c($t0)
/* 3753EC E007259C 8E050004 */ lw $a1, 4($s0)
/* 3753F0 E00725A0 8E060008 */ lw $a2, 8($s0)
/* 3753F4 E00725A4 8E07000C */ lw $a3, 0xc($s0)
/* 3753F8 E00725A8 25080030 */ addiu $t0, $t0, 0x30
/* 3753FC E00725AC 0C080108 */ jal func_E0200420
/* 375400 E00725B0 AE280000 */ sw $t0, ($s1)
/* 375404 E00725B4 8E05001C */ lw $a1, 0x1c($s0)
/* 375408 E00725B8 27B00050 */ addiu $s0, $sp, 0x50
/* 37540C E00725BC 0200202D */ daddu $a0, $s0, $zero
/* 375410 E00725C0 00A0302D */ daddu $a2, $a1, $zero
/* 375414 E00725C4 0C080110 */ jal func_E0200440
/* 375418 E00725C8 00A0382D */ daddu $a3, $a1, $zero
/* 37541C E00725CC 0200202D */ daddu $a0, $s0, $zero
/* 375420 E00725D0 27A50010 */ addiu $a1, $sp, 0x10
/* 375424 E00725D4 0C080114 */ jal func_E0200450
/* 375428 E00725D8 00A0302D */ daddu $a2, $a1, $zero
/* 37542C E00725DC 27A40010 */ addiu $a0, $sp, 0x10
/* 375430 E00725E0 3C108007 */ lui $s0, 0x8007
/* 375434 E00725E4 261041F0 */ addiu $s0, $s0, 0x41f0
/* 375438 E00725E8 3C12800A */ lui $s2, 0x800a
/* 37543C E00725EC 2652A674 */ addiu $s2, $s2, -0x598c
/* 375440 E00725F0 96050000 */ lhu $a1, ($s0)
/* 375444 E00725F4 8E420000 */ lw $v0, ($s2)
/* 375448 E00725F8 00052980 */ sll $a1, $a1, 6
/* 37544C E00725FC 00B32821 */ addu $a1, $a1, $s3
/* 375450 E0072600 0C080118 */ jal func_E0200460
/* 375454 E0072604 00452821 */ addu $a1, $v0, $a1
/* 375458 E0072608 3C06D838 */ lui $a2, 0xd838
/* 37545C E007260C 8E240000 */ lw $a0, ($s1)
/* 375460 E0072610 34C60002 */ ori $a2, $a2, 2
/* 375464 E0072614 0080282D */ daddu $a1, $a0, $zero
/* 375468 E0072618 24840008 */ addiu $a0, $a0, 8
/* 37546C E007261C AE240000 */ sw $a0, ($s1)
/* 375470 E0072620 96020000 */ lhu $v0, ($s0)
/* 375474 E0072624 3C03DA38 */ lui $v1, 0xda38
/* 375478 E0072628 ACA30000 */ sw $v1, ($a1)
/* 37547C E007262C 24430001 */ addiu $v1, $v0, 1
/* 375480 E0072630 3042FFFF */ andi $v0, $v0, 0xffff
/* 375484 E0072634 00021180 */ sll $v0, $v0, 6
/* 375488 E0072638 A6030000 */ sh $v1, ($s0)
/* 37548C E007263C 8E430000 */ lw $v1, ($s2)
/* 375490 E0072640 00531021 */ addu $v0, $v0, $s3
/* 375494 E0072644 00621821 */ addu $v1, $v1, $v0
/* 375498 E0072648 24820008 */ addiu $v0, $a0, 8
/* 37549C E007264C ACA30004 */ sw $v1, 4($a1)
/* 3754A0 E0072650 AE220000 */ sw $v0, ($s1)
/* 3754A4 E0072654 3C020900 */ lui $v0, 0x900
/* 3754A8 E0072658 24420DC0 */ addiu $v0, $v0, 0xdc0
/* 3754AC E007265C AC820004 */ sw $v0, 4($a0)
/* 3754B0 E0072660 24820010 */ addiu $v0, $a0, 0x10
/* 3754B4 E0072664 AC940000 */ sw $s4, ($a0)
/* 3754B8 E0072668 AE220000 */ sw $v0, ($s1)
/* 3754BC E007266C 24020040 */ addiu $v0, $zero, 0x40
/* 3754C0 E0072670 AC82000C */ sw $v0, 0xc($a0)
/* 3754C4 E0072674 24820018 */ addiu $v0, $a0, 0x18
/* 3754C8 E0072678 AC860008 */ sw $a2, 8($a0)
/* 3754CC E007267C AE220000 */ sw $v0, ($s1)
/* 3754D0 E0072680 AC950010 */ sw $s5, 0x10($a0)
/* 3754D4 E0072684 AC800014 */ sw $zero, 0x14($a0)
/* 3754D8 E0072688 8FBF00A8 */ lw $ra, 0xa8($sp)
/* 3754DC E007268C 8FB500A4 */ lw $s5, 0xa4($sp)
/* 3754E0 E0072690 8FB400A0 */ lw $s4, 0xa0($sp)
/* 3754E4 E0072694 8FB3009C */ lw $s3, 0x9c($sp)
/* 3754E8 E0072698 8FB20098 */ lw $s2, 0x98($sp)
/* 3754EC E007269C 8FB10094 */ lw $s1, 0x94($sp)
/* 3754F0 E00726A0 8FB00090 */ lw $s0, 0x90($sp)
/* 3754F4 E00726A4 03E00008 */ jr $ra
/* 3754F8 E00726A8 27BD00B0 */ addiu $sp, $sp, 0xb0
/* 3754FC E00726AC 00000000 */ nop