.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_E006E764 /* 372EF4 E006E764 27BDFF30 */ addiu $sp, $sp, -0xd0 /* 372EF8 E006E768 3C07DB06 */ lui $a3, 0xdb06 /* 372EFC E006E76C AFB500B4 */ sw $s5, 0xb4($sp) /* 372F00 E006E770 3C15800A */ lui $s5, %hi(D_8009A66C) /* 372F04 E006E774 26B5A66C */ addiu $s5, $s5, %lo(D_8009A66C) /* 372F08 E006E778 AFBF00C4 */ sw $ra, 0xc4($sp) /* 372F0C E006E77C AFBE00C0 */ sw $fp, 0xc0($sp) /* 372F10 E006E780 AFB700BC */ sw $s7, 0xbc($sp) /* 372F14 E006E784 AFB600B8 */ sw $s6, 0xb8($sp) /* 372F18 E006E788 AFB400B0 */ sw $s4, 0xb0($sp) /* 372F1C E006E78C AFB300AC */ sw $s3, 0xac($sp) /* 372F20 E006E790 AFB200A8 */ sw $s2, 0xa8($sp) /* 372F24 E006E794 AFB100A4 */ sw $s1, 0xa4($sp) /* 372F28 E006E798 AFB000A0 */ sw $s0, 0xa0($sp) /* 372F2C E006E79C F7B400C8 */ sdc1 $f20, 0xc8($sp) /* 372F30 E006E7A0 8EA50000 */ lw $a1, ($s5) /* 372F34 E006E7A4 8C94000C */ lw $s4, 0xc($a0) /* 372F38 E006E7A8 00A0182D */ daddu $v1, $a1, $zero /* 372F3C E006E7AC 24A50008 */ addiu $a1, $a1, 8 /* 372F40 E006E7B0 AEA50000 */ sw $a1, ($s5) /* 372F44 E006E7B4 8E860000 */ lw $a2, ($s4) /* 372F48 E006E7B8 24A20008 */ addiu $v0, $a1, 8 /* 372F4C E006E7BC AEA20000 */ sw $v0, ($s5) /* 372F50 E006E7C0 C682005C */ lwc1 $f2, 0x5c($s4) /* 372F54 E006E7C4 00061080 */ sll $v0, $a2, 2 /* 372F58 E006E7C8 3C0CE007 */ lui $t4, %hi(D_E006EC00) /* 372F5C E006E7CC 01826021 */ addu $t4, $t4, $v0 /* 372F60 E006E7D0 8D8CEC00 */ lw $t4, %lo(D_E006EC00)($t4) /* 372F64 E006E7D4 34E70024 */ ori $a3, $a3, 0x24 /* 372F68 E006E7D8 AFAC0098 */ sw $t4, 0x98($sp) /* 372F6C E006E7DC 3C17E007 */ lui $s7, %hi(D_E006EC0C) /* 372F70 E006E7E0 02E2B821 */ addu $s7, $s7, $v0 /* 372F74 E006E7E4 8EF7EC0C */ lw $s7, %lo(D_E006EC0C)($s7) /* 372F78 E006E7E8 3C02E700 */ lui $v0, 0xe700 /* 372F7C E006E7EC 4600110D */ trunc.w.s $f4, $f2 /* 372F80 E006E7F0 44162000 */ mfc1 $s6, $f4 /* 372F84 E006E7F4 00000000 */ nop /* 372F88 E006E7F8 44960000 */ mtc1 $s6, $f0 /* 372F8C E006E7FC 00000000 */ nop /* 372F90 E006E800 46800020 */ cvt.s.w $f0, $f0 /* 372F94 E006E804 46001081 */ sub.s $f2, $f2, $f0 /* 372F98 E006E808 AC620000 */ sw $v0, ($v1) /* 372F9C E006E80C AC600004 */ sw $zero, 4($v1) /* 372FA0 E006E810 ACA70000 */ sw $a3, ($a1) /* 372FA4 E006E814 8C820010 */ lw $v0, 0x10($a0) /* 372FA8 E006E818 3C014380 */ lui $at, 0x4380 /* 372FAC E006E81C 44810000 */ mtc1 $at, $f0 /* 372FB0 E006E820 8C42001C */ lw $v0, 0x1c($v0) /* 372FB4 E006E824 46001082 */ mul.s $f2, $f2, $f0 /* 372FB8 E006E828 00000000 */ nop /* 372FBC E006E82C 3C038000 */ lui $v1, 0x8000 /* 372FC0 E006E830 00431021 */ addu $v0, $v0, $v1 /* 372FC4 E006E834 ACA20004 */ sw $v0, 4($a1) /* 372FC8 E006E838 24020001 */ addiu $v0, $zero, 1 /* 372FCC E006E83C 4600110D */ trunc.w.s $f4, $f2 /* 372FD0 E006E840 441E2000 */ mfc1 $fp, $f4 /* 372FD4 E006E844 14C20051 */ bne $a2, $v0, .LE006E98C /* 372FD8 E006E848 3C0B0100 */ lui $t3, 0x100 /* 372FDC E006E84C 27A40018 */ addiu $a0, $sp, 0x18 /* 372FE0 E006E850 3C120001 */ lui $s2, 1 /* 372FE4 E006E854 8E850018 */ lw $a1, 0x18($s4) /* 372FE8 E006E858 8E86001C */ lw $a2, 0x1c($s4) /* 372FEC E006E85C 8E870020 */ lw $a3, 0x20($s4) /* 372FF0 E006E860 0C080108 */ jal func_E0200420 /* 372FF4 E006E864 36521630 */ ori $s2, $s2, 0x1630 /* 372FF8 E006E868 27B00058 */ addiu $s0, $sp, 0x58 /* 372FFC E006E86C 3C038007 */ lui $v1, %hi(gCurrentCameraID) /* 373000 E006E870 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) /* 373004 E006E874 44800000 */ mtc1 $zero, $f0 /* 373008 E006E878 00031080 */ sll $v0, $v1, 2 /* 37300C E006E87C 00431021 */ addu $v0, $v0, $v1 /* 373010 E006E880 00021080 */ sll $v0, $v0, 2 /* 373014 E006E884 00431023 */ subu $v0, $v0, $v1 /* 373018 E006E888 000218C0 */ sll $v1, $v0, 3 /* 37301C E006E88C 00431021 */ addu $v0, $v0, $v1 /* 373020 E006E890 000210C0 */ sll $v0, $v0, 3 /* 373024 E006E894 44060000 */ mfc1 $a2, $f0 /* 373028 E006E898 3C01800B */ lui $at, %hi(D_800B1DEC) /* 37302C E006E89C 00220821 */ addu $at, $at, $v0 /* 373030 E006E8A0 C4201DEC */ lwc1 $f0, %lo(D_800B1DEC)($at) /* 373034 E006E8A4 3C073F80 */ lui $a3, 0x3f80 /* 373038 E006E8A8 46000007 */ neg.s $f0, $f0 /* 37303C E006E8AC 44050000 */ mfc1 $a1, $f0 /* 373040 E006E8B0 0200202D */ daddu $a0, $s0, $zero /* 373044 E006E8B4 0C080104 */ jal func_E0200410 /* 373048 E006E8B8 AFA60010 */ sw $a2, 0x10($sp) /* 37304C E006E8BC 0200202D */ daddu $a0, $s0, $zero /* 373050 E006E8C0 27A50018 */ addiu $a1, $sp, 0x18 /* 373054 E006E8C4 0C080114 */ jal func_E0200450 /* 373058 E006E8C8 00A0302D */ daddu $a2, $a1, $zero /* 37305C E006E8CC 27A40018 */ addiu $a0, $sp, 0x18 /* 373060 E006E8D0 3C108007 */ lui $s0, %hi(D_800741F0) /* 373064 E006E8D4 261041F0 */ addiu $s0, $s0, %lo(D_800741F0) /* 373068 E006E8D8 3C11800A */ lui $s1, %hi(D_8009A674) /* 37306C E006E8DC 2631A674 */ addiu $s1, $s1, %lo(D_8009A674) /* 373070 E006E8E0 96050000 */ lhu $a1, ($s0) /* 373074 E006E8E4 8E220000 */ lw $v0, ($s1) /* 373078 E006E8E8 00052980 */ sll $a1, $a1, 6 /* 37307C E006E8EC 00B22821 */ addu $a1, $a1, $s2 /* 373080 E006E8F0 0C080118 */ jal func_E0200460 /* 373084 E006E8F4 00452821 */ addu $a1, $v0, $a1 /* 373088 E006E8F8 3C03DA38 */ lui $v1, 0xda38 /* 37308C E006E8FC 34630002 */ ori $v1, $v1, 2 /* 373090 E006E900 3C06D838 */ lui $a2, 0xd838 /* 373094 E006E904 34C60002 */ ori $a2, $a2, 2 /* 373098 E006E908 8EA40000 */ lw $a0, ($s5) /* 37309C E006E90C 96020000 */ lhu $v0, ($s0) /* 3730A0 E006E910 0080282D */ daddu $a1, $a0, $zero /* 3730A4 E006E914 24840008 */ addiu $a0, $a0, 8 /* 3730A8 E006E918 AEA40000 */ sw $a0, ($s5) /* 3730AC E006E91C ACA30000 */ sw $v1, ($a1) /* 3730B0 E006E920 24430001 */ addiu $v1, $v0, 1 /* 3730B4 E006E924 3042FFFF */ andi $v0, $v0, 0xffff /* 3730B8 E006E928 00021180 */ sll $v0, $v0, 6 /* 3730BC E006E92C A6030000 */ sh $v1, ($s0) /* 3730C0 E006E930 8E230000 */ lw $v1, ($s1) /* 3730C4 E006E934 00521021 */ addu $v0, $v0, $s2 /* 3730C8 E006E938 00621821 */ addu $v1, $v1, $v0 /* 3730CC E006E93C 24820008 */ addiu $v0, $a0, 8 /* 3730D0 E006E940 ACA30004 */ sw $v1, 4($a1) /* 3730D4 E006E944 3C03DE00 */ lui $v1, 0xde00 /* 3730D8 E006E948 AEA20000 */ sw $v0, ($s5) /* 3730DC E006E94C 3C020900 */ lui $v0, 0x900 /* 3730E0 E006E950 24420C20 */ addiu $v0, $v0, 0xc20 /* 3730E4 E006E954 AC820004 */ sw $v0, 4($a0) /* 3730E8 E006E958 24820010 */ addiu $v0, $a0, 0x10 /* 3730EC E006E95C AC830000 */ sw $v1, ($a0) /* 3730F0 E006E960 AEA20000 */ sw $v0, ($s5) /* 3730F4 E006E964 3C020900 */ lui $v0, 0x900 /* 3730F8 E006E968 24420C00 */ addiu $v0, $v0, 0xc00 /* 3730FC E006E96C AC82000C */ sw $v0, 0xc($a0) /* 373100 E006E970 24820018 */ addiu $v0, $a0, 0x18 /* 373104 E006E974 AC830008 */ sw $v1, 8($a0) /* 373108 E006E978 AEA20000 */ sw $v0, ($s5) /* 37310C E006E97C 24020040 */ addiu $v0, $zero, 0x40 /* 373110 E006E980 AC860010 */ sw $a2, 0x10($a0) /* 373114 E006E984 AC820014 */ sw $v0, 0x14($a0) /* 373118 E006E988 3C0B0100 */ lui $t3, 0x100 .LE006E98C: /* 37311C E006E98C 356B0080 */ ori $t3, $t3, 0x80 /* 373120 E006E990 27A40018 */ addiu $a0, $sp, 0x18 /* 373124 E006E994 3C130001 */ lui $s3, 1 /* 373128 E006E998 3C12DE00 */ lui $s2, 0xde00 /* 37312C E006E99C 8EA60000 */ lw $a2, ($s5) /* 373130 E006E9A0 3C0AF200 */ lui $t2, 0xf200 /* 373134 E006E9A4 00C0102D */ daddu $v0, $a2, $zero /* 373138 E006E9A8 24C60008 */ addiu $a2, $a2, 8 /* 37313C E006E9AC AEA60000 */ sw $a2, ($s5) /* 373140 E006E9B0 AC520000 */ sw $s2, ($v0) /* 373144 E006E9B4 AC570004 */ sw $s7, 4($v0) /* 373148 E006E9B8 24C20008 */ addiu $v0, $a2, 8 /* 37314C E006E9BC AEA20000 */ sw $v0, ($s5) /* 373150 E006E9C0 3C02FA00 */ lui $v0, 0xfa00 /* 373154 E006E9C4 ACC20000 */ sw $v0, ($a2) /* 373158 E006E9C8 92820067 */ lbu $v0, 0x67($s4) /* 37315C E006E9CC 9285006B */ lbu $a1, 0x6b($s4) /* 373160 E006E9D0 9287006F */ lbu $a3, 0x6f($s4) /* 373164 E006E9D4 92880043 */ lbu $t0, 0x43($s4) /* 373168 E006E9D8 24C30010 */ addiu $v1, $a2, 0x10 /* 37316C E006E9DC AEA30000 */ sw $v1, ($s5) /* 373170 E006E9E0 3C03FB00 */ lui $v1, 0xfb00 /* 373174 E006E9E4 ACC30008 */ sw $v1, 8($a2) /* 373178 E006E9E8 00161940 */ sll $v1, $s6, 5 /* 37317C E006E9EC 00021600 */ sll $v0, $v0, 0x18 /* 373180 E006E9F0 00052C00 */ sll $a1, $a1, 0x10 /* 373184 E006E9F4 00451025 */ or $v0, $v0, $a1 /* 373188 E006E9F8 00073A00 */ sll $a3, $a3, 8 /* 37318C E006E9FC 00471025 */ or $v0, $v0, $a3 /* 373190 E006EA00 00481025 */ or $v0, $v0, $t0 /* 373194 E006EA04 ACC20004 */ sw $v0, 4($a2) /* 373198 E006EA08 92870073 */ lbu $a3, 0x73($s4) /* 37319C E006EA0C 92880077 */ lbu $t0, 0x77($s4) /* 3731A0 E006EA10 9289007B */ lbu $t1, 0x7b($s4) /* 3731A4 E006EA14 24C20018 */ addiu $v0, $a2, 0x18 /* 3731A8 E006EA18 AEA20000 */ sw $v0, ($s5) /* 3731AC E006EA1C 001611C0 */ sll $v0, $s6, 7 /* 3731B0 E006EA20 30420FFF */ andi $v0, $v0, 0xfff /* 3731B4 E006EA24 00021300 */ sll $v0, $v0, 0xc /* 3731B8 E006EA28 004A1025 */ or $v0, $v0, $t2 /* 3731BC E006EA2C ACC20010 */ sw $v0, 0x10($a2) /* 3731C0 E006EA30 24620020 */ addiu $v0, $v1, 0x20 /* 3731C4 E006EA34 00021080 */ sll $v0, $v0, 2 /* 3731C8 E006EA38 30420FFF */ andi $v0, $v0, 0xfff /* 3731CC E006EA3C 00021300 */ sll $v0, $v0, 0xc /* 3731D0 E006EA40 34450080 */ ori $a1, $v0, 0x80 /* 3731D4 E006EA44 ACC50014 */ sw $a1, 0x14($a2) /* 3731D8 E006EA48 24C50020 */ addiu $a1, $a2, 0x20 /* 3731DC E006EA4C 004A1025 */ or $v0, $v0, $t2 /* 3731E0 E006EA50 24630040 */ addiu $v1, $v1, 0x40 /* 3731E4 E006EA54 00031880 */ sll $v1, $v1, 2 /* 3731E8 E006EA58 30630FFF */ andi $v1, $v1, 0xfff /* 3731EC E006EA5C 00031B00 */ sll $v1, $v1, 0xc /* 3731F0 E006EA60 006B1825 */ or $v1, $v1, $t3 /* 3731F4 E006EA64 AEA50000 */ sw $a1, ($s5) /* 3731F8 E006EA68 ACC20018 */ sw $v0, 0x18($a2) /* 3731FC E006EA6C 33C200FF */ andi $v0, $fp, 0xff /* 373200 E006EA70 ACC3001C */ sw $v1, 0x1c($a2) /* 373204 E006EA74 00073E00 */ sll $a3, $a3, 0x18 /* 373208 E006EA78 00084400 */ sll $t0, $t0, 0x10 /* 37320C E006EA7C 00E83825 */ or $a3, $a3, $t0 /* 373210 E006EA80 00094A00 */ sll $t1, $t1, 8 /* 373214 E006EA84 00E93825 */ or $a3, $a3, $t1 /* 373218 E006EA88 00E23825 */ or $a3, $a3, $v0 /* 37321C E006EA8C ACC7000C */ sw $a3, 0xc($a2) /* 373220 E006EA90 8E85000C */ lw $a1, 0xc($s4) /* 373224 E006EA94 8E860010 */ lw $a2, 0x10($s4) /* 373228 E006EA98 8E870014 */ lw $a3, 0x14($s4) /* 37322C E006EA9C 4480A000 */ mtc1 $zero, $f20 /* 373230 E006EAA0 0C080108 */ jal func_E0200420 /* 373234 E006EAA4 36731630 */ ori $s3, $s3, 0x1630 /* 373238 E006EAA8 27B00058 */ addiu $s0, $sp, 0x58 /* 37323C E006EAAC 3C038007 */ lui $v1, %hi(gCurrentCameraID) /* 373240 E006EAB0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) /* 373244 E006EAB4 4406A000 */ mfc1 $a2, $f20 /* 373248 E006EAB8 00031080 */ sll $v0, $v1, 2 /* 37324C E006EABC 00431021 */ addu $v0, $v0, $v1 /* 373250 E006EAC0 00021080 */ sll $v0, $v0, 2 /* 373254 E006EAC4 00431023 */ subu $v0, $v0, $v1 /* 373258 E006EAC8 000218C0 */ sll $v1, $v0, 3 /* 37325C E006EACC 00431021 */ addu $v0, $v0, $v1 /* 373260 E006EAD0 000210C0 */ sll $v0, $v0, 3 /* 373264 E006EAD4 3C01800B */ lui $at, %hi(D_800B1DEC) /* 373268 E006EAD8 00220821 */ addu $at, $at, $v0 /* 37326C E006EADC C4201DEC */ lwc1 $f0, %lo(D_800B1DEC)($at) /* 373270 E006EAE0 3C073F80 */ lui $a3, 0x3f80 /* 373274 E006EAE4 46000007 */ neg.s $f0, $f0 /* 373278 E006EAE8 44050000 */ mfc1 $a1, $f0 /* 37327C E006EAEC 0200202D */ daddu $a0, $s0, $zero /* 373280 E006EAF0 0C080104 */ jal func_E0200410 /* 373284 E006EAF4 E7B40010 */ swc1 $f20, 0x10($sp) /* 373288 E006EAF8 0200202D */ daddu $a0, $s0, $zero /* 37328C E006EAFC 27A50018 */ addiu $a1, $sp, 0x18 /* 373290 E006EB00 0C080114 */ jal func_E0200450 /* 373294 E006EB04 00A0302D */ daddu $a2, $a1, $zero /* 373298 E006EB08 0200202D */ daddu $a0, $s0, $zero /* 37329C E006EB0C 8E850038 */ lw $a1, 0x38($s4) /* 3732A0 E006EB10 4407A000 */ mfc1 $a3, $f20 /* 3732A4 E006EB14 0C080110 */ jal func_E0200440 /* 3732A8 E006EB18 00A0302D */ daddu $a2, $a1, $zero /* 3732AC E006EB1C 0200202D */ daddu $a0, $s0, $zero /* 3732B0 E006EB20 27A50018 */ addiu $a1, $sp, 0x18 /* 3732B4 E006EB24 0C080114 */ jal func_E0200450 /* 3732B8 E006EB28 00A0302D */ daddu $a2, $a1, $zero /* 3732BC E006EB2C 27A40018 */ addiu $a0, $sp, 0x18 /* 3732C0 E006EB30 3C108007 */ lui $s0, %hi(D_800741F0) /* 3732C4 E006EB34 261041F0 */ addiu $s0, $s0, %lo(D_800741F0) /* 3732C8 E006EB38 3C11800A */ lui $s1, %hi(D_8009A674) /* 3732CC E006EB3C 2631A674 */ addiu $s1, $s1, %lo(D_8009A674) /* 3732D0 E006EB40 96050000 */ lhu $a1, ($s0) /* 3732D4 E006EB44 8E220000 */ lw $v0, ($s1) /* 3732D8 E006EB48 00052980 */ sll $a1, $a1, 6 /* 3732DC E006EB4C 00B32821 */ addu $a1, $a1, $s3 /* 3732E0 E006EB50 0C080118 */ jal func_E0200460 /* 3732E4 E006EB54 00452821 */ addu $a1, $v0, $a1 /* 3732E8 E006EB58 3C06D838 */ lui $a2, 0xd838 /* 3732EC E006EB5C 8EA40000 */ lw $a0, ($s5) /* 3732F0 E006EB60 34C60002 */ ori $a2, $a2, 2 /* 3732F4 E006EB64 0080282D */ daddu $a1, $a0, $zero /* 3732F8 E006EB68 24840008 */ addiu $a0, $a0, 8 /* 3732FC E006EB6C AEA40000 */ sw $a0, ($s5) /* 373300 E006EB70 96020000 */ lhu $v0, ($s0) /* 373304 E006EB74 3C03DA38 */ lui $v1, 0xda38 /* 373308 E006EB78 ACA30000 */ sw $v1, ($a1) /* 37330C E006EB7C 24430001 */ addiu $v1, $v0, 1 /* 373310 E006EB80 3042FFFF */ andi $v0, $v0, 0xffff /* 373314 E006EB84 00021180 */ sll $v0, $v0, 6 /* 373318 E006EB88 A6030000 */ sh $v1, ($s0) /* 37331C E006EB8C 8E230000 */ lw $v1, ($s1) /* 373320 E006EB90 00531021 */ addu $v0, $v0, $s3 /* 373324 E006EB94 00621821 */ addu $v1, $v1, $v0 /* 373328 E006EB98 24820008 */ addiu $v0, $a0, 8 /* 37332C E006EB9C ACA30004 */ sw $v1, 4($a1) /* 373330 E006EBA0 AEA20000 */ sw $v0, ($s5) /* 373334 E006EBA4 AC920000 */ sw $s2, ($a0) /* 373338 E006EBA8 8FAC0098 */ lw $t4, 0x98($sp) /* 37333C E006EBAC 24820010 */ addiu $v0, $a0, 0x10 /* 373340 E006EBB0 AC8C0004 */ sw $t4, 4($a0) /* 373344 E006EBB4 AEA20000 */ sw $v0, ($s5) /* 373348 E006EBB8 24020040 */ addiu $v0, $zero, 0x40 /* 37334C E006EBBC AC860008 */ sw $a2, 8($a0) /* 373350 E006EBC0 AC82000C */ sw $v0, 0xc($a0) /* 373354 E006EBC4 8FBF00C4 */ lw $ra, 0xc4($sp) /* 373358 E006EBC8 8FBE00C0 */ lw $fp, 0xc0($sp) /* 37335C E006EBCC 8FB700BC */ lw $s7, 0xbc($sp) /* 373360 E006EBD0 8FB600B8 */ lw $s6, 0xb8($sp) /* 373364 E006EBD4 8FB500B4 */ lw $s5, 0xb4($sp) /* 373368 E006EBD8 8FB400B0 */ lw $s4, 0xb0($sp) /* 37336C E006EBDC 8FB300AC */ lw $s3, 0xac($sp) /* 373370 E006EBE0 8FB200A8 */ lw $s2, 0xa8($sp) /* 373374 E006EBE4 8FB100A4 */ lw $s1, 0xa4($sp) /* 373378 E006EBE8 8FB000A0 */ lw $s0, 0xa0($sp) /* 37337C E006EBEC D7B400C8 */ ldc1 $f20, 0xc8($sp) /* 373380 E006EBF0 03E00008 */ jr $ra /* 373384 E006EBF4 27BD00D0 */ addiu $sp, $sp, 0xd0 /* 373388 E006EBF8 00000000 */ nop /* 37338C E006EBFC 00000000 */ nop