.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80053654 /* 02EA54 80053654 27BDFFC8 */ addiu $sp, $sp, -0x38 /* 02EA58 80053658 AFB3002C */ sw $s3, 0x2c($sp) /* 02EA5C 8005365C 0080982D */ daddu $s3, $a0, $zero /* 02EA60 80053660 AFBF0034 */ sw $ra, 0x34($sp) /* 02EA64 80053664 AFB40030 */ sw $s4, 0x30($sp) /* 02EA68 80053668 AFB20028 */ sw $s2, 0x28($sp) /* 02EA6C 8005366C AFB10024 */ sw $s1, 0x24($sp) /* 02EA70 80053670 AFB00020 */ sw $s0, 0x20($sp) /* 02EA74 80053674 9262130C */ lbu $v0, 0x130c($s3) /* 02EA78 80053678 24100002 */ addiu $s0, $zero, 2 /* 02EA7C 8005367C 14500003 */ bne $v0, $s0, .L8005368C /* 02EA80 80053680 24020001 */ addiu $v0, $zero, 1 /* 02EA84 80053684 0C015FAC */ jal func_80057EB0 /* 02EA88 80053688 A262130C */ sb $v0, 0x130c($s3) .L8005368C: /* 02EA8C 8005368C 92620050 */ lbu $v0, 0x50($s3) /* 02EA90 80053690 1040001B */ beqz $v0, .L80053700 /* 02EA94 80053694 00000000 */ nop /* 02EA98 80053698 9262130C */ lbu $v0, 0x130c($s3) /* 02EA9C 8005369C 14400018 */ bnez $v0, .L80053700 /* 02EAA0 800536A0 24020001 */ addiu $v0, $zero, 1 /* 02EAA4 800536A4 92630053 */ lbu $v1, 0x53($s3) /* 02EAA8 800536A8 10620005 */ beq $v1, $v0, .L800536C0 /* 02EAAC 800536AC 00000000 */ nop /* 02EAB0 800536B0 10700009 */ beq $v1, $s0, .L800536D8 /* 02EAB4 800536B4 00000000 */ nop /* 02EAB8 800536B8 08014DBD */ j .L800536F4 /* 02EABC 800536BC 00000000 */ nop .L800536C0: /* 02EAC0 800536C0 0C015F72 */ jal func_80057DC8 /* 02EAC4 800536C4 92640052 */ lbu $a0, 0x52($s3) /* 02EAC8 800536C8 0C015F82 */ jal func_80057E08 /* 02EACC 800536CC 92640051 */ lbu $a0, 0x51($s3) /* 02EAD0 800536D0 08014DC0 */ j .L80053700 /* 02EAD4 800536D4 A2600050 */ sb $zero, 0x50($s3) .L800536D8: /* 02EAD8 800536D8 92640052 */ lbu $a0, 0x52($s3) /* 02EADC 800536DC 0C015F72 */ jal func_80057DC8 /* 02EAE0 800536E0 00000000 */ nop /* 02EAE4 800536E4 0C015F97 */ jal func_80057E5C /* 02EAE8 800536E8 92640051 */ lbu $a0, 0x51($s3) /* 02EAEC 800536EC 08014DC0 */ j .L80053700 /* 02EAF0 800536F0 A2600050 */ sb $zero, 0x50($s3) .L800536F4: /* 02EAF4 800536F4 0C015FAC */ jal func_80057EB0 /* 02EAF8 800536F8 00000000 */ nop /* 02EAFC 800536FC A2600050 */ sb $zero, 0x50($s3) .L80053700: /* 02EB00 80053700 92620041 */ lbu $v0, 0x41($s3) /* 02EB04 80053704 10400005 */ beqz $v0, .L8005371C /* 02EB08 80053708 00000000 */ nop /* 02EB0C 8005370C 92650040 */ lbu $a1, 0x40($s3) /* 02EB10 80053710 0C015B73 */ jal func_80056DCC /* 02EB14 80053714 0000202D */ daddu $a0, $zero, $zero /* 02EB18 80053718 A2600041 */ sb $zero, 0x41($s3) .L8005371C: /* 02EB1C 8005371C 92620045 */ lbu $v0, 0x45($s3) /* 02EB20 80053720 10400005 */ beqz $v0, .L80053738 /* 02EB24 80053724 00000000 */ nop /* 02EB28 80053728 92650044 */ lbu $a1, 0x44($s3) /* 02EB2C 8005372C 0C015B73 */ jal func_80056DCC /* 02EB30 80053730 24040001 */ addiu $a0, $zero, 1 /* 02EB34 80053734 A2600045 */ sb $zero, 0x45($s3) .L80053738: /* 02EB38 80053738 92620049 */ lbu $v0, 0x49($s3) /* 02EB3C 8005373C 10400005 */ beqz $v0, .L80053754 /* 02EB40 80053740 00000000 */ nop /* 02EB44 80053744 92650048 */ lbu $a1, 0x48($s3) /* 02EB48 80053748 0C015B73 */ jal func_80056DCC /* 02EB4C 8005374C 24040002 */ addiu $a0, $zero, 2 /* 02EB50 80053750 A2600049 */ sb $zero, 0x49($s3) .L80053754: /* 02EB54 80053754 9262004D */ lbu $v0, 0x4d($s3) /* 02EB58 80053758 10400006 */ beqz $v0, .L80053774 /* 02EB5C 8005375C 0000902D */ daddu $s2, $zero, $zero /* 02EB60 80053760 9265004C */ lbu $a1, 0x4c($s3) /* 02EB64 80053764 0C015B73 */ jal func_80056DCC /* 02EB68 80053768 24040003 */ addiu $a0, $zero, 3 /* 02EB6C 8005376C A260004D */ sb $zero, 0x4d($s3) /* 02EB70 80053770 0000902D */ daddu $s2, $zero, $zero .L80053774: /* 02EB74 80053774 24141320 */ addiu $s4, $zero, 0x1320 .L80053778: /* 02EB78 80053778 02748021 */ addu $s0, $s3, $s4 /* 02EB7C 8005377C 92020042 */ lbu $v0, 0x42($s0) /* 02EB80 80053780 92110043 */ lbu $s1, 0x43($s0) /* 02EB84 80053784 10400007 */ beqz $v0, .L800537A4 /* 02EB88 80053788 32220002 */ andi $v0, $s1, 2 /* 02EB8C 8005378C 0C015BBA */ jal func_80056EE8 /* 02EB90 80053790 324400FF */ andi $a0, $s2, 0xff /* 02EB94 80053794 A2000042 */ sb $zero, 0x42($s0) /* 02EB98 80053798 AE00001C */ sw $zero, 0x1c($s0) /* 02EB9C 8005379C A2000045 */ sb $zero, 0x45($s0) /* 02EBA0 800537A0 32220002 */ andi $v0, $s1, 2 .L800537A4: /* 02EBA4 800537A4 10400013 */ beqz $v0, .L800537F4 /* 02EBA8 800537A8 0200202D */ daddu $a0, $s0, $zero /* 02EBAC 800537AC 0C014AFE */ jal func_80052BF8 /* 02EBB0 800537B0 26050014 */ addiu $a1, $s0, 0x14 /* 02EBB4 800537B4 8602000C */ lh $v0, 0xc($s0) /* 02EBB8 800537B8 92050010 */ lbu $a1, 0x10($s0) /* 02EBBC 800537BC AFA20010 */ sw $v0, 0x10($sp) /* 02EBC0 800537C0 9202000E */ lbu $v0, 0xe($s0) /* 02EBC4 800537C4 AFA20014 */ sw $v0, 0x14($sp) /* 02EBC8 800537C8 9202000F */ lbu $v0, 0xf($s0) /* 02EBCC 800537CC AFA20018 */ sw $v0, 0x18($sp) /* 02EBD0 800537D0 8E020008 */ lw $v0, 8($s0) /* 02EBD4 800537D4 AFA2001C */ sw $v0, 0x1c($sp) /* 02EBD8 800537D8 8E060000 */ lw $a2, ($s0) /* 02EBDC 800537DC 8E070004 */ lw $a3, 4($s0) /* 02EBE0 800537E0 0C015BE9 */ jal func_80056FA4 /* 02EBE4 800537E4 324400FF */ andi $a0, $s2, 0xff /* 02EBE8 800537E8 92020044 */ lbu $v0, 0x44($s0) /* 02EBEC 800537EC 08014E15 */ j .L80053854 /* 02EBF0 800537F0 A2020045 */ sb $v0, 0x45($s0) .L800537F4: /* 02EBF4 800537F4 32220008 */ andi $v0, $s1, 8 /* 02EBF8 800537F8 10400005 */ beqz $v0, .L80053810 /* 02EBFC 800537FC 32220004 */ andi $v0, $s1, 4 /* 02EC00 80053800 8E050004 */ lw $a1, 4($s0) /* 02EC04 80053804 0C015CD1 */ jal func_80057344 /* 02EC08 80053808 324400FF */ andi $a0, $s2, 0xff /* 02EC0C 8005380C 32220004 */ andi $v0, $s1, 4 .L80053810: /* 02EC10 80053810 1040000A */ beqz $v0, .L8005383C /* 02EC14 80053814 32220010 */ andi $v0, $s1, 0x10 /* 02EC18 80053818 9202000F */ lbu $v0, 0xf($s0) /* 02EC1C 8005381C 8605000C */ lh $a1, 0xc($s0) /* 02EC20 80053820 9207000E */ lbu $a3, 0xe($s0) /* 02EC24 80053824 AFA20010 */ sw $v0, 0x10($sp) /* 02EC28 80053828 8E060008 */ lw $a2, 8($s0) /* 02EC2C 8005382C 0C015CDB */ jal func_8005736C /* 02EC30 80053830 324400FF */ andi $a0, $s2, 0xff /* 02EC34 80053834 08014E16 */ j .L80053858 /* 02EC38 80053838 A2000043 */ sb $zero, 0x43($s0) .L8005383C: /* 02EC3C 8005383C 50400006 */ beql $v0, $zero, .L80053858 /* 02EC40 80053840 A2000043 */ sb $zero, 0x43($s0) /* 02EC44 80053844 9205000E */ lbu $a1, 0xe($s0) /* 02EC48 80053848 9206000F */ lbu $a2, 0xf($s0) /* 02EC4C 8005384C 0C015D52 */ jal func_80057548 /* 02EC50 80053850 324400FF */ andi $a0, $s2, 0xff .L80053854: /* 02EC54 80053854 A2000043 */ sb $zero, 0x43($s0) .L80053858: /* 02EC58 80053858 26520001 */ addiu $s2, $s2, 1 /* 02EC5C 8005385C 2E420018 */ sltiu $v0, $s2, 0x18 /* 02EC60 80053860 1440FFC5 */ bnez $v0, .L80053778 /* 02EC64 80053864 26940048 */ addiu $s4, $s4, 0x48 /* 02EC68 80053868 8FBF0034 */ lw $ra, 0x34($sp) /* 02EC6C 8005386C 8FB40030 */ lw $s4, 0x30($sp) /* 02EC70 80053870 8FB3002C */ lw $s3, 0x2c($sp) /* 02EC74 80053874 8FB20028 */ lw $s2, 0x28($sp) /* 02EC78 80053878 8FB10024 */ lw $s1, 0x24($sp) /* 02EC7C 8005387C 8FB00020 */ lw $s0, 0x20($sp) /* 02EC80 80053880 03E00008 */ jr $ra /* 02EC84 80053884 27BD0038 */ addiu $sp, $sp, 0x38