.set noat # allow manual use of $at .set noreorder # don't insert nops after branches glabel func_80034C3C /* 01003C 80034C3C 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 010040 80034C40 AFB00018 */ sw $s0, 0x18($sp) /* 010044 80034C44 3C10800A */ lui $s0, 0x800a /* 010048 80034C48 26100921 */ addiu $s0, $s0, 0x921 /* 01004C 80034C4C AFBF0024 */ sw $ra, 0x24($sp) /* 010050 80034C50 AFB20020 */ sw $s2, 0x20($sp) /* 010054 80034C54 AFB1001C */ sw $s1, 0x1c($sp) /* 010058 80034C58 82030000 */ lb $v1, ($s0) /* 01005C 80034C5C 24020003 */ addiu $v0, $zero, 3 /* 010060 80034C60 106200B8 */ beq $v1, $v0, .L80034F44 /* 010064 80034C64 28620004 */ slti $v0, $v1, 4 /* 010068 80034C68 14400006 */ bnez $v0, .L80034C84 /* 01006C 80034C6C 28620002 */ slti $v0, $v1, 2 /* 010070 80034C70 24020004 */ addiu $v0, $zero, 4 /* 010074 80034C74 106200CA */ beq $v1, $v0, .L80034FA0 /* 010078 80034C78 00000000 */ nop /* 01007C 80034C7C 0800D3F6 */ j .L80034FD8 /* 010080 80034C80 00000000 */ nop .L80034C84: /* 010084 80034C84 104000D4 */ beqz $v0, .L80034FD8 /* 010088 80034C88 00000000 */ nop /* 01008C 80034C8C 046000D2 */ bltz $v1, .L80034FD8 /* 010090 80034C90 24020004 */ addiu $v0, $zero, 4 /* 010094 80034C94 3C06800A */ lui $a2, 0x800a /* 010098 80034C98 24C60920 */ addiu $a2, $a2, 0x920 /* 01009C 80034C9C 80C30000 */ lb $v1, ($a2) /* 0100A0 80034CA0 14620007 */ bne $v1, $v0, .L80034CC0 /* 0100A4 80034CA4 00000000 */ nop /* 0100A8 80034CA8 3C03800A */ lui $v1, 0x800a /* 0100AC 80034CAC 2463A650 */ addiu $v1, $v1, -0x59b0 /* 0100B0 80034CB0 8C620000 */ lw $v0, ($v1) /* 0100B4 80034CB4 34420008 */ ori $v0, $v0, 8 /* 0100B8 80034CB8 AC620000 */ sw $v0, ($v1) /* 0100BC 80034CBC 80C30000 */ lb $v1, ($a2) .L80034CC0: /* 0100C0 80034CC0 046000C5 */ bltz $v1, .L80034FD8 /* 0100C4 80034CC4 90C20000 */ lbu $v0, ($a2) /* 0100C8 80034CC8 10600005 */ beqz $v1, .L80034CE0 /* 0100CC 80034CCC 2442FFFF */ addiu $v0, $v0, -1 /* 0100D0 80034CD0 A0C20000 */ sb $v0, ($a2) /* 0100D4 80034CD4 00021600 */ sll $v0, $v0, 0x18 /* 0100D8 80034CD8 144000BF */ bnez $v0, .L80034FD8 /* 0100DC 80034CDC 00000000 */ nop .L80034CE0: /* 0100E0 80034CE0 3C048007 */ lui $a0, 0x8007 /* 0100E4 80034CE4 24847950 */ addiu $a0, $a0, 0x7950 /* 0100E8 80034CE8 24050003 */ addiu $a1, $zero, 3 /* 0100EC 80034CEC 2402FFFF */ addiu $v0, $zero, -1 /* 0100F0 80034CF0 0C017CBC */ jal nuGfxSetCfb /* 0100F4 80034CF4 A0C20000 */ sb $v0, ($a2) /* 0100F8 80034CF8 0C0911C2 */ jal func_80244708 /* 0100FC 80034CFC 00000000 */ nop /* 010100 80034D00 3C04800A */ lui $a0, 0x800a /* 010104 80034D04 2484A650 */ addiu $a0, $a0, -0x59b0 /* 010108 80034D08 8C820000 */ lw $v0, ($a0) /* 01010C 80034D0C 2403FFF7 */ addiu $v1, $zero, -9 /* 010110 80034D10 00431024 */ and $v0, $v0, $v1 /* 010114 80034D14 0C016AFA */ jal get_current_map_header /* 010118 80034D18 AC820000 */ sw $v0, ($a0) /* 01011C 80034D1C 3C108007 */ lui $s0, 0x8007 /* 010120 80034D20 2610419C */ addiu $s0, $s0, 0x419c /* 010124 80034D24 8E040000 */ lw $a0, ($s0) /* 010128 80034D28 84830086 */ lh $v1, 0x86($a0) /* 01012C 80034D2C 00031900 */ sll $v1, $v1, 4 /* 010130 80034D30 3C068009 */ lui $a2, 0x8009 /* 010134 80034D34 00C33021 */ addu $a2, $a2, $v1 /* 010138 80034D38 8CC634F4 */ lw $a2, 0x34f4($a2) /* 01013C 80034D3C 0040902D */ daddu $s2, $v0, $zero /* 010140 80034D40 A0800070 */ sb $zero, 0x70($a0) /* 010144 80034D44 8484008C */ lh $a0, 0x8c($a0) /* 010148 80034D48 8E050000 */ lw $a1, ($s0) /* 01014C 80034D4C 00042140 */ sll $a0, $a0, 5 /* 010150 80034D50 94A30148 */ lhu $v1, 0x148($a1) /* 010154 80034D54 00C48821 */ addu $s1, $a2, $a0 /* 010158 80034D58 3063FF0F */ andi $v1, $v1, 0xff0f /* 01015C 80034D5C 0C016BE1 */ jal func_8005AF84 /* 010160 80034D60 A4A30148 */ sh $v1, 0x148($a1) /* 010164 80034D64 0C00AB37 */ jal func_8002ACDC /* 010168 80034D68 00000000 */ nop /* 01016C 80034D6C 0C018030 */ jal nuContRmbForceStopEnd /* 010170 80034D70 00000000 */ nop /* 010174 80034D74 0C05259C */ jal func_80149670 /* 010178 80034D78 24040001 */ addiu $a0, $zero, 1 /* 01017C 80034D7C 8E020000 */ lw $v0, ($s0) /* 010180 80034D80 0C0B763E */ jal func_802DD8F8 /* 010184 80034D84 80440084 */ lb $a0, 0x84($v0) /* 010188 80034D88 0C0457FA */ jal init_model_data /* 01018C 80034D8C 00000000 */ nop /* 010190 80034D90 0C05203C */ jal func_801480F0 /* 010194 80034D94 00000000 */ nop /* 010198 80034D98 0C048316 */ jal func_80120C58 /* 01019C 80034D9C 00000000 */ nop /* 0101A0 80034DA0 0C0478C4 */ jal func_8011E310 /* 0101A4 80034DA4 00000000 */ nop /* 0101A8 80034DA8 0C048C45 */ jal func_80123114 /* 0101AC 80034DAC 00000000 */ nop /* 0101B0 80034DB0 0000202D */ daddu $a0, $zero, $zero /* 0101B4 80034DB4 0C0514BA */ jal func_801452E8 /* 0101B8 80034DB8 0080282D */ daddu $a1, $a0, $zero /* 0101BC 80034DBC 0C0504C0 */ jal init_menu_icon_list /* 0101C0 80034DC0 00000000 */ nop /* 0101C4 80034DC4 0C04C433 */ jal init_item_entity_list /* 0101C8 80034DC8 00000000 */ nop /* 0101CC 80034DCC 0C0B0CBB */ jal init_script_list /* 0101D0 80034DD0 00000000 */ nop /* 0101D4 80034DD4 0C00E14B */ jal init_npc_list /* 0101D8 80034DD8 00000000 */ nop /* 0101DC 80034DDC 0C044396 */ jal func_80110E58 /* 0101E0 80034DE0 00000000 */ nop /* 0101E4 80034DE4 0C0515CA */ jal init_trigger_list /* 0101E8 80034DE8 00000000 */ nop /* 0101EC 80034DEC 3C04800A */ lui $a0, 0x800a /* 0101F0 80034DF0 8C840924 */ lw $a0, 0x924($a0) /* 0101F4 80034DF4 0C0525FF */ jal func_801497FC /* 0101F8 80034DF8 00000000 */ nop /* 0101FC 80034DFC 0C052B1C */ jal func_8014AC70 /* 010200 80034E00 00000000 */ nop /* 010204 80034E04 0C0169B0 */ jal load_map_script_lib /* 010208 80034E08 00000000 */ nop /* 01020C 80034E0C 3C04800E */ lui $a0, 0x800e /* 010210 80034E10 24849230 */ addiu $a0, $a0, -0x6dd0 /* 010214 80034E14 0C016B3A */ jal load_asset_by_name /* 010218 80034E18 27A50010 */ addiu $a1, $sp, 0x10 /* 01021C 80034E1C 0040802D */ daddu $s0, $v0, $zero /* 010220 80034E20 3C058021 */ lui $a1, 0x8021 /* 010224 80034E24 24A50000 */ addiu $a1, $a1, 0 /* 010228 80034E28 0C01BB7C */ jal decode_yay0 /* 01022C 80034E2C 0200202D */ daddu $a0, $s0, $zero /* 010230 80034E30 0C00AB1E */ jal general_heap_free /* 010234 80034E34 0200202D */ daddu $a0, $s0, $zero /* 010238 80034E38 0C016BE5 */ jal initialize_collision /* 01023C 80034E3C 00000000 */ nop /* 010240 80034E40 0C016C16 */ jal load_collision /* 010244 80034E44 00000000 */ nop /* 010248 80034E48 8E240008 */ lw $a0, 8($s1) /* 01024C 80034E4C 10800004 */ beqz $a0, .L80034E60 /* 010250 80034E50 00000000 */ nop /* 010254 80034E54 8E25000C */ lw $a1, 0xc($s1) /* 010258 80034E58 0C00A5CF */ jal dma_copy /* 01025C 80034E5C 8E260010 */ lw $a2, 0x10($s1) .L80034E60: /* 010260 80034E60 0C05175C */ jal load_map_bg /* 010264 80034E64 8E240014 */ lw $a0, 0x14($s1) /* 010268 80034E68 8E440038 */ lw $a0, 0x38($s2) /* 01026C 80034E6C 50800005 */ beql $a0, $zero, .L80034E84 /* 010270 80034E70 24040128 */ addiu $a0, $zero, 0x128 /* 010274 80034E74 0C05178A */ jal read_background_size /* 010278 80034E78 00000000 */ nop /* 01027C 80034E7C 0800D3A5 */ j .L80034E94 /* 010280 80034E80 00000000 */ nop .L80034E84: /* 010284 80034E84 240500C8 */ addiu $a1, $zero, 0xc8 /* 010288 80034E88 2406000C */ addiu $a2, $zero, 0xc /* 01028C 80034E8C 0C05179C */ jal set_background_size /* 010290 80034E90 24070014 */ addiu $a3, $zero, 0x14 .L80034E94: /* 010294 80034E94 3C038007 */ lui $v1, 0x8007 /* 010298 80034E98 8C63419C */ lw $v1, 0x419c($v1) /* 01029C 80034E9C 9462015E */ lhu $v0, 0x15e($v1) /* 0102A0 80034EA0 0C04584B */ jal calculate_model_sizes /* 0102A4 80034EA4 A462015C */ sh $v0, 0x15c($v1) /* 0102A8 80034EA8 0C00EC6C */ jal func_8003B1B0 /* 0102AC 80034EAC 00000000 */ nop /* 0102B0 80034EB0 0C051FB1 */ jal func_80147EC4 /* 0102B4 80034EB4 0000202D */ daddu $a0, $zero, $zero /* 0102B8 80034EB8 0C03A631 */ jal status_menu_disable_ignore_changes /* 0102BC 80034EBC 00000000 */ nop /* 0102C0 80034EC0 0C009C22 */ jal func_80027088 /* 0102C4 80034EC4 24040001 */ addiu $a0, $zero, 1 /* 0102C8 80034EC8 24020003 */ addiu $v0, $zero, 3 /* 0102CC 80034ECC 3C048011 */ lui $a0, 0x8011 /* 0102D0 80034ED0 2484EFC8 */ addiu $a0, $a0, -0x1038 /* 0102D4 80034ED4 3C01800A */ lui $at, 0x800a /* 0102D8 80034ED8 A0220921 */ sb $v0, 0x921($at) /* 0102DC 80034EDC 9082000E */ lbu $v0, 0xe($a0) /* 0102E0 80034EE0 3C03802E */ lui $v1, 0x802e /* 0102E4 80034EE4 90639D70 */ lbu $v1, -0x6290($v1) /* 0102E8 80034EE8 2442FFFF */ addiu $v0, $v0, -1 /* 0102EC 80034EEC 24630001 */ addiu $v1, $v1, 1 /* 0102F0 80034EF0 A082000F */ sb $v0, 0xf($a0) /* 0102F4 80034EF4 3C01802E */ lui $at, 0x802e /* 0102F8 80034EF8 A0239D71 */ sb $v1, -0x628f($at) /* 0102FC 80034EFC 0C00F949 */ jal func_8003E524 /* 010300 80034F00 00000000 */ nop /* 010304 80034F04 0C00E64C */ jal func_80039930 /* 010308 80034F08 00000000 */ nop /* 01030C 80034F0C 0C037DD0 */ jal func_800DF740 /* 010310 80034F10 00000000 */ nop /* 010314 80034F14 0C016754 */ jal func_80059D50 /* 010318 80034F18 00000000 */ nop /* 01031C 80034F1C 3C03800A */ lui $v1, 0x800a /* 010320 80034F20 24630922 */ addiu $v1, $v1, 0x922 /* 010324 80034F24 94620000 */ lhu $v0, ($v1) /* 010328 80034F28 2442FFEC */ addiu $v0, $v0, -0x14 /* 01032C 80034F2C A4620000 */ sh $v0, ($v1) /* 010330 80034F30 00021400 */ sll $v0, $v0, 0x10 /* 010334 80034F34 04420028 */ bltzl $v0, .L80034FD8 /* 010338 80034F38 A4600000 */ sh $zero, ($v1) /* 01033C 80034F3C 0800D3F6 */ j .L80034FD8 /* 010340 80034F40 00000000 */ nop .L80034F44: /* 010344 80034F44 0C00F949 */ jal func_8003E524 /* 010348 80034F48 00000000 */ nop /* 01034C 80034F4C 0C00E64C */ jal func_80039930 /* 010350 80034F50 00000000 */ nop /* 010354 80034F54 0C037DD0 */ jal func_800DF740 /* 010358 80034F58 00000000 */ nop /* 01035C 80034F5C 0C016754 */ jal func_80059D50 /* 010360 80034F60 00000000 */ nop /* 010364 80034F64 3C04800A */ lui $a0, 0x800a /* 010368 80034F68 24840922 */ addiu $a0, $a0, 0x922 /* 01036C 80034F6C 84820000 */ lh $v0, ($a0) /* 010370 80034F70 94830000 */ lhu $v1, ($a0) /* 010374 80034F74 14400004 */ bnez $v0, .L80034F88 /* 010378 80034F78 2462FFEC */ addiu $v0, $v1, -0x14 /* 01037C 80034F7C 24020004 */ addiu $v0, $zero, 4 /* 010380 80034F80 0800D3F6 */ j .L80034FD8 /* 010384 80034F84 A2020000 */ sb $v0, ($s0) .L80034F88: /* 010388 80034F88 A4820000 */ sh $v0, ($a0) /* 01038C 80034F8C 00021400 */ sll $v0, $v0, 0x10 /* 010390 80034F90 04420011 */ bltzl $v0, .L80034FD8 /* 010394 80034F94 A4800000 */ sh $zero, ($a0) /* 010398 80034F98 0800D3F6 */ j .L80034FD8 /* 01039C 80034F9C 00000000 */ nop .L80034FA0: /* 0103A0 80034FA0 0C009C22 */ jal func_80027088 /* 0103A4 80034FA4 0000202D */ daddu $a0, $zero, $zero /* 0103A8 80034FA8 0C00F949 */ jal func_8003E524 /* 0103AC 80034FAC 00000000 */ nop /* 0103B0 80034FB0 0C00E64C */ jal func_80039930 /* 0103B4 80034FB4 00000000 */ nop /* 0103B8 80034FB8 0C037DD0 */ jal func_800DF740 /* 0103BC 80034FBC 00000000 */ nop /* 0103C0 80034FC0 0C016754 */ jal func_80059D50 /* 0103C4 80034FC4 00000000 */ nop /* 0103C8 80034FC8 0C038069 */ jal func_800E01A4 /* 0103CC 80034FCC 00000000 */ nop /* 0103D0 80034FD0 0C00CD3C */ jal set_game_mode /* 0103D4 80034FD4 24040004 */ addiu $a0, $zero, 4 .L80034FD8: /* 0103D8 80034FD8 8FBF0024 */ lw $ra, 0x24($sp) /* 0103DC 80034FDC 8FB20020 */ lw $s2, 0x20($sp) /* 0103E0 80034FE0 8FB1001C */ lw $s1, 0x1c($sp) /* 0103E4 80034FE4 8FB00018 */ lw $s0, 0x18($sp) /* 0103E8 80034FE8 03E00008 */ jr $ra /* 0103EC 80034FEC 27BD0028 */ addiu $sp, $sp, 0x28