glabel process_envelope /* 0A7404 802EF404 27BDFF98 */ addiu $sp, $sp, -0x68 /* 0A7408 802EF408 AFB2000C */ sw $s2, 0xc($sp) /* 0A740C 802EF40C AFB10008 */ sw $s1, 8($sp) /* 0A7410 802EF410 AFB00004 */ sw $s0, 4($sp) /* 0A7414 802EF414 94A20006 */ lhu $v0, 6($a1) /* 0A7418 802EF418 94A30008 */ lhu $v1, 8($a1) /* 0A741C 802EF41C 94C90010 */ lhu $t1, 0x10($a2) /* 0A7420 802EF420 00027100 */ sll $t6, $v0, 4 /* 0A7424 802EF424 31CFFFFF */ andi $t7, $t6, 0xffff /* 0A7428 802EF428 0003C100 */ sll $t8, $v1, 4 /* 0A742C 802EF42C 3319FFFF */ andi $t9, $t8, 0xffff /* 0A7430 802EF430 00A08025 */ move $s0, $a1 /* 0A7434 802EF434 00E08825 */ move $s1, $a3 /* 0A7438 802EF438 00C09025 */ move $s2, $a2 /* 0A743C 802EF43C 94CA0012 */ lhu $t2, 0x12($a2) /* 0A7440 802EF440 01E01025 */ move $v0, $t7 /* 0A7444 802EF444 03201825 */ move $v1, $t9 /* 0A7448 802EF448 01E05825 */ move $t3, $t7 /* 0A744C 802EF44C 112F0013 */ beq $t1, $t7, .L802EF49C /* 0A7450 802EF450 01206025 */ move $t4, $t1 /* 0A7454 802EF454 001168C3 */ sra $t5, $s1, 3 /* 0A7458 802EF458 016C7023 */ subu $t6, $t3, $t4 /* 0A745C 802EF45C 01CD001A */ div $zero, $t6, $t5 /* 0A7460 802EF460 00004012 */ mflo $t0 /* 0A7464 802EF464 00087C00 */ sll $t7, $t0, 0x10 /* 0A7468 802EF468 000FC403 */ sra $t8, $t7, 0x10 /* 0A746C 802EF46C 15A00002 */ bnez $t5, .L802EF478 /* 0A7470 802EF470 00000000 */ nop /* 0A7474 802EF474 0007000D */ break 7 .L802EF478: /* 0A7478 802EF478 2401FFFF */ li $at, -1 /* 0A747C 802EF47C 15A10004 */ bne $t5, $at, .L802EF490 /* 0A7480 802EF480 3C018000 */ lui $at, 0x8000 /* 0A7484 802EF484 15C10002 */ bne $t6, $at, .L802EF490 /* 0A7488 802EF488 00000000 */ nop /* 0A748C 802EF48C 0006000D */ break 6 .L802EF490: /* 0A7490 802EF490 03004025 */ move $t0, $t8 /* 0A7494 802EF494 10000004 */ b .L802EF4A8 /* 0A7498 802EF498 01405825 */ move $t3, $t2 .L802EF49C: /* 0A749C 802EF49C 00004025 */ move $t0, $zero /* 0A74A0 802EF4A0 001168C3 */ sra $t5, $s1, 3 /* 0A74A4 802EF4A4 01405825 */ move $t3, $t2 .L802EF4A8: /* 0A74A8 802EF4A8 11430012 */ beq $t2, $v1, .L802EF4F4 /* 0A74AC 802EF4AC 00601025 */ move $v0, $v1 /* 0A74B0 802EF4B0 006BC823 */ subu $t9, $v1, $t3 /* 0A74B4 802EF4B4 032D001A */ div $zero, $t9, $t5 /* 0A74B8 802EF4B8 00003812 */ mflo $a3 /* 0A74BC 802EF4BC 00077400 */ sll $t6, $a3, 0x10 /* 0A74C0 802EF4C0 000E7C03 */ sra $t7, $t6, 0x10 /* 0A74C4 802EF4C4 15A00002 */ bnez $t5, .L802EF4D0 /* 0A74C8 802EF4C8 00000000 */ nop /* 0A74CC 802EF4CC 0007000D */ break 7 .L802EF4D0: /* 0A74D0 802EF4D0 2401FFFF */ li $at, -1 /* 0A74D4 802EF4D4 15A10004 */ bne $t5, $at, .L802EF4E8 /* 0A74D8 802EF4D8 3C018000 */ lui $at, 0x8000 /* 0A74DC 802EF4DC 17210002 */ bne $t9, $at, .L802EF4E8 /* 0A74E0 802EF4E0 00000000 */ nop /* 0A74E4 802EF4E4 0006000D */ break 6 .L802EF4E8: /* 0A74E8 802EF4E8 01E03825 */ move $a3, $t7 /* 0A74EC 802EF4EC 10000003 */ b .L802EF4FC /* 0A74F0 802EF4F0 92180005 */ lbu $t8, 5($s0) .L802EF4F4: /* 0A74F4 802EF4F4 00003825 */ move $a3, $zero /* 0A74F8 802EF4F8 92180005 */ lbu $t8, 5($s0) .L802EF4FC: /* 0A74FC 802EF4FC 92450004 */ lbu $a1, 4($s2) /* 0A7500 802EF500 AFB80014 */ sw $t8, 0x14($sp) /* 0A7504 802EF504 AFB80024 */ sw $t8, 0x24($sp) /* 0A7508 802EF508 10B80016 */ beq $a1, $t8, .L802EF564 /* 0A750C 802EF50C 0300C825 */ move $t9, $t8 /* 0A7510 802EF510 30A3007F */ andi $v1, $a1, 0x7f /* 0A7514 802EF514 330E007F */ andi $t6, $t8, 0x7f /* 0A7518 802EF518 01C31023 */ subu $v0, $t6, $v1 /* 0A751C 802EF51C 00027A40 */ sll $t7, $v0, 9 /* 0A7520 802EF520 01ED001A */ div $zero, $t7, $t5 /* 0A7524 802EF524 01E01025 */ move $v0, $t7 /* 0A7528 802EF528 00003012 */ mflo $a2 /* 0A752C 802EF52C 0006C400 */ sll $t8, $a2, 0x10 /* 0A7530 802EF530 00187403 */ sra $t6, $t8, 0x10 /* 0A7534 802EF534 15A00002 */ bnez $t5, .L802EF540 /* 0A7538 802EF538 00000000 */ nop /* 0A753C 802EF53C 0007000D */ break 7 .L802EF540: /* 0A7540 802EF540 2401FFFF */ li $at, -1 /* 0A7544 802EF544 15A10004 */ bne $t5, $at, .L802EF558 /* 0A7548 802EF548 3C018000 */ lui $at, 0x8000 /* 0A754C 802EF54C 14410002 */ bne $v0, $at, .L802EF558 /* 0A7550 802EF550 00000000 */ nop /* 0A7554 802EF554 0006000D */ break 6 .L802EF558: /* 0A7558 802EF558 01C03025 */ move $a2, $t6 /* 0A755C 802EF55C 10000003 */ b .L802EF56C /* 0A7560 802EF560 A2590004 */ sb $t9, 4($s2) .L802EF564: /* 0A7564 802EF564 00003025 */ move $a2, $zero /* 0A7568 802EF568 30A3007F */ andi $v1, $a1, 0x7f .L802EF56C: /* 0A756C 802EF56C 010D0019 */ multu $t0, $t5 /* 0A7570 802EF570 00801025 */ move $v0, $a0 /* 0A7574 802EF574 3C011200 */ lui $at, 0x1200 /* 0A7578 802EF578 00007812 */ mflo $t7 /* 0A757C 802EF57C 018FC021 */ addu $t8, $t4, $t7 /* 0A7580 802EF580 A6580010 */ sh $t8, 0x10($s2) /* 0A7584 802EF584 00ED0019 */ multu $a3, $t5 /* 0A7588 802EF588 00007012 */ mflo $t6 /* 0A758C 802EF58C 016EC821 */ addu $t9, $t3, $t6 /* 0A7590 802EF590 A6590012 */ sh $t9, 0x12($s2) /* 0A7594 802EF594 920F0000 */ lbu $t7, ($s0) /* 0A7598 802EF598 8FAD007C */ lw $t5, 0x7c($sp) /* 0A759C 802EF59C 00037040 */ sll $t6, $v1, 1 /* 0A75A0 802EF5A0 31F80001 */ andi $t8, $t7, 1 /* 0A75A4 802EF5A4 1300007E */ beqz $t8, .L802EF7A0 /* 0A75A8 802EF5A8 00805825 */ move $t3, $a0 /* 0A75AC 802EF5AC 3C0E0200 */ lui $t6, (0x02000650 >> 16) # lui $t6, 0x200 /* 0A75B0 802EF5B0 35CE0650 */ ori $t6, (0x02000650 & 0xFFFF) # ori $t6, $t6, 0x650 /* 0A75B4 802EF5B4 00037840 */ sll $t7, $v1, 1 /* 0A75B8 802EF5B8 AC4E0000 */ sw $t6, ($v0) /* 0A75BC 802EF5BC 24190180 */ li $t9, 384 /* 0A75C0 802EF5C0 31F800FF */ andi $t8, $t7, 0xff /* 0A75C4 802EF5C4 AC590004 */ sw $t9, 4($v0) /* 0A75C8 802EF5C8 00187400 */ sll $t6, $t8, 0x10 /* 0A75CC 802EF5CC 3C011200 */ lui $at, 0x1200 /* 0A75D0 802EF5D0 01C1C825 */ or $t9, $t6, $at /* 0A75D4 802EF5D4 30CFFFFF */ andi $t7, $a2, 0xffff /* 0A75D8 802EF5D8 032FC025 */ or $t8, $t9, $t7 /* 0A75DC 802EF5DC 24840008 */ addiu $a0, $a0, 8 /* 0A75E0 802EF5E0 00805825 */ move $t3, $a0 /* 0A75E4 802EF5E4 AD780000 */ sw $t8, ($t3) /* 0A75E8 802EF5E8 30EFFFFF */ andi $t7, $a3, 0xffff /* 0A75EC 802EF5EC 0008CC00 */ sll $t9, $t0, 0x10 /* 0A75F0 802EF5F0 032FC025 */ or $t8, $t9, $t7 /* 0A75F4 802EF5F4 AD780004 */ sw $t8, 4($t3) /* 0A75F8 802EF5F8 24840008 */ addiu $a0, $a0, 8 /* 0A75FC 802EF5FC 00806025 */ move $t4, $a0 /* 0A7600 802EF600 3C0E1600 */ lui $t6, 0x1600 /* 0A7604 802EF604 AD8E0000 */ sw $t6, ($t4) /* 0A7608 802EF608 3158FFFF */ andi $t8, $t2, 0xffff /* 0A760C 802EF60C 00097C00 */ sll $t7, $t1, 0x10 /* 0A7610 802EF610 01F87025 */ or $t6, $t7, $t8 /* 0A7614 802EF614 24010001 */ li $at, 1 /* 0A7618 802EF618 AD8E0004 */ sw $t6, 4($t4) /* 0A761C 802EF61C 11A10023 */ beq $t5, $at, .L802EF6AC /* 0A7620 802EF620 24840008 */ addiu $a0, $a0, 8 /* 0A7624 802EF624 24010002 */ li $at, 2 /* 0A7628 802EF628 11A1003F */ beq $t5, $at, .L802EF728 /* 0A762C 802EF62C 00801825 */ move $v1, $a0 /* 0A7630 802EF630 97B9007A */ lhu $t9, 0x7a($sp) /* 0A7634 802EF634 3C011300 */ lui $at, 0x1300 /* 0A7638 802EF638 8E020000 */ lw $v0, ($s0) /* 0A763C 802EF63C 00197903 */ sra $t7, $t9, 4 /* 0A7640 802EF640 31F800FF */ andi $t8, $t7, 0xff /* 0A7644 802EF644 00187400 */ sll $t6, $t8, 0x10 /* 0A7648 802EF648 322F00FF */ andi $t7, $s1, 0xff /* 0A764C 802EF64C 000FC200 */ sll $t8, $t7, 8 /* 0A7650 802EF650 01C1C825 */ or $t9, $t6, $at /* 0A7654 802EF654 03387025 */ or $t6, $t9, $t8 /* 0A7658 802EF658 30AF0080 */ andi $t7, $a1, 0x80 /* 0A765C 802EF65C 000FC9C3 */ sra $t9, $t7, 7 /* 0A7660 802EF660 33380001 */ andi $t8, $t9, 1 /* 0A7664 802EF664 00187880 */ sll $t7, $t8, 2 /* 0A7668 802EF668 01CFC825 */ or $t9, $t6, $t7 /* 0A766C 802EF66C 0002C100 */ sll $t8, $v0, 4 /* 0A7670 802EF670 001877C2 */ srl $t6, $t8, 0x1f /* 0A7674 802EF674 31CF0001 */ andi $t7, $t6, 1 /* 0A7678 802EF678 000FC040 */ sll $t8, $t7, 1 /* 0A767C 802EF67C 03387025 */ or $t6, $t9, $t8 /* 0A7680 802EF680 00027940 */ sll $t7, $v0, 5 /* 0A7684 802EF684 000FCFC2 */ srl $t9, $t7, 0x1f /* 0A7688 802EF688 33380001 */ andi $t8, $t9, 1 /* 0A768C 802EF68C 3C1999B1 */ lui $t9, (0x99B1C9E1 >> 16) # lui $t9, 0x99b1 /* 0A7690 802EF690 00801825 */ move $v1, $a0 /* 0A7694 802EF694 3739C9E1 */ ori $t9, (0x99B1C9E1 & 0xFFFF) # ori $t9, $t9, 0xc9e1 /* 0A7698 802EF698 01D87825 */ or $t7, $t6, $t8 /* 0A769C 802EF69C AC6F0000 */ sw $t7, ($v1) /* 0A76A0 802EF6A0 AC790004 */ sw $t9, 4($v1) /* 0A76A4 802EF6A4 1000006F */ b .L802EF864 /* 0A76A8 802EF6A8 24840008 */ addiu $a0, $a0, 8 .L802EF6AC: /* 0A76AC 802EF6AC 97AE007A */ lhu $t6, 0x7a($sp) /* 0A76B0 802EF6B0 3C011300 */ lui $at, 0x1300 /* 0A76B4 802EF6B4 8E020000 */ lw $v0, ($s0) /* 0A76B8 802EF6B8 000EC103 */ sra $t8, $t6, 4 /* 0A76BC 802EF6BC 330F00FF */ andi $t7, $t8, 0xff /* 0A76C0 802EF6C0 000FCC00 */ sll $t9, $t7, 0x10 /* 0A76C4 802EF6C4 323800FF */ andi $t8, $s1, 0xff /* 0A76C8 802EF6C8 00187A00 */ sll $t7, $t8, 8 /* 0A76CC 802EF6CC 03217025 */ or $t6, $t9, $at /* 0A76D0 802EF6D0 01CFC825 */ or $t9, $t6, $t7 /* 0A76D4 802EF6D4 30B80080 */ andi $t8, $a1, 0x80 /* 0A76D8 802EF6D8 001871C3 */ sra $t6, $t8, 7 /* 0A76DC 802EF6DC 31CF0001 */ andi $t7, $t6, 1 /* 0A76E0 802EF6E0 000FC080 */ sll $t8, $t7, 2 /* 0A76E4 802EF6E4 03387025 */ or $t6, $t9, $t8 /* 0A76E8 802EF6E8 00027900 */ sll $t7, $v0, 4 /* 0A76EC 802EF6EC 000FCFC2 */ srl $t9, $t7, 0x1f /* 0A76F0 802EF6F0 33380001 */ andi $t8, $t9, 1 /* 0A76F4 802EF6F4 00187840 */ sll $t7, $t8, 1 /* 0A76F8 802EF6F8 01CFC825 */ or $t9, $t6, $t7 /* 0A76FC 802EF6FC 0002C140 */ sll $t8, $v0, 5 /* 0A7700 802EF700 001877C2 */ srl $t6, $t8, 0x1f /* 0A7704 802EF704 31CF0001 */ andi $t7, $t6, 1 /* 0A7708 802EF708 3C0E65B1 */ lui $t6, (0x65B1C9E1 >> 16) # lui $t6, 0x65b1 /* 0A770C 802EF70C 00801825 */ move $v1, $a0 /* 0A7710 802EF710 35CEC9E1 */ ori $t6, (0x65B1C9E1 & 0xFFFF) # ori $t6, $t6, 0xc9e1 /* 0A7714 802EF714 032FC025 */ or $t8, $t9, $t7 /* 0A7718 802EF718 AC780000 */ sw $t8, ($v1) /* 0A771C 802EF71C AC6E0004 */ sw $t6, 4($v1) /* 0A7720 802EF720 10000050 */ b .L802EF864 /* 0A7724 802EF724 24840008 */ addiu $a0, $a0, 8 .L802EF728: /* 0A7728 802EF728 97B9007A */ lhu $t9, 0x7a($sp) /* 0A772C 802EF72C 3C011300 */ lui $at, 0x1300 /* 0A7730 802EF730 8E020000 */ lw $v0, ($s0) /* 0A7734 802EF734 00197903 */ sra $t7, $t9, 4 /* 0A7738 802EF738 31F800FF */ andi $t8, $t7, 0xff /* 0A773C 802EF73C 00187400 */ sll $t6, $t8, 0x10 /* 0A7740 802EF740 322F00FF */ andi $t7, $s1, 0xff /* 0A7744 802EF744 000FC200 */ sll $t8, $t7, 8 /* 0A7748 802EF748 01C1C825 */ or $t9, $t6, $at /* 0A774C 802EF74C 03387025 */ or $t6, $t9, $t8 /* 0A7750 802EF750 30AF0080 */ andi $t7, $a1, 0x80 /* 0A7754 802EF754 000FC9C3 */ sra $t9, $t7, 7 /* 0A7758 802EF758 33380001 */ andi $t8, $t9, 1 /* 0A775C 802EF75C 00187880 */ sll $t7, $t8, 2 /* 0A7760 802EF760 01CFC825 */ or $t9, $t6, $t7 /* 0A7764 802EF764 0002C100 */ sll $t8, $v0, 4 /* 0A7768 802EF768 001877C2 */ srl $t6, $t8, 0x1f /* 0A776C 802EF76C 31CF0001 */ andi $t7, $t6, 1 /* 0A7770 802EF770 000FC040 */ sll $t8, $t7, 1 /* 0A7774 802EF774 03387025 */ or $t6, $t9, $t8 /* 0A7778 802EF778 00027940 */ sll $t7, $v0, 5 /* 0A777C 802EF77C 000FCFC2 */ srl $t9, $t7, 0x1f /* 0A7780 802EF780 33380001 */ andi $t8, $t9, 1 /* 0A7784 802EF784 3C199965 */ lui $t9, (0x9965C9E1 >> 16) # lui $t9, 0x9965 /* 0A7788 802EF788 3739C9E1 */ ori $t9, (0x9965C9E1 & 0xFFFF) # ori $t9, $t9, 0xc9e1 /* 0A778C 802EF78C 01D87825 */ or $t7, $t6, $t8 /* 0A7790 802EF790 AC6F0000 */ sw $t7, ($v1) /* 0A7794 802EF794 AC790004 */ sw $t9, 4($v1) /* 0A7798 802EF798 10000032 */ b .L802EF864 /* 0A779C 802EF79C 24840008 */ addiu $a0, $a0, 8 .L802EF7A0: /* 0A77A0 802EF7A0 31D800FF */ andi $t8, $t6, 0xff /* 0A77A4 802EF7A4 00187C00 */ sll $t7, $t8, 0x10 /* 0A77A8 802EF7A8 01E1C825 */ or $t9, $t7, $at /* 0A77AC 802EF7AC 30CEFFFF */ andi $t6, $a2, 0xffff /* 0A77B0 802EF7B0 032EC025 */ or $t8, $t9, $t6 /* 0A77B4 802EF7B4 AD780000 */ sw $t8, ($t3) /* 0A77B8 802EF7B8 30EEFFFF */ andi $t6, $a3, 0xffff /* 0A77BC 802EF7BC 0008CC00 */ sll $t9, $t0, 0x10 /* 0A77C0 802EF7C0 032EC025 */ or $t8, $t9, $t6 /* 0A77C4 802EF7C4 AD780004 */ sw $t8, 4($t3) /* 0A77C8 802EF7C8 24840008 */ addiu $a0, $a0, 8 /* 0A77CC 802EF7CC 00806025 */ move $t4, $a0 /* 0A77D0 802EF7D0 3C0F1600 */ lui $t7, 0x1600 /* 0A77D4 802EF7D4 AD8F0000 */ sw $t7, ($t4) /* 0A77D8 802EF7D8 3158FFFF */ andi $t8, $t2, 0xffff /* 0A77DC 802EF7DC 00097400 */ sll $t6, $t1, 0x10 /* 0A77E0 802EF7E0 01D87825 */ or $t7, $t6, $t8 /* 0A77E4 802EF7E4 AD8F0004 */ sw $t7, 4($t4) /* 0A77E8 802EF7E8 97B9007A */ lhu $t9, 0x7a($sp) /* 0A77EC 802EF7EC 3C011300 */ lui $at, 0x1300 /* 0A77F0 802EF7F0 8E020000 */ lw $v0, ($s0) /* 0A77F4 802EF7F4 00197103 */ sra $t6, $t9, 4 /* 0A77F8 802EF7F8 31D800FF */ andi $t8, $t6, 0xff /* 0A77FC 802EF7FC 00187C00 */ sll $t7, $t8, 0x10 /* 0A7800 802EF800 322E00FF */ andi $t6, $s1, 0xff /* 0A7804 802EF804 000EC200 */ sll $t8, $t6, 8 /* 0A7808 802EF808 01E1C825 */ or $t9, $t7, $at /* 0A780C 802EF80C 03387825 */ or $t7, $t9, $t8 /* 0A7810 802EF810 30AE0080 */ andi $t6, $a1, 0x80 /* 0A7814 802EF814 000EC9C3 */ sra $t9, $t6, 7 /* 0A7818 802EF818 33380001 */ andi $t8, $t9, 1 /* 0A781C 802EF81C 00187080 */ sll $t6, $t8, 2 /* 0A7820 802EF820 01EEC825 */ or $t9, $t7, $t6 /* 0A7824 802EF824 0002C100 */ sll $t8, $v0, 4 /* 0A7828 802EF828 00187FC2 */ srl $t7, $t8, 0x1f /* 0A782C 802EF82C 31EE0001 */ andi $t6, $t7, 1 /* 0A7830 802EF830 000EC040 */ sll $t8, $t6, 1 /* 0A7834 802EF834 03387825 */ or $t7, $t9, $t8 /* 0A7838 802EF838 00027140 */ sll $t6, $v0, 5 /* 0A783C 802EF83C 24840008 */ addiu $a0, $a0, 8 /* 0A7840 802EF840 000ECFC2 */ srl $t9, $t6, 0x1f /* 0A7844 802EF844 33380001 */ andi $t8, $t9, 1 /* 0A7848 802EF848 00806825 */ move $t5, $a0 /* 0A784C 802EF84C 3C1999B1 */ lui $t9, (0x99B1C9E1 >> 16) # lui $t9, 0x99b1 /* 0A7850 802EF850 3739C9E1 */ ori $t9, (0x99B1C9E1 & 0xFFFF) # ori $t9, $t9, 0xc9e1 /* 0A7854 802EF854 01F87025 */ or $t6, $t7, $t8 /* 0A7858 802EF858 ADAE0000 */ sw $t6, ($t5) /* 0A785C 802EF85C ADB90004 */ sw $t9, 4($t5) /* 0A7860 802EF860 24840008 */ addiu $a0, $a0, 8 .L802EF864: /* 0A7864 802EF864 8FB00004 */ lw $s0, 4($sp) /* 0A7868 802EF868 8FB10008 */ lw $s1, 8($sp) /* 0A786C 802EF86C 8FB2000C */ lw $s2, 0xc($sp) /* 0A7870 802EF870 27BD0068 */ addiu $sp, $sp, 0x68 /* 0A7874 802EF874 03E00008 */ jr $ra /* 0A7878 802EF878 00801025 */ move $v0, $a0