diff --git a/asm/Kyoto_CWD/main.s b/asm/Kyoto_CWD/main.s new file mode 100644 index 00000000..8196ad9a --- /dev/null +++ b/asm/Kyoto_CWD/main.s @@ -0,0 +1,6906 @@ +.include "macros.inc" + +.section .data, "wa" +.global lbl_803D8D60 +lbl_803D8D60: + # ROM: 0x3D5D60 + .4byte 0 + .4byte 0 + .4byte sub_80007c30 + +.global lbl_803D8D6C +lbl_803D8D6C: + # ROM: 0x3D5D6C + .4byte 0 + .4byte 0 + .4byte 0 + +.global lbl_803D8D78 +lbl_803D8D78: + # ROM: 0x3D5D78 + .4byte 0 + .4byte 0 + .4byte 0 + +.global lbl_803D8D84 +lbl_803D8D84: + # ROM: 0x3D5D84 + .4byte 0 + .4byte 0 + .4byte sub_8000799c + + +.section .rodata, "a" +# CGameGlobalObjects +.global lbl_803CB3A0 +lbl_803CB3A0: + # ROM: 0x3C83A0 + .4byte 0x78DA8D57 + .4byte 0x5B6F5455 + .4byte 0x145EA574 + .4byte 0x3A9D9682 + .4byte 0x188548D2 + .4byte 0x40B928D7 + .4byte 0x5229A5B7 + .4byte 0xD95B6B69 + .4byte 0xA142B9B4 + .4byte 0x948AD0D2 + .4byte 0x4EE7D64E + .4byte 0x67DAB974 + .4byte 0x68459928 + .4byte 0xF340D4F0 + .4byte 0x0B8C31C6 + .4byte 0xF8A2F1C5 + .4byte 0xC41835C6 + .4byte 0xC417E383 + .4byte 0x314A7C21 + .4byte 0x31262686 + .4byte 0xE8A3C617 + .4byte 0x93BAF7DA + .4byte 0xDF397366 + .4byte 0x9872CE21 + .4byte 0x3B1FFBCC + .4byte 0xB7BF597B + .4byte 0xDDBA66F0 + .4byte 0xDCC81811 + .4byte 0x6D506B8B + .4byte 0x5A9BD56A + .4byte 0x52AB8EF4 + .4byte 0x53AFD6A6 + .4byte 0x8170643A + .4byte 0x146E3FD6 + .4byte 0x4FD7C345 + .4byte 0x49E699A2 + .4byte 0x9DE24D22 + .4byte 0x394224EE + .4byte 0x2A1C27EB + .4byte 0xA9C1E91A + .4byte 0x2CFD1469 + .4byte 0x97F84DB1 + .4byte 0x0E28F603 + .4byte 0x859336B3 + .4byte 0x56AD6660 + .4byte 0x1356915A + .4byte 0x654381D9 + .4byte 0x72ABC21E + .4byte 0x5BDBEFC0 + .4byte 0x5A9BBDBB + .4byte 0x5781F89D + .4byte 0x2838A14E + .4byte 0xB4D8EC46 + .4byte 0x7C876605 + .4byte 0xB02FD21E + .4byte 0x39A9345B + .4byte 0x15335260 + .4byte 0xFBC1AA87 + .4byte 0x17EAC10E + .4byte 0x307BAFE8 + .4byte 0x37DA2249 + .4byte 0x7C0A4FC0 + .4byte 0x818DB6F6 + .4byte 0x3E7909DA + .4byte 0xD73C683F + .4byte 0x2D6B146B + .4byte 0x58B17D0A + .4byte 0xAFD8DA1B + .4byte 0x1D68DD92 + .4byte 0xE8197908 + .4byte 0xDAC70A96 + .4byte 0x07C9E16B + .4byte 0x1F3C697C + .4byte 0xB25F06C1 + .4byte 0x1EF0C03E + .4byte 0xC096687F + .4byte 0xFB15F6DB + .4byte 0x6C9F835D + .4byte 0x67B30F8A + .4byte 0x4F14739F + .4byte 0xF2C9D764 + .4byte 0xB1ADDB35 + .4byte 0x007D8852 + .4byte 0x910E712C + .4byte 0x85623617 + .4byte 0xAC3CA9C1 + .4byte 0xED2CACC3 + .4byte 0x4D8B7498 + .4byte 0xFDAC7C22 + .4byte 0xEE90935D + .4byte 0x0FF4E3BB + .4byte 0x7CCC3EC2 + .4byte 0x9668F6E7 + .4byte 0x6479B052 + .4byte 0xBBD6D66E + .4byte 0x135B114B + .4byte 0x5116CB06 + .4byte 0xB0AD589A + .4byte 0x5B1EE5AC + .4byte 0x8AA9ACEA + .4byte 0x5278BF2C + .4byte 0xF216BB94 + .4byte 0xB1EDF22C + .4byte 0xFC3D5676 + .4byte 0x4BA7072D + .4byte 0x760D3D1B + .4byte 0x3C05ED2F + .4byte 0x3D681F13 + .4byte 0x11C3D63E + .4byte 0x716577E8 + .4byte 0xBA64F67B + .4byte 0x1ED8C7C5 + .4byte 0xFB8A75C3 + .4byte 0x7850FBE6 + .4byte 0x91EC4EF1 + .4byte 0x05D83F7A + .4byte 0x609F103F + .4byte 0x81FDC003 + .4byte 0xBB4B5281 + .4byte 0xFAD47F65 + .4byte 0x6381C484 + .4byte 0x0BBB5B36 + .4byte 0x81BDCD03 + .4byte 0xBB47FC6B + .4byte 0xBA8FFE0E + .4byte 0xD42555E4 + .4byte 0x89DFAECB + .4byte 0x5EF1277A + .4byte 0xD53F0A2F + .4byte 0x566537D8 + .4byte 0xEC3EF12E + .4byte 0xAAE16393 + .4byte 0x8B556AA7 + .4byte 0xA41DE4FC + .4byte 0xD6DA4585 + .4byte 0x8355D93E + .4byte 0xE81755A2 + .4byte 0xDE85F63B + .4byte 0x1EB4A5CE + .4byte 0x2A9D83C1 + .4byte 0x8FCA6AC7 + .4byte 0xEFC0924F + .4byte 0x9E935164 + .4byte 0x6CCA43AF + .4byte 0x7A5E6E87 + .4byte 0xBF777BF0 + .4byte 0x77BFDC03 + .4byte 0x769B2BBB + .4byte 0x9E5EE088 + .4byte 0xABFC904F + .4byte 0x14F8B660 + .4byte 0x3538B0A4 + .4byte 0x3D208F42 + .4byte 0xBBD78325 + .4byte 0x27651FD8 + .4byte 0x4336BBA6 + .4byte 0xA27F97D8 + .4byte 0x83F24958 + .4byte 0xB2D3B684 + .4byte 0xD6B56448 + .4byte 0x9E82F6A8 + .4byte 0x074B4EE9 + .4byte 0xCEC0EC29 + .4byte 0x0FECD3E2 + .4byte 0x1744FED7 + .4byte 0xB2CE56EB + .4byte 0x408BEDA7 + .4byte 0x61791DDA + .4byte 0xF31E6EF9 + .4byte 0xA248A30F + .4byte 0xBE4DEEFE + .4byte 0x3EA3AB81 + .4byte 0xD96B656C + .4byte 0x7F55F659 + .4byte 0xDD35B525 + .4byte 0xC1DBE4B4 + .4byte 0x64B3032D + .4byte 0x76038DC8 + .4byte 0x04ECCE7B + .4byte 0xF0C9395D + .4byte 0xBDBAB371 + .4byte 0xBEDC77B9 + .4byte 0xE579DD21 + .4byte 0x98BDADE0 + .4byte 0xD6070374 + .4byte 0x41A82943 + .4byte 0xE8AE3C43 + .4byte 0x4E6DA74F + .4byte 0x4A7F2F2F + .4byte 0xEA6A60ED + .4byte 0xDDAEDA8D + .4byte 0x34AAAB81 + .4byte 0xD96DAEEC + .4byte 0x261AD39D + .4byte 0x41FB44D7 + .4byte 0x7C159F34 + .4byte 0x3AD8CD74 + .4byte 0x4957036B + .4byte 0xF716DCBB + .4byte 0xFDB8AE06 + .4byte 0x660F7960 + .4byte 0x5F0EBE05 + .4byte 0x4B7CAEB1 + .4byte 0xDC4213BA + .4byte 0x1A587BD4 + .4byte 0x83F64B1C + .4byte 0x4B5D6901 + .4byte 0x0F357F45 + .4byte 0xF758B6E4 + .4byte 0x33AA96DF + .4byte 0x8D65EC97 + .4byte 0xF9EFBBAE + .4byte 0x1DD5BBE5 + .4byte 0x4CD5A9A0 + .4byte 0x14CBAB72 + .4byte 0x17FAE0C1 + .4byte 0xB23EE8CC + .4byte 0xEFD2F478 + .4byte 0x4D2E82BD + .4byte 0x5C70CEB1 + .4byte 0x1B1D936F + .4byte 0x497B523E + .4byte 0x8EB96A47 + .4byte 0xD91C5BE7 + .4byte 0xE8B5A539 + .4byte 0x764A6EC6 + .4byte 0xA4F454C1 + .4byte 0xEAF695F9 + .4byte 0xBD01AB48 + .4byte 0xD7597318 + .4byte 0xBDAA347F + .4byte 0xD73A2CDA + .4byte 0x606B4FEB + .4byte 0x5BB2BFF5 + .4byte 0x14D95235 + .4byte 0x3AD67A8C + .4byte 0x6674AFE2 + .4byte 0x584EB9C6 + .4byte 0x723B85E4 + .4byte 0x616877D9 + .4byte 0xDA95765B + .4byte 0x6B07CDEA + .4byte 0x5EC5DAF3 + .4byte 0xAE55BC97 + .4byte 0xC2B21BDA + .4byte 0x03AEDAFB + .4byte 0x29224F22 + .4byte 0x3A675CA7 + .4byte 0xB0A314D5 + .4byte 0x330F67D5 + .4byte 0x0F6662AA + .4byte 0xA2BD09D8 + .4byte 0x4131DDAB + .4byte 0xD8EEBCAB + .4byte 0x4F7A292E + .4byte 0xBE470EDE + .4byte 0x5B7786B0 + .4byte 0xEC963427 + .4byte 0x5AC1EEA1 + .4byte 0x6AD37A9D + .4byte 0xC3929334 + .4byte 0x1FFCD6F4 + .4byte 0x28D1FCD0 + .4byte 0x6F924A4B + .4byte 0x062921C6 + .4byte 0xA13D4795 + .4byte 0xBF322C4B + .4byte 0x2CF6102D + .4byte 0x88007CA2 + .4byte 0x6613D165 + .4byte 0xB39BC16E + .4byte 0x76D83D42 + .4byte 0x49ED6F8E + .4byte 0xCE79D7AC + .4byte 0xBA402979 + .4byte 0x01ECABAE + .4byte 0xEC095AD4 + .4byte 0x33265BF2 + .4byte 0x871D9D4A + .4byte 0xB6E59359 + .4byte 0x5AD23326 + .4byte 0xB3D75C63 + .4byte 0x19A5B4FE + .4byte 0x7DC696C4 + .4byte 0x1EB2A432 + .4byte 0xAB629491 + .4byte 0x71B0B3AE + .4byte 0x762F5056 + .4byte 0x762007FB + .4byte 0xAAE660BD + .4byte 0xC3DF69CA + .4byte 0xE9094FFC + .4byte 0xA5D607EB + .4byte 0xC6D25A39 + .4byte 0x5A161F82 + .4byte 0xFD952BFB + .4byte 0x26E5C530 + .4byte 0x7CF2861D + .4byte 0x4B2B8654 + .4byte 0x11CB5B74 + .4byte 0x43FF9A63 + .4byte 0xED7BAEDA + .4byte 0x455AD179 + .4byte 0xC27F2F3B + .4byte 0xD5FAF991 + .4byte 0xD1799D56 + .4byte 0xF554C093 + .4byte 0x6917397B + .4byte 0x6C357FDF + .4byte 0xA6577485 + .4byte 0xB1076F79 + .4byte 0x984C6F8A + .4byte 0x6F90DFDF + .4byte 0xD9DD9E2A + .4byte 0x26A55247 + .4byte 0x7E35F8A9 + .4byte 0x6107FFB6 + .4byte 0xEB727DED + .4byte 0xD782FF41 + .4byte 0xBBC5039B + .4byte 0x7FD3D311 + .4byte 0x66B5ABFE + .4byte 0x62B0634D + .4byte 0x3D0A8F63 + .4byte 0xDF093C81 + .4byte 0xF7DDBCEF + .4byte 0xA730EF4F + .4byte 0x5388F767 + .4byte 0x29CC789E + .4byte 0x4C2E5FC4 + .4byte 0xE7A31402 + .4byte 0x9AFD184D + .4byte 0x03CDFE32 + .4byte 0x701ABC69 + .4byte 0x9A054681 + .4byte 0x19D69BA6 + .4byte 0x2CF679E0 + .4byte 0x2AE30CCE + .4byte 0xCFD01C30 + .4byte 0xC518823D + .4byte 0x21D813A2 + .4byte 0x79600298 + .4byte 0x022E01D3 + .4byte 0xC02C3007 + .4byte 0x5C619CA5 + .4byte 0x38FB7216 + .4byte 0xE7672909 + .4byte 0x34F685F1 + .4byte 0x7D61D811 + .4byte 0x062FAC2A + .4byte 0xCC6016B8 + .4byte 0x025C658C + .4byte 0xC01F11DC + .4byte 0x23A2FE99 + .4byte 0xF771C628 + .4byte 0xEC8FDAFB + .4byte 0x0430094C + .4byte 0x017340A3 + .4byte 0x1F531E32 + .4byte 0x68746338 + .4byte 0x1F831D71 + .4byte 0xF83BAE6E + .4byte 0x60F66160 + .4byte 0x0418051A + .4byte 0x3FCFE1F3 + .4byte 0x79E825A0 + .4byte 0x9F40BC12 + .4byte 0xF6FB08DE + .4byte 0xC78159BC + .4byte 0xCFF37E01 + .4byte 0xE716C05F + .4byte 0xA045DE27 + .4byte 0xF13E09BB + .4byte 0x92D04D82 + .4byte 0x97846E12 + .4byte 0x7991846E + .4byte 0x0AE75238 + .4byte 0x97C2B914 + .4byte 0xCEA52802 + .4byte 0x8C02E780 + .4byte 0x099CCB00 + .4byte 0x2DBD3CD0 + .4byte 0xDC7B11FA + .4byte 0x8BD05B04 + .4byte 0x6F09FE4E + .4byte 0xE3F334EA + .4byte 0x200D3FA5 + .4byte 0x71FF34F4 + .4byte 0x33B02F03 + .4byte 0x9D8CFD3E + .4byte 0x8BBDF14F + .4byte 0x167A59E8 + .4byte 0x65C1CFE1 + .4byte 0x7C0EF7CB + .4byte 0xD9EFA340 + .4byte 0x739F1C65 + .4byte 0xB037715E + .4byte 0x86DE32F8 + .4byte 0xCBB02B8F + .4byte 0xF779E457 + .4byte 0x1EEF57F0 + .4byte 0xBD2BB8C7 + .4byte 0xAAC1FF01 + .4byte 0xCBC9BAB0 + +# CRasterFont +.global lbl_803CB9F0 +lbl_803CB9F0: + # ROM: 0x3C89F0 + .4byte 0x78DAED59 + .4byte 0xDB921431 + .4byte 0x0805CB07 + .4byte 0x1FC31FF9 + .4byte 0xAB7EA94E + .4byte 0x377702E9 + .4byte 0x99D237B7 + .4byte 0xB770A777 + .4byte 0x12420807 + .4byte 0x0E1100BE + .4byte 0x23C04F00 + .4byte 0x78FD826F + .4byte 0xAF7F17C0 + .4byte 0xEFDFBF7E + .4byte 0xC0F92122 + .4byte 0xBC05B08A + .4byte 0x7CBDE87A + .4byte 0x0037E1F9 + .4byte 0x6B16FE9A + .4byte 0x26B9BEBF + .4byte 0x3FE22D50 + .4byte 0x45D6E767 + .4byte 0x980FCDBC + .4byte 0x34FF697D + .4byte 0x94F59B1D + .4byte 0xF0FA3C78 + .4byte 0xDDB666E1 + .4byte 0xE5D97FE2 + .4byte 0x77BA0D82 + .4byte 0xEB9D1DC0 + .4byte 0x2FECAF25 + .4byte 0x0226F7FE + .4byte 0x6E1F4F0E + .4byte 0x443F1FA8 + .4byte 0x62FA6D13 + .4byte 0x59C2F9AD + .4byte 0xB0BCCBA8 + .4byte 0xDFF624FE + .4byte 0xEBF4C368 + .4byte 0xBFAD99E3 + .4byte 0x0BEA1A6C + .4byte 0x3FBE67FF + .4byte 0xA0FFD93F + .4byte 0xEFEA8F90 + .4byte 0xE0333FD8 + .4byte 0x7FBD27FB + .4byte 0xD3CE82FE + .4byte 0xEE5CCB9A + .4byte 0x789083FF + .4byte 0xDF8B9FD3 + .4byte 0x3361DE80 + .4byte 0x37615EF6 + .4byte 0x9D979321 + .4byte 0x3E3D634F + .4byte 0x9EB87EC2 + .4byte 0x6B30CA9C + .4byte 0x5CB1EEEE + .4byte 0xC44B64EE + .4byte 0x3D24ACEB + .4byte 0xF96A58D7 + .4byte 0x063ACEA3 + .4byte 0x58DE9830 + .4byte 0xCF790B49 + .4byte 0xA1CE70E2 + .4byte 0x83D83CCC + .4byte 0x3ED3C5D2 + .4byte 0x1A3916EC + .4byte 0x7399BDC7 + .4byte 0x9FCF9658 + .4byte 0x483AD3F2 + .4byte 0xABC5FFEE + .4byte 0xEA84793B + .4byte 0xFF144D31 + .4byte 0xA6E5FCF7 + .4byte 0x988ED3A1 + .4byte 0xC32584BC + .4byte 0x39C5B4E6 + .4byte 0xB567FDB3 + .4byte 0xFD6C5DD1 + .4byte 0x1FE37721 + .4byte 0xD570C879 + .4byte 0x6043753A + .4byte 0xDFF7F43F + .4byte 0x607245EC + .4byte 0xEDF15375 + .4byte 0x7FACFF11 + .4byte 0xFF7DDE54 + .4byte 0x690A63DE + .4byte 0x6F9F973F + .4byte 0x31A013A9 + .4byte 0x9F60388F + .4byte 0xA28BB303 + .4byte 0x9046E9F0 + .4byte 0x88354771 + .4byte 0x1E579119 + .4byte 0xFA0E5DD1 + .4byte 0xF47C1267 + .4byte 0x943CE8B5 + .4byte 0x1303E6C9 + .4byte 0x4A8BADC7 + .4byte 0x3E8BF945 + .4byte 0xF3D78AFA + .4byte 0x27EAB6D8 + .4byte 0x53D3F9FD + .4byte 0x9BF33F08 + .4byte 0x8DB56DD0 + .4byte 0x9F735987 + .4byte 0x1F2DBDEA + .4byte 0xCA82D154 + .4byte 0xEB4EB6BF + .4byte 0x63FF89BC + .4byte 0xBEBE0EFA + .4byte 0xAF780BE1 + .4byte 0x75EF8147 + .4byte 0xA828AF5B + .4byte 0xA55676FC + .4byte 0x2513E499 + .4byte 0xBF3CDBFF + .4byte 0xD7F57FAF + .4byte 0x5B48A8E7 + .4byte 0xD4E63510 + .4byte 0x764B53DE + .4byte 0x7C843B3A + .4byte 0x7F8A9A62 + .4byte 0x5A542C2C + .4byte 0x68A35FEA + .4byte 0x2E770579 + .4byte 0xABD7A15C + .4byte 0x65EF9218 + .4byte 0x34B16E69 + .4byte 0xC5CE4C1D + .4byte 0x76BA36A0 + .4byte 0x4993410D + .4byte 0x4C5FE35A + .4byte 0xFC3E21CF + .4byte 0x2B71BCA8 + .4byte 0x2C39658D + .4byte 0xFA2BEE45 + .4byte 0x06BC6F5C + .4byte 0xA6F3ED82 + .4byte 0xB1AE594D + .4byte 0xEACF1F43 + .4byte 0xD2EBDA49 + .4byte 0x2E1297AA + .4byte 0x96B30442 + .4byte 0xD6F18A9C + .4byte 0xA39BBACF + .4byte 0x00B31C5D + .4byte 0xED8FCE94 + .4byte 0x5C920F2F + .4byte 0x98AF0793 + .4byte 0xAB3EE76C + .4byte 0xD7BFD96F + .4byte 0xF9B9E32D + .4byte 0xD93DADFD + .4byte 0xF460FF47 + .4byte 0xFA2BD63F + .4byte 0x62012F08 + .4byte 0xA8187FD2 + .4byte 0xBF954052 + .4byte 0xA48E81D5 + .4byte 0xC354F6D9 + .4byte 0xE738C3B9 + .4byte 0xEF420B2D + .4byte 0x73FED031 + .4byte 0x47B2EE5C + .4byte 0xDC33A542 + .4byte 0xFA3593B9 + .4byte 0x8272F4A6 + .4byte 0x2FB3CC6E + .4byte 0xA4468EA0 + .4byte 0x36797DD7 + .4byte 0x7C031699 + .4byte 0x60AC221A + .4byte 0xBC9766DC + .4byte 0x133A594E + .4byte 0x238B05B2 + .4byte 0x3A6FACC5 + .4byte 0xB79D7CBD + .4byte 0x7670D349 + .4byte 0xBAFE25F2 + .4byte 0x8CDCFBA9 + .4byte 0x13422D2F + .4byte 0xB20AD139 + .4byte 0xF5AE1AB4 + .4byte 0x1E3F8285 + .4byte 0x9A9CB072 + .4byte 0x28C77FC3 + .4byte 0xC9F41D61 + .4byte 0xDE97F77B + .4byte 0x918F4DFA + .4byte 0xBDBFA4D0 + .4byte 0xFA93C6CF + .4byte 0x24F3DD57 + .4byte 0xD68F1DC7 + .4byte 0x4CFA61BC + .4byte 0x5BEAFAEA + .4byte 0xADD6140E + .4byte 0xB8D5B3B7 + .4byte 0x382051BA + .4byte 0xBB422FBC + .4byte 0xF5FEAADC + .4byte 0x59485EA8 + .4byte 0xFC9CCDA9 + .4byte 0x265767D4 + .4byte 0xDEABFE3C + .4byte 0xF4091079 + .4byte 0x3C5177BF + .4byte 0x271C896B + .4byte 0xB2394EDF + .4byte 0xBBA219DF + .4byte 0x6D79F371 + .4byte 0x4E547580 + .4byte 0xBACDC696 + .4byte 0xA46C5C69 + .4byte 0xE32C7B9C + .4byte 0xE8FD52E4 + .4byte 0x1355328C + .4byte 0xF69A9538 + .4byte 0x85EC7FEF + .4byte 0x204A6542 + .4byte 0xF9CD296C + .4byte 0x8F3BE555 + .4byte 0x005AE723 + .4byte 0xAF48E596 + .4byte 0x1AEEB1D5 + .4byte 0x0E5C6129 + .4byte 0x4A2F21D6 + .4byte 0x42DA709E + .4byte 0xAD18EAEF + .4byte 0x5673ACEE + .4byte 0xB71F6693 + .4byte 0xC1A6BB1F + .4byte 0x0ED90397 + .4byte 0xB393FBB3 + .4byte 0xE3A317F5 + .4byte 0xD125AB91 + .4byte 0x1336C8EF + .4byte 0xBF5B6C28 + .4byte 0x3E6C5373 + .4byte 0x7B31CE9F + .4byte 0xEFAD229D + .4byte 0x365586F9 + .4byte 0x70BE58FC + .4byte 0x9BA3AB24 + .4byte 0xEDBD7F95 + .4byte 0x9FA98768 + .4byte 0x30AFA77D + .4byte 0xBCDBB703 + .4byte 0xC878AF56 + .4byte 0xA4CF4D27 + .4byte 0x72E3781D + .4byte 0xFFEFE461 + .4byte 0xC0AE9F08 + .4byte 0x4EB8CF74 + .4byte 0x61C37B4E + .4byte 0x1CE52E1A + .4byte 0xD38D63C1 + .4byte 0xFD7ADBC0 + .4byte 0xD51B8DFB + .4byte 0x5EC7BBD5 + .4byte 0x36A71234 + .4byte 0xCEA22EAE + .4byte 0xE21D6BE8 + .4byte 0xA5A3600D + .4byte 0x10450195 + .4byte 0x7BDAA6A7 + .4byte 0xA27CB71E + .4byte 0xA4CC57CC + .4byte 0x2FCF5254 + .4byte 0x8C770F35 + .4byte 0xF1B3E27D + .4byte 0x5567D3C3 + .4byte 0x15CF111B + .4byte 0x03FF8840 + .4byte 0x7C9CFFF5 + .4byte 0x7C3D5FCF + .4byte 0x7FFBFC01 + .4byte 0x92D9BE26 + +# CGameArchitectureSupport +.global lbl_803CBE4C +lbl_803CBE4C: + # ROM: 0x3C8E4C + .4byte s_Misc_AGSC + .4byte 0x27000000 + .4byte s_MiscSamus_AGSC + .4byte 0x29000000 + .4byte s_UI_AGSC + .4byte 0x28000000 + .4byte s_Weapons_AGSC + .4byte 0x2B000000 + .4byte s_ZZZ_AGSC + .4byte 0x41000000 + +# CMain +.global lbl_803CBE74 +lbl_803CBE74: + # ROM: 0x3C8E74 +s_Misc_AGSC: + .asciz "Misc_AGSC" +s_MiscSamus_AGSC: + .asciz "MiscSamus_AGSC" +s_UI_AGSC: + .asciz "UI_AGSC" +s_Weapons_AGSC: + .asciz "Weapons_AGSC" +s_ZZZ_AGSC: + .asciz "ZZZ_AGSC" + .asciz "??(??)" + .asciz "" + .asciz "%d" + .asciz ".pak" + .asciz "AudioTweaks" + .asciz "Loaded audio tweaks from memory card\n" + .asciz "FAILED to load audio tweaks from memory card\n" + .asciz "aram:Tweaks" + .asciz "NoARAM" + .asciz "AudioGrp" + .asciz "aram:MiscData" + .asciz "aram:SamusGun" + .asciz "aram:TestAnim" + .asciz "aram:SamGunFx" + .asciz "aram:MidiData" + .asciz "aram:GGuiSys" + .asciz "sound_lookup" + .asciz "INFINITE LOOP" + .asciz "STRG_Main" + .asciz "Initializing renderer...\n" + .asciz "Stack usage: %d bytes (%dk)\n" + .asciz "Protecting stack... " + .asciz "Stack: 0x%8.8x down to 0x%8.8x\n" + .asciz "Metaforce" + .balign 4 + + +.section .sdata, "wa" +.global lbl_805A6BC0 +lbl_805A6BC0: + # ROM: 0x3F4560 + .byte 1 + .balign 4 + +.global lbl_805A6BC4 +lbl_805A6BC4: + # ROM: 0x3F4564 + .4byte 0x000F4240 + +.global lbl_805A6BC8 +lbl_805A6BC8: + # ROM: 0x3F4568 + .float 0.3 + +.global lbl_805A6BCC +lbl_805A6BCC: + # ROM: 0x3F456C + .float 0.2 + + +.section .sbss, "wa" +.global gpResourceFactory +gpResourceFactory: + .skip 0x4 +.global gpSimplePool +gpSimplePool: + .skip 0x4 +.global gpRender +gpRender: + .skip 0x4 +.global gpCharacterFactoryBuilder +gpCharacterFactoryBuilder: + .skip 0x4 +.global gGuiSystem +gGuiSystem: + .skip 0x4 +.global gpStringTable +gpStringTable: + .skip 0x4 +.global gpMain +gpMain: + .skip 0x4 +.global gpController +gpController: + .skip 0x4 +.global gpGameState +gpGameState: + .skip 0x4 +.global gpMemoryCard +gpMemoryCard: + .skip 0x4 +.global gpTweakManager +gpTweakManager: + .skip 0x4 +.global gpDefaultFont +gpDefaultFont: + .skip 0x4 +.global lbl_805A8C50 +lbl_805A8C50: + .skip 0x4 +.global lbl_805A8C54 +lbl_805A8C54: + .skip 0x4 +.global lbl_805A8C58 +lbl_805A8C58: + .skip 0x4 +.global sARAMMemArray +sARAMMemArray: + .skip 0x8 + +# CGameArchitectureSupport +.global lbl_805A8C64 +lbl_805A8C64: + .skip 0x4 + +# TOneStatic +.global lbl_805A8C68 +lbl_805A8C68: + .skip 0x4 +.global lbl_805A8C6C +lbl_805A8C6C: + .skip 0x4 + +# TOneStatic +.global lbl_805A8C70 +lbl_805A8C70: + .skip 0x4 +.global lbl_805A8C74 +lbl_805A8C74: + .skip 0x4 + +.section .sdata2, "a" +.global lbl_805A9D20 +lbl_805A9D20: + # ROM: 0x3F65C0 + .4byte 0x3C888889 + +.global lbl_805A9D24 +lbl_805A9D24: + # ROM: 0x3F65C4 + .4byte 0x3E99999A + +.global lbl_805A9D28 +lbl_805A9D28: + # ROM: 0x3F65C8 + .4byte 0x3E4CCCCD + .4byte 0 + +.global lbl_805A9D30 +lbl_805A9D30: + # ROM: 0x3F65D0 + .4byte 0x3F911111 + .4byte 0x20000000 + +.global lbl_805A9D38 +lbl_805A9D38: + # ROM: 0x3F65D8 + .4byte 0x3F489374 + .4byte 0xBC6A7EFA + +.global lbl_805A9D40 +lbl_805A9D40: + # ROM: 0x3F65E0 + .4byte 0x412E8480 + .4byte 0 + +.global lbl_805A9D48 +lbl_805A9D48: + # ROM: 0x3F65E8 + .4byte 0 + .4byte 0 + +.global lbl_805A9D50 +lbl_805A9D50: + # ROM: 0x3F65F0 + .4byte 0x3F000000 + +.global lbl_805A9D54 +lbl_805A9D54: + # ROM: 0x3F65F4 + .4byte 0 + +.global lbl_805A9D58 +lbl_805A9D58: + # ROM: 0x3F65F8 + .4byte 0x3C888889 + +.global lbl_805A9D5C +lbl_805A9D5C: + # ROM: 0x3F65FC + .4byte 0x3D0F5C29 + +.global lbl_805A9D60 +lbl_805A9D60: + # ROM: 0x3F6600 + .4byte 0x3F0A36E2 + .4byte 0xE0000000 + +.global lbl_805A9D68 +lbl_805A9D68: + # ROM: 0x3F6608 + .4byte 0x40A00000 + +.global lbl_805A9D6C +lbl_805A9D6C: + # ROM: 0x3F660C + .4byte 0x3F400000 + +.global lbl_805A9D70 +lbl_805A9D70: + # ROM: 0x3F6610 + .4byte 0x43300000 + .4byte 0 + +.global lbl_805A9D78 +lbl_805A9D78: + # ROM: 0x3F6618 + .4byte 0x41200000 + + +.section .text, "ax" +.global nullsub_1 +nullsub_1: +/* 80003640 000005A0 4E 80 00 20 */ blr + +.global InitMetroTRK +InitMetroTRK: +/* 80003644 000005A4 4E 80 00 20 */ blr + +.global sub_80003648 +sub_80003648: +/* 80003648 000005A8 38 60 00 00 */ li r3, 0 +/* 8000364C 000005AC 4E 80 00 20 */ blr + +.global sub_80003650 +sub_80003650: +/* 80003650 000005B0 38 60 00 00 */ li r3, 0 +/* 80003654 000005B4 4E 80 00 20 */ blr + +.global UpdateStreamedAudio__5CMainFv +UpdateStreamedAudio__5CMainFv: +/* 80003658 000005B8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000365C 000005BC 7C 08 02 A6 */ mflr r0 +/* 80003660 000005C0 C0 22 80 00 */ lfs f1, lbl_805A9D20@sda21(r2) +/* 80003664 000005C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003668 000005C8 48 36 25 C1 */ bl Update__19CStreamAudioManagerFf +/* 8000366C 000005CC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80003670 000005D0 7C 08 03 A6 */ mtlr r0 +/* 80003674 000005D4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80003678 000005D8 4E 80 00 20 */ blr + +.global RegisterResourceTweaks__5CMainFv +RegisterResourceTweaks__5CMainFv: +/* 8000367C 000005DC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80003680 000005E0 7C 08 02 A6 */ mflr r0 +/* 80003684 000005E4 38 63 00 70 */ addi r3, r3, 0x70 +/* 80003688 000005E8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000368C 000005EC 48 03 22 FD */ bl RegisterResourceTweaks__7CTweaksFv +/* 80003690 000005F0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80003694 000005F4 7C 08 03 A6 */ mtlr r0 +/* 80003698 000005F8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000369C 000005FC 4E 80 00 20 */ blr + +.global ResetGameState__5CMainFv +ResetGameState__5CMainFv: +/* 800036A0 00000600 94 21 FE A0 */ stwu r1, -0x160(r1) +/* 800036A4 00000604 7C 08 02 A6 */ mflr r0 +/* 800036A8 00000608 90 01 01 64 */ stw r0, 0x164(r1) +/* 800036AC 0000060C 93 E1 01 5C */ stw r31, 0x15c(r1) +/* 800036B0 00000610 7C 7F 1B 78 */ mr r31, r3 +/* 800036B4 00000614 38 61 00 84 */ addi r3, r1, 0x84 +/* 800036B8 00000618 80 8D A0 80 */ lwz r4, gpGameState@sda21(r13) +/* 800036BC 0000061C 38 84 00 A8 */ addi r4, r4, 0xa8 +/* 800036C0 00000620 48 00 0C 65 */ bl __ct__14CSystemOptionsFRC14CSystemOptions +/* 800036C4 00000624 80 8D A0 80 */ lwz r4, gpGameState@sda21(r13) +/* 800036C8 00000628 38 61 00 08 */ addi r3, r1, 8 +/* 800036CC 0000062C 38 84 01 7C */ addi r4, r4, 0x17c +/* 800036D0 00000630 48 00 09 A5 */ bl __ct__12CGameOptionsFRC12CGameOptions +/* 800036D4 00000634 80 7F 01 28 */ lwz r3, 0x128(r31) +/* 800036D8 00000638 38 80 00 00 */ li r4, 0 +/* 800036DC 0000063C 38 63 01 34 */ addi r3, r3, 0x134 +/* 800036E0 00000640 48 00 05 A9 */ bl __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +/* 800036E4 00000644 38 00 00 00 */ li r0, 0 +/* 800036E8 00000648 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 800036EC 0000064C 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 800036F0 00000650 90 0D A0 80 */ stw r0, gpGameState@sda21(r13) +/* 800036F4 00000654 38 83 00 37 */ addi r4, r3, 0x37 +/* 800036F8 00000658 38 60 02 30 */ li r3, 0x230 +/* 800036FC 0000065C 38 A0 00 00 */ li r5, 0 +/* 80003700 00000660 48 31 21 6D */ bl __nw__FUlPCcPCc +/* 80003704 00000664 7C 64 1B 79 */ or. r4, r3, r3 +/* 80003708 00000668 41 82 00 0C */ beq lbl_80003714 +/* 8000370C 0000066C 48 1D 14 2D */ bl __ct__10CGameStateFv +/* 80003710 00000670 7C 64 1B 78 */ mr r4, r3 +lbl_80003714: +/* 80003714 00000674 80 7F 01 28 */ lwz r3, 0x128(r31) +/* 80003718 00000678 38 63 01 34 */ addi r3, r3, 0x134 +/* 8000371C 0000067C 48 00 05 6D */ bl __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +/* 80003720 00000680 80 7F 01 28 */ lwz r3, 0x128(r31) +/* 80003724 00000684 38 81 00 84 */ addi r4, r1, 0x84 +/* 80003728 00000688 80 63 01 34 */ lwz r3, 0x134(r3) +/* 8000372C 0000068C 90 6D A0 80 */ stw r3, gpGameState@sda21(r13) +/* 80003730 00000690 38 63 00 A8 */ addi r3, r3, 0xa8 +/* 80003734 00000694 48 00 02 99 */ bl __as__14CSystemOptionsFRC14CSystemOptions +/* 80003738 00000698 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 8000373C 0000069C 38 81 00 08 */ addi r4, r1, 8 +/* 80003740 000006A0 38 63 01 7C */ addi r3, r3, 0x17c +/* 80003744 000006A4 48 00 00 5D */ bl __as__12CGameOptionsFRC12CGameOptions +/* 80003748 000006A8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 8000374C 000006AC 38 63 01 7C */ addi r3, r3, 0x17c +/* 80003750 000006B0 48 20 B9 AD */ bl EnsureOptions__12CGameOptionsFv +/* 80003754 000006B4 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80003758 000006B8 88 03 01 78 */ lbz r0, 0x178(r3) +/* 8000375C 000006BC 54 1F EF FE */ rlwinm r31, r0, 0x1d, 0x1f, 0x1f +/* 80003760 000006C0 48 1D 01 DD */ bl PlayerState__10CGameStateFv +/* 80003764 000006C4 80 63 00 00 */ lwz r3, 0(r3) +/* 80003768 000006C8 7F E4 FB 78 */ mr r4, r31 +/* 8000376C 000006CC 80 63 00 00 */ lwz r3, 0(r3) +/* 80003770 000006D0 48 08 DD 45 */ bl SetIsFusionEnabled__12CPlayerStateFb +/* 80003774 000006D4 38 61 00 08 */ addi r3, r1, 8 +/* 80003778 000006D8 38 80 FF FF */ li r4, -1 +/* 8000377C 000006DC 48 00 08 09 */ bl __dt__12CGameOptionsFv +/* 80003780 000006E0 38 61 00 84 */ addi r3, r1, 0x84 +/* 80003784 000006E4 38 80 FF FF */ li r4, -1 +/* 80003788 000006E8 48 00 0A 51 */ bl __dt__14CSystemOptionsFv +/* 8000378C 000006EC 80 01 01 64 */ lwz r0, 0x164(r1) +/* 80003790 000006F0 83 E1 01 5C */ lwz r31, 0x15c(r1) +/* 80003794 000006F4 7C 08 03 A6 */ mtlr r0 +/* 80003798 000006F8 38 21 01 60 */ addi r1, r1, 0x160 +/* 8000379C 000006FC 4E 80 00 20 */ blr + +.global __as__12CGameOptionsFRC12CGameOptions +__as__12CGameOptionsFRC12CGameOptions: +/* 800037A0 00000700 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800037A4 00000704 7C 08 02 A6 */ mflr r0 +/* 800037A8 00000708 7C 86 23 78 */ mr r6, r4 +/* 800037AC 0000070C 90 01 00 14 */ stw r0, 0x14(r1) +/* 800037B0 00000710 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800037B4 00000714 7C 7F 1B 78 */ mr r31, r3 +/* 800037B8 00000718 7C 1F 30 40 */ cmplw r31, r6 +/* 800037BC 0000071C 41 82 00 A0 */ beq lbl_8000385C +/* 800037C0 00000720 80 BF 00 00 */ lwz r5, 0(r31) +/* 800037C4 00000724 38 60 00 00 */ li r3, 0 +/* 800037C8 00000728 2C 05 00 00 */ cmpwi r5, 0 +/* 800037CC 0000072C 40 81 00 40 */ ble lbl_8000380C +/* 800037D0 00000730 2C 05 00 08 */ cmpwi r5, 8 +/* 800037D4 00000734 38 85 FF F8 */ addi r4, r5, -8 +/* 800037D8 00000738 40 81 00 20 */ ble lbl_800037F8 +/* 800037DC 0000073C 38 04 00 07 */ addi r0, r4, 7 +/* 800037E0 00000740 54 00 E8 FE */ srwi r0, r0, 3 +/* 800037E4 00000744 7C 09 03 A6 */ mtctr r0 +/* 800037E8 00000748 2C 04 00 00 */ cmpwi r4, 0 +/* 800037EC 0000074C 40 81 00 0C */ ble lbl_800037F8 +lbl_800037F0: +/* 800037F0 00000750 38 63 00 08 */ addi r3, r3, 8 +/* 800037F4 00000754 42 00 FF FC */ bdnz lbl_800037F0 +lbl_800037F8: +/* 800037F8 00000758 7C 03 28 50 */ subf r0, r3, r5 +/* 800037FC 0000075C 7C 09 03 A6 */ mtctr r0 +/* 80003800 00000760 7C 03 28 00 */ cmpw r3, r5 +/* 80003804 00000764 40 80 00 08 */ bge lbl_8000380C +lbl_80003808: +/* 80003808 00000768 42 00 00 00 */ bdnz lbl_80003808 +lbl_8000380C: +/* 8000380C 0000076C 38 00 00 00 */ li r0, 0 +/* 80003810 00000770 38 66 00 04 */ addi r3, r6, 4 +/* 80003814 00000774 90 1F 00 00 */ stw r0, 0(r31) +/* 80003818 00000778 38 9F 00 04 */ addi r4, r31, 4 +/* 8000381C 0000077C 80 06 00 00 */ lwz r0, 0(r6) +/* 80003820 00000780 7C A6 02 14 */ add r5, r6, r0 +/* 80003824 00000784 38 A5 00 04 */ addi r5, r5, 4 +/* 80003828 00000788 7C 03 28 50 */ subf r0, r3, r5 +/* 8000382C 0000078C 7C 09 03 A6 */ mtctr r0 +/* 80003830 00000790 7C 03 28 40 */ cmplw r3, r5 +/* 80003834 00000794 41 82 00 20 */ beq lbl_80003854 +lbl_80003838: +/* 80003838 00000798 28 04 00 00 */ cmplwi r4, 0 +/* 8000383C 0000079C 41 82 00 0C */ beq lbl_80003848 +/* 80003840 000007A0 88 03 00 00 */ lbz r0, 0(r3) +/* 80003844 000007A4 98 04 00 00 */ stb r0, 0(r4) +lbl_80003848: +/* 80003848 000007A8 38 84 00 01 */ addi r4, r4, 1 +/* 8000384C 000007AC 38 63 00 01 */ addi r3, r3, 1 +/* 80003850 000007B0 42 00 FF E8 */ bdnz lbl_80003838 +lbl_80003854: +/* 80003854 000007B4 80 06 00 00 */ lwz r0, 0(r6) +/* 80003858 000007B8 90 1F 00 00 */ stw r0, 0(r31) +lbl_8000385C: +/* 8000385C 000007BC 80 06 00 44 */ lwz r0, 0x44(r6) +/* 80003860 000007C0 38 7F 00 6C */ addi r3, r31, 0x6c +/* 80003864 000007C4 38 86 00 6C */ addi r4, r6, 0x6c +/* 80003868 000007C8 90 1F 00 44 */ stw r0, 0x44(r31) +/* 8000386C 000007CC 80 06 00 48 */ lwz r0, 0x48(r6) +/* 80003870 000007D0 90 1F 00 48 */ stw r0, 0x48(r31) +/* 80003874 000007D4 80 06 00 4C */ lwz r0, 0x4c(r6) +/* 80003878 000007D8 90 1F 00 4C */ stw r0, 0x4c(r31) +/* 8000387C 000007DC 80 06 00 50 */ lwz r0, 0x50(r6) +/* 80003880 000007E0 90 1F 00 50 */ stw r0, 0x50(r31) +/* 80003884 000007E4 80 06 00 54 */ lwz r0, 0x54(r6) +/* 80003888 000007E8 90 1F 00 54 */ stw r0, 0x54(r31) +/* 8000388C 000007EC 80 06 00 58 */ lwz r0, 0x58(r6) +/* 80003890 000007F0 90 1F 00 58 */ stw r0, 0x58(r31) +/* 80003894 000007F4 80 06 00 5C */ lwz r0, 0x5c(r6) +/* 80003898 000007F8 90 1F 00 5C */ stw r0, 0x5c(r31) +/* 8000389C 000007FC 80 06 00 60 */ lwz r0, 0x60(r6) +/* 800038A0 00000800 90 1F 00 60 */ stw r0, 0x60(r31) +/* 800038A4 00000804 80 06 00 64 */ lwz r0, 0x64(r6) +/* 800038A8 00000808 90 1F 00 64 */ stw r0, 0x64(r31) +/* 800038AC 0000080C 88 06 00 68 */ lbz r0, 0x68(r6) +/* 800038B0 00000810 98 1F 00 68 */ stb r0, 0x68(r31) +/* 800038B4 00000814 48 00 00 1D */ bl sub_800038d0 +/* 800038B8 00000818 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800038BC 0000081C 7F E3 FB 78 */ mr r3, r31 +/* 800038C0 00000820 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800038C4 00000824 7C 08 03 A6 */ mtlr r0 +/* 800038C8 00000828 38 21 00 10 */ addi r1, r1, 0x10 +/* 800038CC 0000082C 4E 80 00 20 */ blr + +.global sub_800038d0 # vector +sub_800038d0: +/* 800038D0 00000830 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800038D4 00000834 7C 08 02 A6 */ mflr r0 +/* 800038D8 00000838 90 01 00 24 */ stw r0, 0x24(r1) +/* 800038DC 0000083C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800038E0 00000840 7C 7F 1B 78 */ mr r31, r3 +/* 800038E4 00000844 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800038E8 00000848 7C 9E 23 78 */ mr r30, r4 +/* 800038EC 0000084C 7C 1F F0 40 */ cmplw r31, r30 +/* 800038F0 00000850 40 82 00 08 */ bne lbl_800038F8 +/* 800038F4 00000854 48 00 00 C0 */ b lbl_800039B4 +lbl_800038F8: +/* 800038F8 00000858 80 1F 00 04 */ lwz r0, 4(r31) +/* 800038FC 0000085C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80003900 00000860 54 00 18 38 */ slwi r0, r0, 3 +/* 80003904 00000864 7C 03 02 14 */ add r0, r3, r0 +/* 80003908 00000868 90 61 00 0C */ stw r3, 0xc(r1) +/* 8000390C 0000086C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003910 00000870 90 01 00 10 */ stw r0, 0x10(r1) +/* 80003914 00000874 90 61 00 08 */ stw r3, 8(r1) +/* 80003918 00000878 48 00 00 08 */ b lbl_80003920 +lbl_8000391C: +/* 8000391C 0000087C 38 63 00 08 */ addi r3, r3, 8 +lbl_80003920: +/* 80003920 00000880 7C 03 00 40 */ cmplw r3, r0 +/* 80003924 00000884 40 82 FF F8 */ bne lbl_8000391C +/* 80003928 00000888 38 00 00 00 */ li r0, 0 +/* 8000392C 0000088C 90 1F 00 04 */ stw r0, 4(r31) +/* 80003930 00000890 80 9E 00 04 */ lwz r4, 4(r30) +/* 80003934 00000894 2C 04 00 00 */ cmpwi r4, 0 +/* 80003938 00000898 40 82 00 28 */ bne lbl_80003960 +/* 8000393C 0000089C 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80003940 000008A0 28 03 00 00 */ cmplwi r3, 0 +/* 80003944 000008A4 41 82 00 08 */ beq lbl_8000394C +/* 80003948 000008A8 48 31 1F E9 */ bl Free__7CMemoryFPCv +lbl_8000394C: +/* 8000394C 000008AC 38 00 00 00 */ li r0, 0 +/* 80003950 000008B0 90 1F 00 04 */ stw r0, 4(r31) +/* 80003954 000008B4 90 1F 00 08 */ stw r0, 8(r31) +/* 80003958 000008B8 90 1F 00 0C */ stw r0, 0xc(r31) +/* 8000395C 000008BC 48 00 00 54 */ b lbl_800039B0 +lbl_80003960: +/* 80003960 000008C0 7F E3 FB 78 */ mr r3, r31 +/* 80003964 000008C4 48 00 50 E9 */ bl reserve__Q24rstl47vector$$010SScanState$$4Q24rstl17rmemory_allocator$$1Fi +/* 80003968 000008C8 80 1E 00 04 */ lwz r0, 4(r30) +/* 8000396C 000008CC 80 BE 00 0C */ lwz r5, 0xc(r30) +/* 80003970 000008D0 54 00 18 38 */ slwi r0, r0, 3 +/* 80003974 000008D4 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80003978 000008D8 7C 85 02 14 */ add r4, r5, r0 +/* 8000397C 000008DC 48 00 00 24 */ b lbl_800039A0 +lbl_80003980: +/* 80003980 000008E0 28 03 00 00 */ cmplwi r3, 0 +/* 80003984 000008E4 41 82 00 14 */ beq lbl_80003998 +/* 80003988 000008E8 80 05 00 00 */ lwz r0, 0(r5) +/* 8000398C 000008EC 90 03 00 00 */ stw r0, 0(r3) +/* 80003990 000008F0 80 05 00 04 */ lwz r0, 4(r5) +/* 80003994 000008F4 90 03 00 04 */ stw r0, 4(r3) +lbl_80003998: +/* 80003998 000008F8 38 63 00 08 */ addi r3, r3, 8 +/* 8000399C 000008FC 38 A5 00 08 */ addi r5, r5, 8 +lbl_800039A0: +/* 800039A0 00000900 7C 05 20 40 */ cmplw r5, r4 +/* 800039A4 00000904 40 82 FF DC */ bne lbl_80003980 +/* 800039A8 00000908 80 1E 00 04 */ lwz r0, 4(r30) +/* 800039AC 0000090C 90 1F 00 04 */ stw r0, 4(r31) +lbl_800039B0: +/* 800039B0 00000910 7F E3 FB 78 */ mr r3, r31 +lbl_800039B4: +/* 800039B4 00000914 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800039B8 00000918 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 800039BC 0000091C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 800039C0 00000920 7C 08 03 A6 */ mtlr r0 +/* 800039C4 00000924 38 21 00 20 */ addi r1, r1, 0x20 +/* 800039C8 00000928 4E 80 00 20 */ blr + +.global __as__14CSystemOptionsFRC14CSystemOptions +__as__14CSystemOptionsFRC14CSystemOptions: +/* 800039CC 0000092C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800039D0 00000930 7C 08 02 A6 */ mflr r0 +/* 800039D4 00000934 90 01 00 14 */ stw r0, 0x14(r1) +/* 800039D8 00000938 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800039DC 0000093C 7C 9F 23 78 */ mr r31, r4 +/* 800039E0 00000940 93 C1 00 08 */ stw r30, 8(r1) +/* 800039E4 00000944 7C 7E 1B 78 */ mr r30, r3 +/* 800039E8 00000948 7C 1E F8 40 */ cmplw r30, r31 +/* 800039EC 0000094C 41 82 00 A0 */ beq lbl_80003A8C +/* 800039F0 00000950 80 BE 00 00 */ lwz r5, 0(r30) +/* 800039F4 00000954 38 60 00 00 */ li r3, 0 +/* 800039F8 00000958 2C 05 00 00 */ cmpwi r5, 0 +/* 800039FC 0000095C 40 81 00 40 */ ble lbl_80003A3C +/* 80003A00 00000960 2C 05 00 08 */ cmpwi r5, 8 +/* 80003A04 00000964 38 85 FF F8 */ addi r4, r5, -8 +/* 80003A08 00000968 40 81 00 20 */ ble lbl_80003A28 +/* 80003A0C 0000096C 38 04 00 07 */ addi r0, r4, 7 +/* 80003A10 00000970 54 00 E8 FE */ srwi r0, r0, 3 +/* 80003A14 00000974 7C 09 03 A6 */ mtctr r0 +/* 80003A18 00000978 2C 04 00 00 */ cmpwi r4, 0 +/* 80003A1C 0000097C 40 81 00 0C */ ble lbl_80003A28 +lbl_80003A20: +/* 80003A20 00000980 38 63 00 08 */ addi r3, r3, 8 +/* 80003A24 00000984 42 00 FF FC */ bdnz lbl_80003A20 +lbl_80003A28: +/* 80003A28 00000988 7C 03 28 50 */ subf r0, r3, r5 +/* 80003A2C 0000098C 7C 09 03 A6 */ mtctr r0 +/* 80003A30 00000990 7C 03 28 00 */ cmpw r3, r5 +/* 80003A34 00000994 40 80 00 08 */ bge lbl_80003A3C +lbl_80003A38: +/* 80003A38 00000998 42 00 00 00 */ bdnz lbl_80003A38 +lbl_80003A3C: +/* 80003A3C 0000099C 38 00 00 00 */ li r0, 0 +/* 80003A40 000009A0 38 7F 00 04 */ addi r3, r31, 4 +/* 80003A44 000009A4 90 1E 00 00 */ stw r0, 0(r30) +/* 80003A48 000009A8 38 9E 00 04 */ addi r4, r30, 4 +/* 80003A4C 000009AC 80 1F 00 00 */ lwz r0, 0(r31) +/* 80003A50 000009B0 7C BF 02 14 */ add r5, r31, r0 +/* 80003A54 000009B4 38 A5 00 04 */ addi r5, r5, 4 +/* 80003A58 000009B8 7C 03 28 50 */ subf r0, r3, r5 +/* 80003A5C 000009BC 7C 09 03 A6 */ mtctr r0 +/* 80003A60 000009C0 7C 03 28 40 */ cmplw r3, r5 +/* 80003A64 000009C4 41 82 00 20 */ beq lbl_80003A84 +lbl_80003A68: +/* 80003A68 000009C8 28 04 00 00 */ cmplwi r4, 0 +/* 80003A6C 000009CC 41 82 00 0C */ beq lbl_80003A78 +/* 80003A70 000009D0 88 03 00 00 */ lbz r0, 0(r3) +/* 80003A74 000009D4 98 04 00 00 */ stb r0, 0(r4) +lbl_80003A78: +/* 80003A78 000009D8 38 84 00 01 */ addi r4, r4, 1 +/* 80003A7C 000009DC 38 63 00 01 */ addi r3, r3, 1 +/* 80003A80 000009E0 42 00 FF E8 */ bdnz lbl_80003A68 +lbl_80003A84: +/* 80003A84 000009E4 80 1F 00 00 */ lwz r0, 0(r31) +/* 80003A88 000009E8 90 1E 00 00 */ stw r0, 0(r30) +lbl_80003A8C: +/* 80003A8C 000009EC 38 7E 00 68 */ addi r3, r30, 0x68 +/* 80003A90 000009F0 38 1F 00 68 */ addi r0, r31, 0x68 +/* 80003A94 000009F4 7C 03 00 40 */ cmplw r3, r0 +/* 80003A98 000009F8 41 82 00 9C */ beq lbl_80003B34 +/* 80003A9C 000009FC 80 BE 00 68 */ lwz r5, 0x68(r30) +/* 80003AA0 00000A00 38 DE 00 6C */ addi r6, r30, 0x6c +/* 80003AA4 00000A04 38 60 00 00 */ li r3, 0 +/* 80003AA8 00000A08 2C 05 00 00 */ cmpwi r5, 0 +/* 80003AAC 00000A0C 40 81 00 40 */ ble lbl_80003AEC +/* 80003AB0 00000A10 2C 05 00 08 */ cmpwi r5, 8 +/* 80003AB4 00000A14 38 85 FF F8 */ addi r4, r5, -8 +/* 80003AB8 00000A18 40 81 00 20 */ ble lbl_80003AD8 +/* 80003ABC 00000A1C 38 04 00 07 */ addi r0, r4, 7 +/* 80003AC0 00000A20 54 00 E8 FE */ srwi r0, r0, 3 +/* 80003AC4 00000A24 7C 09 03 A6 */ mtctr r0 +/* 80003AC8 00000A28 2C 04 00 00 */ cmpwi r4, 0 +/* 80003ACC 00000A2C 40 81 00 0C */ ble lbl_80003AD8 +lbl_80003AD0: +/* 80003AD0 00000A30 38 63 00 08 */ addi r3, r3, 8 +/* 80003AD4 00000A34 42 00 FF FC */ bdnz lbl_80003AD0 +lbl_80003AD8: +/* 80003AD8 00000A38 7C 03 28 50 */ subf r0, r3, r5 +/* 80003ADC 00000A3C 7C 09 03 A6 */ mtctr r0 +/* 80003AE0 00000A40 7C 03 28 00 */ cmpw r3, r5 +/* 80003AE4 00000A44 40 80 00 08 */ bge lbl_80003AEC +lbl_80003AE8: +/* 80003AE8 00000A48 42 00 00 00 */ bdnz lbl_80003AE8 +lbl_80003AEC: +/* 80003AEC 00000A4C 38 00 00 00 */ li r0, 0 +/* 80003AF0 00000A50 38 9F 00 6C */ addi r4, r31, 0x6c +/* 80003AF4 00000A54 90 1E 00 68 */ stw r0, 0x68(r30) +/* 80003AF8 00000A58 80 1F 00 68 */ lwz r0, 0x68(r31) +/* 80003AFC 00000A5C 7C 64 02 14 */ add r3, r4, r0 +/* 80003B00 00000A60 7C 04 18 50 */ subf r0, r4, r3 +/* 80003B04 00000A64 7C 09 03 A6 */ mtctr r0 +/* 80003B08 00000A68 7C 04 18 40 */ cmplw r4, r3 +/* 80003B0C 00000A6C 41 82 00 20 */ beq lbl_80003B2C +lbl_80003B10: +/* 80003B10 00000A70 28 06 00 00 */ cmplwi r6, 0 +/* 80003B14 00000A74 41 82 00 0C */ beq lbl_80003B20 +/* 80003B18 00000A78 88 04 00 00 */ lbz r0, 0(r4) +/* 80003B1C 00000A7C 98 06 00 00 */ stb r0, 0(r6) +lbl_80003B20: +/* 80003B20 00000A80 38 C6 00 01 */ addi r6, r6, 1 +/* 80003B24 00000A84 38 84 00 01 */ addi r4, r4, 1 +/* 80003B28 00000A88 42 00 FF E8 */ bdnz lbl_80003B10 +lbl_80003B2C: +/* 80003B2C 00000A8C 80 1F 00 68 */ lwz r0, 0x68(r31) +/* 80003B30 00000A90 90 1E 00 68 */ stw r0, 0x68(r30) +lbl_80003B34: +/* 80003B34 00000A94 38 7E 00 AC */ addi r3, r30, 0xac +/* 80003B38 00000A98 38 9F 00 AC */ addi r4, r31, 0xac +/* 80003B3C 00000A9C 48 00 00 51 */ bl sub_80003b8c +/* 80003B40 00000AA0 80 1F 00 BC */ lwz r0, 0xbc(r31) +/* 80003B44 00000AA4 7F C3 F3 78 */ mr r3, r30 +/* 80003B48 00000AA8 90 1E 00 BC */ stw r0, 0xbc(r30) +/* 80003B4C 00000AAC 80 1F 00 C0 */ lwz r0, 0xc0(r31) +/* 80003B50 00000AB0 90 1E 00 C0 */ stw r0, 0xc0(r30) +/* 80003B54 00000AB4 80 1F 00 C4 */ lwz r0, 0xc4(r31) +/* 80003B58 00000AB8 90 1E 00 C4 */ stw r0, 0xc4(r30) +/* 80003B5C 00000ABC 80 1F 00 C8 */ lwz r0, 0xc8(r31) +/* 80003B60 00000AC0 90 1E 00 C8 */ stw r0, 0xc8(r30) +/* 80003B64 00000AC4 80 1F 00 CC */ lwz r0, 0xcc(r31) +/* 80003B68 00000AC8 90 1E 00 CC */ stw r0, 0xcc(r30) +/* 80003B6C 00000ACC 88 1F 00 D0 */ lbz r0, 0xd0(r31) +/* 80003B70 00000AD0 98 1E 00 D0 */ stb r0, 0xd0(r30) +/* 80003B74 00000AD4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80003B78 00000AD8 83 C1 00 08 */ lwz r30, 8(r1) +/* 80003B7C 00000ADC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80003B80 00000AE0 7C 08 03 A6 */ mtlr r0 +/* 80003B84 00000AE4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80003B88 00000AE8 4E 80 00 20 */ blr + +.global sub_80003b8c # __dt__? +sub_80003b8c: +/* 80003B8C 00000AEC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80003B90 00000AF0 7C 08 02 A6 */ mflr r0 +/* 80003B94 00000AF4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80003B98 00000AF8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80003B9C 00000AFC 7C 7F 1B 78 */ mr r31, r3 +/* 80003BA0 00000B00 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80003BA4 00000B04 7C 9E 23 78 */ mr r30, r4 +/* 80003BA8 00000B08 7C 1F F0 40 */ cmplw r31, r30 +/* 80003BAC 00000B0C 40 82 00 08 */ bne lbl_80003BB4 +/* 80003BB0 00000B10 48 00 00 C0 */ b lbl_80003C70 +lbl_80003BB4: +/* 80003BB4 00000B14 80 1F 00 04 */ lwz r0, 4(r31) +/* 80003BB8 00000B18 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80003BBC 00000B1C 54 00 18 38 */ slwi r0, r0, 3 +/* 80003BC0 00000B20 7C 03 02 14 */ add r0, r3, r0 +/* 80003BC4 00000B24 90 61 00 0C */ stw r3, 0xc(r1) +/* 80003BC8 00000B28 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003BCC 00000B2C 90 01 00 10 */ stw r0, 0x10(r1) +/* 80003BD0 00000B30 90 61 00 08 */ stw r3, 8(r1) +/* 80003BD4 00000B34 48 00 00 08 */ b lbl_80003BDC +lbl_80003BD8: +/* 80003BD8 00000B38 38 63 00 08 */ addi r3, r3, 8 +lbl_80003BDC: +/* 80003BDC 00000B3C 7C 03 00 40 */ cmplw r3, r0 +/* 80003BE0 00000B40 40 82 FF F8 */ bne lbl_80003BD8 +/* 80003BE4 00000B44 38 00 00 00 */ li r0, 0 +/* 80003BE8 00000B48 90 1F 00 04 */ stw r0, 4(r31) +/* 80003BEC 00000B4C 80 9E 00 04 */ lwz r4, 4(r30) +/* 80003BF0 00000B50 2C 04 00 00 */ cmpwi r4, 0 +/* 80003BF4 00000B54 40 82 00 28 */ bne lbl_80003C1C +/* 80003BF8 00000B58 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80003BFC 00000B5C 28 03 00 00 */ cmplwi r3, 0 +/* 80003C00 00000B60 41 82 00 08 */ beq lbl_80003C08 +/* 80003C04 00000B64 48 31 1D 2D */ bl Free__7CMemoryFPCv +lbl_80003C08: +/* 80003C08 00000B68 38 00 00 00 */ li r0, 0 +/* 80003C0C 00000B6C 90 1F 00 04 */ stw r0, 4(r31) +/* 80003C10 00000B70 90 1F 00 08 */ stw r0, 8(r31) +/* 80003C14 00000B74 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80003C18 00000B78 48 00 00 54 */ b lbl_80003C6C +lbl_80003C1C: +/* 80003C1C 00000B7C 7F E3 FB 78 */ mr r3, r31 +/* 80003C20 00000B80 48 00 4F 25 */ bl sub_80008b44 +/* 80003C24 00000B84 80 1E 00 04 */ lwz r0, 4(r30) +/* 80003C28 00000B88 80 BE 00 0C */ lwz r5, 0xc(r30) +/* 80003C2C 00000B8C 54 00 18 38 */ slwi r0, r0, 3 +/* 80003C30 00000B90 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 80003C34 00000B94 7C 85 02 14 */ add r4, r5, r0 +/* 80003C38 00000B98 48 00 00 24 */ b lbl_80003C5C +lbl_80003C3C: +/* 80003C3C 00000B9C 28 03 00 00 */ cmplwi r3, 0 +/* 80003C40 00000BA0 41 82 00 14 */ beq lbl_80003C54 +/* 80003C44 00000BA4 80 05 00 00 */ lwz r0, 0(r5) +/* 80003C48 00000BA8 90 03 00 00 */ stw r0, 0(r3) +/* 80003C4C 00000BAC 80 05 00 04 */ lwz r0, 4(r5) +/* 80003C50 00000BB0 90 03 00 04 */ stw r0, 4(r3) +lbl_80003C54: +/* 80003C54 00000BB4 38 63 00 08 */ addi r3, r3, 8 +/* 80003C58 00000BB8 38 A5 00 08 */ addi r5, r5, 8 +lbl_80003C5C: +/* 80003C5C 00000BBC 7C 05 20 40 */ cmplw r5, r4 +/* 80003C60 00000BC0 40 82 FF DC */ bne lbl_80003C3C +/* 80003C64 00000BC4 80 1E 00 04 */ lwz r0, 4(r30) +/* 80003C68 00000BC8 90 1F 00 04 */ stw r0, 4(r31) +lbl_80003C6C: +/* 80003C6C 00000BCC 7F E3 FB 78 */ mr r3, r31 +lbl_80003C70: +/* 80003C70 00000BD0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80003C74 00000BD4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80003C78 00000BD8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80003C7C 00000BDC 7C 08 03 A6 */ mtlr r0 +/* 80003C80 00000BE0 38 21 00 20 */ addi r1, r1, 0x20 +/* 80003C84 00000BE4 4E 80 00 20 */ blr + +.global __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +__as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState: +/* 80003C88 00000BE8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80003C8C 00000BEC 7C 08 02 A6 */ mflr r0 +/* 80003C90 00000BF0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003C94 00000BF4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80003C98 00000BF8 7C 9F 23 78 */ mr r31, r4 +/* 80003C9C 00000BFC 38 80 00 01 */ li r4, 1 +/* 80003CA0 00000C00 93 C1 00 08 */ stw r30, 8(r1) +/* 80003CA4 00000C04 7C 7E 1B 78 */ mr r30, r3 +/* 80003CA8 00000C08 80 63 00 00 */ lwz r3, 0(r3) +/* 80003CAC 00000C0C 48 00 00 25 */ bl __dt__10CGameStateFv +/* 80003CB0 00000C10 93 FE 00 00 */ stw r31, 0(r30) +/* 80003CB4 00000C14 7F C3 F3 78 */ mr r3, r30 +/* 80003CB8 00000C18 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80003CBC 00000C1C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80003CC0 00000C20 83 C1 00 08 */ lwz r30, 8(r1) +/* 80003CC4 00000C24 7C 08 03 A6 */ mtlr r0 +/* 80003CC8 00000C28 38 21 00 10 */ addi r1, r1, 0x10 +/* 80003CCC 00000C2C 4E 80 00 20 */ blr + +.global __dt__10CGameStateFv +__dt__10CGameStateFv: +/* 80003CD0 00000C30 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80003CD4 00000C34 7C 08 02 A6 */ mflr r0 +/* 80003CD8 00000C38 90 01 00 34 */ stw r0, 0x34(r1) +/* 80003CDC 00000C3C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80003CE0 00000C40 7C 9F 23 78 */ mr r31, r4 +/* 80003CE4 00000C44 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80003CE8 00000C48 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80003CEC 00000C4C 41 82 01 58 */ beq lbl_80003E44 +/* 80003CF0 00000C50 34 1E 02 18 */ addic. r0, r30, 0x218 +/* 80003CF4 00000C54 41 82 00 40 */ beq lbl_80003D34 +/* 80003CF8 00000C58 80 7E 02 24 */ lwz r3, 0x224(r30) +/* 80003CFC 00000C5C 80 1E 02 1C */ lwz r0, 0x21c(r30) +/* 80003D00 00000C60 90 61 00 1C */ stw r3, 0x1c(r1) +/* 80003D04 00000C64 7C 83 02 14 */ add r4, r3, r0 +/* 80003D08 00000C68 7C 03 20 50 */ subf r0, r3, r4 +/* 80003D0C 00000C6C 90 81 00 24 */ stw r4, 0x24(r1) +/* 80003D10 00000C70 90 81 00 20 */ stw r4, 0x20(r1) +/* 80003D14 00000C74 90 61 00 18 */ stw r3, 0x18(r1) +/* 80003D18 00000C78 7C 09 03 A6 */ mtctr r0 +/* 80003D1C 00000C7C 7C 03 20 40 */ cmplw r3, r4 +/* 80003D20 00000C80 41 82 00 08 */ beq lbl_80003D28 +lbl_80003D24: +/* 80003D24 00000C84 42 00 00 00 */ bdnz lbl_80003D24 +lbl_80003D28: +/* 80003D28 00000C88 28 03 00 00 */ cmplwi r3, 0 +/* 80003D2C 00000C8C 41 82 00 08 */ beq lbl_80003D34 +/* 80003D30 00000C90 48 31 1C 01 */ bl Free__7CMemoryFPCv +lbl_80003D34: +/* 80003D34 00000C94 34 1E 01 F8 */ addic. r0, r30, 0x1f8 +/* 80003D38 00000C98 41 82 00 4C */ beq lbl_80003D84 +/* 80003D3C 00000C9C 34 1E 01 F8 */ addic. r0, r30, 0x1f8 +/* 80003D40 00000CA0 41 82 00 44 */ beq lbl_80003D84 +/* 80003D44 00000CA4 80 1E 01 FC */ lwz r0, 0x1fc(r30) +/* 80003D48 00000CA8 80 7E 02 04 */ lwz r3, 0x204(r30) +/* 80003D4C 00000CAC 1C 00 00 0C */ mulli r0, r0, 0xc +/* 80003D50 00000CB0 90 61 00 0C */ stw r3, 0xc(r1) +/* 80003D54 00000CB4 7C 64 1B 78 */ mr r4, r3 +/* 80003D58 00000CB8 7C 03 02 14 */ add r0, r3, r0 +/* 80003D5C 00000CBC 90 61 00 08 */ stw r3, 8(r1) +/* 80003D60 00000CC0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003D64 00000CC4 90 01 00 10 */ stw r0, 0x10(r1) +/* 80003D68 00000CC8 48 00 00 08 */ b lbl_80003D70 +lbl_80003D6C: +/* 80003D6C 00000CCC 38 84 00 0C */ addi r4, r4, 0xc +lbl_80003D70: +/* 80003D70 00000CD0 7C 04 00 40 */ cmplw r4, r0 +/* 80003D74 00000CD4 40 82 FF F8 */ bne lbl_80003D6C +/* 80003D78 00000CD8 28 03 00 00 */ cmplwi r3, 0 +/* 80003D7C 00000CDC 41 82 00 08 */ beq lbl_80003D84 +/* 80003D80 00000CE0 48 31 1B B1 */ bl Free__7CMemoryFPCv +lbl_80003D84: +/* 80003D84 00000CE4 38 7E 01 7C */ addi r3, r30, 0x17c +/* 80003D88 00000CE8 38 80 FF FF */ li r4, -1 +/* 80003D8C 00000CEC 48 00 01 F9 */ bl __dt__12CGameOptionsFv +/* 80003D90 00000CF0 38 7E 00 A8 */ addi r3, r30, 0xa8 +/* 80003D94 00000CF4 38 80 FF FF */ li r4, -1 +/* 80003D98 00000CF8 48 00 04 41 */ bl __dt__14CSystemOptionsFv +/* 80003D9C 00000CFC 34 1E 00 9C */ addic. r0, r30, 0x9c +/* 80003DA0 00000D00 41 82 00 14 */ beq lbl_80003DB4 +/* 80003DA4 00000D04 34 1E 00 9C */ addic. r0, r30, 0x9c +/* 80003DA8 00000D08 41 82 00 0C */ beq lbl_80003DB4 +/* 80003DAC 00000D0C 38 7E 00 9C */ addi r3, r30, 0x9c +/* 80003DB0 00000D10 48 00 48 35 */ bl sub_800085e4 +lbl_80003DB4: +/* 80003DB4 00000D14 34 1E 00 98 */ addic. r0, r30, 0x98 +/* 80003DB8 00000D18 41 82 00 14 */ beq lbl_80003DCC +/* 80003DBC 00000D1C 34 1E 00 98 */ addic. r0, r30, 0x98 +/* 80003DC0 00000D20 41 82 00 0C */ beq lbl_80003DCC +/* 80003DC4 00000D24 38 7E 00 98 */ addi r3, r30, 0x98 +/* 80003DC8 00000D28 48 00 51 45 */ bl sub_80008f0c +lbl_80003DCC: +/* 80003DCC 00000D2C 38 7E 00 88 */ addi r3, r30, 0x88 +/* 80003DD0 00000D30 38 80 FF FF */ li r4, -1 +/* 80003DD4 00000D34 48 00 00 8D */ bl sub_80003e60 +/* 80003DD8 00000D38 28 1E 00 00 */ cmplwi r30, 0 +/* 80003DDC 00000D3C 41 82 00 58 */ beq lbl_80003E34 +/* 80003DE0 00000D40 80 BE 00 00 */ lwz r5, 0(r30) +/* 80003DE4 00000D44 38 60 00 00 */ li r3, 0 +/* 80003DE8 00000D48 2C 05 00 00 */ cmpwi r5, 0 +/* 80003DEC 00000D4C 40 81 00 40 */ ble lbl_80003E2C +/* 80003DF0 00000D50 2C 05 00 08 */ cmpwi r5, 8 +/* 80003DF4 00000D54 38 85 FF F8 */ addi r4, r5, -8 +/* 80003DF8 00000D58 40 81 00 20 */ ble lbl_80003E18 +/* 80003DFC 00000D5C 38 04 00 07 */ addi r0, r4, 7 +/* 80003E00 00000D60 54 00 E8 FE */ srwi r0, r0, 3 +/* 80003E04 00000D64 7C 09 03 A6 */ mtctr r0 +/* 80003E08 00000D68 2C 04 00 00 */ cmpwi r4, 0 +/* 80003E0C 00000D6C 40 81 00 0C */ ble lbl_80003E18 +lbl_80003E10: +/* 80003E10 00000D70 38 63 00 08 */ addi r3, r3, 8 +/* 80003E14 00000D74 42 00 FF FC */ bdnz lbl_80003E10 +lbl_80003E18: +/* 80003E18 00000D78 7C 03 28 50 */ subf r0, r3, r5 +/* 80003E1C 00000D7C 7C 09 03 A6 */ mtctr r0 +/* 80003E20 00000D80 7C 03 28 00 */ cmpw r3, r5 +/* 80003E24 00000D84 40 80 00 08 */ bge lbl_80003E2C +lbl_80003E28: +/* 80003E28 00000D88 42 00 00 00 */ bdnz lbl_80003E28 +lbl_80003E2C: +/* 80003E2C 00000D8C 38 00 00 00 */ li r0, 0 +/* 80003E30 00000D90 90 1E 00 00 */ stw r0, 0(r30) +lbl_80003E34: +/* 80003E34 00000D94 7F E0 07 35 */ extsh. r0, r31 +/* 80003E38 00000D98 40 81 00 0C */ ble lbl_80003E44 +/* 80003E3C 00000D9C 7F C3 F3 78 */ mr r3, r30 +/* 80003E40 00000DA0 48 31 1A F1 */ bl Free__7CMemoryFPCv +lbl_80003E44: +/* 80003E44 00000DA4 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80003E48 00000DA8 7F C3 F3 78 */ mr r3, r30 +/* 80003E4C 00000DAC 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80003E50 00000DB0 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80003E54 00000DB4 7C 08 03 A6 */ mtlr r0 +/* 80003E58 00000DB8 38 21 00 30 */ addi r1, r1, 0x30 +/* 80003E5C 00000DBC 4E 80 00 20 */ blr + +.global sub_80003e60 # __dt__? +sub_80003e60: +/* 80003E60 00000DC0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80003E64 00000DC4 7C 08 02 A6 */ mflr r0 +/* 80003E68 00000DC8 90 01 00 24 */ stw r0, 0x24(r1) +/* 80003E6C 00000DCC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80003E70 00000DD0 7C 9F 23 78 */ mr r31, r4 +/* 80003E74 00000DD4 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80003E78 00000DD8 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80003E7C 00000DDC 41 82 00 54 */ beq lbl_80003ED0 +/* 80003E80 00000DE0 80 1E 00 04 */ lwz r0, 4(r30) +/* 80003E84 00000DE4 38 61 00 14 */ addi r3, r1, 0x14 +/* 80003E88 00000DE8 80 BE 00 0C */ lwz r5, 0xc(r30) +/* 80003E8C 00000DEC 38 81 00 0C */ addi r4, r1, 0xc +/* 80003E90 00000DF0 1C 00 00 18 */ mulli r0, r0, 0x18 +/* 80003E94 00000DF4 7C A5 02 14 */ add r5, r5, r0 +/* 80003E98 00000DF8 90 A1 00 0C */ stw r5, 0xc(r1) +/* 80003E9C 00000DFC 80 1E 00 0C */ lwz r0, 0xc(r30) +/* 80003EA0 00000E00 90 A1 00 08 */ stw r5, 8(r1) +/* 80003EA4 00000E04 90 01 00 10 */ stw r0, 0x10(r1) +/* 80003EA8 00000E08 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003EAC 00000E0C 48 00 00 41 */ bl sub_80003eec +/* 80003EB0 00000E10 80 7E 00 0C */ lwz r3, 0xc(r30) +/* 80003EB4 00000E14 28 03 00 00 */ cmplwi r3, 0 +/* 80003EB8 00000E18 41 82 00 08 */ beq lbl_80003EC0 +/* 80003EBC 00000E1C 48 31 1A 75 */ bl Free__7CMemoryFPCv +lbl_80003EC0: +/* 80003EC0 00000E20 7F E0 07 35 */ extsh. r0, r31 +/* 80003EC4 00000E24 40 81 00 0C */ ble lbl_80003ED0 +/* 80003EC8 00000E28 7F C3 F3 78 */ mr r3, r30 +/* 80003ECC 00000E2C 48 31 1A 65 */ bl Free__7CMemoryFPCv +lbl_80003ED0: +/* 80003ED0 00000E30 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80003ED4 00000E34 7F C3 F3 78 */ mr r3, r30 +/* 80003ED8 00000E38 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80003EDC 00000E3C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80003EE0 00000E40 7C 08 03 A6 */ mtlr r0 +/* 80003EE4 00000E44 38 21 00 20 */ addi r1, r1, 0x20 +/* 80003EE8 00000E48 4E 80 00 20 */ blr + +.global sub_80003eec # __dt__ +sub_80003eec: +/* 80003EEC 00000E4C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80003EF0 00000E50 7C 08 02 A6 */ mflr r0 +/* 80003EF4 00000E54 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003EF8 00000E58 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80003EFC 00000E5C 93 C1 00 08 */ stw r30, 8(r1) +/* 80003F00 00000E60 7C 9E 23 78 */ mr r30, r4 +/* 80003F04 00000E64 83 E3 00 00 */ lwz r31, 0(r3) +/* 80003F08 00000E68 48 00 00 58 */ b lbl_80003F60 +lbl_80003F0C: +/* 80003F0C 00000E6C 28 1F 00 00 */ cmplwi r31, 0 +/* 80003F10 00000E70 41 82 00 4C */ beq lbl_80003F5C +/* 80003F14 00000E74 34 1F 00 14 */ addic. r0, r31, 0x14 +/* 80003F18 00000E78 41 82 00 14 */ beq lbl_80003F2C +/* 80003F1C 00000E7C 34 1F 00 14 */ addic. r0, r31, 0x14 +/* 80003F20 00000E80 41 82 00 0C */ beq lbl_80003F2C +/* 80003F24 00000E84 38 7F 00 14 */ addi r3, r31, 0x14 +/* 80003F28 00000E88 48 00 4E A5 */ bl sub_80008dcc +lbl_80003F2C: +/* 80003F2C 00000E8C 34 1F 00 0C */ addic. r0, r31, 0xc +/* 80003F30 00000E90 41 82 00 14 */ beq lbl_80003F44 +/* 80003F34 00000E94 34 1F 00 0C */ addic. r0, r31, 0xc +/* 80003F38 00000E98 41 82 00 0C */ beq lbl_80003F44 +/* 80003F3C 00000E9C 38 7F 00 0C */ addi r3, r31, 0xc +/* 80003F40 00000EA0 48 00 4C FD */ bl sub_80008c3c +lbl_80003F44: +/* 80003F44 00000EA4 34 1F 00 08 */ addic. r0, r31, 8 +/* 80003F48 00000EA8 41 82 00 14 */ beq lbl_80003F5C +/* 80003F4C 00000EAC 34 1F 00 08 */ addic. r0, r31, 8 +/* 80003F50 00000EB0 41 82 00 0C */ beq lbl_80003F5C +/* 80003F54 00000EB4 38 7F 00 08 */ addi r3, r31, 8 +/* 80003F58 00000EB8 48 00 46 E9 */ bl __dt__11CWorldStateFv +lbl_80003F5C: +/* 80003F5C 00000EBC 3B FF 00 18 */ addi r31, r31, 0x18 +lbl_80003F60: +/* 80003F60 00000EC0 80 1E 00 00 */ lwz r0, 0(r30) +/* 80003F64 00000EC4 7C 1F 00 40 */ cmplw r31, r0 +/* 80003F68 00000EC8 40 82 FF A4 */ bne lbl_80003F0C +/* 80003F6C 00000ECC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80003F70 00000ED0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80003F74 00000ED4 83 C1 00 08 */ lwz r30, 8(r1) +/* 80003F78 00000ED8 7C 08 03 A6 */ mtlr r0 +/* 80003F7C 00000EDC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80003F80 00000EE0 4E 80 00 20 */ blr + +.global __dt__12CGameOptionsFv +__dt__12CGameOptionsFv: +/* 80003F84 00000EE4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80003F88 00000EE8 7C 08 02 A6 */ mflr r0 +/* 80003F8C 00000EEC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80003F90 00000EF0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80003F94 00000EF4 7C 9F 23 78 */ mr r31, r4 +/* 80003F98 00000EF8 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80003F9C 00000EFC 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80003FA0 00000F00 41 82 00 B8 */ beq lbl_80004058 +/* 80003FA4 00000F04 34 1E 00 6C */ addic. r0, r30, 0x6c +/* 80003FA8 00000F08 41 82 00 44 */ beq lbl_80003FEC +/* 80003FAC 00000F0C 80 1E 00 70 */ lwz r0, 0x70(r30) +/* 80003FB0 00000F10 80 7E 00 78 */ lwz r3, 0x78(r30) +/* 80003FB4 00000F14 54 00 18 38 */ slwi r0, r0, 3 +/* 80003FB8 00000F18 7C 03 02 14 */ add r0, r3, r0 +/* 80003FBC 00000F1C 90 61 00 0C */ stw r3, 0xc(r1) +/* 80003FC0 00000F20 7C 64 1B 78 */ mr r4, r3 +/* 80003FC4 00000F24 90 01 00 14 */ stw r0, 0x14(r1) +/* 80003FC8 00000F28 90 01 00 10 */ stw r0, 0x10(r1) +/* 80003FCC 00000F2C 90 61 00 08 */ stw r3, 8(r1) +/* 80003FD0 00000F30 48 00 00 08 */ b lbl_80003FD8 +lbl_80003FD4: +/* 80003FD4 00000F34 38 84 00 08 */ addi r4, r4, 8 +lbl_80003FD8: +/* 80003FD8 00000F38 7C 04 00 40 */ cmplw r4, r0 +/* 80003FDC 00000F3C 40 82 FF F8 */ bne lbl_80003FD4 +/* 80003FE0 00000F40 28 03 00 00 */ cmplwi r3, 0 +/* 80003FE4 00000F44 41 82 00 08 */ beq lbl_80003FEC +/* 80003FE8 00000F48 48 31 19 49 */ bl Free__7CMemoryFPCv +lbl_80003FEC: +/* 80003FEC 00000F4C 28 1E 00 00 */ cmplwi r30, 0 +/* 80003FF0 00000F50 41 82 00 58 */ beq lbl_80004048 +/* 80003FF4 00000F54 80 BE 00 00 */ lwz r5, 0(r30) +/* 80003FF8 00000F58 38 60 00 00 */ li r3, 0 +/* 80003FFC 00000F5C 2C 05 00 00 */ cmpwi r5, 0 +/* 80004000 00000F60 40 81 00 40 */ ble lbl_80004040 +/* 80004004 00000F64 2C 05 00 08 */ cmpwi r5, 8 +/* 80004008 00000F68 38 85 FF F8 */ addi r4, r5, -8 +/* 8000400C 00000F6C 40 81 00 20 */ ble lbl_8000402C +/* 80004010 00000F70 38 04 00 07 */ addi r0, r4, 7 +/* 80004014 00000F74 54 00 E8 FE */ srwi r0, r0, 3 +/* 80004018 00000F78 7C 09 03 A6 */ mtctr r0 +/* 8000401C 00000F7C 2C 04 00 00 */ cmpwi r4, 0 +/* 80004020 00000F80 40 81 00 0C */ ble lbl_8000402C +lbl_80004024: +/* 80004024 00000F84 38 63 00 08 */ addi r3, r3, 8 +/* 80004028 00000F88 42 00 FF FC */ bdnz lbl_80004024 +lbl_8000402C: +/* 8000402C 00000F8C 7C 03 28 50 */ subf r0, r3, r5 +/* 80004030 00000F90 7C 09 03 A6 */ mtctr r0 +/* 80004034 00000F94 7C 03 28 00 */ cmpw r3, r5 +/* 80004038 00000F98 40 80 00 08 */ bge lbl_80004040 +lbl_8000403C: +/* 8000403C 00000F9C 42 00 00 00 */ bdnz lbl_8000403C +lbl_80004040: +/* 80004040 00000FA0 38 00 00 00 */ li r0, 0 +/* 80004044 00000FA4 90 1E 00 00 */ stw r0, 0(r30) +lbl_80004048: +/* 80004048 00000FA8 7F E0 07 35 */ extsh. r0, r31 +/* 8000404C 00000FAC 40 81 00 0C */ ble lbl_80004058 +/* 80004050 00000FB0 7F C3 F3 78 */ mr r3, r30 +/* 80004054 00000FB4 48 31 18 DD */ bl Free__7CMemoryFPCv +lbl_80004058: +/* 80004058 00000FB8 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8000405C 00000FBC 7F C3 F3 78 */ mr r3, r30 +/* 80004060 00000FC0 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80004064 00000FC4 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80004068 00000FC8 7C 08 03 A6 */ mtlr r0 +/* 8000406C 00000FCC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80004070 00000FD0 4E 80 00 20 */ blr + +.global __ct__12CGameOptionsFRC12CGameOptions +__ct__12CGameOptionsFRC12CGameOptions: +/* 80004074 00000FD4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80004078 00000FD8 7C 08 02 A6 */ mflr r0 +/* 8000407C 00000FDC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80004080 00000FE0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80004084 00000FE4 7C 9F 23 78 */ mr r31, r4 +/* 80004088 00000FE8 93 C1 00 08 */ stw r30, 8(r1) +/* 8000408C 00000FEC 7C 7E 1B 78 */ mr r30, r3 +/* 80004090 00000FF0 38 7F 00 04 */ addi r3, r31, 4 +/* 80004094 00000FF4 80 04 00 00 */ lwz r0, 0(r4) +/* 80004098 00000FF8 38 9E 00 04 */ addi r4, r30, 4 +/* 8000409C 00000FFC 90 1E 00 00 */ stw r0, 0(r30) +/* 800040A0 00001000 80 1E 00 00 */ lwz r0, 0(r30) +/* 800040A4 00001004 7C 09 03 A6 */ mtctr r0 +/* 800040A8 00001008 2C 00 00 00 */ cmpwi r0, 0 +/* 800040AC 0000100C 40 81 00 20 */ ble lbl_800040CC +lbl_800040B0: +/* 800040B0 00001010 28 04 00 00 */ cmplwi r4, 0 +/* 800040B4 00001014 41 82 00 0C */ beq lbl_800040C0 +/* 800040B8 00001018 88 03 00 00 */ lbz r0, 0(r3) +/* 800040BC 0000101C 98 04 00 00 */ stb r0, 0(r4) +lbl_800040C0: +/* 800040C0 00001020 38 84 00 01 */ addi r4, r4, 1 +/* 800040C4 00001024 38 63 00 01 */ addi r3, r3, 1 +/* 800040C8 00001028 42 00 FF E8 */ bdnz lbl_800040B0 +lbl_800040CC: +/* 800040CC 0000102C 80 1F 00 44 */ lwz r0, 0x44(r31) +/* 800040D0 00001030 90 1E 00 44 */ stw r0, 0x44(r30) +/* 800040D4 00001034 80 1F 00 48 */ lwz r0, 0x48(r31) +/* 800040D8 00001038 90 1E 00 48 */ stw r0, 0x48(r30) +/* 800040DC 0000103C 80 1F 00 4C */ lwz r0, 0x4c(r31) +/* 800040E0 00001040 90 1E 00 4C */ stw r0, 0x4c(r30) +/* 800040E4 00001044 80 1F 00 50 */ lwz r0, 0x50(r31) +/* 800040E8 00001048 90 1E 00 50 */ stw r0, 0x50(r30) +/* 800040EC 0000104C 80 1F 00 54 */ lwz r0, 0x54(r31) +/* 800040F0 00001050 90 1E 00 54 */ stw r0, 0x54(r30) +/* 800040F4 00001054 80 1F 00 58 */ lwz r0, 0x58(r31) +/* 800040F8 00001058 90 1E 00 58 */ stw r0, 0x58(r30) +/* 800040FC 0000105C 80 1F 00 5C */ lwz r0, 0x5c(r31) +/* 80004100 00001060 90 1E 00 5C */ stw r0, 0x5c(r30) +/* 80004104 00001064 80 1F 00 60 */ lwz r0, 0x60(r31) +/* 80004108 00001068 90 1E 00 60 */ stw r0, 0x60(r30) +/* 8000410C 0000106C 80 1F 00 64 */ lwz r0, 0x64(r31) +/* 80004110 00001070 90 1E 00 64 */ stw r0, 0x64(r30) +/* 80004114 00001074 88 1F 00 68 */ lbz r0, 0x68(r31) +/* 80004118 00001078 98 1E 00 68 */ stb r0, 0x68(r30) +/* 8000411C 0000107C 80 1F 00 70 */ lwz r0, 0x70(r31) +/* 80004120 00001080 90 1E 00 70 */ stw r0, 0x70(r30) +/* 80004124 00001084 80 1F 00 74 */ lwz r0, 0x74(r31) +/* 80004128 00001088 90 1E 00 74 */ stw r0, 0x74(r30) +/* 8000412C 0000108C 80 1F 00 70 */ lwz r0, 0x70(r31) +/* 80004130 00001090 2C 00 00 00 */ cmpwi r0, 0 +/* 80004134 00001094 40 82 00 1C */ bne lbl_80004150 +/* 80004138 00001098 80 1F 00 74 */ lwz r0, 0x74(r31) +/* 8000413C 0000109C 2C 00 00 00 */ cmpwi r0, 0 +/* 80004140 000010A0 40 82 00 10 */ bne lbl_80004150 +/* 80004144 000010A4 38 00 00 00 */ li r0, 0 +/* 80004148 000010A8 90 1E 00 78 */ stw r0, 0x78(r30) +/* 8000414C 000010AC 48 00 00 70 */ b lbl_800041BC +lbl_80004150: +/* 80004150 000010B0 80 1E 00 74 */ lwz r0, 0x74(r30) +/* 80004154 000010B4 54 03 18 39 */ rlwinm. r3, r0, 3, 0, 0x1c +/* 80004158 000010B8 40 82 00 10 */ bne lbl_80004168 +/* 8000415C 000010BC 38 00 00 00 */ li r0, 0 +/* 80004160 000010C0 90 1E 00 78 */ stw r0, 0x78(r30) +/* 80004164 000010C4 48 00 00 1C */ b lbl_80004180 +lbl_80004168: +/* 80004168 000010C8 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000416C 000010CC 38 A0 00 00 */ li r5, 0 +/* 80004170 000010D0 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80004174 000010D4 38 84 00 37 */ addi r4, r4, 0x37 +/* 80004178 000010D8 48 31 16 A1 */ bl __nwa__FUlPCcPCc +/* 8000417C 000010DC 90 7E 00 78 */ stw r3, 0x78(r30) +lbl_80004180: +/* 80004180 000010E0 80 1E 00 70 */ lwz r0, 0x70(r30) +/* 80004184 000010E4 80 9F 00 78 */ lwz r4, 0x78(r31) +/* 80004188 000010E8 80 7E 00 78 */ lwz r3, 0x78(r30) +/* 8000418C 000010EC 7C 09 03 A6 */ mtctr r0 +/* 80004190 000010F0 2C 00 00 00 */ cmpwi r0, 0 +/* 80004194 000010F4 40 81 00 28 */ ble lbl_800041BC +lbl_80004198: +/* 80004198 000010F8 28 03 00 00 */ cmplwi r3, 0 +/* 8000419C 000010FC 41 82 00 14 */ beq lbl_800041B0 +/* 800041A0 00001100 80 04 00 00 */ lwz r0, 0(r4) +/* 800041A4 00001104 90 03 00 00 */ stw r0, 0(r3) +/* 800041A8 00001108 80 04 00 04 */ lwz r0, 4(r4) +/* 800041AC 0000110C 90 03 00 04 */ stw r0, 4(r3) +lbl_800041B0: +/* 800041B0 00001110 38 63 00 08 */ addi r3, r3, 8 +/* 800041B4 00001114 38 84 00 08 */ addi r4, r4, 8 +/* 800041B8 00001118 42 00 FF E0 */ bdnz lbl_80004198 +lbl_800041BC: +/* 800041BC 0000111C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800041C0 00001120 7F C3 F3 78 */ mr r3, r30 +/* 800041C4 00001124 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800041C8 00001128 83 C1 00 08 */ lwz r30, 8(r1) +/* 800041CC 0000112C 7C 08 03 A6 */ mtlr r0 +/* 800041D0 00001130 38 21 00 10 */ addi r1, r1, 0x10 +/* 800041D4 00001134 4E 80 00 20 */ blr + +.global __dt__14CSystemOptionsFv +__dt__14CSystemOptionsFv: +/* 800041D8 00001138 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800041DC 0000113C 7C 08 02 A6 */ mflr r0 +/* 800041E0 00001140 90 01 00 24 */ stw r0, 0x24(r1) +/* 800041E4 00001144 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800041E8 00001148 7C 9F 23 78 */ mr r31, r4 +/* 800041EC 0000114C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800041F0 00001150 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800041F4 00001154 41 82 01 14 */ beq lbl_80004308 +/* 800041F8 00001158 34 1E 00 AC */ addic. r0, r30, 0xac +/* 800041FC 0000115C 41 82 00 44 */ beq lbl_80004240 +/* 80004200 00001160 80 1E 00 B0 */ lwz r0, 0xb0(r30) +/* 80004204 00001164 80 7E 00 B8 */ lwz r3, 0xb8(r30) +/* 80004208 00001168 54 00 18 38 */ slwi r0, r0, 3 +/* 8000420C 0000116C 7C 03 02 14 */ add r0, r3, r0 +/* 80004210 00001170 90 61 00 0C */ stw r3, 0xc(r1) +/* 80004214 00001174 7C 64 1B 78 */ mr r4, r3 +/* 80004218 00001178 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000421C 0000117C 90 01 00 10 */ stw r0, 0x10(r1) +/* 80004220 00001180 90 61 00 08 */ stw r3, 8(r1) +/* 80004224 00001184 48 00 00 08 */ b lbl_8000422C +lbl_80004228: +/* 80004228 00001188 38 84 00 08 */ addi r4, r4, 8 +lbl_8000422C: +/* 8000422C 0000118C 7C 04 00 40 */ cmplw r4, r0 +/* 80004230 00001190 40 82 FF F8 */ bne lbl_80004228 +/* 80004234 00001194 28 03 00 00 */ cmplwi r3, 0 +/* 80004238 00001198 41 82 00 08 */ beq lbl_80004240 +/* 8000423C 0000119C 48 31 16 F5 */ bl Free__7CMemoryFPCv +lbl_80004240: +/* 80004240 000011A0 34 1E 00 68 */ addic. r0, r30, 0x68 +/* 80004244 000011A4 41 82 00 58 */ beq lbl_8000429C +/* 80004248 000011A8 80 BE 00 68 */ lwz r5, 0x68(r30) +/* 8000424C 000011AC 38 60 00 00 */ li r3, 0 +/* 80004250 000011B0 2C 05 00 00 */ cmpwi r5, 0 +/* 80004254 000011B4 40 81 00 40 */ ble lbl_80004294 +/* 80004258 000011B8 2C 05 00 08 */ cmpwi r5, 8 +/* 8000425C 000011BC 38 85 FF F8 */ addi r4, r5, -8 +/* 80004260 000011C0 40 81 00 20 */ ble lbl_80004280 +/* 80004264 000011C4 38 04 00 07 */ addi r0, r4, 7 +/* 80004268 000011C8 54 00 E8 FE */ srwi r0, r0, 3 +/* 8000426C 000011CC 7C 09 03 A6 */ mtctr r0 +/* 80004270 000011D0 2C 04 00 00 */ cmpwi r4, 0 +/* 80004274 000011D4 40 81 00 0C */ ble lbl_80004280 +lbl_80004278: +/* 80004278 000011D8 38 63 00 08 */ addi r3, r3, 8 +/* 8000427C 000011DC 42 00 FF FC */ bdnz lbl_80004278 +lbl_80004280: +/* 80004280 000011E0 7C 03 28 50 */ subf r0, r3, r5 +/* 80004284 000011E4 7C 09 03 A6 */ mtctr r0 +/* 80004288 000011E8 7C 03 28 00 */ cmpw r3, r5 +/* 8000428C 000011EC 40 80 00 08 */ bge lbl_80004294 +lbl_80004290: +/* 80004290 000011F0 42 00 00 00 */ bdnz lbl_80004290 +lbl_80004294: +/* 80004294 000011F4 38 00 00 00 */ li r0, 0 +/* 80004298 000011F8 90 1E 00 68 */ stw r0, 0x68(r30) +lbl_8000429C: +/* 8000429C 000011FC 28 1E 00 00 */ cmplwi r30, 0 +/* 800042A0 00001200 41 82 00 58 */ beq lbl_800042F8 +/* 800042A4 00001204 80 BE 00 00 */ lwz r5, 0(r30) +/* 800042A8 00001208 38 60 00 00 */ li r3, 0 +/* 800042AC 0000120C 2C 05 00 00 */ cmpwi r5, 0 +/* 800042B0 00001210 40 81 00 40 */ ble lbl_800042F0 +/* 800042B4 00001214 2C 05 00 08 */ cmpwi r5, 8 +/* 800042B8 00001218 38 85 FF F8 */ addi r4, r5, -8 +/* 800042BC 0000121C 40 81 00 20 */ ble lbl_800042DC +/* 800042C0 00001220 38 04 00 07 */ addi r0, r4, 7 +/* 800042C4 00001224 54 00 E8 FE */ srwi r0, r0, 3 +/* 800042C8 00001228 7C 09 03 A6 */ mtctr r0 +/* 800042CC 0000122C 2C 04 00 00 */ cmpwi r4, 0 +/* 800042D0 00001230 40 81 00 0C */ ble lbl_800042DC +lbl_800042D4: +/* 800042D4 00001234 38 63 00 08 */ addi r3, r3, 8 +/* 800042D8 00001238 42 00 FF FC */ bdnz lbl_800042D4 +lbl_800042DC: +/* 800042DC 0000123C 7C 03 28 50 */ subf r0, r3, r5 +/* 800042E0 00001240 7C 09 03 A6 */ mtctr r0 +/* 800042E4 00001244 7C 03 28 00 */ cmpw r3, r5 +/* 800042E8 00001248 40 80 00 08 */ bge lbl_800042F0 +lbl_800042EC: +/* 800042EC 0000124C 42 00 00 00 */ bdnz lbl_800042EC +lbl_800042F0: +/* 800042F0 00001250 38 00 00 00 */ li r0, 0 +/* 800042F4 00001254 90 1E 00 00 */ stw r0, 0(r30) +lbl_800042F8: +/* 800042F8 00001258 7F E0 07 35 */ extsh. r0, r31 +/* 800042FC 0000125C 40 81 00 0C */ ble lbl_80004308 +/* 80004300 00001260 7F C3 F3 78 */ mr r3, r30 +/* 80004304 00001264 48 31 16 2D */ bl Free__7CMemoryFPCv +lbl_80004308: +/* 80004308 00001268 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8000430C 0000126C 7F C3 F3 78 */ mr r3, r30 +/* 80004310 00001270 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80004314 00001274 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80004318 00001278 7C 08 03 A6 */ mtlr r0 +/* 8000431C 0000127C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80004320 00001280 4E 80 00 20 */ blr + +.global __ct__14CSystemOptionsFRC14CSystemOptions +__ct__14CSystemOptionsFRC14CSystemOptions: +/* 80004324 00001284 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80004328 00001288 7C 08 02 A6 */ mflr r0 +/* 8000432C 0000128C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80004330 00001290 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80004334 00001294 7C 9F 23 78 */ mr r31, r4 +/* 80004338 00001298 93 C1 00 08 */ stw r30, 8(r1) +/* 8000433C 0000129C 7C 7E 1B 78 */ mr r30, r3 +/* 80004340 000012A0 38 7F 00 04 */ addi r3, r31, 4 +/* 80004344 000012A4 80 04 00 00 */ lwz r0, 0(r4) +/* 80004348 000012A8 38 9E 00 04 */ addi r4, r30, 4 +/* 8000434C 000012AC 90 1E 00 00 */ stw r0, 0(r30) +/* 80004350 000012B0 80 1E 00 00 */ lwz r0, 0(r30) +/* 80004354 000012B4 7C 09 03 A6 */ mtctr r0 +/* 80004358 000012B8 2C 00 00 00 */ cmpwi r0, 0 +/* 8000435C 000012BC 40 81 00 20 */ ble lbl_8000437C +lbl_80004360: +/* 80004360 000012C0 28 04 00 00 */ cmplwi r4, 0 +/* 80004364 000012C4 41 82 00 0C */ beq lbl_80004370 +/* 80004368 000012C8 88 03 00 00 */ lbz r0, 0(r3) +/* 8000436C 000012CC 98 04 00 00 */ stb r0, 0(r4) +lbl_80004370: +/* 80004370 000012D0 38 84 00 01 */ addi r4, r4, 1 +/* 80004374 000012D4 38 63 00 01 */ addi r3, r3, 1 +/* 80004378 000012D8 42 00 FF E8 */ bdnz lbl_80004360 +lbl_8000437C: +/* 8000437C 000012DC 80 1F 00 68 */ lwz r0, 0x68(r31) +/* 80004380 000012E0 38 9E 00 6C */ addi r4, r30, 0x6c +/* 80004384 000012E4 38 7F 00 6C */ addi r3, r31, 0x6c +/* 80004388 000012E8 90 1E 00 68 */ stw r0, 0x68(r30) +/* 8000438C 000012EC 80 1E 00 68 */ lwz r0, 0x68(r30) +/* 80004390 000012F0 7C 09 03 A6 */ mtctr r0 +/* 80004394 000012F4 2C 00 00 00 */ cmpwi r0, 0 +/* 80004398 000012F8 40 81 00 20 */ ble lbl_800043B8 +lbl_8000439C: +/* 8000439C 000012FC 28 04 00 00 */ cmplwi r4, 0 +/* 800043A0 00001300 41 82 00 0C */ beq lbl_800043AC +/* 800043A4 00001304 88 03 00 00 */ lbz r0, 0(r3) +/* 800043A8 00001308 98 04 00 00 */ stb r0, 0(r4) +lbl_800043AC: +/* 800043AC 0000130C 38 84 00 01 */ addi r4, r4, 1 +/* 800043B0 00001310 38 63 00 01 */ addi r3, r3, 1 +/* 800043B4 00001314 42 00 FF E8 */ bdnz lbl_8000439C +lbl_800043B8: +/* 800043B8 00001318 80 1F 00 B0 */ lwz r0, 0xb0(r31) +/* 800043BC 0000131C 90 1E 00 B0 */ stw r0, 0xb0(r30) +/* 800043C0 00001320 80 1F 00 B4 */ lwz r0, 0xb4(r31) +/* 800043C4 00001324 90 1E 00 B4 */ stw r0, 0xb4(r30) +/* 800043C8 00001328 80 1F 00 B0 */ lwz r0, 0xb0(r31) +/* 800043CC 0000132C 2C 00 00 00 */ cmpwi r0, 0 +/* 800043D0 00001330 40 82 00 1C */ bne lbl_800043EC +/* 800043D4 00001334 80 1F 00 B4 */ lwz r0, 0xb4(r31) +/* 800043D8 00001338 2C 00 00 00 */ cmpwi r0, 0 +/* 800043DC 0000133C 40 82 00 10 */ bne lbl_800043EC +/* 800043E0 00001340 38 00 00 00 */ li r0, 0 +/* 800043E4 00001344 90 1E 00 B8 */ stw r0, 0xb8(r30) +/* 800043E8 00001348 48 00 00 70 */ b lbl_80004458 +lbl_800043EC: +/* 800043EC 0000134C 80 1E 00 B4 */ lwz r0, 0xb4(r30) +/* 800043F0 00001350 54 03 18 39 */ rlwinm. r3, r0, 3, 0, 0x1c +/* 800043F4 00001354 40 82 00 10 */ bne lbl_80004404 +/* 800043F8 00001358 38 00 00 00 */ li r0, 0 +/* 800043FC 0000135C 90 1E 00 B8 */ stw r0, 0xb8(r30) +/* 80004400 00001360 48 00 00 1C */ b lbl_8000441C +lbl_80004404: +/* 80004404 00001364 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80004408 00001368 38 A0 00 00 */ li r5, 0 +/* 8000440C 0000136C 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80004410 00001370 38 84 00 37 */ addi r4, r4, 0x37 +/* 80004414 00001374 48 31 14 05 */ bl __nwa__FUlPCcPCc +/* 80004418 00001378 90 7E 00 B8 */ stw r3, 0xb8(r30) +lbl_8000441C: +/* 8000441C 0000137C 80 1E 00 B0 */ lwz r0, 0xb0(r30) +/* 80004420 00001380 80 9F 00 B8 */ lwz r4, 0xb8(r31) +/* 80004424 00001384 80 7E 00 B8 */ lwz r3, 0xb8(r30) +/* 80004428 00001388 7C 09 03 A6 */ mtctr r0 +/* 8000442C 0000138C 2C 00 00 00 */ cmpwi r0, 0 +/* 80004430 00001390 40 81 00 28 */ ble lbl_80004458 +lbl_80004434: +/* 80004434 00001394 28 03 00 00 */ cmplwi r3, 0 +/* 80004438 00001398 41 82 00 14 */ beq lbl_8000444C +/* 8000443C 0000139C 80 04 00 00 */ lwz r0, 0(r4) +/* 80004440 000013A0 90 03 00 00 */ stw r0, 0(r3) +/* 80004444 000013A4 80 04 00 04 */ lwz r0, 4(r4) +/* 80004448 000013A8 90 03 00 04 */ stw r0, 4(r3) +lbl_8000444C: +/* 8000444C 000013AC 38 63 00 08 */ addi r3, r3, 8 +/* 80004450 000013B0 38 84 00 08 */ addi r4, r4, 8 +/* 80004454 000013B4 42 00 FF E0 */ bdnz lbl_80004434 +lbl_80004458: +/* 80004458 000013B8 80 1F 00 BC */ lwz r0, 0xbc(r31) +/* 8000445C 000013BC 7F C3 F3 78 */ mr r3, r30 +/* 80004460 000013C0 90 1E 00 BC */ stw r0, 0xbc(r30) +/* 80004464 000013C4 80 1F 00 C0 */ lwz r0, 0xc0(r31) +/* 80004468 000013C8 90 1E 00 C0 */ stw r0, 0xc0(r30) +/* 8000446C 000013CC 80 1F 00 C4 */ lwz r0, 0xc4(r31) +/* 80004470 000013D0 90 1E 00 C4 */ stw r0, 0xc4(r30) +/* 80004474 000013D4 80 1F 00 C8 */ lwz r0, 0xc8(r31) +/* 80004478 000013D8 90 1E 00 C8 */ stw r0, 0xc8(r30) +/* 8000447C 000013DC 80 1F 00 CC */ lwz r0, 0xcc(r31) +/* 80004480 000013E0 90 1E 00 CC */ stw r0, 0xcc(r30) +/* 80004484 000013E4 88 1F 00 D0 */ lbz r0, 0xd0(r31) +/* 80004488 000013E8 98 1E 00 D0 */ stb r0, 0xd0(r30) +/* 8000448C 000013EC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80004490 000013F0 83 C1 00 08 */ lwz r30, 8(r1) +/* 80004494 000013F4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80004498 000013F8 7C 08 03 A6 */ mtlr r0 +/* 8000449C 000013FC 38 21 00 10 */ addi r1, r1, 0x10 +/* 800044A0 00001400 4E 80 00 20 */ blr + +.global StreamNewGameState__5CMainFR12CInputStream +StreamNewGameState__5CMainFR12CInputStream: +/* 800044A4 00001404 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800044A8 00001408 7C 08 02 A6 */ mflr r0 +/* 800044AC 0000140C 90 01 00 24 */ stw r0, 0x24(r1) +/* 800044B0 00001410 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800044B4 00001414 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800044B8 00001418 7C BE 2B 78 */ mr r30, r5 +/* 800044BC 0000141C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 800044C0 00001420 7C 9D 23 78 */ mr r29, r4 +/* 800044C4 00001424 38 80 00 00 */ li r4, 0 +/* 800044C8 00001428 93 81 00 10 */ stw r28, 0x10(r1) +/* 800044CC 0000142C 7C 7C 1B 78 */ mr r28, r3 +/* 800044D0 00001430 80 CD A0 80 */ lwz r6, gpGameState@sda21(r13) +/* 800044D4 00001434 80 63 01 28 */ lwz r3, 0x128(r3) +/* 800044D8 00001438 88 06 01 78 */ lbz r0, 0x178(r6) +/* 800044DC 0000143C 38 63 01 34 */ addi r3, r3, 0x134 +/* 800044E0 00001440 54 1F EF FE */ rlwinm r31, r0, 0x1d, 0x1f, 0x1f +/* 800044E4 00001444 4B FF F7 A5 */ bl __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +/* 800044E8 00001448 38 00 00 00 */ li r0, 0 +/* 800044EC 0000144C 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 800044F0 00001450 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 800044F4 00001454 90 0D A0 80 */ stw r0, gpGameState@sda21(r13) +/* 800044F8 00001458 38 83 00 37 */ addi r4, r3, 0x37 +/* 800044FC 0000145C 38 60 02 30 */ li r3, 0x230 +/* 80004500 00001460 38 A0 00 00 */ li r5, 0 +/* 80004504 00001464 48 31 13 69 */ bl __nw__FUlPCcPCc +/* 80004508 00001468 7C 64 1B 79 */ or. r4, r3, r3 +/* 8000450C 0000146C 41 82 00 14 */ beq lbl_80004520 +/* 80004510 00001470 7F A4 EB 78 */ mr r4, r29 +/* 80004514 00001474 7F C5 F3 78 */ mr r5, r30 +/* 80004518 00001478 48 1D 00 4D */ bl __ct__10CGameStateFR12CInputStreami +/* 8000451C 0000147C 7C 64 1B 78 */ mr r4, r3 +lbl_80004520: +/* 80004520 00001480 80 7C 01 28 */ lwz r3, 0x128(r28) +/* 80004524 00001484 38 63 01 34 */ addi r3, r3, 0x134 +/* 80004528 00001488 4B FF F7 61 */ bl __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +/* 8000452C 0000148C 80 7C 01 28 */ lwz r3, 0x128(r28) +/* 80004530 00001490 7F E4 FB 78 */ mr r4, r31 +/* 80004534 00001494 80 63 01 34 */ lwz r3, 0x134(r3) +/* 80004538 00001498 90 6D A0 80 */ stw r3, gpGameState@sda21(r13) +/* 8000453C 0000149C 38 63 00 A8 */ addi r3, r3, 0xa8 +/* 80004540 000014A0 48 1D 0C 81 */ bl SetHasFusion__14CSystemOptionsFb +/* 80004544 000014A4 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80004548 000014A8 88 03 01 78 */ lbz r0, 0x178(r3) +/* 8000454C 000014AC 54 1F EF FE */ rlwinm r31, r0, 0x1d, 0x1f, 0x1f +/* 80004550 000014B0 48 1C F3 ED */ bl PlayerState__10CGameStateFv +/* 80004554 000014B4 80 63 00 00 */ lwz r3, 0(r3) +/* 80004558 000014B8 7F E4 FB 78 */ mr r4, r31 +/* 8000455C 000014BC 80 63 00 00 */ lwz r3, 0(r3) +/* 80004560 000014C0 48 08 CF 55 */ bl SetIsFusionEnabled__12CPlayerStateFb +/* 80004564 000014C4 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80004568 000014C8 38 63 01 F8 */ addi r3, r3, 0x1f8 +/* 8000456C 000014CC 48 26 37 15 */ bl SetHintNextTime__12CHintOptionsFv +/* 80004570 000014D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80004574 000014D4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80004578 000014D8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8000457C 000014DC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80004580 000014E0 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80004584 000014E4 7C 08 03 A6 */ mtlr r0 +/* 80004588 000014E8 38 21 00 20 */ addi r1, r1, 0x20 +/* 8000458C 000014EC 4E 80 00 20 */ blr + +.global RefreshGameState__5CMainFv +RefreshGameState__5CMainFv: +/* 80004590 000014F0 94 21 FE 40 */ stwu r1, -0x1c0(r1) +/* 80004594 000014F4 7C 08 02 A6 */ mflr r0 +/* 80004598 000014F8 90 01 01 C4 */ stw r0, 0x1c4(r1) +/* 8000459C 000014FC BF 61 01 AC */ stmw r27, 0x1ac(r1) +/* 800045A0 00001500 7C 7C 1B 78 */ mr r28, r3 +/* 800045A4 00001504 38 61 00 C8 */ addi r3, r1, 0xc8 +/* 800045A8 00001508 80 8D A0 80 */ lwz r4, gpGameState@sda21(r13) +/* 800045AC 0000150C 38 84 00 A8 */ addi r4, r4, 0xa8 +/* 800045B0 00001510 4B FF FD 75 */ bl __ct__14CSystemOptionsFRC14CSystemOptions +/* 800045B4 00001514 83 6D A0 80 */ lwz r27, gpGameState@sda21(r13) +/* 800045B8 00001518 80 7B 02 1C */ lwz r3, 0x21c(r27) +/* 800045BC 0000151C 80 1B 02 20 */ lwz r0, 0x220(r27) +/* 800045C0 00001520 2C 03 00 00 */ cmpwi r3, 0 +/* 800045C4 00001524 90 61 00 1C */ stw r3, 0x1c(r1) +/* 800045C8 00001528 83 FB 02 0C */ lwz r31, 0x20c(r27) +/* 800045CC 0000152C 90 01 00 20 */ stw r0, 0x20(r1) +/* 800045D0 00001530 83 DB 02 10 */ lwz r30, 0x210(r27) +/* 800045D4 00001534 83 BB 02 14 */ lwz r29, 0x214(r27) +/* 800045D8 00001538 40 82 00 18 */ bne lbl_800045F0 +/* 800045DC 0000153C 2C 00 00 00 */ cmpwi r0, 0 +/* 800045E0 00001540 40 82 00 10 */ bne lbl_800045F0 +/* 800045E4 00001544 38 00 00 00 */ li r0, 0 +/* 800045E8 00001548 90 01 00 24 */ stw r0, 0x24(r1) +/* 800045EC 0000154C 48 00 00 68 */ b lbl_80004654 +lbl_800045F0: +/* 800045F0 00001550 80 61 00 20 */ lwz r3, 0x20(r1) +/* 800045F4 00001554 2C 03 00 00 */ cmpwi r3, 0 +/* 800045F8 00001558 40 82 00 10 */ bne lbl_80004608 +/* 800045FC 0000155C 38 00 00 00 */ li r0, 0 +/* 80004600 00001560 90 01 00 24 */ stw r0, 0x24(r1) +/* 80004604 00001564 48 00 00 1C */ b lbl_80004620 +lbl_80004608: +/* 80004608 00001568 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000460C 0000156C 38 A0 00 00 */ li r5, 0 +/* 80004610 00001570 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80004614 00001574 38 84 00 37 */ addi r4, r4, 0x37 +/* 80004618 00001578 48 31 12 01 */ bl __nwa__FUlPCcPCc +/* 8000461C 0000157C 90 61 00 24 */ stw r3, 0x24(r1) +lbl_80004620: +/* 80004620 00001580 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 80004624 00001584 80 9B 02 24 */ lwz r4, 0x224(r27) +/* 80004628 00001588 80 61 00 24 */ lwz r3, 0x24(r1) +/* 8000462C 0000158C 7C 09 03 A6 */ mtctr r0 +/* 80004630 00001590 2C 00 00 00 */ cmpwi r0, 0 +/* 80004634 00001594 40 81 00 20 */ ble lbl_80004654 +lbl_80004638: +/* 80004638 00001598 28 03 00 00 */ cmplwi r3, 0 +/* 8000463C 0000159C 41 82 00 0C */ beq lbl_80004648 +/* 80004640 000015A0 88 04 00 00 */ lbz r0, 0(r4) +/* 80004644 000015A4 98 03 00 00 */ stb r0, 0(r3) +lbl_80004648: +/* 80004648 000015A8 38 63 00 01 */ addi r3, r3, 1 +/* 8000464C 000015AC 38 84 00 01 */ addi r4, r4, 1 +/* 80004650 000015B0 42 00 FF E8 */ bdnz lbl_80004638 +lbl_80004654: +/* 80004654 000015B4 80 8D A0 80 */ lwz r4, gpGameState@sda21(r13) +/* 80004658 000015B8 38 61 00 4C */ addi r3, r1, 0x4c +/* 8000465C 000015BC 38 84 01 7C */ addi r4, r4, 0x17c +/* 80004660 000015C0 4B FF FA 15 */ bl __ct__12CGameOptionsFRC12CGameOptions +/* 80004664 000015C4 80 7C 01 28 */ lwz r3, 0x128(r28) +/* 80004668 000015C8 38 80 00 00 */ li r4, 0 +/* 8000466C 000015CC 38 63 01 34 */ addi r3, r3, 0x134 +/* 80004670 000015D0 4B FF F6 19 */ bl __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +/* 80004674 000015D4 38 00 00 00 */ li r0, 0 +/* 80004678 000015D8 80 81 00 24 */ lwz r4, 0x24(r1) +/* 8000467C 000015DC 90 0D A0 80 */ stw r0, gpGameState@sda21(r13) +/* 80004680 000015E0 38 61 00 28 */ addi r3, r1, 0x28 +/* 80004684 000015E4 80 A1 00 1C */ lwz r5, 0x1c(r1) +/* 80004688 000015E8 38 C0 00 01 */ li r6, 1 +/* 8000468C 000015EC 48 33 AB 81 */ bl __ct__15CMemoryInStreamFPvUlQ215CMemoryInStream10EOwnerShip +/* 80004690 000015F0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80004694 000015F4 38 60 02 30 */ li r3, 0x230 +/* 80004698 000015F8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000469C 000015FC 38 A0 00 00 */ li r5, 0 +/* 800046A0 00001600 38 84 00 37 */ addi r4, r4, 0x37 +/* 800046A4 00001604 48 31 11 C9 */ bl __nw__FUlPCcPCc +/* 800046A8 00001608 7C 64 1B 79 */ or. r4, r3, r3 +/* 800046AC 0000160C 41 82 00 14 */ beq lbl_800046C0 +/* 800046B0 00001610 7F E5 FB 78 */ mr r5, r31 +/* 800046B4 00001614 38 81 00 28 */ addi r4, r1, 0x28 +/* 800046B8 00001618 48 1C FE AD */ bl __ct__10CGameStateFR12CInputStreami +/* 800046BC 0000161C 7C 64 1B 78 */ mr r4, r3 +lbl_800046C0: +/* 800046C0 00001620 80 7C 01 28 */ lwz r3, 0x128(r28) +/* 800046C4 00001624 38 63 01 34 */ addi r3, r3, 0x134 +/* 800046C8 00001628 4B FF F5 C1 */ bl __as__Q24rstl24single_ptr$$010CGameState$$1FP10CGameState +/* 800046CC 0000162C 3C 80 80 3F */ lis r4, lbl_803EE398@ha +/* 800046D0 00001630 38 61 00 28 */ addi r3, r1, 0x28 +/* 800046D4 00001634 38 04 E3 98 */ addi r0, r4, lbl_803EE398@l +/* 800046D8 00001638 38 80 00 00 */ li r4, 0 +/* 800046DC 0000163C 90 01 00 28 */ stw r0, 0x28(r1) +/* 800046E0 00001640 48 33 A9 CD */ bl __dt__12CInputStreamFv +/* 800046E4 00001644 80 7C 01 28 */ lwz r3, 0x128(r28) +/* 800046E8 00001648 38 81 00 C8 */ addi r4, r1, 0xc8 +/* 800046EC 0000164C 80 63 01 34 */ lwz r3, 0x134(r3) +/* 800046F0 00001650 90 6D A0 80 */ stw r3, gpGameState@sda21(r13) +/* 800046F4 00001654 38 63 00 A8 */ addi r3, r3, 0xa8 +/* 800046F8 00001658 4B FF F2 D5 */ bl __as__14CSystemOptionsFRC14CSystemOptions +/* 800046FC 0000165C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80004700 00001660 38 81 00 4C */ addi r4, r1, 0x4c +/* 80004704 00001664 38 63 01 7C */ addi r3, r3, 0x17c +/* 80004708 00001668 4B FF F0 99 */ bl __as__12CGameOptionsFRC12CGameOptions +/* 8000470C 0000166C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80004710 00001670 38 63 01 7C */ addi r3, r3, 0x17c +/* 80004714 00001674 48 20 A9 E9 */ bl EnsureOptions__12CGameOptionsFv +/* 80004718 00001678 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 8000471C 0000167C 93 A3 02 14 */ stw r29, 0x214(r3) +/* 80004720 00001680 93 C3 02 10 */ stw r30, 0x210(r3) +/* 80004724 00001684 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80004728 00001688 88 03 01 78 */ lbz r0, 0x178(r3) +/* 8000472C 0000168C 54 1C EF FE */ rlwinm r28, r0, 0x1d, 0x1f, 0x1f +/* 80004730 00001690 48 1C F2 0D */ bl PlayerState__10CGameStateFv +/* 80004734 00001694 80 63 00 00 */ lwz r3, 0(r3) +/* 80004738 00001698 7F 84 E3 78 */ mr r4, r28 +/* 8000473C 0000169C 80 63 00 00 */ lwz r3, 0(r3) +/* 80004740 000016A0 48 08 CD 75 */ bl SetIsFusionEnabled__12CPlayerStateFb +/* 80004744 000016A4 38 61 00 4C */ addi r3, r1, 0x4c +/* 80004748 000016A8 38 80 FF FF */ li r4, -1 +/* 8000474C 000016AC 4B FF F8 39 */ bl __dt__12CGameOptionsFv +/* 80004750 000016B0 80 61 00 24 */ lwz r3, 0x24(r1) +/* 80004754 000016B4 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 80004758 000016B8 90 61 00 0C */ stw r3, 0xc(r1) +/* 8000475C 000016BC 7C 83 02 14 */ add r4, r3, r0 +/* 80004760 000016C0 7C 03 20 50 */ subf r0, r3, r4 +/* 80004764 000016C4 90 81 00 14 */ stw r4, 0x14(r1) +/* 80004768 000016C8 90 81 00 10 */ stw r4, 0x10(r1) +/* 8000476C 000016CC 90 61 00 08 */ stw r3, 8(r1) +/* 80004770 000016D0 7C 09 03 A6 */ mtctr r0 +/* 80004774 000016D4 7C 03 20 40 */ cmplw r3, r4 +/* 80004778 000016D8 41 82 00 08 */ beq lbl_80004780 +lbl_8000477C: +/* 8000477C 000016DC 42 00 00 00 */ bdnz lbl_8000477C +lbl_80004780: +/* 80004780 000016E0 28 03 00 00 */ cmplwi r3, 0 +/* 80004784 000016E4 41 82 00 08 */ beq lbl_8000478C +/* 80004788 000016E8 48 31 11 A9 */ bl Free__7CMemoryFPCv +lbl_8000478C: +/* 8000478C 000016EC 38 61 00 C8 */ addi r3, r1, 0xc8 +/* 80004790 000016F0 38 80 FF FF */ li r4, -1 +/* 80004794 000016F4 4B FF FA 45 */ bl __dt__14CSystemOptionsFv +/* 80004798 000016F8 BB 61 01 AC */ lmw r27, 0x1ac(r1) +/* 8000479C 000016FC 80 01 01 C4 */ lwz r0, 0x1c4(r1) +/* 800047A0 00001700 7C 08 03 A6 */ mtlr r0 +/* 800047A4 00001704 38 21 01 C0 */ addi r1, r1, 0x1c0 +/* 800047A8 00001708 4E 80 00 20 */ blr + +.global __dt__15CMemoryInStreamFv +__dt__15CMemoryInStreamFv: +/* 800047AC 0000170C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800047B0 00001710 7C 08 02 A6 */ mflr r0 +/* 800047B4 00001714 90 01 00 14 */ stw r0, 0x14(r1) +/* 800047B8 00001718 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800047BC 0000171C 7C 9F 23 78 */ mr r31, r4 +/* 800047C0 00001720 93 C1 00 08 */ stw r30, 8(r1) +/* 800047C4 00001724 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800047C8 00001728 41 82 00 28 */ beq lbl_800047F0 +/* 800047CC 0000172C 3C A0 80 3F */ lis r5, lbl_803EE398@ha +/* 800047D0 00001730 38 80 00 00 */ li r4, 0 +/* 800047D4 00001734 38 05 E3 98 */ addi r0, r5, lbl_803EE398@l +/* 800047D8 00001738 90 1E 00 00 */ stw r0, 0(r30) +/* 800047DC 0000173C 48 33 A8 D1 */ bl __dt__12CInputStreamFv +/* 800047E0 00001740 7F E0 07 35 */ extsh. r0, r31 +/* 800047E4 00001744 40 81 00 0C */ ble lbl_800047F0 +/* 800047E8 00001748 7F C3 F3 78 */ mr r3, r30 +/* 800047EC 0000174C 48 31 11 45 */ bl Free__7CMemoryFPCv +lbl_800047F0: +/* 800047F0 00001750 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800047F4 00001754 7F C3 F3 78 */ mr r3, r30 +/* 800047F8 00001758 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800047FC 0000175C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80004800 00001760 7C 08 03 A6 */ mtlr r0 +/* 80004804 00001764 38 21 00 10 */ addi r1, r1, 0x10 +/* 80004808 00001768 4E 80 00 20 */ blr + +.global nullsub_2 +nullsub_2: +/* 8000480C 0000176C 4E 80 00 20 */ blr + +.global EnsureWorldPaksReady__5CMainFv +EnsureWorldPaksReady__5CMainFv: +/* 80004810 00001770 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80004814 00001774 7C 08 02 A6 */ mflr r0 +/* 80004818 00001778 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000481C 0000177C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80004820 00001780 93 C1 00 08 */ stw r30, 8(r1) +/* 80004824 00001784 3B C0 00 00 */ li r30, 0 +/* 80004828 00001788 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 8000482C 0000178C 3B E3 00 04 */ addi r31, r3, 4 +/* 80004830 00001790 48 00 00 24 */ b lbl_80004854 +lbl_80004834: +/* 80004834 00001794 7F E3 FB 78 */ mr r3, r31 +/* 80004838 00001798 7F C4 F3 78 */ mr r4, r30 +/* 8000483C 0000179C 48 33 64 75 */ bl GetPakFile__10CResLoaderCFi +/* 80004840 000017A0 88 03 00 28 */ lbz r0, 0x28(r3) +/* 80004844 000017A4 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f +/* 80004848 000017A8 41 82 00 08 */ beq lbl_80004850 +/* 8000484C 000017AC 48 36 29 F1 */ bl EnsureWorldPakReady__8CPakFileFv +lbl_80004850: +/* 80004850 000017B0 3B DE 00 01 */ addi r30, r30, 1 +lbl_80004854: +/* 80004854 000017B4 7F E3 FB 78 */ mr r3, r31 +/* 80004858 000017B8 48 33 65 55 */ bl GetPakCount__10CResLoaderCFv +/* 8000485C 000017BC 7C 1E 18 00 */ cmpw r30, r3 +/* 80004860 000017C0 41 80 FF D4 */ blt lbl_80004834 +/* 80004864 000017C4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80004868 000017C8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000486C 000017CC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80004870 000017D0 7C 08 03 A6 */ mtlr r0 +/* 80004874 000017D4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80004878 000017D8 4E 80 00 20 */ blr + +.global EnsureWorldPakReady__5CMainFUi +EnsureWorldPakReady__5CMainFUi: +/* 8000487C 000017DC 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80004880 000017E0 7C 08 02 A6 */ mflr r0 +/* 80004884 000017E4 90 01 00 44 */ stw r0, 0x44(r1) +/* 80004888 000017E8 BE E1 00 1C */ stmw r23, 0x1c(r1) +/* 8000488C 000017EC 7C 7B 1B 78 */ mr r27, r3 +/* 80004890 000017F0 3B C0 00 00 */ li r30, 0 +/* 80004894 000017F4 80 8D A0 60 */ lwz r4, gpResourceFactory@sda21(r13) +/* 80004898 000017F8 3B E4 00 04 */ addi r31, r4, 4 +/* 8000489C 000017FC 48 00 01 2C */ b lbl_800049C8 +lbl_800048A0: +/* 800048A0 00001800 7F E3 FB 78 */ mr r3, r31 +/* 800048A4 00001804 7F C4 F3 78 */ mr r4, r30 +/* 800048A8 00001808 3B A0 00 01 */ li r29, 1 +/* 800048AC 0000180C 48 33 64 05 */ bl GetPakFile__10CResLoaderCFi +/* 800048B0 00001810 88 03 00 28 */ lbz r0, 0x28(r3) +/* 800048B4 00001814 7C 7C 1B 78 */ mr r28, r3 +/* 800048B8 00001818 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f +/* 800048BC 0000181C 41 82 01 08 */ beq lbl_800049C4 +/* 800048C0 00001820 80 1C 00 58 */ lwz r0, 0x58(r28) +/* 800048C4 00001824 90 01 00 0C */ stw r0, 0xc(r1) +/* 800048C8 00001828 2C 00 00 00 */ cmpwi r0, 0 +/* 800048CC 0000182C 80 1C 00 5C */ lwz r0, 0x5c(r28) +/* 800048D0 00001830 90 01 00 10 */ stw r0, 0x10(r1) +/* 800048D4 00001834 40 82 00 18 */ bne lbl_800048EC +/* 800048D8 00001838 2C 00 00 00 */ cmpwi r0, 0 +/* 800048DC 0000183C 40 82 00 10 */ bne lbl_800048EC +/* 800048E0 00001840 38 00 00 00 */ li r0, 0 +/* 800048E4 00001844 90 01 00 14 */ stw r0, 0x14(r1) +/* 800048E8 00001848 48 00 00 84 */ b lbl_8000496C +lbl_800048EC: +/* 800048EC 0000184C 80 01 00 10 */ lwz r0, 0x10(r1) +/* 800048F0 00001850 1C 60 00 18 */ mulli r3, r0, 0x18 +/* 800048F4 00001854 2C 03 00 00 */ cmpwi r3, 0 +/* 800048F8 00001858 40 82 00 10 */ bne lbl_80004908 +/* 800048FC 0000185C 38 00 00 00 */ li r0, 0 +/* 80004900 00001860 90 01 00 14 */ stw r0, 0x14(r1) +/* 80004904 00001864 48 00 00 1C */ b lbl_80004920 +lbl_80004908: +/* 80004908 00001868 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000490C 0000186C 38 A0 00 00 */ li r5, 0 +/* 80004910 00001870 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80004914 00001874 38 84 00 37 */ addi r4, r4, 0x37 +/* 80004918 00001878 48 31 0F 01 */ bl __nwa__FUlPCcPCc +/* 8000491C 0000187C 90 61 00 14 */ stw r3, 0x14(r1) +lbl_80004920: +/* 80004920 00001880 82 E1 00 0C */ lwz r23, 0xc(r1) +/* 80004924 00001884 3B 40 00 00 */ li r26, 0 +/* 80004928 00001888 83 1C 00 60 */ lwz r24, 0x60(r28) +/* 8000492C 0000188C 83 21 00 14 */ lwz r25, 0x14(r1) +/* 80004930 00001890 48 00 00 34 */ b lbl_80004964 +lbl_80004934: +/* 80004934 00001894 28 19 00 00 */ cmplwi r25, 0 +/* 80004938 00001898 41 82 00 20 */ beq lbl_80004958 +/* 8000493C 0000189C 7F 23 CB 78 */ mr r3, r25 +/* 80004940 000018A0 7F 04 C3 78 */ mr r4, r24 +/* 80004944 000018A4 48 33 98 1D */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004948 000018A8 80 18 00 10 */ lwz r0, 0x10(r24) +/* 8000494C 000018AC 90 19 00 10 */ stw r0, 0x10(r25) +/* 80004950 000018B0 80 18 00 14 */ lwz r0, 0x14(r24) +/* 80004954 000018B4 90 19 00 14 */ stw r0, 0x14(r25) +lbl_80004958: +/* 80004958 000018B8 3B 39 00 18 */ addi r25, r25, 0x18 +/* 8000495C 000018BC 3B 5A 00 01 */ addi r26, r26, 1 +/* 80004960 000018C0 3B 18 00 18 */ addi r24, r24, 0x18 +lbl_80004964: +/* 80004964 000018C4 7C 1A B8 00 */ cmpw r26, r23 +/* 80004968 000018C8 41 80 FF CC */ blt lbl_80004934 +lbl_8000496C: +/* 8000496C 000018CC 80 01 00 0C */ lwz r0, 0xc(r1) +/* 80004970 000018D0 80 81 00 14 */ lwz r4, 0x14(r1) +/* 80004974 000018D4 1C 00 00 18 */ mulli r0, r0, 0x18 +/* 80004978 000018D8 7C 64 02 14 */ add r3, r4, r0 +/* 8000497C 000018DC 48 00 00 18 */ b lbl_80004994 +lbl_80004980: +/* 80004980 000018E0 80 04 00 14 */ lwz r0, 0x14(r4) +/* 80004984 000018E4 7C 1B 00 40 */ cmplw r27, r0 +/* 80004988 000018E8 40 82 00 08 */ bne lbl_80004990 +/* 8000498C 000018EC 3B A0 00 00 */ li r29, 0 +lbl_80004990: +/* 80004990 000018F0 38 84 00 18 */ addi r4, r4, 0x18 +lbl_80004994: +/* 80004994 000018F4 7C 04 18 40 */ cmplw r4, r3 +/* 80004998 000018F8 40 82 FF E8 */ bne lbl_80004980 +/* 8000499C 000018FC 57 A0 06 3F */ clrlwi. r0, r29, 0x18 +/* 800049A0 00001900 41 82 00 10 */ beq lbl_800049B0 +/* 800049A4 00001904 7F 83 E3 78 */ mr r3, r28 +/* 800049A8 00001908 48 36 2A 85 */ bl sub_8036742c +/* 800049AC 0000190C 48 00 00 0C */ b lbl_800049B8 +lbl_800049B0: +/* 800049B0 00001910 7F 83 E3 78 */ mr r3, r28 +/* 800049B4 00001914 48 36 28 89 */ bl EnsureWorldPakReady__8CPakFileFv +lbl_800049B8: +/* 800049B8 00001918 38 61 00 08 */ addi r3, r1, 8 +/* 800049BC 0000191C 38 80 FF FF */ li r4, -1 +/* 800049C0 00001920 48 00 00 2D */ bl sub_800049ec +lbl_800049C4: +/* 800049C4 00001924 3B DE 00 01 */ addi r30, r30, 1 +lbl_800049C8: +/* 800049C8 00001928 7F E3 FB 78 */ mr r3, r31 +/* 800049CC 0000192C 48 33 63 E1 */ bl GetPakCount__10CResLoaderCFv +/* 800049D0 00001930 7C 1E 18 00 */ cmpw r30, r3 +/* 800049D4 00001934 41 80 FE CC */ blt lbl_800048A0 +/* 800049D8 00001938 BA E1 00 1C */ lmw r23, 0x1c(r1) +/* 800049DC 0000193C 80 01 00 44 */ lwz r0, 0x44(r1) +/* 800049E0 00001940 7C 08 03 A6 */ mtlr r0 +/* 800049E4 00001944 38 21 00 40 */ addi r1, r1, 0x40 +/* 800049E8 00001948 4E 80 00 20 */ blr + +.global sub_800049ec +sub_800049ec: +/* 800049EC 0000194C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 800049F0 00001950 7C 08 02 A6 */ mflr r0 +/* 800049F4 00001954 90 01 00 34 */ stw r0, 0x34(r1) +/* 800049F8 00001958 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 800049FC 0000195C 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80004A00 00001960 93 A1 00 24 */ stw r29, 0x24(r1) +/* 80004A04 00001964 7C 9D 23 78 */ mr r29, r4 +/* 80004A08 00001968 93 81 00 20 */ stw r28, 0x20(r1) +/* 80004A0C 0000196C 7C 7C 1B 79 */ or. r28, r3, r3 +/* 80004A10 00001970 41 82 00 68 */ beq lbl_80004A78 +/* 80004A14 00001974 80 1C 00 04 */ lwz r0, 4(r28) +/* 80004A18 00001978 83 DC 00 0C */ lwz r30, 0xc(r28) +/* 80004A1C 0000197C 1C 00 00 18 */ mulli r0, r0, 0x18 +/* 80004A20 00001980 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80004A24 00001984 7F FE 02 14 */ add r31, r30, r0 +/* 80004A28 00001988 93 C1 00 14 */ stw r30, 0x14(r1) +/* 80004A2C 0000198C 93 E1 00 08 */ stw r31, 8(r1) +/* 80004A30 00001990 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80004A34 00001994 48 00 00 1C */ b lbl_80004A50 +lbl_80004A38: +/* 80004A38 00001998 28 1E 00 00 */ cmplwi r30, 0 +/* 80004A3C 0000199C 41 82 00 10 */ beq lbl_80004A4C +/* 80004A40 000019A0 41 82 00 0C */ beq lbl_80004A4C +/* 80004A44 000019A4 7F C3 F3 78 */ mr r3, r30 +/* 80004A48 000019A8 48 33 90 99 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +lbl_80004A4C: +/* 80004A4C 000019AC 3B DE 00 18 */ addi r30, r30, 0x18 +lbl_80004A50: +/* 80004A50 000019B0 7C 1E F8 40 */ cmplw r30, r31 +/* 80004A54 000019B4 40 82 FF E4 */ bne lbl_80004A38 +/* 80004A58 000019B8 80 7C 00 0C */ lwz r3, 0xc(r28) +/* 80004A5C 000019BC 28 03 00 00 */ cmplwi r3, 0 +/* 80004A60 000019C0 41 82 00 08 */ beq lbl_80004A68 +/* 80004A64 000019C4 48 31 0E CD */ bl Free__7CMemoryFPCv +lbl_80004A68: +/* 80004A68 000019C8 7F A0 07 35 */ extsh. r0, r29 +/* 80004A6C 000019CC 40 81 00 0C */ ble lbl_80004A78 +/* 80004A70 000019D0 7F 83 E3 78 */ mr r3, r28 +/* 80004A74 000019D4 48 31 0E BD */ bl Free__7CMemoryFPCv +lbl_80004A78: +/* 80004A78 000019D8 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80004A7C 000019DC 7F 83 E3 78 */ mr r3, r28 +/* 80004A80 000019E0 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80004A84 000019E4 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80004A88 000019E8 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 80004A8C 000019EC 83 81 00 20 */ lwz r28, 0x20(r1) +/* 80004A90 000019F0 7C 08 03 A6 */ mtlr r0 +/* 80004A94 000019F4 38 21 00 30 */ addi r1, r1, 0x30 +/* 80004A98 000019F8 4E 80 00 20 */ blr + +.global sub_80004a9c +sub_80004a9c: +/* 80004A9C 000019FC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80004AA0 00001A00 7C 08 02 A6 */ mflr r0 +/* 80004AA4 00001A04 90 01 00 14 */ stw r0, 0x14(r1) +/* 80004AA8 00001A08 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80004AAC 00001A0C 7C 9F 23 78 */ mr r31, r4 +/* 80004AB0 00001A10 93 C1 00 08 */ stw r30, 8(r1) +/* 80004AB4 00001A14 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80004AB8 00001A18 41 82 00 18 */ beq lbl_80004AD0 +/* 80004ABC 00001A1C 48 33 90 25 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004AC0 00001A20 7F E0 07 35 */ extsh. r0, r31 +/* 80004AC4 00001A24 40 81 00 0C */ ble lbl_80004AD0 +/* 80004AC8 00001A28 7F C3 F3 78 */ mr r3, r30 +/* 80004ACC 00001A2C 48 31 0E 65 */ bl Free__7CMemoryFPCv +lbl_80004AD0: +/* 80004AD0 00001A30 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80004AD4 00001A34 7F C3 F3 78 */ mr r3, r30 +/* 80004AD8 00001A38 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80004ADC 00001A3C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80004AE0 00001A40 7C 08 03 A6 */ mtlr r0 +/* 80004AE4 00001A44 38 21 00 10 */ addi r1, r1, 0x10 +/* 80004AE8 00001A48 4E 80 00 20 */ blr + +.global AddWorldPaks__5CMainFv +AddWorldPaks__5CMainFv: +/* 80004AEC 00001A4C 94 21 FF 70 */ stwu r1, -0x90(r1) +/* 80004AF0 00001A50 7C 08 02 A6 */ mflr r0 +/* 80004AF4 00001A54 90 01 00 94 */ stw r0, 0x94(r1) +/* 80004AF8 00001A58 38 61 00 6C */ addi r3, r1, 0x6c +/* 80004AFC 00001A5C 93 E1 00 8C */ stw r31, 0x8c(r1) +/* 80004B00 00001A60 93 C1 00 88 */ stw r30, 0x88(r1) +/* 80004B04 00001A64 93 A1 00 84 */ stw r29, 0x84(r1) +/* 80004B08 00001A68 93 81 00 80 */ stw r28, 0x80(r1) +/* 80004B0C 00001A6C 80 8D A1 20 */ lwz r4, gpTweakGame@sda21(r13) +/* 80004B10 00001A70 38 84 00 04 */ addi r4, r4, 4 +/* 80004B14 00001A74 48 33 96 4D */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004B18 00001A78 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80004B1C 00001A7C 3B A0 00 00 */ li r29, 0 +/* 80004B20 00001A80 3B C3 BE 74 */ addi r30, r3, lbl_803CBE74@l +lbl_80004B24: +/* 80004B24 00001A84 2C 1D 00 00 */ cmpwi r29, 0 +/* 80004B28 00001A88 3B E0 00 00 */ li r31, 0 +/* 80004B2C 00001A8C 3B 80 00 00 */ li r28, 0 +/* 80004B30 00001A90 40 82 00 24 */ bne lbl_80004B54 +/* 80004B34 00001A94 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80004B38 00001A98 38 61 00 4C */ addi r3, r1, 0x4c +/* 80004B3C 00001A9C 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80004B40 00001AA0 38 84 00 3E */ addi r4, r4, 0x3e +/* 80004B44 00001AA4 48 00 01 75 */ bl string_l__4rstlFPCc +/* 80004B48 00001AA8 38 A1 00 4C */ addi r5, r1, 0x4c +/* 80004B4C 00001AAC 3B E0 00 01 */ li r31, 1 +/* 80004B50 00001AB0 48 00 00 38 */ b lbl_80004B88 +lbl_80004B54: +/* 80004B54 00001AB4 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80004B58 00001AB8 7F A4 EB 78 */ mr r4, r29 +/* 80004B5C 00001ABC 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 80004B60 00001AC0 38 63 00 3F */ addi r3, r3, 0x3f +/* 80004B64 00001AC4 4C C6 31 82 */ crclr 6 +/* 80004B68 00001AC8 48 2D 16 49 */ bl Stringize__7CBasicsFPCce +/* 80004B6C 00001ACC 7C 64 1B 78 */ mr r4, r3 +/* 80004B70 00001AD0 38 61 00 3C */ addi r3, r1, 0x3c +/* 80004B74 00001AD4 38 C1 00 08 */ addi r6, r1, 8 +/* 80004B78 00001AD8 38 A0 FF FF */ li r5, -1 +/* 80004B7C 00001ADC 48 33 96 19 */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FPCciRCQ24rstl17rmemory_allocator +/* 80004B80 00001AE0 3B 80 00 01 */ li r28, 1 +/* 80004B84 00001AE4 38 A1 00 3C */ addi r5, r1, 0x3c +lbl_80004B88: +/* 80004B88 00001AE8 38 61 00 2C */ addi r3, r1, 0x2c +/* 80004B8C 00001AEC 38 81 00 6C */ addi r4, r1, 0x6c +/* 80004B90 00001AF0 48 00 00 CD */ bl __pl__4rstlFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1RCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004B94 00001AF4 38 61 00 5C */ addi r3, r1, 0x5c +/* 80004B98 00001AF8 38 81 00 2C */ addi r4, r1, 0x2c +/* 80004B9C 00001AFC 48 33 95 C5 */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004BA0 00001B00 38 61 00 2C */ addi r3, r1, 0x2c +/* 80004BA4 00001B04 48 33 8F 3D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004BA8 00001B08 7F 80 07 75 */ extsb. r0, r28 +/* 80004BAC 00001B0C 41 82 00 0C */ beq lbl_80004BB8 +/* 80004BB0 00001B10 38 61 00 3C */ addi r3, r1, 0x3c +/* 80004BB4 00001B14 48 33 8F 2D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +lbl_80004BB8: +/* 80004BB8 00001B18 7F E0 07 75 */ extsb. r0, r31 +/* 80004BBC 00001B1C 41 82 00 0C */ beq lbl_80004BC8 +/* 80004BC0 00001B20 38 61 00 4C */ addi r3, r1, 0x4c +/* 80004BC4 00001B24 48 33 8F 1D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +lbl_80004BC8: +/* 80004BC8 00001B28 38 61 00 1C */ addi r3, r1, 0x1c +/* 80004BCC 00001B2C 38 9E 00 42 */ addi r4, r30, 0x42 +/* 80004BD0 00001B30 48 00 00 E9 */ bl string_l__4rstlFPCc +/* 80004BD4 00001B34 38 61 00 0C */ addi r3, r1, 0xc +/* 80004BD8 00001B38 38 81 00 5C */ addi r4, r1, 0x5c +/* 80004BDC 00001B3C 38 A1 00 1C */ addi r5, r1, 0x1c +/* 80004BE0 00001B40 48 00 00 7D */ bl __pl__4rstlFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1RCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004BE4 00001B44 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80004BE8 00001B48 48 34 AD 65 */ bl FileExists__8CDvdFileFPCc +/* 80004BEC 00001B4C 7C 7F 1B 78 */ mr r31, r3 +/* 80004BF0 00001B50 38 61 00 0C */ addi r3, r1, 0xc +/* 80004BF4 00001B54 48 33 8E ED */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004BF8 00001B58 38 61 00 1C */ addi r3, r1, 0x1c +/* 80004BFC 00001B5C 48 33 8E E5 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004C00 00001B60 57 E0 06 3F */ clrlwi. r0, r31, 0x18 +/* 80004C04 00001B64 41 82 00 1C */ beq lbl_80004C20 +/* 80004C08 00001B68 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 80004C0C 00001B6C 38 81 00 5C */ addi r4, r1, 0x5c +/* 80004C10 00001B70 38 A0 00 00 */ li r5, 0 +/* 80004C14 00001B74 38 C0 00 01 */ li r6, 1 +/* 80004C18 00001B78 38 63 00 04 */ addi r3, r3, 4 +/* 80004C1C 00001B7C 48 33 69 41 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +lbl_80004C20: +/* 80004C20 00001B80 38 61 00 5C */ addi r3, r1, 0x5c +/* 80004C24 00001B84 48 33 8E BD */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004C28 00001B88 3B BD 00 01 */ addi r29, r29, 1 +/* 80004C2C 00001B8C 2C 1D 00 09 */ cmpwi r29, 9 +/* 80004C30 00001B90 41 80 FE F4 */ blt lbl_80004B24 +/* 80004C34 00001B94 38 61 00 6C */ addi r3, r1, 0x6c +/* 80004C38 00001B98 48 33 8E A9 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004C3C 00001B9C 80 01 00 94 */ lwz r0, 0x94(r1) +/* 80004C40 00001BA0 83 E1 00 8C */ lwz r31, 0x8c(r1) +/* 80004C44 00001BA4 83 C1 00 88 */ lwz r30, 0x88(r1) +/* 80004C48 00001BA8 83 A1 00 84 */ lwz r29, 0x84(r1) +/* 80004C4C 00001BAC 83 81 00 80 */ lwz r28, 0x80(r1) +/* 80004C50 00001BB0 7C 08 03 A6 */ mtlr r0 +/* 80004C54 00001BB4 38 21 00 90 */ addi r1, r1, 0x90 +/* 80004C58 00001BB8 4E 80 00 20 */ blr + +.global __pl__4rstlFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1RCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +__pl__4rstlFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1RCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1: +/* 80004C5C 00001BBC 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80004C60 00001BC0 7C 08 02 A6 */ mflr r0 +/* 80004C64 00001BC4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80004C68 00001BC8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80004C6C 00001BCC 7C BF 2B 78 */ mr r31, r5 +/* 80004C70 00001BD0 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80004C74 00001BD4 7C 7E 1B 78 */ mr r30, r3 +/* 80004C78 00001BD8 38 61 00 08 */ addi r3, r1, 8 +/* 80004C7C 00001BDC 48 33 94 E5 */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004C80 00001BE0 7F E4 FB 78 */ mr r4, r31 +/* 80004C84 00001BE4 38 61 00 08 */ addi r3, r1, 8 +/* 80004C88 00001BE8 48 33 93 B1 */ bl append__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004C8C 00001BEC 7F C3 F3 78 */ mr r3, r30 +/* 80004C90 00001BF0 38 81 00 08 */ addi r4, r1, 8 +/* 80004C94 00001BF4 48 33 94 CD */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80004C98 00001BF8 38 61 00 08 */ addi r3, r1, 8 +/* 80004C9C 00001BFC 48 33 8E 45 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80004CA0 00001C00 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80004CA4 00001C04 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80004CA8 00001C08 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80004CAC 00001C0C 7C 08 03 A6 */ mtlr r0 +/* 80004CB0 00001C10 38 21 00 20 */ addi r1, r1, 0x20 +/* 80004CB4 00001C14 4E 80 00 20 */ blr + +.global string_l__4rstlFPCc +string_l__4rstlFPCc: +/* 80004CB8 00001C18 90 83 00 00 */ stw r4, 0(r3) +/* 80004CBC 00001C1C 38 00 00 00 */ li r0, 0 +/* 80004CC0 00001C20 7C 85 23 78 */ mr r5, r4 +/* 80004CC4 00001C24 90 03 00 04 */ stw r0, 4(r3) +/* 80004CC8 00001C28 48 00 00 08 */ b lbl_80004CD0 +lbl_80004CCC: +/* 80004CCC 00001C2C 38 A5 00 01 */ addi r5, r5, 1 +lbl_80004CD0: +/* 80004CD0 00001C30 88 05 00 00 */ lbz r0, 0(r5) +/* 80004CD4 00001C34 7C 00 07 75 */ extsb. r0, r0 +/* 80004CD8 00001C38 40 82 FF F4 */ bne lbl_80004CCC +/* 80004CDC 00001C3C 7C 04 28 50 */ subf r0, r4, r5 +/* 80004CE0 00001C40 90 03 00 08 */ stw r0, 8(r3) +/* 80004CE4 00001C44 4E 80 00 20 */ blr + +.global sub_80004ce8 +sub_80004ce8: +/* 80004CE8 00001C48 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80004CEC 00001C4C 7C 08 02 A6 */ mflr r0 +/* 80004CF0 00001C50 90 01 00 14 */ stw r0, 0x14(r1) +/* 80004CF4 00001C54 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80004CF8 00001C58 7C 9F 23 78 */ mr r31, r4 +/* 80004CFC 00001C5C 28 1F 01 F4 */ cmplwi r31, 0x1f4 +/* 80004D00 00001C60 93 C1 00 08 */ stw r30, 8(r1) +/* 80004D04 00001C64 7C 7E 1B 78 */ mr r30, r3 +/* 80004D08 00001C68 40 80 00 64 */ bge lbl_80004D6C +/* 80004D0C 00001C6C 80 9E 01 34 */ lwz r4, 0x134(r30) +/* 80004D10 00001C70 80 7E 01 38 */ lwz r3, 0x138(r30) +/* 80004D14 00001C74 80 1E 01 3C */ lwz r0, 0x13c(r30) +/* 80004D18 00001C78 7C A4 1A 14 */ add r5, r4, r3 +/* 80004D1C 00001C7C 80 7E 01 40 */ lwz r3, 0x140(r30) +/* 80004D20 00001C80 7C A5 02 14 */ add r5, r5, r0 +/* 80004D24 00001C84 80 1E 01 44 */ lwz r0, 0x144(r30) +/* 80004D28 00001C88 7C A5 1A 14 */ add r5, r5, r3 +/* 80004D2C 00001C8C 80 9E 01 48 */ lwz r4, 0x148(r30) +/* 80004D30 00001C90 7C A5 02 14 */ add r5, r5, r0 +/* 80004D34 00001C94 80 7E 01 4C */ lwz r3, 0x14c(r30) +/* 80004D38 00001C98 7C A5 22 14 */ add r5, r5, r4 +/* 80004D3C 00001C9C 80 1E 01 50 */ lwz r0, 0x150(r30) +/* 80004D40 00001CA0 7C A5 1A 14 */ add r5, r5, r3 +/* 80004D44 00001CA4 80 7E 01 54 */ lwz r3, 0x154(r30) +/* 80004D48 00001CA8 7C A5 02 14 */ add r5, r5, r0 +/* 80004D4C 00001CAC 80 1E 01 58 */ lwz r0, 0x158(r30) +/* 80004D50 00001CB0 7C A5 1A 14 */ add r5, r5, r3 +/* 80004D54 00001CB4 7C A5 02 14 */ add r5, r5, r0 +/* 80004D58 00001CB8 28 05 13 88 */ cmplwi r5, 0x1388 +/* 80004D5C 00001CBC 40 80 00 0C */ bge lbl_80004D68 +/* 80004D60 00001CC0 3B E0 01 F4 */ li r31, 0x1f4 +/* 80004D64 00001CC4 48 00 00 08 */ b lbl_80004D6C +lbl_80004D68: +/* 80004D68 00001CC8 3B E0 00 00 */ li r31, 0 +lbl_80004D6C: +/* 80004D6C 00001CCC 28 1F 00 00 */ cmplwi r31, 0 +/* 80004D70 00001CD0 41 82 00 10 */ beq lbl_80004D80 +/* 80004D74 00001CD4 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 80004D78 00001CD8 7F E4 FB 78 */ mr r4, r31 +/* 80004D7C 00001CDC 48 33 4E 55 */ bl AsyncIdle__11CResFactoryFUl +lbl_80004D80: +/* 80004D80 00001CE0 80 1E 01 5C */ lwz r0, 0x15c(r30) +/* 80004D84 00001CE4 54 00 10 3A */ slwi r0, r0, 2 +/* 80004D88 00001CE8 7C 7E 02 14 */ add r3, r30, r0 +/* 80004D8C 00001CEC 93 E3 01 34 */ stw r31, 0x134(r3) +/* 80004D90 00001CF0 80 7E 01 5C */ lwz r3, 0x15c(r30) +/* 80004D94 00001CF4 38 03 00 01 */ addi r0, r3, 1 +/* 80004D98 00001CF8 90 1E 01 5C */ stw r0, 0x15c(r30) +/* 80004D9C 00001CFC 80 1E 01 5C */ lwz r0, 0x15c(r30) +/* 80004DA0 00001D00 2C 00 00 0A */ cmpwi r0, 0xa +/* 80004DA4 00001D04 41 80 00 0C */ blt lbl_80004DB0 +/* 80004DA8 00001D08 38 00 00 00 */ li r0, 0 +/* 80004DAC 00001D0C 90 1E 01 5C */ stw r0, 0x15c(r30) +lbl_80004DB0: +/* 80004DB0 00001D10 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80004DB4 00001D14 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80004DB8 00001D18 83 C1 00 08 */ lwz r30, 8(r1) +/* 80004DBC 00001D1C 7C 08 03 A6 */ mtlr r0 +/* 80004DC0 00001D20 38 21 00 10 */ addi r1, r1, 0x10 +/* 80004DC4 00001D24 4E 80 00 20 */ blr + +.global RsMain__5CMainFiPCPCc +RsMain__5CMainFiPCPCc: +/* 80004DC8 00001D28 94 21 FE B0 */ stwu r1, -0x150(r1) +/* 80004DCC 00001D2C 7C 08 02 A6 */ mflr r0 +/* 80004DD0 00001D30 90 01 01 54 */ stw r0, 0x154(r1) +/* 80004DD4 00001D34 DB E1 01 40 */ stfd f31, 0x140(r1) +/* 80004DD8 00001D38 F3 E1 01 48 */ psq_st f31, 328(r1), 0, qr0 +/* 80004DDC 00001D3C DB C1 01 30 */ stfd f30, 0x130(r1) +/* 80004DE0 00001D40 F3 C1 01 38 */ psq_st f30, 312(r1), 0, qr0 +/* 80004DE4 00001D44 DB A1 01 20 */ stfd f29, 0x120(r1) +/* 80004DE8 00001D48 F3 A1 01 28 */ psq_st f29, 296(r1), 0, qr0 +/* 80004DEC 00001D4C BF 41 01 08 */ stmw r26, 0x108(r1) +/* 80004DF0 00001D50 7C 7D 1B 78 */ mr r29, r3 +/* 80004DF4 00001D54 48 36 AA C9 */ bl PPCSetFpIEEEMode +/* 80004DF8 00001D58 48 38 05 B1 */ bl OSGetTime +/* 80004DFC 00001D5C 7C 9A 23 78 */ mr r26, r4 +/* 80004E00 00001D60 7C 7B 1B 78 */ mr r27, r3 +/* 80004E04 00001D64 48 37 9E B5 */ bl LCEnable +/* 80004E08 00001D68 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80004E0C 00001D6C 38 60 01 5C */ li r3, 0x15c +/* 80004E10 00001D70 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80004E14 00001D74 38 A0 00 00 */ li r5, 0 +/* 80004E18 00001D78 38 84 00 37 */ addi r4, r4, 0x37 +/* 80004E1C 00001D7C 48 00 39 ED */ bl __nw__32TOneStatic$$018CGameGlobalObjects$$1FUlPCcPCc +/* 80004E20 00001D80 7C 60 1B 79 */ or. r0, r3, r3 +/* 80004E24 00001D84 41 82 00 14 */ beq lbl_80004E38 +/* 80004E28 00001D88 7F A4 EB 78 */ mr r4, r29 +/* 80004E2C 00001D8C 38 BD 00 6D */ addi r5, r29, 0x6d +/* 80004E30 00001D90 48 00 2C 8D */ bl __ct__18CGameGlobalObjectsFv +/* 80004E34 00001D94 7C 60 1B 78 */ mr r0, r3 +lbl_80004E38: +/* 80004E38 00001D98 90 01 00 0C */ stw r0, 0xc(r1) +/* 80004E3C 00001D9C 3B DD 00 F4 */ addi r30, r29, 0xf4 +/* 80004E40 00001DA0 3B FD 01 08 */ addi r31, r29, 0x108 +/* 80004E44 00001DA4 38 60 00 00 */ li r3, 0 +/* 80004E48 00001DA8 90 1D 01 28 */ stw r0, 0x128(r29) +lbl_80004E4C: +/* 80004E4C 00001DAC 80 1D 00 F0 */ lwz r0, 0xf0(r29) +/* 80004E50 00001DB0 2C 00 00 04 */ cmpwi r0, 4 +/* 80004E54 00001DB4 40 80 00 24 */ bge lbl_80004E78 +/* 80004E58 00001DB8 54 00 10 3A */ slwi r0, r0, 2 +/* 80004E5C 00001DBC 7C 9E 02 15 */ add. r4, r30, r0 +/* 80004E60 00001DC0 41 82 00 0C */ beq lbl_80004E6C +/* 80004E64 00001DC4 C0 0D 80 08 */ lfs f0, lbl_805A6BC8@sda21(r13) +/* 80004E68 00001DC8 D0 04 00 00 */ stfs f0, 0(r4) +lbl_80004E6C: +/* 80004E6C 00001DCC 80 9D 00 F0 */ lwz r4, 0xf0(r29) +/* 80004E70 00001DD0 38 04 00 01 */ addi r0, r4, 1 +/* 80004E74 00001DD4 90 1D 00 F0 */ stw r0, 0xf0(r29) +lbl_80004E78: +/* 80004E78 00001DD8 80 9D 00 F0 */ lwz r4, 0xf0(r29) +/* 80004E7C 00001DDC 34 C4 FF FF */ addic. r6, r4, -1 +/* 80004E80 00001DE0 54 C0 10 3A */ slwi r0, r6, 2 +/* 80004E84 00001DE4 7C C4 33 78 */ mr r4, r6 +/* 80004E88 00001DE8 7C FE 02 14 */ add r7, r30, r0 +/* 80004E8C 00001DEC 40 81 00 C4 */ ble lbl_80004F50 +/* 80004E90 00001DF0 54 C0 E8 FF */ rlwinm. r0, r6, 0x1d, 3, 0x1f +/* 80004E94 00001DF4 7C 09 03 A6 */ mtctr r0 +/* 80004E98 00001DF8 41 82 00 98 */ beq lbl_80004F30 +lbl_80004E9C: +/* 80004E9C 00001DFC 38 A6 FF FF */ addi r5, r6, -1 +/* 80004EA0 00001E00 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004EA4 00001E04 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004EA8 00001E08 38 A6 FF FE */ addi r5, r6, -2 +/* 80004EAC 00001E0C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004EB0 00001E10 D0 07 00 00 */ stfs f0, 0(r7) +/* 80004EB4 00001E14 38 A6 FF FD */ addi r5, r6, -3 +/* 80004EB8 00001E18 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004EBC 00001E1C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004EC0 00001E20 38 A6 FF FC */ addi r5, r6, -4 +/* 80004EC4 00001E24 D0 07 FF FC */ stfs f0, -4(r7) +/* 80004EC8 00001E28 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004ECC 00001E2C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004ED0 00001E30 38 A6 FF FB */ addi r5, r6, -5 +/* 80004ED4 00001E34 D0 07 FF F8 */ stfs f0, -8(r7) +/* 80004ED8 00001E38 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004EDC 00001E3C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004EE0 00001E40 38 A6 FF FA */ addi r5, r6, -6 +/* 80004EE4 00001E44 D0 07 FF F4 */ stfs f0, -0xc(r7) +/* 80004EE8 00001E48 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004EEC 00001E4C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004EF0 00001E50 38 A6 FF F9 */ addi r5, r6, -7 +/* 80004EF4 00001E54 D0 07 FF F0 */ stfs f0, -0x10(r7) +/* 80004EF8 00001E58 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004EFC 00001E5C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004F00 00001E60 38 A6 FF F8 */ addi r5, r6, -8 +/* 80004F04 00001E64 38 C6 FF F8 */ addi r6, r6, -8 +/* 80004F08 00001E68 D0 07 FF EC */ stfs f0, -0x14(r7) +/* 80004F0C 00001E6C 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004F10 00001E70 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004F14 00001E74 D0 07 FF E8 */ stfs f0, -0x18(r7) +/* 80004F18 00001E78 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004F1C 00001E7C D0 07 FF E4 */ stfs f0, -0x1c(r7) +/* 80004F20 00001E80 38 E7 FF E0 */ addi r7, r7, -32 +/* 80004F24 00001E84 42 00 FF 78 */ bdnz lbl_80004E9C +/* 80004F28 00001E88 70 84 00 07 */ andi. r4, r4, 7 +/* 80004F2C 00001E8C 41 82 00 24 */ beq lbl_80004F50 +lbl_80004F30: +/* 80004F30 00001E90 7C 89 03 A6 */ mtctr r4 +lbl_80004F34: +/* 80004F34 00001E94 38 A6 FF FF */ addi r5, r6, -1 +/* 80004F38 00001E98 38 C6 FF FF */ addi r6, r6, -1 +/* 80004F3C 00001E9C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004F40 00001EA0 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80004F44 00001EA4 D0 07 00 00 */ stfs f0, 0(r7) +/* 80004F48 00001EA8 38 E7 FF FC */ addi r7, r7, -4 +/* 80004F4C 00001EAC 42 00 FF E8 */ bdnz lbl_80004F34 +lbl_80004F50: +/* 80004F50 00001EB0 C0 0D 80 08 */ lfs f0, lbl_805A6BC8@sda21(r13) +/* 80004F54 00001EB4 D0 1E 00 00 */ stfs f0, 0(r30) +/* 80004F58 00001EB8 80 1D 01 04 */ lwz r0, 0x104(r29) +/* 80004F5C 00001EBC 2C 00 00 04 */ cmpwi r0, 4 +/* 80004F60 00001EC0 40 80 00 24 */ bge lbl_80004F84 +/* 80004F64 00001EC4 54 00 10 3A */ slwi r0, r0, 2 +/* 80004F68 00001EC8 7C 9F 02 15 */ add. r4, r31, r0 +/* 80004F6C 00001ECC 41 82 00 0C */ beq lbl_80004F78 +/* 80004F70 00001ED0 C0 0D 80 0C */ lfs f0, lbl_805A6BCC@sda21(r13) +/* 80004F74 00001ED4 D0 04 00 00 */ stfs f0, 0(r4) +lbl_80004F78: +/* 80004F78 00001ED8 80 9D 01 04 */ lwz r4, 0x104(r29) +/* 80004F7C 00001EDC 38 04 00 01 */ addi r0, r4, 1 +/* 80004F80 00001EE0 90 1D 01 04 */ stw r0, 0x104(r29) +lbl_80004F84: +/* 80004F84 00001EE4 80 9D 01 04 */ lwz r4, 0x104(r29) +/* 80004F88 00001EE8 34 C4 FF FF */ addic. r6, r4, -1 +/* 80004F8C 00001EEC 54 C0 10 3A */ slwi r0, r6, 2 +/* 80004F90 00001EF0 7C C4 33 78 */ mr r4, r6 +/* 80004F94 00001EF4 7C FF 02 14 */ add r7, r31, r0 +/* 80004F98 00001EF8 40 81 00 C4 */ ble lbl_8000505C +/* 80004F9C 00001EFC 54 C0 E8 FF */ rlwinm. r0, r6, 0x1d, 3, 0x1f +/* 80004FA0 00001F00 7C 09 03 A6 */ mtctr r0 +/* 80004FA4 00001F04 41 82 00 98 */ beq lbl_8000503C +lbl_80004FA8: +/* 80004FA8 00001F08 38 A6 FF FF */ addi r5, r6, -1 +/* 80004FAC 00001F0C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004FB0 00001F10 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80004FB4 00001F14 38 A6 FF FE */ addi r5, r6, -2 +/* 80004FB8 00001F18 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004FBC 00001F1C D0 07 00 00 */ stfs f0, 0(r7) +/* 80004FC0 00001F20 38 A6 FF FD */ addi r5, r6, -3 +/* 80004FC4 00001F24 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80004FC8 00001F28 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004FCC 00001F2C 38 A6 FF FC */ addi r5, r6, -4 +/* 80004FD0 00001F30 D0 07 FF FC */ stfs f0, -4(r7) +/* 80004FD4 00001F34 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80004FD8 00001F38 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004FDC 00001F3C 38 A6 FF FB */ addi r5, r6, -5 +/* 80004FE0 00001F40 D0 07 FF F8 */ stfs f0, -8(r7) +/* 80004FE4 00001F44 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80004FE8 00001F48 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004FEC 00001F4C 38 A6 FF FA */ addi r5, r6, -6 +/* 80004FF0 00001F50 D0 07 FF F4 */ stfs f0, -0xc(r7) +/* 80004FF4 00001F54 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80004FF8 00001F58 54 A0 10 3A */ slwi r0, r5, 2 +/* 80004FFC 00001F5C 38 A6 FF F9 */ addi r5, r6, -7 +/* 80005000 00001F60 D0 07 FF F0 */ stfs f0, -0x10(r7) +/* 80005004 00001F64 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005008 00001F68 54 A0 10 3A */ slwi r0, r5, 2 +/* 8000500C 00001F6C 38 A6 FF F8 */ addi r5, r6, -8 +/* 80005010 00001F70 38 C6 FF F8 */ addi r6, r6, -8 +/* 80005014 00001F74 D0 07 FF EC */ stfs f0, -0x14(r7) +/* 80005018 00001F78 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 8000501C 00001F7C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80005020 00001F80 D0 07 FF E8 */ stfs f0, -0x18(r7) +/* 80005024 00001F84 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005028 00001F88 D0 07 FF E4 */ stfs f0, -0x1c(r7) +/* 8000502C 00001F8C 38 E7 FF E0 */ addi r7, r7, -32 +/* 80005030 00001F90 42 00 FF 78 */ bdnz lbl_80004FA8 +/* 80005034 00001F94 70 84 00 07 */ andi. r4, r4, 7 +/* 80005038 00001F98 41 82 00 24 */ beq lbl_8000505C +lbl_8000503C: +/* 8000503C 00001F9C 7C 89 03 A6 */ mtctr r4 +lbl_80005040: +/* 80005040 00001FA0 38 A6 FF FF */ addi r5, r6, -1 +/* 80005044 00001FA4 38 C6 FF FF */ addi r6, r6, -1 +/* 80005048 00001FA8 54 A0 10 3A */ slwi r0, r5, 2 +/* 8000504C 00001FAC 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005050 00001FB0 D0 07 00 00 */ stfs f0, 0(r7) +/* 80005054 00001FB4 38 E7 FF FC */ addi r7, r7, -4 +/* 80005058 00001FB8 42 00 FF E8 */ bdnz lbl_80005040 +lbl_8000505C: +/* 8000505C 00001FBC C0 0D 80 0C */ lfs f0, lbl_805A6BCC@sda21(r13) +/* 80005060 00001FC0 38 63 00 01 */ addi r3, r3, 1 +/* 80005064 00001FC4 2C 03 00 04 */ cmpwi r3, 4 +/* 80005068 00001FC8 D0 1F 00 00 */ stfs f0, 0(r31) +/* 8000506C 00001FCC 41 80 FD E0 */ blt lbl_80004E4C +/* 80005070 00001FD0 C0 22 80 04 */ lfs f1, lbl_805A9D24@sda21(r2) +/* 80005074 00001FD4 7F A3 EB 78 */ mr r3, r29 +/* 80005078 00001FD8 C0 02 80 08 */ lfs f0, lbl_805A9D28@sda21(r2) +/* 8000507C 00001FDC D0 3D 01 18 */ stfs f1, 0x118(r29) +/* 80005080 00001FE0 D0 1D 01 1C */ stfs f0, 0x11c(r29) +/* 80005084 00001FE4 48 00 2E 81 */ bl InitializeSubsystems__5CMainFv +/* 80005088 00001FE8 80 61 00 0C */ lwz r3, 0xc(r1) +/* 8000508C 00001FEC 7F A4 EB 78 */ mr r4, r29 +/* 80005090 00001FF0 38 BD 00 6D */ addi r5, r29, 0x6d +/* 80005094 00001FF4 48 00 26 49 */ bl PostInitialize__18CGameGlobalObjectsFR10COsContextR10CMemorySys +/* 80005098 00001FF8 38 7D 00 70 */ addi r3, r29, 0x70 +/* 8000509C 00001FFC 48 03 0B AD */ bl RegisterTweaks__7CTweaksFv +/* 800050A0 00002000 7F A3 EB 78 */ mr r3, r29 +/* 800050A4 00002004 4B FF FA 49 */ bl AddWorldPaks__5CMainFv +/* 800050A8 00002008 38 00 00 00 */ li r0, 0 +/* 800050AC 0000200C 38 8D A9 18 */ addi r4, r13, lbl_805A94D8@sda21 +/* 800050B0 00002010 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 800050B4 00002014 90 81 00 50 */ stw r4, 0x50(r1) +/* 800050B8 00002018 38 83 BE 74 */ addi r4, r3, lbl_803CBE74@l +/* 800050BC 0000201C 38 61 00 40 */ addi r3, r1, 0x40 +/* 800050C0 00002020 90 01 00 54 */ stw r0, 0x54(r1) +/* 800050C4 00002024 38 84 00 47 */ addi r4, r4, 0x47 +/* 800050C8 00002028 90 01 00 58 */ stw r0, 0x58(r1) +/* 800050CC 0000202C 4B FF FB ED */ bl string_l__4rstlFPCc +/* 800050D0 00002030 80 6D A0 88 */ lwz r3, gpTweakManager@sda21(r13) +/* 800050D4 00002034 38 81 00 40 */ addi r4, r1, 0x40 +/* 800050D8 00002038 48 21 7B C5 */ bl ReadFromMemoryCard__19CInGameTweakManagerFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 800050DC 0000203C 7C 7C 1B 78 */ mr r28, r3 +/* 800050E0 00002040 38 61 00 40 */ addi r3, r1, 0x40 +/* 800050E4 00002044 48 33 89 FD */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 800050E8 00002048 57 80 06 3F */ clrlwi. r0, r28, 0x18 +/* 800050EC 0000204C 41 82 00 34 */ beq lbl_80005120 +/* 800050F0 00002050 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800050F4 00002054 38 61 00 30 */ addi r3, r1, 0x30 +/* 800050F8 00002058 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800050FC 0000205C 38 84 00 53 */ addi r4, r4, 0x53 +/* 80005100 00002060 4B FF FB B9 */ bl string_l__4rstlFPCc +/* 80005104 00002064 38 61 00 50 */ addi r3, r1, 0x50 +/* 80005108 00002068 38 81 00 30 */ addi r4, r1, 0x30 +/* 8000510C 0000206C 48 33 8C 51 */ bl assign__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80005110 00002070 38 61 00 30 */ addi r3, r1, 0x30 +/* 80005114 00002074 48 33 89 CD */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80005118 00002078 3B 80 00 01 */ li r28, 1 +/* 8000511C 0000207C 48 00 00 30 */ b lbl_8000514C +lbl_80005120: +/* 80005120 00002080 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80005124 00002084 38 61 00 20 */ addi r3, r1, 0x20 +/* 80005128 00002088 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000512C 0000208C 38 84 00 79 */ addi r4, r4, 0x79 +/* 80005130 00002090 4B FF FB 89 */ bl string_l__4rstlFPCc +/* 80005134 00002094 38 61 00 50 */ addi r3, r1, 0x50 +/* 80005138 00002098 38 81 00 20 */ addi r4, r1, 0x20 +/* 8000513C 0000209C 48 33 8C 21 */ bl assign__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80005140 000020A0 38 61 00 20 */ addi r3, r1, 0x20 +/* 80005144 000020A4 48 33 89 9D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80005148 000020A8 3B 80 00 01 */ li r28, 1 +lbl_8000514C: +/* 8000514C 000020AC 7F A3 EB 78 */ mr r3, r29 +/* 80005150 000020B0 48 00 0E F5 */ bl FillInAssetIDs__5CMainFv +/* 80005154 000020B4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80005158 000020B8 38 60 00 D0 */ li r3, 0xd0 +/* 8000515C 000020BC 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80005160 000020C0 38 A0 00 00 */ li r5, 0 +/* 80005164 000020C4 38 84 00 37 */ addi r4, r4, 0x37 +/* 80005168 000020C8 48 00 36 15 */ bl __nw__38TOneStatic$$024CGameArchitectureSupport$$1FUlPCcPCc +/* 8000516C 000020CC 7C 60 1B 79 */ or. r0, r3, r3 +/* 80005170 000020D0 41 82 00 10 */ beq lbl_80005180 +/* 80005174 000020D4 7F A4 EB 78 */ mr r4, r29 +/* 80005178 000020D8 48 00 1F C1 */ bl __ct__24CGameArchitectureSupportFR10COsContext +/* 8000517C 000020DC 7C 60 1B 78 */ mr r0, r3 +lbl_80005180: +/* 80005180 000020E0 90 01 00 08 */ stw r0, 8(r1) +/* 80005184 000020E4 7C 03 03 78 */ mr r3, r0 +/* 80005188 000020E8 90 1D 01 64 */ stw r0, 0x164(r29) +/* 8000518C 000020EC 48 00 19 89 */ bl PreloadAudio__24CGameArchitectureSupportFv +/* 80005190 000020F0 48 38 02 19 */ bl OSGetTime +/* 80005194 000020F4 3C A0 80 5A */ lis r5, lbl_8059FD30@ha +/* 80005198 000020F8 7C 9A 20 10 */ subfc r4, r26, r4 +/* 8000519C 000020FC 38 C5 FD 30 */ addi r6, r5, lbl_8059FD30@l +/* 800051A0 00002100 7C 7B 19 10 */ subfe r3, r27, r3 +/* 800051A4 00002104 80 A6 00 08 */ lwz r5, 8(r6) +/* 800051A8 00002108 80 C6 00 0C */ lwz r6, 0xc(r6) +/* 800051AC 0000210C 48 38 4A 21 */ bl __div2i +/* 800051B0 00002110 7C 83 23 78 */ mr r3, r4 +/* 800051B4 00002114 48 38 AC C1 */ bl srand +/* 800051B8 00002118 80 8D A0 94 */ lwz r4, lbl_805A8C54@sda21(r13) +/* 800051BC 0000211C 28 04 00 00 */ cmplwi r4, 0 +/* 800051C0 00002120 41 82 00 84 */ beq lbl_80005244 +/* 800051C4 00002124 38 61 00 60 */ addi r3, r1, 0x60 +/* 800051C8 00002128 38 A0 00 80 */ li r5, 0x80 +/* 800051CC 0000212C 48 33 A0 01 */ bl __ct__15CMemoryInStreamFPCvUl +/* 800051D0 00002130 38 61 00 60 */ addi r3, r1, 0x60 +/* 800051D4 00002134 38 80 00 01 */ li r4, 1 +/* 800051D8 00002138 48 33 9B 61 */ bl ReadBits__12CInputStreamFi +/* 800051DC 0000213C 38 61 00 84 */ addi r3, r1, 0x84 +/* 800051E0 00002140 38 81 00 60 */ addi r4, r1, 0x60 +/* 800051E4 00002144 48 20 A2 C1 */ bl __ct__12CGameOptionsFR12CInputStream +/* 800051E8 00002148 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 800051EC 0000214C 38 81 00 84 */ addi r4, r1, 0x84 +/* 800051F0 00002150 38 63 01 7C */ addi r3, r3, 0x17c +/* 800051F4 00002154 4B FF E5 AD */ bl __as__12CGameOptionsFRC12CGameOptions +/* 800051F8 00002158 38 61 00 84 */ addi r3, r1, 0x84 +/* 800051FC 0000215C 38 80 FF FF */ li r4, -1 +/* 80005200 00002160 4B FF ED 85 */ bl __dt__12CGameOptionsFv +/* 80005204 00002164 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005208 00002168 38 63 01 7C */ addi r3, r3, 0x17c +/* 8000520C 0000216C 48 20 9E F1 */ bl EnsureOptions__12CGameOptionsFv +/* 80005210 00002170 38 61 00 60 */ addi r3, r1, 0x60 +/* 80005214 00002174 38 80 00 01 */ li r4, 1 +/* 80005218 00002178 48 33 9B 21 */ bl ReadBits__12CInputStreamFi +/* 8000521C 0000217C 7C 03 00 D0 */ neg r0, r3 +/* 80005220 00002180 3C 80 80 3F */ lis r4, lbl_803EE398@ha +/* 80005224 00002184 7C 00 1B 78 */ or r0, r0, r3 +/* 80005228 00002188 38 61 00 60 */ addi r3, r1, 0x60 +/* 8000522C 0000218C 54 05 0F FE */ srwi r5, r0, 0x1f +/* 80005230 00002190 38 04 E3 98 */ addi r0, r4, lbl_803EE398@l +/* 80005234 00002194 98 AD 80 00 */ stb r5, lbl_805A6BC0@sda21(r13) +/* 80005238 00002198 38 80 00 00 */ li r4, 0 +/* 8000523C 0000219C 90 01 00 60 */ stw r0, 0x60(r1) +/* 80005240 000021A0 48 33 9E 6D */ bl __dt__12CInputStreamFv +lbl_80005244: +/* 80005244 000021A4 3C 60 80 5A */ lis r3, lbl_8059FD30@ha +/* 80005248 000021A8 CB E2 80 10 */ lfd f31, lbl_805A9D30@sda21(r2) +/* 8000524C 000021AC 3B 63 FD 30 */ addi r27, r3, lbl_8059FD30@l +/* 80005250 000021B0 48 00 05 50 */ b lbl_800057A0 +lbl_80005254: +/* 80005254 000021B4 80 1B 00 00 */ lwz r0, 0(r27) +/* 80005258 000021B8 38 60 00 00 */ li r3, 0 +/* 8000525C 000021BC 80 9B 00 04 */ lwz r4, 4(r27) +/* 80005260 000021C0 7C 00 1A 78 */ xor r0, r0, r3 +/* 80005264 000021C4 83 41 00 08 */ lwz r26, 8(r1) +/* 80005268 000021C8 7C 83 1A 78 */ xor r3, r4, r3 +/* 8000526C 000021CC 7C 60 03 79 */ or. r0, r3, r0 +/* 80005270 000021D0 40 82 00 10 */ bne lbl_80005280 +/* 80005274 000021D4 3C 60 80 5A */ lis r3, lbl_8059FD30@ha +/* 80005278 000021D8 38 63 FD 30 */ addi r3, r3, lbl_8059FD30@l +/* 8000527C 000021DC 48 2D 14 A1 */ bl Initialize__Q210CStopwatch7CSWDataFv +lbl_80005280: +/* 80005280 000021E0 48 38 01 29 */ bl OSGetTime +/* 80005284 000021E4 90 9A 00 2C */ stw r4, 0x2c(r26) +/* 80005288 000021E8 90 7A 00 28 */ stw r3, 0x28(r26) +/* 8000528C 000021EC 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 80005290 000021F0 38 63 00 04 */ addi r3, r3, 4 +/* 80005294 000021F4 48 33 6B 2D */ bl AsyncIdlePakLoading__10CResLoaderFv +/* 80005298 000021F8 80 0D A0 84 */ lwz r0, gpMemoryCard@sda21(r13) +/* 8000529C 000021FC 28 00 00 00 */ cmplwi r0, 0 +/* 800052A0 00002200 40 82 00 20 */ bne lbl_800052C0 +/* 800052A4 00002204 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 800052A8 00002208 38 63 00 04 */ addi r3, r3, 4 +/* 800052AC 0000220C 48 33 6B 05 */ bl AreAllPaksLoaded__10CResLoaderCFv +/* 800052B0 00002210 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800052B4 00002214 41 82 00 0C */ beq lbl_800052C0 +/* 800052B8 00002218 7F A3 EB 78 */ mr r3, r29 +/* 800052BC 0000221C 48 00 13 81 */ bl MemoryCardInitializePump__5CMainFv +lbl_800052C0: +/* 800052C0 00002220 48 33 F3 29 */ bl CollectGarbage__12CARAMManagerFv +/* 800052C4 00002224 48 35 32 75 */ bl UpdateAllDMAs__10CARAMTokenFv +/* 800052C8 00002228 80 61 00 08 */ lwz r3, 8(r1) +/* 800052CC 0000222C 48 00 1B 25 */ bl UpdateTicks__24CGameArchitectureSupportFv +/* 800052D0 00002230 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800052D4 00002234 40 82 00 14 */ bne lbl_800052E8 +/* 800052D8 00002238 88 1D 01 60 */ lbz r0, 0x160(r29) +/* 800052DC 0000223C 38 60 00 01 */ li r3, 1 +/* 800052E0 00002240 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 +/* 800052E4 00002244 98 1D 01 60 */ stb r0, 0x160(r29) +lbl_800052E8: +/* 800052E8 00002248 83 41 00 08 */ lwz r26, 8(r1) +/* 800052EC 0000224C 48 38 00 BD */ bl OSGetTime +/* 800052F0 00002250 80 BA 00 2C */ lwz r5, 0x2c(r26) +/* 800052F4 00002254 80 1A 00 28 */ lwz r0, 0x28(r26) +/* 800052F8 00002258 7C 85 20 10 */ subfc r4, r5, r4 +/* 800052FC 0000225C 7C 60 19 10 */ subfe r3, r0, r3 +/* 80005300 00002260 48 38 4C 65 */ bl __cvt_sll_flt +/* 80005304 00002264 C0 1B 00 10 */ lfs f0, 0x10(r27) +/* 80005308 00002268 80 1D 00 F0 */ lwz r0, 0xf0(r29) +/* 8000530C 0000226C EF C1 00 32 */ fmuls f30, f1, f0 +/* 80005310 00002270 2C 00 00 04 */ cmpwi r0, 4 +/* 80005314 00002274 FC 3E F8 24 */ fdiv f1, f30, f31 +/* 80005318 00002278 FC 20 08 18 */ frsp f1, f1 +/* 8000531C 0000227C 40 80 00 20 */ bge lbl_8000533C +/* 80005320 00002280 54 00 10 3A */ slwi r0, r0, 2 +/* 80005324 00002284 7C 7E 02 15 */ add. r3, r30, r0 +/* 80005328 00002288 41 82 00 08 */ beq lbl_80005330 +/* 8000532C 0000228C D0 23 00 00 */ stfs f1, 0(r3) +lbl_80005330: +/* 80005330 00002290 80 7D 00 F0 */ lwz r3, 0xf0(r29) +/* 80005334 00002294 38 03 00 01 */ addi r0, r3, 1 +/* 80005338 00002298 90 1D 00 F0 */ stw r0, 0xf0(r29) +lbl_8000533C: +/* 8000533C 0000229C 80 7D 00 F0 */ lwz r3, 0xf0(r29) +/* 80005340 000022A0 34 A3 FF FF */ addic. r5, r3, -1 +/* 80005344 000022A4 54 A0 10 3A */ slwi r0, r5, 2 +/* 80005348 000022A8 7C A3 2B 78 */ mr r3, r5 +/* 8000534C 000022AC 7C DE 02 14 */ add r6, r30, r0 +/* 80005350 000022B0 40 81 00 C4 */ ble lbl_80005414 +/* 80005354 000022B4 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f +/* 80005358 000022B8 7C 09 03 A6 */ mtctr r0 +/* 8000535C 000022BC 41 82 00 98 */ beq lbl_800053F4 +lbl_80005360: +/* 80005360 000022C0 38 85 FF FF */ addi r4, r5, -1 +/* 80005364 000022C4 54 80 10 3A */ slwi r0, r4, 2 +/* 80005368 000022C8 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 8000536C 000022CC 38 85 FF FE */ addi r4, r5, -2 +/* 80005370 000022D0 54 80 10 3A */ slwi r0, r4, 2 +/* 80005374 000022D4 D0 06 00 00 */ stfs f0, 0(r6) +/* 80005378 000022D8 38 85 FF FD */ addi r4, r5, -3 +/* 8000537C 000022DC 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80005380 000022E0 54 80 10 3A */ slwi r0, r4, 2 +/* 80005384 000022E4 38 85 FF FC */ addi r4, r5, -4 +/* 80005388 000022E8 D0 06 FF FC */ stfs f0, -4(r6) +/* 8000538C 000022EC 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80005390 000022F0 54 80 10 3A */ slwi r0, r4, 2 +/* 80005394 000022F4 38 85 FF FB */ addi r4, r5, -5 +/* 80005398 000022F8 D0 06 FF F8 */ stfs f0, -8(r6) +/* 8000539C 000022FC 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 800053A0 00002300 54 80 10 3A */ slwi r0, r4, 2 +/* 800053A4 00002304 38 85 FF FA */ addi r4, r5, -6 +/* 800053A8 00002308 D0 06 FF F4 */ stfs f0, -0xc(r6) +/* 800053AC 0000230C 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 800053B0 00002310 54 80 10 3A */ slwi r0, r4, 2 +/* 800053B4 00002314 38 85 FF F9 */ addi r4, r5, -7 +/* 800053B8 00002318 D0 06 FF F0 */ stfs f0, -0x10(r6) +/* 800053BC 0000231C 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 800053C0 00002320 54 80 10 3A */ slwi r0, r4, 2 +/* 800053C4 00002324 38 85 FF F8 */ addi r4, r5, -8 +/* 800053C8 00002328 38 A5 FF F8 */ addi r5, r5, -8 +/* 800053CC 0000232C D0 06 FF EC */ stfs f0, -0x14(r6) +/* 800053D0 00002330 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 800053D4 00002334 54 80 10 3A */ slwi r0, r4, 2 +/* 800053D8 00002338 D0 06 FF E8 */ stfs f0, -0x18(r6) +/* 800053DC 0000233C 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 800053E0 00002340 D0 06 FF E4 */ stfs f0, -0x1c(r6) +/* 800053E4 00002344 38 C6 FF E0 */ addi r6, r6, -32 +/* 800053E8 00002348 42 00 FF 78 */ bdnz lbl_80005360 +/* 800053EC 0000234C 70 63 00 07 */ andi. r3, r3, 7 +/* 800053F0 00002350 41 82 00 24 */ beq lbl_80005414 +lbl_800053F4: +/* 800053F4 00002354 7C 69 03 A6 */ mtctr r3 +lbl_800053F8: +/* 800053F8 00002358 38 85 FF FF */ addi r4, r5, -1 +/* 800053FC 0000235C 38 A5 FF FF */ addi r5, r5, -1 +/* 80005400 00002360 54 80 10 3A */ slwi r0, r4, 2 +/* 80005404 00002364 7C 1E 04 2E */ lfsx f0, r30, r0 +/* 80005408 00002368 D0 06 00 00 */ stfs f0, 0(r6) +/* 8000540C 0000236C 38 C6 FF FC */ addi r6, r6, -4 +/* 80005410 00002370 42 00 FF E8 */ bdnz lbl_800053F8 +lbl_80005414: +/* 80005414 00002374 D0 3E 00 00 */ stfs f1, 0(r30) +/* 80005418 00002378 38 61 00 18 */ addi r3, r1, 0x18 +/* 8000541C 0000237C 38 9D 00 F0 */ addi r4, r29, 0xf0 +/* 80005420 00002380 48 00 08 25 */ bl sub_80005c44 +/* 80005424 00002384 C0 01 00 18 */ lfs f0, 0x18(r1) +/* 80005428 00002388 38 80 00 00 */ li r4, 0 +/* 8000542C 0000238C 83 41 00 08 */ lwz r26, 8(r1) +/* 80005430 00002390 D0 1D 01 18 */ stfs f0, 0x118(r29) +/* 80005434 00002394 80 1B 00 00 */ lwz r0, 0(r27) +/* 80005438 00002398 80 7B 00 04 */ lwz r3, 4(r27) +/* 8000543C 0000239C 7C 00 22 78 */ xor r0, r0, r4 +/* 80005440 000023A0 98 81 00 1C */ stb r4, 0x1c(r1) +/* 80005444 000023A4 7C 63 22 78 */ xor r3, r3, r4 +/* 80005448 000023A8 7C 60 03 79 */ or. r0, r3, r0 +/* 8000544C 000023AC 40 82 00 10 */ bne lbl_8000545C +/* 80005450 000023B0 3C 60 80 5A */ lis r3, lbl_8059FD30@ha +/* 80005454 000023B4 38 63 FD 30 */ addi r3, r3, lbl_8059FD30@l +/* 80005458 000023B8 48 2D 12 C5 */ bl Initialize__Q210CStopwatch7CSWDataFv +lbl_8000545C: +/* 8000545C 000023BC 48 37 FF 4D */ bl OSGetTime +/* 80005460 000023C0 90 9A 00 2C */ stw r4, 0x2c(r26) +/* 80005464 000023C4 90 7A 00 28 */ stw r3, 0x28(r26) +/* 80005468 000023C8 7F A3 EB 78 */ mr r3, r29 +/* 8000546C 000023CC 48 00 0B D5 */ bl DoPredrawMetrics__5CMainFv +/* 80005470 000023D0 57 80 06 3F */ clrlwi. r0, r28, 0x18 +/* 80005474 000023D4 41 82 00 08 */ beq lbl_8000547C +/* 80005478 000023D8 3B 80 00 00 */ li r28, 0 +lbl_8000547C: +/* 8000547C 000023DC 88 1D 01 60 */ lbz r0, 0x160(r29) +/* 80005480 000023E0 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f +/* 80005484 000023E4 40 82 02 04 */ bne lbl_80005688 +/* 80005488 000023E8 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) +/* 8000548C 000023EC 81 83 00 00 */ lwz r12, 0(r3) +/* 80005490 000023F0 81 8C 00 88 */ lwz r12, 0x88(r12) +/* 80005494 000023F4 7D 89 03 A6 */ mtctr r12 +/* 80005498 000023F8 4E 80 04 21 */ bctrl +/* 8000549C 000023FC 80 61 00 08 */ lwz r3, 8(r1) +/* 800054A0 00002400 38 63 00 58 */ addi r3, r3, 0x58 +/* 800054A4 00002404 48 04 CB D5 */ bl Draw__13CIOWinManagerCFv +/* 800054A8 00002408 80 81 00 08 */ lwz r4, 8(r1) +/* 800054AC 0000240C FC 20 F0 90 */ fmr f1, f30 +/* 800054B0 00002410 7F A3 EB 78 */ mr r3, r29 +/* 800054B4 00002414 38 84 00 28 */ addi r4, r4, 0x28 +/* 800054B8 00002418 48 00 0B 85 */ bl DrawDebugMetrics__5CMainFdR10CStopwatch +/* 800054BC 0000241C 83 41 00 08 */ lwz r26, 8(r1) +/* 800054C0 00002420 48 37 FE E9 */ bl OSGetTime +/* 800054C4 00002424 80 BA 00 2C */ lwz r5, 0x2c(r26) +/* 800054C8 00002428 80 1A 00 28 */ lwz r0, 0x28(r26) +/* 800054CC 0000242C 7C 85 20 10 */ subfc r4, r5, r4 +/* 800054D0 00002430 7C 60 19 10 */ subfe r3, r0, r3 +/* 800054D4 00002434 48 38 4A 91 */ bl __cvt_sll_flt +/* 800054D8 00002438 C0 1B 00 10 */ lfs f0, 0x10(r27) +/* 800054DC 0000243C 80 1D 01 04 */ lwz r0, 0x104(r29) +/* 800054E0 00002440 EF A1 00 32 */ fmuls f29, f1, f0 +/* 800054E4 00002444 C8 02 80 10 */ lfd f0, lbl_805A9D30@sda21(r2) +/* 800054E8 00002448 2C 00 00 04 */ cmpwi r0, 4 +/* 800054EC 0000244C FC 3D 00 24 */ fdiv f1, f29, f0 +/* 800054F0 00002450 FC 20 08 18 */ frsp f1, f1 +/* 800054F4 00002454 40 80 00 20 */ bge lbl_80005514 +/* 800054F8 00002458 54 00 10 3A */ slwi r0, r0, 2 +/* 800054FC 0000245C 7C 7F 02 15 */ add. r3, r31, r0 +/* 80005500 00002460 41 82 00 08 */ beq lbl_80005508 +/* 80005504 00002464 D0 23 00 00 */ stfs f1, 0(r3) +lbl_80005508: +/* 80005508 00002468 80 7D 01 04 */ lwz r3, 0x104(r29) +/* 8000550C 0000246C 38 03 00 01 */ addi r0, r3, 1 +/* 80005510 00002470 90 1D 01 04 */ stw r0, 0x104(r29) +lbl_80005514: +/* 80005514 00002474 80 7D 01 04 */ lwz r3, 0x104(r29) +/* 80005518 00002478 34 A3 FF FF */ addic. r5, r3, -1 +/* 8000551C 0000247C 54 A0 10 3A */ slwi r0, r5, 2 +/* 80005520 00002480 7C A3 2B 78 */ mr r3, r5 +/* 80005524 00002484 7C DF 02 14 */ add r6, r31, r0 +/* 80005528 00002488 40 81 00 C4 */ ble lbl_800055EC +/* 8000552C 0000248C 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f +/* 80005530 00002490 7C 09 03 A6 */ mtctr r0 +/* 80005534 00002494 41 82 00 98 */ beq lbl_800055CC +lbl_80005538: +/* 80005538 00002498 38 85 FF FF */ addi r4, r5, -1 +/* 8000553C 0000249C 54 80 10 3A */ slwi r0, r4, 2 +/* 80005540 000024A0 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005544 000024A4 38 85 FF FE */ addi r4, r5, -2 +/* 80005548 000024A8 54 80 10 3A */ slwi r0, r4, 2 +/* 8000554C 000024AC D0 06 00 00 */ stfs f0, 0(r6) +/* 80005550 000024B0 38 85 FF FD */ addi r4, r5, -3 +/* 80005554 000024B4 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005558 000024B8 54 80 10 3A */ slwi r0, r4, 2 +/* 8000555C 000024BC 38 85 FF FC */ addi r4, r5, -4 +/* 80005560 000024C0 D0 06 FF FC */ stfs f0, -4(r6) +/* 80005564 000024C4 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005568 000024C8 54 80 10 3A */ slwi r0, r4, 2 +/* 8000556C 000024CC 38 85 FF FB */ addi r4, r5, -5 +/* 80005570 000024D0 D0 06 FF F8 */ stfs f0, -8(r6) +/* 80005574 000024D4 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005578 000024D8 54 80 10 3A */ slwi r0, r4, 2 +/* 8000557C 000024DC 38 85 FF FA */ addi r4, r5, -6 +/* 80005580 000024E0 D0 06 FF F4 */ stfs f0, -0xc(r6) +/* 80005584 000024E4 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005588 000024E8 54 80 10 3A */ slwi r0, r4, 2 +/* 8000558C 000024EC 38 85 FF F9 */ addi r4, r5, -7 +/* 80005590 000024F0 D0 06 FF F0 */ stfs f0, -0x10(r6) +/* 80005594 000024F4 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 80005598 000024F8 54 80 10 3A */ slwi r0, r4, 2 +/* 8000559C 000024FC 38 85 FF F8 */ addi r4, r5, -8 +/* 800055A0 00002500 38 A5 FF F8 */ addi r5, r5, -8 +/* 800055A4 00002504 D0 06 FF EC */ stfs f0, -0x14(r6) +/* 800055A8 00002508 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 800055AC 0000250C 54 80 10 3A */ slwi r0, r4, 2 +/* 800055B0 00002510 D0 06 FF E8 */ stfs f0, -0x18(r6) +/* 800055B4 00002514 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 800055B8 00002518 D0 06 FF E4 */ stfs f0, -0x1c(r6) +/* 800055BC 0000251C 38 C6 FF E0 */ addi r6, r6, -32 +/* 800055C0 00002520 42 00 FF 78 */ bdnz lbl_80005538 +/* 800055C4 00002524 70 63 00 07 */ andi. r3, r3, 7 +/* 800055C8 00002528 41 82 00 24 */ beq lbl_800055EC +lbl_800055CC: +/* 800055CC 0000252C 7C 69 03 A6 */ mtctr r3 +lbl_800055D0: +/* 800055D0 00002530 38 85 FF FF */ addi r4, r5, -1 +/* 800055D4 00002534 38 A5 FF FF */ addi r5, r5, -1 +/* 800055D8 00002538 54 80 10 3A */ slwi r0, r4, 2 +/* 800055DC 0000253C 7C 1F 04 2E */ lfsx f0, r31, r0 +/* 800055E0 00002540 D0 06 00 00 */ stfs f0, 0(r6) +/* 800055E4 00002544 38 C6 FF FC */ addi r6, r6, -4 +/* 800055E8 00002548 42 00 FF E8 */ bdnz lbl_800055D0 +lbl_800055EC: +/* 800055EC 0000254C D0 3F 00 00 */ stfs f1, 0(r31) +/* 800055F0 00002550 38 61 00 10 */ addi r3, r1, 0x10 +/* 800055F4 00002554 38 9D 01 04 */ addi r4, r29, 0x104 +/* 800055F8 00002558 48 00 06 4D */ bl sub_80005c44 +/* 800055FC 0000255C FC 1E E8 2A */ fadd f0, f30, f29 +/* 80005600 00002560 C8 42 80 10 */ lfd f2, lbl_805A9D30@sda21(r2) +/* 80005604 00002564 C0 61 00 10 */ lfs f3, 0x10(r1) +/* 80005608 00002568 38 80 00 00 */ li r4, 0 +/* 8000560C 0000256C C8 22 80 18 */ lfd f1, lbl_805A9D38@sda21(r2) +/* 80005610 00002570 FC 42 00 28 */ fsub f2, f2, f0 +/* 80005614 00002574 D0 7D 01 1C */ stfs f3, 0x11c(r29) +/* 80005618 00002578 C8 02 80 28 */ lfd f0, lbl_805A9D48@sda21(r2) +/* 8000561C 0000257C FC 22 08 28 */ fsub f1, f2, f1 +/* 80005620 00002580 98 81 00 14 */ stb r4, 0x14(r1) +/* 80005624 00002584 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80005628 00002588 40 81 00 14 */ ble lbl_8000563C +/* 8000562C 0000258C C8 02 80 20 */ lfd f0, lbl_805A9D40@sda21(r2) +/* 80005630 00002590 FC 20 00 72 */ fmul f1, f0, f1 +/* 80005634 00002594 48 38 43 21 */ bl __cvt_fp2unsigned +/* 80005638 00002598 7C 64 1B 78 */ mr r4, r3 +lbl_8000563C: +/* 8000563C 0000259C 7F A3 EB 78 */ mr r3, r29 +/* 80005640 000025A0 4B FF F6 A9 */ bl sub_80004ce8 +/* 80005644 000025A4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) +/* 80005648 000025A8 81 83 00 00 */ lwz r12, 0(r3) +/* 8000564C 000025AC 81 8C 00 8C */ lwz r12, 0x8c(r12) +/* 80005650 000025B0 7D 89 03 A6 */ mtctr r12 +/* 80005654 000025B4 4E 80 04 21 */ bctrl +/* 80005658 000025B8 88 1D 01 61 */ lbz r0, 0x161(r29) +/* 8000565C 000025BC 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f +/* 80005660 000025C0 41 82 00 38 */ beq lbl_80005698 +/* 80005664 000025C4 80 A1 00 08 */ lwz r5, 8(r1) +/* 80005668 000025C8 38 60 00 00 */ li r3, 0 +/* 8000566C 000025CC 80 85 00 78 */ lwz r4, 0x78(r5) +/* 80005670 000025D0 38 04 00 01 */ addi r0, r4, 1 +/* 80005674 000025D4 90 05 00 78 */ stw r0, 0x78(r5) +/* 80005678 000025D8 88 1D 01 61 */ lbz r0, 0x161(r29) +/* 8000567C 000025DC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 +/* 80005680 000025E0 98 1D 01 61 */ stb r0, 0x161(r29) +/* 80005684 000025E4 48 00 00 14 */ b lbl_80005698 +lbl_80005688: +/* 80005688 000025E8 3C 80 00 0F */ lis r4, 0x000F4240@ha +/* 8000568C 000025EC 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 80005690 000025F0 38 84 42 40 */ addi r4, r4, 0x000F4240@l +/* 80005694 000025F4 48 33 45 3D */ bl AsyncIdle__11CResFactoryFUl +lbl_80005698: +/* 80005698 000025F8 80 61 00 08 */ lwz r3, 8(r1) +/* 8000569C 000025FC 48 00 15 F5 */ bl Update__24CGameArchitectureSupportFv +/* 800056A0 00002600 C0 22 80 00 */ lfs f1, lbl_805A9D20@sda21(r2) +/* 800056A4 00002604 48 2E 39 01 */ bl Update__11CSfxManagerFf +/* 800056A8 00002608 7F A3 EB 78 */ mr r3, r29 +/* 800056AC 0000260C 4B FF DF AD */ bl UpdateStreamedAudio__5CMainFv +/* 800056B0 00002610 7F A3 EB 78 */ mr r3, r29 +/* 800056B4 00002614 48 00 09 81 */ bl CheckTerminate__5CMainFv +/* 800056B8 00002618 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800056BC 0000261C 40 82 00 F0 */ bne lbl_800057AC +/* 800056C0 00002620 80 81 00 08 */ lwz r4, 8(r1) +/* 800056C4 00002624 3B 40 00 00 */ li r26, 0 +/* 800056C8 00002628 38 60 00 00 */ li r3, 0 +/* 800056CC 0000262C 80 04 00 5C */ lwz r0, 0x5c(r4) +/* 800056D0 00002630 28 00 00 00 */ cmplwi r0, 0 +/* 800056D4 00002634 40 82 00 14 */ bne lbl_800056E8 +/* 800056D8 00002638 80 04 00 58 */ lwz r0, 0x58(r4) +/* 800056DC 0000263C 28 00 00 00 */ cmplwi r0, 0 +/* 800056E0 00002640 40 82 00 08 */ bne lbl_800056E8 +/* 800056E4 00002644 38 60 00 01 */ li r3, 1 +lbl_800056E8: +/* 800056E8 00002648 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800056EC 0000264C 41 82 00 0C */ beq lbl_800056F8 +/* 800056F0 00002650 3B 40 00 01 */ li r26, 1 +/* 800056F4 00002654 48 00 00 18 */ b lbl_8000570C +lbl_800056F8: +/* 800056F8 00002658 7F A3 EB 78 */ mr r3, r29 +/* 800056FC 0000265C 48 00 06 01 */ bl CheckReset__5CMainFv +/* 80005700 00002660 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80005704 00002664 41 82 00 08 */ beq lbl_8000570C +/* 80005708 00002668 3B 40 00 01 */ li r26, 1 +lbl_8000570C: +/* 8000570C 0000266C 57 40 06 3F */ clrlwi. r0, r26, 0x18 +/* 80005710 00002670 41 82 00 88 */ beq lbl_80005798 +/* 80005714 00002674 38 00 00 05 */ li r0, 5 +/* 80005718 00002678 90 1D 01 2C */ stw r0, 0x12c(r29) +/* 8000571C 0000267C 48 36 01 89 */ bl StopAll__19CStreamAudioManagerFv +/* 80005720 00002680 3C 60 F0 00 */ lis r3, 0xf000 +/* 80005724 00002684 48 38 0D 39 */ bl sub_8038645c +/* 80005728 00002688 38 60 00 01 */ li r3, 1 +/* 8000572C 0000268C 48 30 3D 7D */ bl SetIsBeginSceneClearFb__9CGraphicsFb +/* 80005730 00002690 48 30 67 75 */ bl BeginScene__9CGraphicsFv +/* 80005734 00002694 48 30 63 8D */ bl EndScene__9CGraphicsFv +/* 80005738 00002698 48 36 75 C5 */ bl sub_8036ccfc +/* 8000573C 0000269C 80 61 00 08 */ lwz r3, 8(r1) +/* 80005740 000026A0 38 80 00 01 */ li r4, 1 +/* 80005744 000026A4 48 00 18 A9 */ bl __dt__24CGameArchitectureSupportFv +/* 80005748 000026A8 38 00 00 00 */ li r0, 0 +/* 8000574C 000026AC 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80005750 000026B0 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 80005754 000026B4 90 01 00 08 */ stw r0, 8(r1) +/* 80005758 000026B8 38 83 00 37 */ addi r4, r3, 0x37 +/* 8000575C 000026BC 38 60 00 D0 */ li r3, 0xd0 +/* 80005760 000026C0 38 A0 00 00 */ li r5, 0 +/* 80005764 000026C4 48 00 30 19 */ bl __nw__38TOneStatic$$024CGameArchitectureSupport$$1FUlPCcPCc +/* 80005768 000026C8 7C 7A 1B 79 */ or. r26, r3, r3 +/* 8000576C 000026CC 41 82 00 10 */ beq lbl_8000577C +/* 80005770 000026D0 7F A4 EB 78 */ mr r4, r29 +/* 80005774 000026D4 48 00 19 C5 */ bl __ct__24CGameArchitectureSupportFR10COsContext +/* 80005778 000026D8 7C 7A 1B 78 */ mr r26, r3 +lbl_8000577C: +/* 8000577C 000026DC 80 61 00 08 */ lwz r3, 8(r1) +/* 80005780 000026E0 38 80 00 01 */ li r4, 1 +/* 80005784 000026E4 48 00 18 69 */ bl __dt__24CGameArchitectureSupportFv +/* 80005788 000026E8 93 41 00 08 */ stw r26, 8(r1) +/* 8000578C 000026EC 7F 43 D3 78 */ mr r3, r26 +/* 80005790 000026F0 93 5D 01 64 */ stw r26, 0x164(r29) +/* 80005794 000026F4 48 00 13 81 */ bl PreloadAudio__24CGameArchitectureSupportFv +lbl_80005798: +/* 80005798 000026F8 7F A3 EB 78 */ mr r3, r29 +/* 8000579C 000026FC 4B FF F0 71 */ bl nullsub_2 +lbl_800057A0: +/* 800057A0 00002700 88 1D 01 60 */ lbz r0, 0x160(r29) +/* 800057A4 00002704 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f +/* 800057A8 00002708 41 82 FA AC */ beq lbl_80005254 +lbl_800057AC: +/* 800057AC 0000270C 80 61 00 08 */ lwz r3, 8(r1) +/* 800057B0 00002710 38 80 00 01 */ li r4, 1 +/* 800057B4 00002714 48 00 18 39 */ bl __dt__24CGameArchitectureSupportFv +/* 800057B8 00002718 38 61 00 50 */ addi r3, r1, 0x50 +/* 800057BC 0000271C 48 33 83 25 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 800057C0 00002720 7F A3 EB 78 */ mr r3, r29 +/* 800057C4 00002724 48 00 26 A5 */ bl ShutdownSubsystems__5CMainFv +/* 800057C8 00002728 38 61 00 0C */ addi r3, r1, 0xc +/* 800057CC 0000272C 38 80 00 00 */ li r4, 0 +/* 800057D0 00002730 48 00 00 45 */ bl sub_80005814 +/* 800057D4 00002734 48 33 F4 F1 */ bl Shutdown__12CARAMManagerFv +/* 800057D8 00002738 38 61 00 0C */ addi r3, r1, 0xc +/* 800057DC 0000273C 38 80 FF FF */ li r4, -1 +/* 800057E0 00002740 48 00 04 C5 */ bl sub_80005ca4 +/* 800057E4 00002744 38 60 00 00 */ li r3, 0 +/* 800057E8 00002748 E3 E1 01 48 */ psq_l f31, 328(r1), 0, qr0 +/* 800057EC 0000274C CB E1 01 40 */ lfd f31, 0x140(r1) +/* 800057F0 00002750 E3 C1 01 38 */ psq_l f30, 312(r1), 0, qr0 +/* 800057F4 00002754 CB C1 01 30 */ lfd f30, 0x130(r1) +/* 800057F8 00002758 E3 A1 01 28 */ psq_l f29, 296(r1), 0, qr0 +/* 800057FC 0000275C CB A1 01 20 */ lfd f29, 0x120(r1) +/* 80005800 00002760 BB 41 01 08 */ lmw r26, 0x108(r1) +/* 80005804 00002764 80 01 01 54 */ lwz r0, 0x154(r1) +/* 80005808 00002768 7C 08 03 A6 */ mtlr r0 +/* 8000580C 0000276C 38 21 01 50 */ addi r1, r1, 0x150 +/* 80005810 00002770 4E 80 00 20 */ blr + +.global sub_80005814 +sub_80005814: +/* 80005814 00002774 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005818 00002778 7C 08 02 A6 */ mflr r0 +/* 8000581C 0000277C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005820 00002780 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005824 00002784 7C 9F 23 78 */ mr r31, r4 +/* 80005828 00002788 38 80 00 01 */ li r4, 1 +/* 8000582C 0000278C 93 C1 00 08 */ stw r30, 8(r1) +/* 80005830 00002790 7C 7E 1B 78 */ mr r30, r3 +/* 80005834 00002794 80 63 00 00 */ lwz r3, 0(r3) +/* 80005838 00002798 48 00 00 25 */ bl __dt__18CGameGlobalObjectsFv +/* 8000583C 0000279C 93 FE 00 00 */ stw r31, 0(r30) +/* 80005840 000027A0 7F C3 F3 78 */ mr r3, r30 +/* 80005844 000027A4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005848 000027A8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000584C 000027AC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80005850 000027B0 7C 08 03 A6 */ mtlr r0 +/* 80005854 000027B4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005858 000027B8 4E 80 00 20 */ blr + +.global __dt__18CGameGlobalObjectsFv +__dt__18CGameGlobalObjectsFv: +/* 8000585C 000027BC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005860 000027C0 7C 08 02 A6 */ mflr r0 +/* 80005864 000027C4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005868 000027C8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8000586C 000027CC 7C 9F 23 78 */ mr r31, r4 +/* 80005870 000027D0 93 C1 00 08 */ stw r30, 8(r1) +/* 80005874 000027D4 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80005878 000027D8 41 82 00 F8 */ beq lbl_80005970 +/* 8000587C 000027DC 34 1E 01 54 */ addic. r0, r30, 0x154 +/* 80005880 000027E0 41 82 00 10 */ beq lbl_80005890 +/* 80005884 000027E4 38 7E 01 54 */ addi r3, r30, 0x154 +/* 80005888 000027E8 38 80 00 00 */ li r4, 0 +/* 8000588C 000027EC 48 33 B5 B5 */ bl __dt__6CTokenFv +lbl_80005890: +/* 80005890 000027F0 38 7E 01 50 */ addi r3, r30, 0x150 +/* 80005894 000027F4 38 80 FF FF */ li r4, -1 +/* 80005898 000027F8 48 00 02 29 */ bl sub_80005ac0 +/* 8000589C 000027FC 34 1E 01 4C */ addic. r0, r30, 0x14c +/* 800058A0 00002800 41 82 00 24 */ beq lbl_800058C4 +/* 800058A4 00002804 80 7E 01 4C */ lwz r3, 0x14c(r30) +/* 800058A8 00002808 28 03 00 00 */ cmplwi r3, 0 +/* 800058AC 0000280C 41 82 00 18 */ beq lbl_800058C4 +/* 800058B0 00002810 81 83 00 00 */ lwz r12, 0(r3) +/* 800058B4 00002814 38 80 00 01 */ li r4, 1 +/* 800058B8 00002818 81 8C 00 08 */ lwz r12, 8(r12) +/* 800058BC 0000281C 7D 89 03 A6 */ mtctr r12 +/* 800058C0 00002820 4E 80 04 21 */ bctrl +lbl_800058C4: +/* 800058C4 00002824 34 1E 01 3C */ addic. r0, r30, 0x13c +/* 800058C8 00002828 41 82 00 30 */ beq lbl_800058F8 +/* 800058CC 0000282C 88 1E 01 48 */ lbz r0, 0x148(r30) +/* 800058D0 00002830 28 00 00 00 */ cmplwi r0, 0 +/* 800058D4 00002834 41 82 00 1C */ beq lbl_800058F0 +/* 800058D8 00002838 34 7E 01 3C */ addic. r3, r30, 0x13c +/* 800058DC 0000283C 41 82 00 14 */ beq lbl_800058F0 +/* 800058E0 00002840 28 03 00 00 */ cmplwi r3, 0 +/* 800058E4 00002844 41 82 00 0C */ beq lbl_800058F0 +/* 800058E8 00002848 38 80 00 00 */ li r4, 0 +/* 800058EC 0000284C 48 33 B5 55 */ bl __dt__6CTokenFv +lbl_800058F0: +/* 800058F0 00002850 38 00 00 00 */ li r0, 0 +/* 800058F4 00002854 98 1E 01 48 */ stb r0, 0x148(r30) +lbl_800058F8: +/* 800058F8 00002858 34 1E 01 38 */ addic. r0, r30, 0x138 +/* 800058FC 0000285C 41 82 00 10 */ beq lbl_8000590C +/* 80005900 00002860 80 7E 01 38 */ lwz r3, 0x138(r30) +/* 80005904 00002864 38 80 00 01 */ li r4, 1 +/* 80005908 00002868 48 24 44 FD */ bl __dt__14CMemoryCardSysFv +lbl_8000590C: +/* 8000590C 0000286C 38 7E 01 34 */ addi r3, r30, 0x134 +/* 80005910 00002870 38 80 FF FF */ li r4, -1 +/* 80005914 00002874 48 00 01 55 */ bl sub_80005a68 +/* 80005918 00002878 38 7E 01 30 */ addi r3, r30, 0x130 +/* 8000591C 0000287C 38 80 FF FF */ li r4, -1 +/* 80005920 00002880 48 30 3A D9 */ bl __dt__12CGraphicsSysFv +/* 80005924 00002884 38 7E 01 10 */ addi r3, r30, 0x110 +/* 80005928 00002888 38 80 FF FF */ li r4, -1 +/* 8000592C 0000288C 48 00 00 61 */ bl sub_8000598c +/* 80005930 00002890 38 7E 00 EC */ addi r3, r30, 0xec +/* 80005934 00002894 38 80 FF FF */ li r4, -1 +/* 80005938 00002898 48 02 F0 39 */ bl __dt__24CCharacterFactoryBuilderFv +/* 8000593C 0000289C 38 7E 00 CC */ addi r3, r30, 0xcc +/* 80005940 000028A0 38 80 FF FF */ li r4, -1 +/* 80005944 000028A4 48 33 AD C5 */ bl __dt__11CSimplePool +/* 80005948 000028A8 38 7E 00 04 */ addi r3, r30, 4 +/* 8000594C 000028AC 38 80 FF FF */ li r4, -1 +/* 80005950 000028B0 48 33 4C CD */ bl __dt__11CResFactoryFv +/* 80005954 000028B4 7F C3 F3 78 */ mr r3, r30 +/* 80005958 000028B8 38 80 FF FF */ li r4, -1 +/* 8000595C 000028BC 48 34 8B 01 */ bl sub_8034e45c +/* 80005960 000028C0 7F E0 07 35 */ extsh. r0, r31 +/* 80005964 000028C4 40 81 00 0C */ ble lbl_80005970 +/* 80005968 000028C8 7F C3 F3 78 */ mr r3, r30 +/* 8000596C 000028CC 48 00 2E CD */ bl __dl__32TOneStatic$$018CGameGlobalObjects$$1FPv +lbl_80005970: +/* 80005970 000028D0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005974 000028D4 7F C3 F3 78 */ mr r3, r30 +/* 80005978 000028D8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000597C 000028DC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80005980 000028E0 7C 08 03 A6 */ mtlr r0 +/* 80005984 000028E4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005988 000028E8 4E 80 00 20 */ blr + +.global sub_8000598c +sub_8000598c: +/* 8000598C 000028EC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80005990 000028F0 7C 08 02 A6 */ mflr r0 +/* 80005994 000028F4 90 01 00 34 */ stw r0, 0x34(r1) +/* 80005998 000028F8 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 8000599C 000028FC 7C 9F 23 78 */ mr r31, r4 +/* 800059A0 00002900 93 C1 00 28 */ stw r30, 0x28(r1) +/* 800059A4 00002904 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800059A8 00002908 41 82 00 A4 */ beq lbl_80005A4C +/* 800059AC 0000290C 34 1E 00 10 */ addic. r0, r30, 0x10 +/* 800059B0 00002910 41 82 00 44 */ beq lbl_800059F4 +/* 800059B4 00002914 80 1E 00 14 */ lwz r0, 0x14(r30) +/* 800059B8 00002918 80 7E 00 1C */ lwz r3, 0x1c(r30) +/* 800059BC 0000291C 54 00 20 36 */ slwi r0, r0, 4 +/* 800059C0 00002920 7C 03 02 14 */ add r0, r3, r0 +/* 800059C4 00002924 90 61 00 1C */ stw r3, 0x1c(r1) +/* 800059C8 00002928 7C 64 1B 78 */ mr r4, r3 +/* 800059CC 0000292C 90 01 00 24 */ stw r0, 0x24(r1) +/* 800059D0 00002930 90 01 00 20 */ stw r0, 0x20(r1) +/* 800059D4 00002934 90 61 00 18 */ stw r3, 0x18(r1) +/* 800059D8 00002938 48 00 00 08 */ b lbl_800059E0 +lbl_800059DC: +/* 800059DC 0000293C 38 84 00 10 */ addi r4, r4, 0x10 +lbl_800059E0: +/* 800059E0 00002940 7C 04 00 40 */ cmplw r4, r0 +/* 800059E4 00002944 40 82 FF F8 */ bne lbl_800059DC +/* 800059E8 00002948 28 03 00 00 */ cmplwi r3, 0 +/* 800059EC 0000294C 41 82 00 08 */ beq lbl_800059F4 +/* 800059F0 00002950 48 30 FF 41 */ bl Free__7CMemoryFPCv +lbl_800059F4: +/* 800059F4 00002954 28 1E 00 00 */ cmplwi r30, 0 +/* 800059F8 00002958 41 82 00 44 */ beq lbl_80005A3C +/* 800059FC 0000295C 80 1E 00 04 */ lwz r0, 4(r30) +/* 80005A00 00002960 80 7E 00 0C */ lwz r3, 0xc(r30) +/* 80005A04 00002964 54 00 20 36 */ slwi r0, r0, 4 +/* 80005A08 00002968 7C 03 02 14 */ add r0, r3, r0 +/* 80005A0C 0000296C 90 61 00 0C */ stw r3, 0xc(r1) +/* 80005A10 00002970 7C 64 1B 78 */ mr r4, r3 +/* 80005A14 00002974 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005A18 00002978 90 01 00 10 */ stw r0, 0x10(r1) +/* 80005A1C 0000297C 90 61 00 08 */ stw r3, 8(r1) +/* 80005A20 00002980 48 00 00 08 */ b lbl_80005A28 +lbl_80005A24: +/* 80005A24 00002984 38 84 00 10 */ addi r4, r4, 0x10 +lbl_80005A28: +/* 80005A28 00002988 7C 04 00 40 */ cmplw r4, r0 +/* 80005A2C 0000298C 40 82 FF F8 */ bne lbl_80005A24 +/* 80005A30 00002990 28 03 00 00 */ cmplwi r3, 0 +/* 80005A34 00002994 41 82 00 08 */ beq lbl_80005A3C +/* 80005A38 00002998 48 30 FE F9 */ bl Free__7CMemoryFPCv +lbl_80005A3C: +/* 80005A3C 0000299C 7F E0 07 35 */ extsh. r0, r31 +/* 80005A40 000029A0 40 81 00 0C */ ble lbl_80005A4C +/* 80005A44 000029A4 7F C3 F3 78 */ mr r3, r30 +/* 80005A48 000029A8 48 30 FE E9 */ bl Free__7CMemoryFPCv +lbl_80005A4C: +/* 80005A4C 000029AC 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80005A50 000029B0 7F C3 F3 78 */ mr r3, r30 +/* 80005A54 000029B4 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80005A58 000029B8 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80005A5C 000029BC 7C 08 03 A6 */ mtlr r0 +/* 80005A60 000029C0 38 21 00 30 */ addi r1, r1, 0x30 +/* 80005A64 000029C4 4E 80 00 20 */ blr + +.global sub_80005a68 +sub_80005a68: +/* 80005A68 000029C8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005A6C 000029CC 7C 08 02 A6 */ mflr r0 +/* 80005A70 000029D0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005A74 000029D4 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005A78 000029D8 7C 9F 23 78 */ mr r31, r4 +/* 80005A7C 000029DC 93 C1 00 08 */ stw r30, 8(r1) +/* 80005A80 000029E0 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80005A84 000029E4 41 82 00 20 */ beq lbl_80005AA4 +/* 80005A88 000029E8 80 7E 00 00 */ lwz r3, 0(r30) +/* 80005A8C 000029EC 38 80 00 01 */ li r4, 1 +/* 80005A90 000029F0 4B FF E2 41 */ bl __dt__10CGameStateFv +/* 80005A94 000029F4 7F E0 07 35 */ extsh. r0, r31 +/* 80005A98 000029F8 40 81 00 0C */ ble lbl_80005AA4 +/* 80005A9C 000029FC 7F C3 F3 78 */ mr r3, r30 +/* 80005AA0 00002A00 48 30 FE 91 */ bl Free__7CMemoryFPCv +lbl_80005AA4: +/* 80005AA4 00002A04 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005AA8 00002A08 7F C3 F3 78 */ mr r3, r30 +/* 80005AAC 00002A0C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80005AB0 00002A10 83 C1 00 08 */ lwz r30, 8(r1) +/* 80005AB4 00002A14 7C 08 03 A6 */ mtlr r0 +/* 80005AB8 00002A18 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005ABC 00002A1C 4E 80 00 20 */ blr + +.global sub_80005ac0 +sub_80005ac0: +/* 80005AC0 00002A20 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005AC4 00002A24 7C 08 02 A6 */ mflr r0 +/* 80005AC8 00002A28 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005ACC 00002A2C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005AD0 00002A30 7C 9F 23 78 */ mr r31, r4 +/* 80005AD4 00002A34 93 C1 00 08 */ stw r30, 8(r1) +/* 80005AD8 00002A38 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80005ADC 00002A3C 41 82 00 20 */ beq lbl_80005AFC +/* 80005AE0 00002A40 80 7E 00 00 */ lwz r3, 0(r30) +/* 80005AE4 00002A44 38 80 00 01 */ li r4, 1 +/* 80005AE8 00002A48 48 00 00 31 */ bl sub_80005b18 +/* 80005AEC 00002A4C 7F E0 07 35 */ extsh. r0, r31 +/* 80005AF0 00002A50 40 81 00 0C */ ble lbl_80005AFC +/* 80005AF4 00002A54 7F C3 F3 78 */ mr r3, r30 +/* 80005AF8 00002A58 48 30 FE 39 */ bl Free__7CMemoryFPCv +lbl_80005AFC: +/* 80005AFC 00002A5C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005B00 00002A60 7F C3 F3 78 */ mr r3, r30 +/* 80005B04 00002A64 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80005B08 00002A68 83 C1 00 08 */ lwz r30, 8(r1) +/* 80005B0C 00002A6C 7C 08 03 A6 */ mtlr r0 +/* 80005B10 00002A70 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005B14 00002A74 4E 80 00 20 */ blr + +.global sub_80005b18 +sub_80005b18: +/* 80005B18 00002A78 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005B1C 00002A7C 7C 08 02 A6 */ mflr r0 +/* 80005B20 00002A80 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005B24 00002A84 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005B28 00002A88 7C 9F 23 78 */ mr r31, r4 +/* 80005B2C 00002A8C 93 C1 00 08 */ stw r30, 8(r1) +/* 80005B30 00002A90 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80005B34 00002A94 41 82 00 1C */ beq lbl_80005B50 +/* 80005B38 00002A98 38 80 FF FF */ li r4, -1 +/* 80005B3C 00002A9C 48 00 00 31 */ bl sub_80005b6c +/* 80005B40 00002AA0 7F E0 07 35 */ extsh. r0, r31 +/* 80005B44 00002AA4 40 81 00 0C */ ble lbl_80005B50 +/* 80005B48 00002AA8 7F C3 F3 78 */ mr r3, r30 +/* 80005B4C 00002AAC 48 30 FD E5 */ bl Free__7CMemoryFPCv +lbl_80005B50: +/* 80005B50 00002AB0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005B54 00002AB4 7F C3 F3 78 */ mr r3, r30 +/* 80005B58 00002AB8 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80005B5C 00002ABC 83 C1 00 08 */ lwz r30, 8(r1) +/* 80005B60 00002AC0 7C 08 03 A6 */ mtlr r0 +/* 80005B64 00002AC4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005B68 00002AC8 4E 80 00 20 */ blr + +.global sub_80005b6c +sub_80005b6c: +/* 80005B6C 00002ACC 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80005B70 00002AD0 7C 08 02 A6 */ mflr r0 +/* 80005B74 00002AD4 90 01 00 34 */ stw r0, 0x34(r1) +/* 80005B78 00002AD8 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80005B7C 00002ADC 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80005B80 00002AE0 93 A1 00 24 */ stw r29, 0x24(r1) +/* 80005B84 00002AE4 7C 9D 23 78 */ mr r29, r4 +/* 80005B88 00002AE8 93 81 00 20 */ stw r28, 0x20(r1) +/* 80005B8C 00002AEC 7C 7C 1B 79 */ or. r28, r3, r3 +/* 80005B90 00002AF0 41 82 00 90 */ beq lbl_80005C20 +/* 80005B94 00002AF4 80 1C 00 04 */ lwz r0, 4(r28) +/* 80005B98 00002AF8 83 DC 00 0C */ lwz r30, 0xc(r28) +/* 80005B9C 00002AFC 1C 00 00 48 */ mulli r0, r0, 0x48 +/* 80005BA0 00002B00 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80005BA4 00002B04 7F FE 02 14 */ add r31, r30, r0 +/* 80005BA8 00002B08 93 C1 00 14 */ stw r30, 0x14(r1) +/* 80005BAC 00002B0C 93 E1 00 08 */ stw r31, 8(r1) +/* 80005BB0 00002B10 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005BB4 00002B14 48 00 00 44 */ b lbl_80005BF8 +lbl_80005BB8: +/* 80005BB8 00002B18 28 1E 00 00 */ cmplwi r30, 0 +/* 80005BBC 00002B1C 41 82 00 38 */ beq lbl_80005BF4 +/* 80005BC0 00002B20 34 1E 00 24 */ addic. r0, r30, 0x24 +/* 80005BC4 00002B24 41 82 00 10 */ beq lbl_80005BD4 +/* 80005BC8 00002B28 34 7E 00 30 */ addic. r3, r30, 0x30 +/* 80005BCC 00002B2C 41 82 00 08 */ beq lbl_80005BD4 +/* 80005BD0 00002B30 48 33 7F 11 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +lbl_80005BD4: +/* 80005BD4 00002B34 34 1E 00 14 */ addic. r0, r30, 0x14 +/* 80005BD8 00002B38 41 82 00 0C */ beq lbl_80005BE4 +/* 80005BDC 00002B3C 38 7E 00 14 */ addi r3, r30, 0x14 +/* 80005BE0 00002B40 48 33 7F 01 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +lbl_80005BE4: +/* 80005BE4 00002B44 34 1E 00 04 */ addic. r0, r30, 4 +/* 80005BE8 00002B48 41 82 00 0C */ beq lbl_80005BF4 +/* 80005BEC 00002B4C 38 7E 00 04 */ addi r3, r30, 4 +/* 80005BF0 00002B50 48 33 7E F1 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +lbl_80005BF4: +/* 80005BF4 00002B54 3B DE 00 48 */ addi r30, r30, 0x48 +lbl_80005BF8: +/* 80005BF8 00002B58 7C 1E F8 40 */ cmplw r30, r31 +/* 80005BFC 00002B5C 40 82 FF BC */ bne lbl_80005BB8 +/* 80005C00 00002B60 80 7C 00 0C */ lwz r3, 0xc(r28) +/* 80005C04 00002B64 28 03 00 00 */ cmplwi r3, 0 +/* 80005C08 00002B68 41 82 00 08 */ beq lbl_80005C10 +/* 80005C0C 00002B6C 48 30 FD 25 */ bl Free__7CMemoryFPCv +lbl_80005C10: +/* 80005C10 00002B70 7F A0 07 35 */ extsh. r0, r29 +/* 80005C14 00002B74 40 81 00 0C */ ble lbl_80005C20 +/* 80005C18 00002B78 7F 83 E3 78 */ mr r3, r28 +/* 80005C1C 00002B7C 48 30 FD 15 */ bl Free__7CMemoryFPCv +lbl_80005C20: +/* 80005C20 00002B80 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80005C24 00002B84 7F 83 E3 78 */ mr r3, r28 +/* 80005C28 00002B88 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80005C2C 00002B8C 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80005C30 00002B90 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 80005C34 00002B94 83 81 00 20 */ lwz r28, 0x20(r1) +/* 80005C38 00002B98 7C 08 03 A6 */ mtlr r0 +/* 80005C3C 00002B9C 38 21 00 30 */ addi r1, r1, 0x30 +/* 80005C40 00002BA0 4E 80 00 20 */ blr + +.global sub_80005c44 +sub_80005c44: +/* 80005C44 00002BA4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005C48 00002BA8 7C 08 02 A6 */ mflr r0 +/* 80005C4C 00002BAC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005C50 00002BB0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005C54 00002BB4 7C 7F 1B 78 */ mr r31, r3 +/* 80005C58 00002BB8 80 04 00 00 */ lwz r0, 0(r4) +/* 80005C5C 00002BBC 2C 00 00 00 */ cmpwi r0, 0 +/* 80005C60 00002BC0 40 82 00 10 */ bne lbl_80005C70 +/* 80005C64 00002BC4 38 00 00 00 */ li r0, 0 +/* 80005C68 00002BC8 98 1F 00 04 */ stb r0, 4(r31) +/* 80005C6C 00002BCC 48 00 00 24 */ b lbl_80005C90 +lbl_80005C70: +/* 80005C70 00002BD0 38 64 00 04 */ addi r3, r4, 4 +/* 80005C74 00002BD4 7C 04 03 78 */ mr r4, r0 +/* 80005C78 00002BD8 48 00 2C 1D */ bl GetAverageValue$$0f$$1__FPCfi +/* 80005C7C 00002BDC 38 00 00 01 */ li r0, 1 +/* 80005C80 00002BE0 28 1F 00 00 */ cmplwi r31, 0 +/* 80005C84 00002BE4 98 1F 00 04 */ stb r0, 4(r31) +/* 80005C88 00002BE8 41 82 00 08 */ beq lbl_80005C90 +/* 80005C8C 00002BEC D0 3F 00 00 */ stfs f1, 0(r31) +lbl_80005C90: +/* 80005C90 00002BF0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005C94 00002BF4 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80005C98 00002BF8 7C 08 03 A6 */ mtlr r0 +/* 80005C9C 00002BFC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005CA0 00002C00 4E 80 00 20 */ blr + +.global sub_80005ca4 +sub_80005ca4: +/* 80005CA4 00002C04 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80005CA8 00002C08 7C 08 02 A6 */ mflr r0 +/* 80005CAC 00002C0C 90 01 00 14 */ stw r0, 0x14(r1) +/* 80005CB0 00002C10 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80005CB4 00002C14 7C 9F 23 78 */ mr r31, r4 +/* 80005CB8 00002C18 93 C1 00 08 */ stw r30, 8(r1) +/* 80005CBC 00002C1C 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80005CC0 00002C20 41 82 00 20 */ beq lbl_80005CE0 +/* 80005CC4 00002C24 80 7E 00 00 */ lwz r3, 0(r30) +/* 80005CC8 00002C28 38 80 00 01 */ li r4, 1 +/* 80005CCC 00002C2C 4B FF FB 91 */ bl __dt__18CGameGlobalObjectsFv +/* 80005CD0 00002C30 7F E0 07 35 */ extsh. r0, r31 +/* 80005CD4 00002C34 40 81 00 0C */ ble lbl_80005CE0 +/* 80005CD8 00002C38 7F C3 F3 78 */ mr r3, r30 +/* 80005CDC 00002C3C 48 30 FC 55 */ bl Free__7CMemoryFPCv +lbl_80005CE0: +/* 80005CE0 00002C40 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80005CE4 00002C44 7F C3 F3 78 */ mr r3, r30 +/* 80005CE8 00002C48 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80005CEC 00002C4C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80005CF0 00002C50 7C 08 03 A6 */ mtlr r0 +/* 80005CF4 00002C54 38 21 00 10 */ addi r1, r1, 0x10 +/* 80005CF8 00002C58 4E 80 00 20 */ blr + +.global CheckReset__5CMainFv +CheckReset__5CMainFv: +/* 80005CFC 00002C5C 94 21 FE B0 */ stwu r1, -0x150(r1) +/* 80005D00 00002C60 7C 08 02 A6 */ mflr r0 +/* 80005D04 00002C64 90 01 01 54 */ stw r0, 0x154(r1) +/* 80005D08 00002C68 93 E1 01 4C */ stw r31, 0x14c(r1) +/* 80005D0C 00002C6C 93 C1 01 48 */ stw r30, 0x148(r1) +/* 80005D10 00002C70 7C 7E 1B 78 */ mr r30, r3 +/* 80005D14 00002C74 48 37 D8 7D */ bl OSGetResetButtonState +/* 80005D18 00002C78 7C 7F 1B 78 */ mr r31, r3 +/* 80005D1C 00002C7C 80 6D A0 7C */ lwz r3, gpController@sda21(r13) +/* 80005D20 00002C80 38 80 00 00 */ li r4, 0 +/* 80005D24 00002C84 81 83 00 00 */ lwz r12, 0(r3) +/* 80005D28 00002C88 81 8C 00 14 */ lwz r12, 0x14(r12) +/* 80005D2C 00002C8C 7D 89 03 A6 */ mtctr r12 +/* 80005D30 00002C90 4E 80 04 21 */ bctrl +/* 80005D34 00002C94 88 03 00 37 */ lbz r0, 0x37(r3) +/* 80005D38 00002C98 28 00 00 00 */ cmplwi r0, 0 +/* 80005D3C 00002C9C 41 82 00 60 */ beq lbl_80005D9C +/* 80005D40 00002CA0 88 03 00 3A */ lbz r0, 0x3a(r3) +/* 80005D44 00002CA4 28 00 00 00 */ cmplwi r0, 0 +/* 80005D48 00002CA8 41 82 00 54 */ beq lbl_80005D9C +/* 80005D4C 00002CAC 88 03 00 40 */ lbz r0, 0x40(r3) +/* 80005D50 00002CB0 28 00 00 00 */ cmplwi r0, 0 +/* 80005D54 00002CB4 41 82 00 48 */ beq lbl_80005D9C +/* 80005D58 00002CB8 C0 1E 01 24 */ lfs f0, 0x124(r30) +/* 80005D5C 00002CBC C0 42 80 30 */ lfs f2, lbl_805A9D50@sda21(r2) +/* 80005D60 00002CC0 FC 00 10 40 */ fcmpo cr0, f0, f2 +/* 80005D64 00002CC4 4C 41 13 82 */ cror 2, 1, 2 +/* 80005D68 00002CC8 40 82 00 58 */ bne lbl_80005DC0 +/* 80005D6C 00002CCC C0 3E 01 20 */ lfs f1, 0x120(r30) +/* 80005D70 00002CD0 C0 02 80 00 */ lfs f0, lbl_805A9D20@sda21(r2) +/* 80005D74 00002CD4 EC 01 00 2A */ fadds f0, f1, f0 +/* 80005D78 00002CD8 D0 1E 01 20 */ stfs f0, 0x120(r30) +/* 80005D7C 00002CDC C0 1E 01 20 */ lfs f0, 0x120(r30) +/* 80005D80 00002CE0 FC 00 10 40 */ fcmpo cr0, f0, f2 +/* 80005D84 00002CE4 40 81 00 3C */ ble lbl_80005DC0 +/* 80005D88 00002CE8 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005D8C 00002CEC 38 60 00 01 */ li r3, 1 +/* 80005D90 00002CF0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b +/* 80005D94 00002CF4 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80005D98 00002CF8 48 00 00 28 */ b lbl_80005DC0 +lbl_80005D9C: +/* 80005D9C 00002CFC C0 3E 01 24 */ lfs f1, 0x124(r30) +/* 80005DA0 00002D00 C0 02 80 30 */ lfs f0, lbl_805A9D50@sda21(r2) +/* 80005DA4 00002D04 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80005DA8 00002D08 40 80 00 10 */ bge lbl_80005DB8 +/* 80005DAC 00002D0C C0 02 80 00 */ lfs f0, lbl_805A9D20@sda21(r2) +/* 80005DB0 00002D10 EC 01 00 2A */ fadds f0, f1, f0 +/* 80005DB4 00002D14 D0 1E 01 24 */ stfs f0, 0x124(r30) +lbl_80005DB8: +/* 80005DB8 00002D18 C0 02 80 34 */ lfs f0, lbl_805A9D54@sda21(r2) +/* 80005DBC 00002D1C D0 1E 01 20 */ stfs f0, 0x120(r30) +lbl_80005DC0: +/* 80005DC0 00002D20 2C 1F 00 00 */ cmpwi r31, 0 +/* 80005DC4 00002D24 40 82 00 1C */ bne lbl_80005DE0 +/* 80005DC8 00002D28 88 7E 01 60 */ lbz r3, 0x160(r30) +/* 80005DCC 00002D2C 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f +/* 80005DD0 00002D30 41 82 00 10 */ beq lbl_80005DE0 +/* 80005DD4 00002D34 38 00 00 01 */ li r0, 1 +/* 80005DD8 00002D38 50 03 17 7A */ rlwimi r3, r0, 2, 0x1d, 0x1d +/* 80005DDC 00002D3C 98 7E 01 60 */ stb r3, 0x160(r30) +lbl_80005DE0: +/* 80005DE0 00002D40 88 7E 01 60 */ lbz r3, 0x160(r30) +/* 80005DE4 00002D44 54 60 07 FF */ clrlwi. r0, r3, 0x1f +/* 80005DE8 00002D48 40 82 02 1C */ bne lbl_80006004 +/* 80005DEC 00002D4C 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f +/* 80005DF0 00002D50 40 82 00 14 */ bne lbl_80005E04 +/* 80005DF4 00002D54 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f +/* 80005DF8 00002D58 40 82 00 0C */ bne lbl_80005E04 +/* 80005DFC 00002D5C 54 60 FF FF */ rlwinm. r0, r3, 0x1f, 0x1f, 0x1f +/* 80005E00 00002D60 41 82 02 04 */ beq lbl_80006004 +lbl_80005E04: +/* 80005E04 00002D64 80 7E 01 64 */ lwz r3, 0x164(r30) +/* 80005E08 00002D68 28 03 00 00 */ cmplwi r3, 0 +/* 80005E0C 00002D6C 41 82 00 24 */ beq lbl_80005E30 +/* 80005E10 00002D70 88 03 00 C8 */ lbz r0, 0xc8(r3) +/* 80005E14 00002D74 28 00 00 00 */ cmplwi r0, 0 +/* 80005E18 00002D78 41 82 00 18 */ beq lbl_80005E30 +/* 80005E1C 00002D7C 38 63 00 A0 */ addi r3, r3, 0xa0 +/* 80005E20 00002D80 48 37 85 D5 */ bl OSCancelAlarm +/* 80005E24 00002D84 80 7E 01 64 */ lwz r3, 0x164(r30) +/* 80005E28 00002D88 38 00 00 00 */ li r0, 0 +/* 80005E2C 00002D8C 98 03 00 C8 */ stb r0, 0xc8(r3) +lbl_80005E30: +/* 80005E30 00002D90 48 37 26 B5 */ bl GXDrawDone +/* 80005E34 00002D94 48 37 25 39 */ bl sub_8037836c +/* 80005E38 00002D98 48 34 54 C5 */ bl TrkFlushTracks__9CAudioSysFv +/* 80005E3C 00002D9C 38 60 00 00 */ li r3, 0 +/* 80005E40 00002DA0 48 36 72 7D */ bl AISetStreamPlayState +/* 80005E44 00002DA4 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005E48 00002DA8 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f +/* 80005E4C 00002DAC 40 82 00 2C */ bne lbl_80005E78 +/* 80005E50 00002DB0 38 61 00 38 */ addi r3, r1, 0x38 +/* 80005E54 00002DB4 48 20 99 7D */ bl __ct__12CGameOptionsFv +/* 80005E58 00002DB8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005E5C 00002DBC 38 81 00 38 */ addi r4, r1, 0x38 +/* 80005E60 00002DC0 38 63 01 7C */ addi r3, r3, 0x17c +/* 80005E64 00002DC4 4B FF D9 3D */ bl __as__12CGameOptionsFRC12CGameOptions +/* 80005E68 00002DC8 38 61 00 38 */ addi r3, r1, 0x38 +/* 80005E6C 00002DCC 38 80 FF FF */ li r4, -1 +/* 80005E70 00002DD0 4B FF E1 15 */ bl __dt__12CGameOptionsFv +/* 80005E74 00002DD4 48 00 00 4C */ b lbl_80005EC0 +lbl_80005E78: +/* 80005E78 00002DD8 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005E7C 00002DDC 38 80 00 04 */ li r4, 4 +/* 80005E80 00002DE0 38 A0 00 00 */ li r5, 0 +/* 80005E84 00002DE4 3B E3 01 7C */ addi r31, r3, 0x17c +/* 80005E88 00002DE8 7F E3 FB 78 */ mr r3, r31 +/* 80005E8C 00002DEC 48 20 92 0D */ bl SetScreenBrightness__12CGameOptionsFib +/* 80005E90 00002DF0 7F E3 FB 78 */ mr r3, r31 +/* 80005E94 00002DF4 38 80 00 00 */ li r4, 0 +/* 80005E98 00002DF8 38 A0 00 00 */ li r5, 0 +/* 80005E9C 00002DFC 48 20 91 41 */ bl SetScreenPositionX__12CGameOptionsFib +/* 80005EA0 00002E00 7F E3 FB 78 */ mr r3, r31 +/* 80005EA4 00002E04 38 80 00 00 */ li r4, 0 +/* 80005EA8 00002E08 38 A0 00 00 */ li r5, 0 +/* 80005EAC 00002E0C 48 20 90 B9 */ bl SetScreenPositionY__12CGameOptionsFib +/* 80005EB0 00002E10 7F E3 FB 78 */ mr r3, r31 +/* 80005EB4 00002E14 38 80 00 00 */ li r4, 0 +/* 80005EB8 00002E18 38 A0 00 00 */ li r5, 0 +/* 80005EBC 00002E1C 48 20 90 31 */ bl SetScreenStretch__12CGameOptionsFib +lbl_80005EC0: +/* 80005EC0 00002E20 80 8D A0 90 */ lwz r4, lbl_805A8C50@sda21(r13) +/* 80005EC4 00002E24 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005EC8 00002E28 38 A0 00 80 */ li r5, 0x80 +/* 80005ECC 00002E2C 38 C0 00 01 */ li r6, 1 +/* 80005ED0 00002E30 38 E0 10 00 */ li r7, 0x1000 +/* 80005ED4 00002E34 48 33 94 69 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi +/* 80005ED8 00002E38 48 30 37 19 */ bl GetProgressiveMode__9CGraphicsFv +/* 80005EDC 00002E3C 54 64 06 3E */ clrlwi r4, r3, 0x18 +/* 80005EE0 00002E40 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005EE4 00002E44 7C 04 00 D0 */ neg r0, r4 +/* 80005EE8 00002E48 38 A0 00 01 */ li r5, 1 +/* 80005EEC 00002E4C 7C 00 23 78 */ or r0, r0, r4 +/* 80005EF0 00002E50 54 04 0F FE */ srwi r4, r0, 0x1f +/* 80005EF4 00002E54 48 33 94 C9 */ bl WriteBits__13COutputStreamFii +/* 80005EF8 00002E58 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005EFC 00002E5C 38 81 00 B4 */ addi r4, r1, 0xb4 +/* 80005F00 00002E60 38 63 01 7C */ addi r3, r3, 0x17c +/* 80005F04 00002E64 48 20 93 91 */ bl PutTo__12CGameOptionsFR16CMemoryStreamOut +/* 80005F08 00002E68 88 8D 80 00 */ lbz r4, lbl_805A6BC0@sda21(r13) +/* 80005F0C 00002E6C 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005F10 00002E70 38 A0 00 01 */ li r5, 1 +/* 80005F14 00002E74 7C 04 00 D0 */ neg r0, r4 +/* 80005F18 00002E78 7C 00 23 78 */ or r0, r0, r4 +/* 80005F1C 00002E7C 54 04 0F FE */ srwi r4, r0, 0x1f +/* 80005F20 00002E80 48 33 94 9D */ bl WriteBits__13COutputStreamFii +/* 80005F24 00002E84 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005F28 00002E88 48 33 96 4D */ bl Flush__13COutputStreamFv +/* 80005F2C 00002E8C 38 61 00 B4 */ addi r3, r1, 0xb4 +/* 80005F30 00002E90 38 80 FF FF */ li r4, -1 +/* 80005F34 00002E94 48 33 93 8D */ bl __dt__16CMemoryStreamOutFv +/* 80005F38 00002E98 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80005F3C 00002E9C 38 63 01 7C */ addi r3, r3, 0x17c +/* 80005F40 00002EA0 48 20 91 BD */ bl EnsureOptions__12CGameOptionsFv +/* 80005F44 00002EA4 80 6D A0 90 */ lwz r3, lbl_805A8C50@sda21(r13) +/* 80005F48 00002EA8 38 80 00 80 */ li r4, 0x80 +/* 80005F4C 00002EAC 48 37 8B 65 */ bl DCFlushRange +/* 80005F50 00002EB0 80 6D A0 90 */ lwz r3, lbl_805A8C50@sda21(r13) +/* 80005F54 00002EB4 38 83 00 80 */ addi r4, r3, 0x80 +/* 80005F58 00002EB8 48 37 D0 B5 */ bl sub_8038300c +/* 80005F5C 00002EBC 38 60 00 01 */ li r3, 1 +/* 80005F60 00002EC0 48 38 33 4D */ bl VISetBlack +/* 80005F64 00002EC4 48 38 31 AD */ bl VIFlush +/* 80005F68 00002EC8 48 38 21 25 */ bl VIWaitForRetrace +/* 80005F6C 00002ECC 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005F70 00002ED0 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f +/* 80005F74 00002ED4 41 82 00 18 */ beq lbl_80005F8C +/* 80005F78 00002ED8 38 60 00 01 */ li r3, 1 +/* 80005F7C 00002EDC 38 80 00 00 */ li r4, 0 +/* 80005F80 00002EE0 38 A0 00 01 */ li r5, 1 +/* 80005F84 00002EE4 48 37 D2 71 */ bl OSResetSystem +/* 80005F88 00002EE8 48 00 00 40 */ b lbl_80005FC8 +lbl_80005F8C: +/* 80005F8C 00002EEC 48 36 E7 2D */ bl DVDCheckDisk +/* 80005F90 00002EF0 2C 03 00 00 */ cmpwi r3, 0 +/* 80005F94 00002EF4 41 82 00 24 */ beq lbl_80005FB8 +/* 80005F98 00002EF8 48 36 E5 B5 */ bl sub_8037454c +/* 80005F9C 00002EFC 38 61 00 08 */ addi r3, r1, 8 +/* 80005FA0 00002F00 48 36 DD 55 */ bl sub_80373cf4 +/* 80005FA4 00002F04 38 60 00 00 */ li r3, 0 +/* 80005FA8 00002F08 38 80 00 00 */ li r4, 0 +/* 80005FAC 00002F0C 38 A0 00 00 */ li r5, 0 +/* 80005FB0 00002F10 48 37 D2 45 */ bl OSResetSystem +/* 80005FB4 00002F14 48 00 00 14 */ b lbl_80005FC8 +lbl_80005FB8: +/* 80005FB8 00002F18 38 60 00 01 */ li r3, 1 +/* 80005FBC 00002F1C 38 80 00 00 */ li r4, 0 +/* 80005FC0 00002F20 38 A0 00 00 */ li r5, 0 +/* 80005FC4 00002F24 48 37 D2 31 */ bl OSResetSystem +lbl_80005FC8: +/* 80005FC8 00002F28 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005FCC 00002F2C 38 80 00 00 */ li r4, 0 +/* 80005FD0 00002F30 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b +/* 80005FD4 00002F34 38 60 00 01 */ li r3, 1 +/* 80005FD8 00002F38 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80005FDC 00002F3C 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005FE0 00002F40 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d +/* 80005FE4 00002F44 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80005FE8 00002F48 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005FEC 00002F4C 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e +/* 80005FF0 00002F50 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80005FF4 00002F54 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 80005FF8 00002F58 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c +/* 80005FFC 00002F5C 98 1E 01 60 */ stb r0, 0x160(r30) +/* 80006000 00002F60 48 00 00 1C */ b lbl_8000601C +lbl_80006004: +/* 80006004 00002F64 7C 7F 00 D0 */ neg r3, r31 +/* 80006008 00002F68 88 1E 01 60 */ lbz r0, 0x160(r30) +/* 8000600C 00002F6C 7C 64 FB 78 */ or r4, r3, r31 +/* 80006010 00002F70 50 80 2E F6 */ rlwimi r0, r4, 5, 0x1b, 0x1b +/* 80006014 00002F74 38 60 00 00 */ li r3, 0 +/* 80006018 00002F78 98 1E 01 60 */ stb r0, 0x160(r30) +lbl_8000601C: +/* 8000601C 00002F7C 80 01 01 54 */ lwz r0, 0x154(r1) +/* 80006020 00002F80 83 E1 01 4C */ lwz r31, 0x14c(r1) +/* 80006024 00002F84 83 C1 01 48 */ lwz r30, 0x148(r1) +/* 80006028 00002F88 7C 08 03 A6 */ mtlr r0 +/* 8000602C 00002F8C 38 21 01 50 */ addi r1, r1, 0x150 +/* 80006030 00002F90 4E 80 00 20 */ blr + +.global CheckTerminate__5CMainFv +CheckTerminate__5CMainFv: +/* 80006034 00002F94 38 60 00 00 */ li r3, 0 +/* 80006038 00002F98 4E 80 00 20 */ blr + +.global DrawDebugMetrics__5CMainFdR10CStopwatch +DrawDebugMetrics__5CMainFdR10CStopwatch: +/* 8000603C 00002F9C 4E 80 00 20 */ blr + +.global DoPredrawMetrics__5CMainFv +DoPredrawMetrics__5CMainFv: +/* 80006040 00002FA0 4E 80 00 20 */ blr + +.global FillInAssetIDs__5CMainFv +FillInAssetIDs__5CMainFv: +/* 80006044 00002FA4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006048 00002FA8 7C 08 02 A6 */ mflr r0 +/* 8000604C 00002FAC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80006050 00002FB0 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 80006054 00002FB4 80 8D A1 20 */ lwz r4, gpTweakGame@sda21(r13) +/* 80006058 00002FB8 81 83 00 00 */ lwz r12, 0(r3) +/* 8000605C 00002FBC 80 84 00 14 */ lwz r4, 0x14(r4) +/* 80006060 00002FC0 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80006064 00002FC4 7D 89 03 A6 */ mtctr r12 +/* 80006068 00002FC8 4E 80 04 21 */ bctrl +/* 8000606C 00002FCC 7C 64 1B 79 */ or. r4, r3, r3 +/* 80006070 00002FD0 41 82 00 10 */ beq lbl_80006080 +/* 80006074 00002FD4 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80006078 00002FD8 80 84 00 04 */ lwz r4, 4(r4) +/* 8000607C 00002FDC 48 1C D8 C9 */ bl SetCurrentWorldId__10CGameStateFUi +lbl_80006080: +/* 80006080 00002FE0 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006084 00002FE4 7C 08 03 A6 */ mtlr r0 +/* 80006088 00002FE8 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000608C 00002FEC 4E 80 00 20 */ blr + +.global GetResourceIdByName__11CResFactoryCFPCc +GetResourceIdByName__11CResFactoryCFPCc: +/* 80006090 00002FF0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006094 00002FF4 7C 08 02 A6 */ mflr r0 +/* 80006098 00002FF8 38 63 00 04 */ addi r3, r3, 4 +/* 8000609C 00002FFC 90 01 00 14 */ stw r0, 0x14(r1) +/* 800060A0 00003000 48 33 5C 71 */ bl GetResourceIdByName__10CResLoaderCFPCc +/* 800060A4 00003004 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800060A8 00003008 7C 08 03 A6 */ mtlr r0 +/* 800060AC 0000300C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800060B0 00003010 4E 80 00 20 */ blr + +.global AddPaksAndFactories__18CGameGlobalObjectsFv +AddPaksAndFactories__18CGameGlobalObjectsFv: +/* 800060B4 00003014 94 21 FF 40 */ stwu r1, -0xc0(r1) +/* 800060B8 00003018 7C 08 02 A6 */ mflr r0 +/* 800060BC 0000301C 3C 60 80 5A */ lis r3, lbl_805A6670@ha +/* 800060C0 00003020 90 01 00 C4 */ stw r0, 0xc4(r1) +/* 800060C4 00003024 38 63 66 70 */ addi r3, r3, lbl_805A6670@l +/* 800060C8 00003028 93 E1 00 BC */ stw r31, 0xbc(r1) +/* 800060CC 0000302C 83 ED A0 60 */ lwz r31, gpResourceFactory@sda21(r13) +/* 800060D0 00003030 48 30 66 7D */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f +/* 800060D4 00003034 3C 60 80 5A */ lis r3, lbl_805A6670@ha +/* 800060D8 00003038 38 63 66 70 */ addi r3, r3, lbl_805A6670@l +/* 800060DC 0000303C 48 30 65 05 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f +/* 800060E0 00003040 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800060E4 00003044 38 61 00 88 */ addi r3, r1, 0x88 +/* 800060E8 00003048 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800060EC 0000304C 38 84 00 A7 */ addi r4, r4, 0xa7 +/* 800060F0 00003050 4B FF EB C9 */ bl string_l__4rstlFPCc +/* 800060F4 00003054 38 7F 00 04 */ addi r3, r31, 4 +/* 800060F8 00003058 38 81 00 88 */ addi r4, r1, 0x88 +/* 800060FC 0000305C 38 A0 00 00 */ li r5, 0 +/* 80006100 00003060 38 C0 00 00 */ li r6, 0 +/* 80006104 00003064 48 33 54 59 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006108 00003068 38 61 00 88 */ addi r3, r1, 0x88 +/* 8000610C 0000306C 48 33 79 D5 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80006110 00003070 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006114 00003074 38 61 00 78 */ addi r3, r1, 0x78 +/* 80006118 00003078 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000611C 0000307C 38 84 00 B3 */ addi r4, r4, 0xb3 +/* 80006120 00003080 4B FF EB 99 */ bl string_l__4rstlFPCc +/* 80006124 00003084 38 7F 00 04 */ addi r3, r31, 4 +/* 80006128 00003088 38 81 00 78 */ addi r4, r1, 0x78 +/* 8000612C 0000308C 38 A0 00 00 */ li r5, 0 +/* 80006130 00003090 38 C0 00 00 */ li r6, 0 +/* 80006134 00003094 48 33 54 29 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006138 00003098 38 61 00 78 */ addi r3, r1, 0x78 +/* 8000613C 0000309C 48 33 79 A5 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80006140 000030A0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006144 000030A4 38 61 00 68 */ addi r3, r1, 0x68 +/* 80006148 000030A8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000614C 000030AC 38 84 00 BA */ addi r4, r4, 0xba +/* 80006150 000030B0 4B FF EB 69 */ bl string_l__4rstlFPCc +/* 80006154 000030B4 38 7F 00 04 */ addi r3, r31, 4 +/* 80006158 000030B8 38 81 00 68 */ addi r4, r1, 0x68 +/* 8000615C 000030BC 38 A0 00 00 */ li r5, 0 +/* 80006160 000030C0 38 C0 00 00 */ li r6, 0 +/* 80006164 000030C4 48 33 53 F9 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006168 000030C8 38 61 00 68 */ addi r3, r1, 0x68 +/* 8000616C 000030CC 48 33 79 75 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80006170 000030D0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006174 000030D4 38 61 00 58 */ addi r3, r1, 0x58 +/* 80006178 000030D8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000617C 000030DC 38 84 00 C3 */ addi r4, r4, 0xc3 +/* 80006180 000030E0 4B FF EB 39 */ bl string_l__4rstlFPCc +/* 80006184 000030E4 38 7F 00 04 */ addi r3, r31, 4 +/* 80006188 000030E8 38 81 00 58 */ addi r4, r1, 0x58 +/* 8000618C 000030EC 38 A0 00 00 */ li r5, 0 +/* 80006190 000030F0 38 C0 00 00 */ li r6, 0 +/* 80006194 000030F4 48 33 53 C9 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006198 000030F8 38 61 00 58 */ addi r3, r1, 0x58 +/* 8000619C 000030FC 48 33 79 45 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 800061A0 00003100 38 61 00 98 */ addi r3, r1, 0x98 +/* 800061A4 00003104 38 80 00 01 */ li r4, 1 +/* 800061A8 00003108 48 26 3A 19 */ bl __ct__18CErrorOutputWindowFiff +/* 800061AC 0000310C 38 60 00 01 */ li r3, 1 +/* 800061B0 00003110 48 30 32 F9 */ bl SetIsBeginSceneClearFb__9CGraphicsFb +/* 800061B4 00003114 3C 80 80 3F */ lis r4, lbl_803ED910@ha +/* 800061B8 00003118 38 60 00 00 */ li r3, 0 +/* 800061BC 0000311C 38 C4 D9 10 */ addi r6, r4, lbl_803ED910@l +/* 800061C0 00003120 38 80 00 00 */ li r4, 0 +/* 800061C4 00003124 80 A6 00 08 */ lwz r5, 8(r6) +/* 800061C8 00003128 80 C6 00 0C */ lwz r6, 0xc(r6) +/* 800061CC 0000312C 48 30 5E C5 */ bl SetViewport__9CGraphicsFiiii +/* 800061D0 00003130 48 00 00 28 */ b lbl_800061F8 +lbl_800061D4: +/* 800061D4 00003134 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 800061D8 00003138 38 63 00 04 */ addi r3, r3, 4 +/* 800061DC 0000313C 48 33 5B E5 */ bl AsyncIdlePakLoading__10CResLoaderFv +/* 800061E0 00003140 38 61 00 98 */ addi r3, r1, 0x98 +/* 800061E4 00003144 48 26 32 C1 */ bl sub_802694a4 +/* 800061E8 00003148 48 30 5C BD */ bl BeginScene__9CGraphicsFv +/* 800061EC 0000314C 38 61 00 98 */ addi r3, r1, 0x98 +/* 800061F0 00003150 48 26 32 89 */ bl sub_80269478 +/* 800061F4 00003154 48 30 58 CD */ bl EndScene__9CGraphicsFv +lbl_800061F8: +/* 800061F8 00003158 38 7F 00 04 */ addi r3, r31, 4 +/* 800061FC 0000315C 48 33 5B B5 */ bl AreAllPaksLoaded__10CResLoaderCFv +/* 80006200 00003160 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80006204 00003164 41 82 FF D0 */ beq lbl_800061D4 +/* 80006208 00003168 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000620C 0000316C 38 61 00 48 */ addi r3, r1, 0x48 +/* 80006210 00003170 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80006214 00003174 38 84 00 D1 */ addi r4, r4, 0xd1 +/* 80006218 00003178 4B FF EA A1 */ bl string_l__4rstlFPCc +/* 8000621C 0000317C 38 7F 00 04 */ addi r3, r31, 4 +/* 80006220 00003180 38 81 00 48 */ addi r4, r1, 0x48 +/* 80006224 00003184 38 A0 00 01 */ li r5, 1 +/* 80006228 00003188 38 C0 00 00 */ li r6, 0 +/* 8000622C 0000318C 48 33 53 31 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006230 00003190 38 61 00 48 */ addi r3, r1, 0x48 +/* 80006234 00003194 48 33 78 AD */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80006238 00003198 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000623C 0000319C 38 61 00 38 */ addi r3, r1, 0x38 +/* 80006240 000031A0 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80006244 000031A4 38 84 00 DF */ addi r4, r4, 0xdf +/* 80006248 000031A8 4B FF EA 71 */ bl string_l__4rstlFPCc +/* 8000624C 000031AC 38 7F 00 04 */ addi r3, r31, 4 +/* 80006250 000031B0 38 81 00 38 */ addi r4, r1, 0x38 +/* 80006254 000031B4 38 A0 00 01 */ li r5, 1 +/* 80006258 000031B8 38 C0 00 00 */ li r6, 0 +/* 8000625C 000031BC 48 33 53 01 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006260 000031C0 38 61 00 38 */ addi r3, r1, 0x38 +/* 80006264 000031C4 48 33 78 7D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80006268 000031C8 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000626C 000031CC 38 61 00 28 */ addi r3, r1, 0x28 +/* 80006270 000031D0 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80006274 000031D4 38 84 00 ED */ addi r4, r4, 0xed +/* 80006278 000031D8 4B FF EA 41 */ bl string_l__4rstlFPCc +/* 8000627C 000031DC 38 7F 00 04 */ addi r3, r31, 4 +/* 80006280 000031E0 38 81 00 28 */ addi r4, r1, 0x28 +/* 80006284 000031E4 38 A0 00 01 */ li r5, 1 +/* 80006288 000031E8 38 C0 00 00 */ li r6, 0 +/* 8000628C 000031EC 48 33 52 D1 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 80006290 000031F0 38 61 00 28 */ addi r3, r1, 0x28 +/* 80006294 000031F4 48 33 78 4D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 80006298 000031F8 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 8000629C 000031FC 38 61 00 18 */ addi r3, r1, 0x18 +/* 800062A0 00003200 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800062A4 00003204 38 84 00 FB */ addi r4, r4, 0xfb +/* 800062A8 00003208 4B FF EA 11 */ bl string_l__4rstlFPCc +/* 800062AC 0000320C 38 7F 00 04 */ addi r3, r31, 4 +/* 800062B0 00003210 38 81 00 18 */ addi r4, r1, 0x18 +/* 800062B4 00003214 38 A0 00 00 */ li r5, 0 +/* 800062B8 00003218 38 C0 00 00 */ li r6, 0 +/* 800062BC 0000321C 48 33 52 A1 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 800062C0 00003220 38 61 00 18 */ addi r3, r1, 0x18 +/* 800062C4 00003224 48 33 78 1D */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 800062C8 00003228 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800062CC 0000322C 38 61 00 08 */ addi r3, r1, 8 +/* 800062D0 00003230 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800062D4 00003234 38 84 01 09 */ addi r4, r4, 0x109 +/* 800062D8 00003238 4B FF E9 E1 */ bl string_l__4rstlFPCc +/* 800062DC 0000323C 38 7F 00 04 */ addi r3, r31, 4 +/* 800062E0 00003240 38 81 00 08 */ addi r4, r1, 8 +/* 800062E4 00003244 38 A0 00 00 */ li r5, 0 +/* 800062E8 00003248 38 C0 00 00 */ li r6, 0 +/* 800062EC 0000324C 48 33 52 71 */ bl AddPakFileAsync__10CResLoaderFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1b +/* 800062F0 00003250 38 61 00 08 */ addi r3, r1, 8 +/* 800062F4 00003254 48 33 77 ED */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 800062F8 00003258 3C 60 80 35 */ lis r3, FStringTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800062FC 0000325C 3C 80 53 54 */ lis r4, 0x53545247@ha +/* 80006300 00003260 38 A3 65 00 */ addi r5, r3, FStringTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006304 00003264 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006308 00003268 38 84 52 47 */ addi r4, r4, 0x53545247@l +/* 8000630C 0000326C 48 33 2A 95 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006310 00003270 3C 60 80 35 */ lis r3, FModelFactory__FRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer@ha +/* 80006314 00003274 3C 80 43 4D */ lis r4, 0x434D444C@ha +/* 80006318 00003278 38 A3 56 DC */ addi r5, r3, FModelFactory__FRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer@l +/* 8000631C 0000327C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006320 00003280 38 84 44 4C */ addi r4, r4, 0x434D444C@l +/* 80006324 00003284 48 33 29 BD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006328 00003288 3C 60 80 31 */ lis r3, FTextureFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000632C 0000328C 3C 80 54 58 */ lis r4, 0x54585452@ha +/* 80006330 00003290 38 A3 E7 6C */ addi r5, r3, FTextureFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006334 00003294 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006338 00003298 38 84 54 52 */ addi r4, r4, 0x54585452@l +/* 8000633C 0000329C 48 33 2A 65 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006340 000032A0 3C 60 80 35 */ lis r3, FSkinRulesFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006344 000032A4 3C 80 43 53 */ lis r4, 0x43534B52@ha +/* 80006348 000032A8 38 A3 3C 64 */ addi r5, r3, FSkinRulesFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000634C 000032AC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006350 000032B0 38 84 4B 52 */ addi r4, r4, 0x43534B52@l +/* 80006354 000032B4 48 33 2A 4D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006358 000032B8 3C 60 80 30 */ lis r3, AnimSourceFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000635C 000032BC 3C 80 41 4E */ lis r4, 0x414E494D@ha +/* 80006360 000032C0 38 A3 E1 98 */ addi r5, r3, AnimSourceFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006364 000032C4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006368 000032C8 38 84 49 4D */ addi r4, r4, 0x414E494D@l +/* 8000636C 000032CC 48 33 2A 35 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006370 000032D0 3C 60 80 30 */ lis r3, FCharLayoutInfo__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006374 000032D4 3C 80 43 49 */ lis r4, 0x43494E46@ha +/* 80006378 000032D8 38 A3 81 8C */ addi r5, r3, FCharLayoutInfo__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000637C 000032DC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006380 000032E0 38 84 4E 46 */ addi r4, r4, 0x43494E46@l +/* 80006384 000032E4 48 33 2A 1D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006388 000032E8 3C 60 80 2E */ lis r3, FAnimCharacterSet__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000638C 000032EC 3C 80 41 4E */ lis r4, 0x414E4353@ha +/* 80006390 000032F0 38 A3 80 B8 */ addi r5, r3, FAnimCharacterSet__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006394 000032F4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006398 000032F8 38 84 43 53 */ addi r4, r4, 0x414E4353@l +/* 8000639C 000032FC 48 33 2A 05 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063A0 00003300 3C 60 80 2B */ lis r3, FCollisionResponseDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063A4 00003304 3C 80 43 52 */ lis r4, 0x43525343@ha +/* 800063A8 00003308 38 A3 21 58 */ addi r5, r3, FCollisionResponseDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063AC 0000330C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063B0 00003310 38 84 53 43 */ addi r4, r4, 0x43525343@l +/* 800063B4 00003314 48 33 29 ED */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063B8 00003318 3C 60 80 33 */ lis r3, FParticleSwooshDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063BC 0000331C 3C 80 53 57 */ lis r4, 0x53574843@ha +/* 800063C0 00003320 38 A3 FF E0 */ addi r5, r3, FParticleSwooshDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063C4 00003324 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063C8 00003328 38 84 48 43 */ addi r4, r4, 0x53574843@l +/* 800063CC 0000332C 48 33 29 D5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063D0 00003330 3C 60 80 33 */ lis r3, FParticleFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063D4 00003334 3C 80 50 41 */ lis r4, 0x50415254@ha +/* 800063D8 00003338 38 A3 A0 0C */ addi r5, r3, FParticleFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063DC 0000333C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063E0 00003340 38 84 52 54 */ addi r4, r4, 0x50415254@l +/* 800063E4 00003344 48 33 29 BD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800063E8 00003348 3C 60 80 36 */ lis r3, FParticleElectricDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800063EC 0000334C 3C 80 45 4C */ lis r4, 0x454C5343@ha +/* 800063F0 00003350 38 A3 E7 34 */ addi r5, r3, FParticleElectricDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800063F4 00003354 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800063F8 00003358 38 84 53 43 */ addi r4, r4, 0x454C5343@l +/* 800063FC 0000335C 48 33 29 A5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006400 00003360 3C 60 80 2B */ lis r3, FProjectileWeaponDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006404 00003364 3C 80 57 50 */ lis r4, 0x57505343@ha +/* 80006408 00003368 38 A3 1F B4 */ addi r5, r3, FProjectileWeaponDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000640C 0000336C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006410 00003370 38 84 53 43 */ addi r4, r4, 0x57505343@l +/* 80006414 00003374 48 33 29 8D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006418 00003378 3C 60 80 2C */ lis r3, RGuiFrameFactoryInGame__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000641C 0000337C 3C 80 46 52 */ lis r4, 0x46524D45@ha +/* 80006420 00003380 38 A3 1D F4 */ addi r5, r3, RGuiFrameFactoryInGame__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006424 00003384 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006428 00003388 38 84 4D 45 */ addi r4, r4, 0x46524D45@l +/* 8000642C 0000338C 48 33 29 75 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006430 00003390 3C 60 80 30 */ lis r3, FRasterFontFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006434 00003394 3C 80 46 4F */ lis r4, 0x464F4E54@ha +/* 80006438 00003398 38 A3 00 80 */ addi r5, r3, FRasterFontFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000643C 0000339C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006440 000033A0 38 84 4E 54 */ addi r4, r4, 0x464F4E54@l +/* 80006444 000033A4 48 33 29 5D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006448 000033A8 3C 60 80 17 */ lis r3, FScannableObjectInfoFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000644C 000033AC 3C 80 53 43 */ lis r4, 0x5343414E@ha +/* 80006450 000033B0 38 A3 99 1C */ addi r5, r3, FScannableObjectInfoFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006454 000033B4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006458 000033B8 38 84 41 4E */ addi r4, r4, 0x5343414E@l +/* 8000645C 000033BC 48 33 29 45 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006460 000033C0 3C 60 80 2F */ lis r3, AnimPOIDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006464 000033C4 3C 80 45 56 */ lis r4, 0x45564E54@ha +/* 80006468 000033C8 38 A3 BA F0 */ addi r5, r3, AnimPOIDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000646C 000033CC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006470 000033D0 38 84 4E 54 */ addi r4, r4, 0x45564E54@l +/* 80006474 000033D4 48 33 29 2D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006478 000033D8 3C 60 80 0E */ lis r3, FAiFiniteStateMachineFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000647C 000033DC 3C 80 41 46 */ lis r4, 0x4146534D@ha +/* 80006480 000033E0 38 A3 E7 FC */ addi r5, r3, FAiFiniteStateMachineFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006484 000033E4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006488 000033E8 38 84 53 4D */ addi r4, r4, 0x4146534D@l +/* 8000648C 000033EC 48 33 29 15 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006490 000033F0 3C 60 80 35 */ lis r3, FAudioGroupSetLocDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006494 000033F4 3C 80 41 47 */ lis r4, 0x41475343@ha +/* 80006498 000033F8 38 A3 A0 24 */ addi r5, r3, FAudioGroupSetLocDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000649C 000033FC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064A0 00003400 38 84 53 43 */ addi r4, r4, 0x41475343@l +/* 800064A4 00003404 48 33 28 3D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064A8 00003408 3C 60 80 2B */ lis r3, FCollidableOBBTreeGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064AC 0000340C 3C 80 44 43 */ lis r4, 0x44434C4E@ha +/* 800064B0 00003410 38 A3 DE F0 */ addi r5, r3, FCollidableOBBTreeGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064B4 00003414 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064B8 00003418 38 84 4C 4E */ addi r4, r4, 0x44434C4E@l +/* 800064BC 0000341C 48 33 28 E5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064C0 00003420 3C 60 80 2B */ lis r3, FDecalDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064C4 00003424 3C 80 44 50 */ lis r4, 0x44505343@ha +/* 800064C8 00003428 38 A3 45 E0 */ addi r5, r3, FDecalDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064CC 0000342C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064D0 00003430 38 84 53 43 */ addi r4, r4, 0x44505343@l +/* 800064D4 00003434 48 33 28 CD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064D8 00003438 3C 60 80 2E */ lis r3, FAudioTranslationTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 800064DC 0000343C 3C 80 41 54 */ lis r4, 0x4154424C@ha +/* 800064E0 00003440 38 A3 78 E4 */ addi r5, r3, FAudioTranslationTableFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800064E4 00003444 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800064E8 00003448 38 84 42 4C */ addi r4, r4, 0x4154424C@l +/* 800064EC 0000344C 48 33 28 B5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800064F0 00003450 3C 60 80 1D */ lis r3, FPathFindAreaFactory__FRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer@ha +/* 800064F4 00003454 3C 80 50 41 */ lis r4, 0x50415448@ha +/* 800064F8 00003458 38 A3 A1 6C */ addi r5, r3, FPathFindAreaFactory__FRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer@l +/* 800064FC 0000345C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006500 00003460 38 84 54 48 */ addi r4, r4, 0x50415448@l +/* 80006504 00003464 48 33 27 DD */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagRCQ24rstl12auto_ptr$$0Uc$$1iRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006508 00003468 3C 60 80 0A */ lis r3, FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000650C 0000346C 3C 80 4D 41 */ lis r4, 0x4D415057@ha +/* 80006510 00003470 38 A3 F3 F4 */ addi r5, r3, FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006514 00003474 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006518 00003478 38 84 50 57 */ addi r4, r4, 0x4D415057@l +/* 8000651C 0000347C 48 33 28 85 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006520 00003480 3C 60 80 08 */ lis r3, FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer_0@ha +/* 80006524 00003484 3C 80 4D 41 */ lis r4, 0x4D415041@ha +/* 80006528 00003488 38 A3 01 90 */ addi r5, r3, FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer_0@l +/* 8000652C 0000348C 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006530 00003490 38 84 50 41 */ addi r4, r4, 0x4D415041@l +/* 80006534 00003494 48 33 28 6D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006538 00003498 3C 60 80 20 */ lis r3, FMapUniverseFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000653C 0000349C 3C 80 4D 41 */ lis r4, 0x4D415055@ha +/* 80006540 000034A0 38 A3 1D 10 */ addi r5, r3, FMapUniverseFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006544 000034A4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006548 000034A8 38 84 50 55 */ addi r4, r4, 0x4D415055@l +/* 8000654C 000034AC 48 33 28 55 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006550 000034B0 3C 60 80 36 */ lis r3, FMidiDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006554 000034B4 3C 80 43 53 */ lis r4, 0x43534E47@ha +/* 80006558 000034B8 38 A3 8B 64 */ addi r5, r3, FMidiDataFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000655C 000034BC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006560 000034C0 38 84 4E 47 */ addi r4, r4, 0x43534E47@l +/* 80006564 000034C4 48 33 28 3D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006568 000034C8 3C 60 80 36 */ lis r3, FDependencyGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000656C 000034CC 3C 80 44 47 */ lis r4, 0x44475250@ha +/* 80006570 000034D0 38 A3 4F 54 */ addi r5, r3, FDependencyGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 80006574 000034D4 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006578 000034D8 38 84 52 50 */ addi r4, r4, 0x44475250@l +/* 8000657C 000034DC 48 33 28 25 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006580 000034E0 3C 60 80 27 */ lis r3, FSaveWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 80006584 000034E4 3C 80 53 41 */ lis r4, 0x53415657@ha +/* 80006588 000034E8 38 A3 AD 60 */ addi r5, r3, FSaveWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 8000658C 000034EC 38 7F 00 5C */ addi r3, r31, 0x5c +/* 80006590 000034F0 38 84 56 57 */ addi r4, r4, 0x53415657@l +/* 80006594 000034F4 48 33 28 0D */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 80006598 000034F8 3C 60 80 26 */ lis r3, FHintFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@ha +/* 8000659C 000034FC 3C 80 48 49 */ lis r4, 0x48494E54@ha +/* 800065A0 00003500 38 A3 71 44 */ addi r5, r3, FHintFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer@l +/* 800065A4 00003504 38 7F 00 5C */ addi r3, r31, 0x5c +/* 800065A8 00003508 38 84 4E 54 */ addi r4, r4, 0x48494E54@l +/* 800065AC 0000350C 48 33 27 F5 */ bl AddFactory__11CFactoryMgrFUiPFRC10SObjectTagR12CInputStreamRC15CVParamTransfer_C16CFactoryFnReturn +/* 800065B0 00003510 3C 80 80 3F */ lis r4, lbl_803EA3C0@ha +/* 800065B4 00003514 38 61 00 98 */ addi r3, r1, 0x98 +/* 800065B8 00003518 38 04 A3 C0 */ addi r0, r4, lbl_803EA3C0@l +/* 800065BC 0000351C 38 80 00 00 */ li r4, 0 +/* 800065C0 00003520 90 01 00 98 */ stw r0, 0x98(r1) +/* 800065C4 00003524 48 04 C5 E1 */ bl __dt__6CIOWinFv +/* 800065C8 00003528 80 01 00 C4 */ lwz r0, 0xc4(r1) +/* 800065CC 0000352C 83 E1 00 BC */ lwz r31, 0xbc(r1) +/* 800065D0 00003530 7C 08 03 A6 */ mtlr r0 +/* 800065D4 00003534 38 21 00 C0 */ addi r1, r1, 0xc0 +/* 800065D8 00003538 4E 80 00 20 */ blr + +.global __dt__18CErrorOutputWindowFv +__dt__18CErrorOutputWindowFv: +/* 800065DC 0000353C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800065E0 00003540 7C 08 02 A6 */ mflr r0 +/* 800065E4 00003544 90 01 00 14 */ stw r0, 0x14(r1) +/* 800065E8 00003548 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800065EC 0000354C 7C 9F 23 78 */ mr r31, r4 +/* 800065F0 00003550 93 C1 00 08 */ stw r30, 8(r1) +/* 800065F4 00003554 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800065F8 00003558 41 82 00 28 */ beq lbl_80006620 +/* 800065FC 0000355C 3C A0 80 3F */ lis r5, lbl_803EA3C0@ha +/* 80006600 00003560 38 80 00 00 */ li r4, 0 +/* 80006604 00003564 38 05 A3 C0 */ addi r0, r5, lbl_803EA3C0@l +/* 80006608 00003568 90 1E 00 00 */ stw r0, 0(r30) +/* 8000660C 0000356C 48 04 C5 99 */ bl __dt__6CIOWinFv +/* 80006610 00003570 7F E0 07 35 */ extsh. r0, r31 +/* 80006614 00003574 40 81 00 0C */ ble lbl_80006620 +/* 80006618 00003578 7F C3 F3 78 */ mr r3, r30 +/* 8000661C 0000357C 48 30 F3 15 */ bl Free__7CMemoryFPCv +lbl_80006620: +/* 80006620 00003580 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006624 00003584 7F C3 F3 78 */ mr r3, r30 +/* 80006628 00003588 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 8000662C 0000358C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80006630 00003590 7C 08 03 A6 */ mtlr r0 +/* 80006634 00003594 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006638 00003598 4E 80 00 20 */ blr + +.global MemoryCardInitializePump__5CMainFv +MemoryCardInitializePump__5CMainFv: +/* 8000663C 0000359C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80006640 000035A0 7C 08 02 A6 */ mflr r0 +/* 80006644 000035A4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80006648 000035A8 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8000664C 000035AC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80006650 000035B0 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80006654 000035B4 7C 7D 1B 78 */ mr r29, r3 +/* 80006658 000035B8 80 0D A0 84 */ lwz r0, gpMemoryCard@sda21(r13) +/* 8000665C 000035BC 28 00 00 00 */ cmplwi r0, 0 +/* 80006660 000035C0 40 82 00 74 */ bne lbl_800066D4 +/* 80006664 000035C4 80 7D 01 28 */ lwz r3, 0x128(r29) +/* 80006668 000035C8 80 03 01 38 */ lwz r0, 0x138(r3) +/* 8000666C 000035CC 28 00 00 00 */ cmplwi r0, 0 +/* 80006670 000035D0 40 82 00 40 */ bne lbl_800066B0 +/* 80006674 000035D4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006678 000035D8 38 60 00 4C */ li r3, 0x4c +/* 8000667C 000035DC 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80006680 000035E0 38 A0 00 00 */ li r5, 0 +/* 80006684 000035E4 38 84 00 37 */ addi r4, r4, 0x37 +/* 80006688 000035E8 48 30 F1 E5 */ bl __nw__FUlPCcPCc +/* 8000668C 000035EC 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80006690 000035F0 41 82 00 0C */ beq lbl_8000669C +/* 80006694 000035F4 48 24 3B 79 */ bl __ct__14CMemoryCardSysFv +/* 80006698 000035F8 7C 7E 1B 78 */ mr r30, r3 +lbl_8000669C: +/* 8000669C 000035FC 83 FD 01 28 */ lwz r31, 0x128(r29) +/* 800066A0 00003600 38 80 00 01 */ li r4, 1 +/* 800066A4 00003604 80 7F 01 38 */ lwz r3, 0x138(r31) +/* 800066A8 00003608 48 24 37 5D */ bl __dt__14CMemoryCardSysFv +/* 800066AC 0000360C 93 DF 01 38 */ stw r30, 0x138(r31) +lbl_800066B0: +/* 800066B0 00003610 80 7D 01 28 */ lwz r3, 0x128(r29) +/* 800066B4 00003614 83 C3 01 38 */ lwz r30, 0x138(r3) +/* 800066B8 00003618 7F C3 F3 78 */ mr r3, r30 +/* 800066BC 0000361C 48 24 29 D1 */ bl InitializePump__14CMemoryCardSysFv +/* 800066C0 00003620 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800066C4 00003624 41 82 00 10 */ beq lbl_800066D4 +/* 800066C8 00003628 93 CD A0 84 */ stw r30, gpMemoryCard@sda21(r13) +/* 800066CC 0000362C 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 800066D0 00003630 48 1C DE 49 */ bl InitializeMemoryStates__10CGameStateFv +lbl_800066D4: +/* 800066D4 00003634 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800066D8 00003638 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 800066DC 0000363C 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 800066E0 00003640 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 800066E4 00003644 7C 08 03 A6 */ mtlr r0 +/* 800066E8 00003648 38 21 00 20 */ addi r1, r1, 0x20 +/* 800066EC 0000364C 4E 80 00 20 */ blr + +.global UnloadAudio__24CGameArchitectureSupportFv +UnloadAudio__24CGameArchitectureSupportFv: +/* 800066F0 00003650 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 800066F4 00003654 7C 08 02 A6 */ mflr r0 +/* 800066F8 00003658 90 01 00 54 */ stw r0, 0x54(r1) +/* 800066FC 0000365C 93 E1 00 4C */ stw r31, 0x4c(r1) +/* 80006700 00003660 93 C1 00 48 */ stw r30, 0x48(r1) +/* 80006704 00003664 93 A1 00 44 */ stw r29, 0x44(r1) +/* 80006708 00003668 7C 7D 1B 78 */ mr r29, r3 +/* 8000670C 0000366C 80 03 00 88 */ lwz r0, 0x88(r3) +/* 80006710 00003670 2C 00 00 01 */ cmpwi r0, 1 +/* 80006714 00003674 40 82 00 64 */ bne lbl_80006778 +/* 80006718 00003678 3C 60 80 3D */ lis r3, lbl_803CBE4C@ha +/* 8000671C 0000367C 3B C0 00 00 */ li r30, 0 +/* 80006720 00003680 3B E3 BE 4C */ addi r31, r3, lbl_803CBE4C@l +lbl_80006724: +/* 80006724 00003684 48 34 51 CD */ bl SysPopGroupFromARAM__9CAudioSysFv +/* 80006728 00003688 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 8000672C 0000368C 20 1E 00 04 */ subfic r0, r30, 4 +/* 80006730 00003690 54 00 18 38 */ slwi r0, r0, 3 +/* 80006734 00003694 81 83 00 00 */ lwz r12, 0(r3) +/* 80006738 00003698 7C 9F 00 2E */ lwzx r4, r31, r0 +/* 8000673C 0000369C 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80006740 000036A0 7D 89 03 A6 */ mtctr r12 +/* 80006744 000036A4 4E 80 04 21 */ bctrl +/* 80006748 000036A8 80 63 00 04 */ lwz r3, 4(r3) +/* 8000674C 000036AC 48 34 50 F9 */ bl SysGetGroupSetName__9CAudioSysFUi +/* 80006750 000036B0 7C 64 1B 78 */ mr r4, r3 +/* 80006754 000036B4 38 61 00 28 */ addi r3, r1, 0x28 +/* 80006758 000036B8 48 33 7A 09 */ bl __ct__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1FRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 8000675C 000036BC 38 61 00 28 */ addi r3, r1, 0x28 +/* 80006760 000036C0 48 34 53 09 */ bl SysUnloadGroupSet__9CAudioSysFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 80006764 000036C4 38 61 00 28 */ addi r3, r1, 0x28 +/* 80006768 000036C8 48 33 73 79 */ bl internal_dereference__Q24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Fv +/* 8000676C 000036CC 3B DE 00 01 */ addi r30, r30, 1 +/* 80006770 000036D0 28 1E 00 05 */ cmplwi r30, 5 +/* 80006774 000036D4 41 80 FF B0 */ blt lbl_80006724 +lbl_80006778: +/* 80006778 000036D8 38 00 00 00 */ li r0, 0 +/* 8000677C 000036DC 38 7D 00 8C */ addi r3, r29, 0x8c +/* 80006780 000036E0 90 01 00 1C */ stw r0, 0x1c(r1) +/* 80006784 000036E4 38 81 00 18 */ addi r4, r1, 0x18 +/* 80006788 000036E8 90 01 00 20 */ stw r0, 0x20(r1) +/* 8000678C 000036EC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80006790 000036F0 48 00 00 75 */ bl sub_80006804 +/* 80006794 000036F4 80 01 00 1C */ lwz r0, 0x1c(r1) +/* 80006798 000036F8 83 C1 00 24 */ lwz r30, 0x24(r1) +/* 8000679C 000036FC 54 00 18 38 */ slwi r0, r0, 3 +/* 800067A0 00003700 7F FE 02 14 */ add r31, r30, r0 +/* 800067A4 00003704 93 C1 00 0C */ stw r30, 0xc(r1) +/* 800067A8 00003708 93 E1 00 14 */ stw r31, 0x14(r1) +/* 800067AC 0000370C 93 E1 00 10 */ stw r31, 0x10(r1) +/* 800067B0 00003710 93 C1 00 08 */ stw r30, 8(r1) +/* 800067B4 00003714 48 00 00 14 */ b lbl_800067C8 +lbl_800067B8: +/* 800067B8 00003718 7F C3 F3 78 */ mr r3, r30 +/* 800067BC 0000371C 38 80 FF FF */ li r4, -1 +/* 800067C0 00003720 48 33 A6 81 */ bl __dt__6CTokenFv +/* 800067C4 00003724 3B DE 00 08 */ addi r30, r30, 8 +lbl_800067C8: +/* 800067C8 00003728 7C 1E F8 40 */ cmplw r30, r31 +/* 800067CC 0000372C 40 82 FF EC */ bne lbl_800067B8 +/* 800067D0 00003730 80 61 00 24 */ lwz r3, 0x24(r1) +/* 800067D4 00003734 28 03 00 00 */ cmplwi r3, 0 +/* 800067D8 00003738 41 82 00 08 */ beq lbl_800067E0 +/* 800067DC 0000373C 48 30 F1 55 */ bl Free__7CMemoryFPCv +lbl_800067E0: +/* 800067E0 00003740 38 00 00 02 */ li r0, 2 +/* 800067E4 00003744 90 1D 00 88 */ stw r0, 0x88(r29) +/* 800067E8 00003748 80 01 00 54 */ lwz r0, 0x54(r1) +/* 800067EC 0000374C 83 E1 00 4C */ lwz r31, 0x4c(r1) +/* 800067F0 00003750 83 C1 00 48 */ lwz r30, 0x48(r1) +/* 800067F4 00003754 83 A1 00 44 */ lwz r29, 0x44(r1) +/* 800067F8 00003758 7C 08 03 A6 */ mtlr r0 +/* 800067FC 0000375C 38 21 00 50 */ addi r1, r1, 0x50 +/* 80006800 00003760 4E 80 00 20 */ blr + +.global sub_80006804 +sub_80006804: +/* 80006804 00003764 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80006808 00003768 7C 08 02 A6 */ mflr r0 +/* 8000680C 0000376C 90 01 00 34 */ stw r0, 0x34(r1) +/* 80006810 00003770 BF 61 00 1C */ stmw r27, 0x1c(r1) +/* 80006814 00003774 7C 7F 1B 78 */ mr r31, r3 +/* 80006818 00003778 7C 9B 23 78 */ mr r27, r4 +/* 8000681C 0000377C 7C 1F D8 40 */ cmplw r31, r27 +/* 80006820 00003780 40 82 00 08 */ bne lbl_80006828 +/* 80006824 00003784 48 00 00 C8 */ b lbl_800068EC +lbl_80006828: +/* 80006828 00003788 80 1F 00 04 */ lwz r0, 4(r31) +/* 8000682C 0000378C 83 BF 00 0C */ lwz r29, 0xc(r31) +/* 80006830 00003790 54 00 18 38 */ slwi r0, r0, 3 +/* 80006834 00003794 7F DD 02 14 */ add r30, r29, r0 +/* 80006838 00003798 93 A1 00 0C */ stw r29, 0xc(r1) +/* 8000683C 0000379C 93 C1 00 14 */ stw r30, 0x14(r1) +/* 80006840 000037A0 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80006844 000037A4 93 A1 00 08 */ stw r29, 8(r1) +/* 80006848 000037A8 48 00 00 14 */ b lbl_8000685C +lbl_8000684C: +/* 8000684C 000037AC 7F A3 EB 78 */ mr r3, r29 +/* 80006850 000037B0 38 80 FF FF */ li r4, -1 +/* 80006854 000037B4 48 33 A5 ED */ bl __dt__6CTokenFv +/* 80006858 000037B8 3B BD 00 08 */ addi r29, r29, 8 +lbl_8000685C: +/* 8000685C 000037BC 7C 1D F0 40 */ cmplw r29, r30 +/* 80006860 000037C0 40 82 FF EC */ bne lbl_8000684C +/* 80006864 000037C4 38 00 00 00 */ li r0, 0 +/* 80006868 000037C8 90 1F 00 04 */ stw r0, 4(r31) +/* 8000686C 000037CC 80 9B 00 04 */ lwz r4, 4(r27) +/* 80006870 000037D0 2C 04 00 00 */ cmpwi r4, 0 +/* 80006874 000037D4 40 82 00 28 */ bne lbl_8000689C +/* 80006878 000037D8 80 7F 00 0C */ lwz r3, 0xc(r31) +/* 8000687C 000037DC 28 03 00 00 */ cmplwi r3, 0 +/* 80006880 000037E0 41 82 00 08 */ beq lbl_80006888 +/* 80006884 000037E4 48 30 F0 AD */ bl Free__7CMemoryFPCv +lbl_80006888: +/* 80006888 000037E8 38 00 00 00 */ li r0, 0 +/* 8000688C 000037EC 90 1F 00 04 */ stw r0, 4(r31) +/* 80006890 000037F0 90 1F 00 08 */ stw r0, 8(r31) +/* 80006894 000037F4 90 1F 00 0C */ stw r0, 0xc(r31) +/* 80006898 000037F8 48 00 00 50 */ b lbl_800068E8 +lbl_8000689C: +/* 8000689C 000037FC 7F E3 FB 78 */ mr r3, r31 +/* 800068A0 00003800 48 00 20 BD */ bl reserve__Q24rstl42vector$$06CToken$$4Q24rstl17rmemory_allocator$$1Fi +/* 800068A4 00003804 80 1B 00 04 */ lwz r0, 4(r27) +/* 800068A8 00003808 83 9B 00 0C */ lwz r28, 0xc(r27) +/* 800068AC 0000380C 54 00 18 38 */ slwi r0, r0, 3 +/* 800068B0 00003810 83 DF 00 0C */ lwz r30, 0xc(r31) +/* 800068B4 00003814 7F BC 02 14 */ add r29, r28, r0 +/* 800068B8 00003818 48 00 00 20 */ b lbl_800068D8 +lbl_800068BC: +/* 800068BC 0000381C 28 1E 00 00 */ cmplwi r30, 0 +/* 800068C0 00003820 41 82 00 10 */ beq lbl_800068D0 +/* 800068C4 00003824 7F C3 F3 78 */ mr r3, r30 +/* 800068C8 00003828 7F 84 E3 78 */ mr r4, r28 +/* 800068CC 0000382C 48 33 A5 DD */ bl __ct__6CTokenFRC6CToken +lbl_800068D0: +/* 800068D0 00003830 3B DE 00 08 */ addi r30, r30, 8 +/* 800068D4 00003834 3B 9C 00 08 */ addi r28, r28, 8 +lbl_800068D8: +/* 800068D8 00003838 7C 1C E8 40 */ cmplw r28, r29 +/* 800068DC 0000383C 40 82 FF E0 */ bne lbl_800068BC +/* 800068E0 00003840 80 1B 00 04 */ lwz r0, 4(r27) +/* 800068E4 00003844 90 1F 00 04 */ stw r0, 4(r31) +lbl_800068E8: +/* 800068E8 00003848 7F E3 FB 78 */ mr r3, r31 +lbl_800068EC: +/* 800068EC 0000384C BB 61 00 1C */ lmw r27, 0x1c(r1) +/* 800068F0 00003850 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800068F4 00003854 7C 08 03 A6 */ mtlr r0 +/* 800068F8 00003858 38 21 00 30 */ addi r1, r1, 0x30 +/* 800068FC 0000385C 4E 80 00 20 */ blr + +.global LoadAudio__5CMainFv +LoadAudio__5CMainFv: +/* 80006900 00003860 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006904 00003864 7C 08 02 A6 */ mflr r0 +/* 80006908 00003868 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000690C 0000386C 80 63 01 64 */ lwz r3, 0x164(r3) +/* 80006910 00003870 28 03 00 00 */ cmplwi r3, 0 +/* 80006914 00003874 41 82 00 0C */ beq lbl_80006920 +/* 80006918 00003878 48 00 00 1D */ bl LoadAudio__24CGameArchitectureSupportFv +/* 8000691C 0000387C 48 00 00 08 */ b lbl_80006924 +lbl_80006920: +/* 80006920 00003880 38 60 00 01 */ li r3, 1 +lbl_80006924: +/* 80006924 00003884 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006928 00003888 7C 08 03 A6 */ mtlr r0 +/* 8000692C 0000388C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006930 00003890 4E 80 00 20 */ blr + +.global LoadAudio__24CGameArchitectureSupportFv +LoadAudio__24CGameArchitectureSupportFv: +/* 80006934 00003894 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 80006938 00003898 7C 08 02 A6 */ mflr r0 +/* 8000693C 0000389C 90 01 00 54 */ stw r0, 0x54(r1) +/* 80006940 000038A0 BF 41 00 38 */ stmw r26, 0x38(r1) +/* 80006944 000038A4 7C 7F 1B 78 */ mr r31, r3 +/* 80006948 000038A8 80 03 00 88 */ lwz r0, 0x88(r3) +/* 8000694C 000038AC 2C 00 00 01 */ cmpwi r0, 1 +/* 80006950 000038B0 40 82 00 0C */ bne lbl_8000695C +/* 80006954 000038B4 38 60 00 01 */ li r3, 1 +/* 80006958 000038B8 48 00 01 A8 */ b lbl_80006B00 +lbl_8000695C: +/* 8000695C 000038BC 3C 60 80 3D */ lis r3, lbl_803CBE4C@ha +/* 80006960 000038C0 3B 60 00 01 */ li r27, 1 +/* 80006964 000038C4 3B 83 BE 4C */ addi r28, r3, lbl_803CBE4C@l +/* 80006968 000038C8 3B 40 00 00 */ li r26, 0 +/* 8000696C 000038CC 3B A0 00 00 */ li r29, 0 +lbl_80006970: +/* 80006970 000038D0 80 1F 00 98 */ lwz r0, 0x98(r31) +/* 80006974 000038D4 7C 80 EA 14 */ add r4, r0, r29 +/* 80006978 000038D8 88 04 00 04 */ lbz r0, 4(r4) +/* 8000697C 000038DC 28 00 00 00 */ cmplwi r0, 0 +/* 80006980 000038E0 41 82 00 AC */ beq lbl_80006A2C +/* 80006984 000038E4 80 64 00 00 */ lwz r3, 0(r4) +/* 80006988 000038E8 80 03 00 10 */ lwz r0, 0x10(r3) +/* 8000698C 000038EC 28 00 00 00 */ cmplwi r0, 0 +/* 80006990 000038F0 41 82 00 94 */ beq lbl_80006A24 +/* 80006994 000038F4 38 61 00 18 */ addi r3, r1, 0x18 +/* 80006998 000038F8 48 33 A5 11 */ bl __ct__6CTokenFRC6CToken +/* 8000699C 000038FC 38 61 00 18 */ addi r3, r1, 0x18 +/* 800069A0 00003900 48 33 A4 6D */ bl GetObj__6CTokenFv +/* 800069A4 00003904 80 63 00 04 */ lwz r3, 4(r3) +/* 800069A8 00003908 38 63 00 20 */ addi r3, r3, 0x20 +/* 800069AC 0000390C 48 34 56 AD */ bl SysIsGroupSetLoaded__9CAudioSysFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +/* 800069B0 00003910 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 800069B4 00003914 40 82 00 60 */ bne lbl_80006A14 +/* 800069B8 00003918 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 800069BC 0000391C 80 9C 00 00 */ lwz r4, 0(r28) +/* 800069C0 00003920 81 83 00 00 */ lwz r12, 0(r3) +/* 800069C4 00003924 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 800069C8 00003928 7D 89 03 A6 */ mtctr r12 +/* 800069CC 0000392C 4E 80 04 21 */ bctrl +/* 800069D0 00003930 83 C3 00 04 */ lwz r30, 4(r3) +/* 800069D4 00003934 38 61 00 18 */ addi r3, r1, 0x18 +/* 800069D8 00003938 48 33 A4 35 */ bl GetObj__6CTokenFv +/* 800069DC 0000393C 80 83 00 04 */ lwz r4, 4(r3) +/* 800069E0 00003940 7F C5 F3 78 */ mr r5, r30 +/* 800069E4 00003944 38 61 00 18 */ addi r3, r1, 0x18 +/* 800069E8 00003948 38 84 00 20 */ addi r4, r4, 0x20 +/* 800069EC 0000394C 48 34 56 BD */ bl SysLoadGroupSet__9CAudioSysF30TLockedToken$$014CAudioGroupSet$$1Q24rstl6stringUi +/* 800069F0 00003950 38 61 00 18 */ addi r3, r1, 0x18 +/* 800069F4 00003954 48 33 A4 19 */ bl GetObj__6CTokenFv +/* 800069F8 00003958 80 63 00 04 */ lwz r3, 4(r3) +/* 800069FC 0000395C 88 9C 00 04 */ lbz r4, 4(r28) +/* 80006A00 00003960 3B C3 00 20 */ addi r30, r3, 0x20 +/* 80006A04 00003964 7F C3 F3 78 */ mr r3, r30 +/* 80006A08 00003968 48 34 4F 09 */ bl SysPushGroupIntoARAM__9CAudioSysFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1Uc +/* 80006A0C 0000396C 7F C3 F3 78 */ mr r3, r30 +/* 80006A10 00003970 48 34 55 D5 */ bl SysUnloadSampleData__9CAudioSysFRCQ24rstl66basic_string$$0c$$4Q24rstl14char_traits$$0c$$1$$4Q24rstl17rmemory_allocator$$1 +lbl_80006A14: +/* 80006A14 00003974 38 61 00 18 */ addi r3, r1, 0x18 +/* 80006A18 00003978 38 80 00 00 */ li r4, 0 +/* 80006A1C 0000397C 48 33 A4 25 */ bl __dt__6CTokenFv +/* 80006A20 00003980 48 00 00 1C */ b lbl_80006A3C +lbl_80006A24: +/* 80006A24 00003984 3B 60 00 00 */ li r27, 0 +/* 80006A28 00003988 48 00 00 28 */ b lbl_80006A50 +lbl_80006A2C: +/* 80006A2C 0000398C 7C 83 23 78 */ mr r3, r4 +/* 80006A30 00003990 3B 60 00 00 */ li r27, 0 +/* 80006A34 00003994 48 33 A3 51 */ bl Lock__6CTokenFv +/* 80006A38 00003998 48 00 00 18 */ b lbl_80006A50 +lbl_80006A3C: +/* 80006A3C 0000399C 3B 5A 00 01 */ addi r26, r26, 1 +/* 80006A40 000039A0 3B 9C 00 08 */ addi r28, r28, 8 +/* 80006A44 000039A4 28 1A 00 05 */ cmplwi r26, 5 +/* 80006A48 000039A8 3B BD 00 08 */ addi r29, r29, 8 +/* 80006A4C 000039AC 41 80 FF 24 */ blt lbl_80006970 +lbl_80006A50: +/* 80006A50 000039B0 57 60 06 3F */ clrlwi. r0, r27, 0x18 +/* 80006A54 000039B4 40 82 00 0C */ bne lbl_80006A60 +/* 80006A58 000039B8 38 60 00 00 */ li r3, 0 +/* 80006A5C 000039BC 48 00 00 A4 */ b lbl_80006B00 +lbl_80006A60: +/* 80006A60 000039C0 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13) +/* 80006A64 000039C4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80006A68 000039C8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80006A6C 000039CC 81 83 00 00 */ lwz r12, 0(r3) +/* 80006A70 000039D0 38 84 01 16 */ addi r4, r4, 0x116 +/* 80006A74 000039D4 81 8C 00 1C */ lwz r12, 0x1c(r12) +/* 80006A78 000039D8 7D 89 03 A6 */ mtctr r12 +/* 80006A7C 000039DC 4E 80 04 21 */ bctrl +/* 80006A80 000039E0 7C 64 1B 78 */ mr r4, r3 +/* 80006A84 000039E4 80 6D A0 64 */ lwz r3, gpSimplePool@sda21(r13) +/* 80006A88 000039E8 48 2E 1F 75 */ bl LoadTranslationTable__11CSfxManagerFP11CSimplePoolPC10SObjectTag +/* 80006A8C 000039EC 38 00 00 00 */ li r0, 0 +/* 80006A90 000039F0 38 7F 00 8C */ addi r3, r31, 0x8c +/* 80006A94 000039F4 90 01 00 24 */ stw r0, 0x24(r1) +/* 80006A98 000039F8 38 81 00 20 */ addi r4, r1, 0x20 +/* 80006A9C 000039FC 90 01 00 28 */ stw r0, 0x28(r1) +/* 80006AA0 00003A00 90 01 00 2C */ stw r0, 0x2c(r1) +/* 80006AA4 00003A04 4B FF FD 61 */ bl sub_80006804 +/* 80006AA8 00003A08 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80006AAC 00003A0C 83 81 00 2C */ lwz r28, 0x2c(r1) +/* 80006AB0 00003A10 54 00 18 38 */ slwi r0, r0, 3 +/* 80006AB4 00003A14 7F DC 02 14 */ add r30, r28, r0 +/* 80006AB8 00003A18 93 81 00 0C */ stw r28, 0xc(r1) +/* 80006ABC 00003A1C 93 C1 00 14 */ stw r30, 0x14(r1) +/* 80006AC0 00003A20 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80006AC4 00003A24 93 81 00 08 */ stw r28, 8(r1) +/* 80006AC8 00003A28 48 00 00 14 */ b lbl_80006ADC +lbl_80006ACC: +/* 80006ACC 00003A2C 7F 83 E3 78 */ mr r3, r28 +/* 80006AD0 00003A30 38 80 FF FF */ li r4, -1 +/* 80006AD4 00003A34 48 33 A3 6D */ bl __dt__6CTokenFv +/* 80006AD8 00003A38 3B 9C 00 08 */ addi r28, r28, 8 +lbl_80006ADC: +/* 80006ADC 00003A3C 7C 1C F0 40 */ cmplw r28, r30 +/* 80006AE0 00003A40 40 82 FF EC */ bne lbl_80006ACC +/* 80006AE4 00003A44 80 61 00 2C */ lwz r3, 0x2c(r1) +/* 80006AE8 00003A48 28 03 00 00 */ cmplwi r3, 0 +/* 80006AEC 00003A4C 41 82 00 08 */ beq lbl_80006AF4 +/* 80006AF0 00003A50 48 30 EE 41 */ bl Free__7CMemoryFPCv +lbl_80006AF4: +/* 80006AF4 00003A54 38 00 00 01 */ li r0, 1 +/* 80006AF8 00003A58 38 60 00 01 */ li r3, 1 +/* 80006AFC 00003A5C 90 1F 00 88 */ stw r0, 0x88(r31) +lbl_80006B00: +/* 80006B00 00003A60 BB 41 00 38 */ lmw r26, 0x38(r1) +/* 80006B04 00003A64 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80006B08 00003A68 7C 08 03 A6 */ mtlr r0 +/* 80006B0C 00003A6C 38 21 00 50 */ addi r1, r1, 0x50 +/* 80006B10 00003A70 4E 80 00 20 */ blr + +.global PreloadAudio__24CGameArchitectureSupportFv +PreloadAudio__24CGameArchitectureSupportFv: +/* 80006B14 00003A74 94 21 FF B0 */ stwu r1, -0x50(r1) +/* 80006B18 00003A78 7C 08 02 A6 */ mflr r0 +/* 80006B1C 00003A7C 90 01 00 54 */ stw r0, 0x54(r1) +/* 80006B20 00003A80 93 E1 00 4C */ stw r31, 0x4c(r1) +/* 80006B24 00003A84 7C 7F 1B 78 */ mr r31, r3 +/* 80006B28 00003A88 93 C1 00 48 */ stw r30, 0x48(r1) +/* 80006B2C 00003A8C 93 A1 00 44 */ stw r29, 0x44(r1) +/* 80006B30 00003A90 80 03 00 88 */ lwz r0, 0x88(r3) +/* 80006B34 00003A94 2C 00 00 02 */ cmpwi r0, 2 +/* 80006B38 00003A98 40 82 01 3C */ bne lbl_80006C74 +/* 80006B3C 00003A9C 38 00 00 00 */ li r0, 0 +/* 80006B40 00003AA0 38 7F 00 8C */ addi r3, r31, 0x8c +/* 80006B44 00003AA4 90 01 00 2C */ stw r0, 0x2c(r1) +/* 80006B48 00003AA8 38 81 00 28 */ addi r4, r1, 0x28 +/* 80006B4C 00003AAC 90 01 00 30 */ stw r0, 0x30(r1) +/* 80006B50 00003AB0 90 01 00 34 */ stw r0, 0x34(r1) +/* 80006B54 00003AB4 4B FF FC B1 */ bl sub_80006804 +/* 80006B58 00003AB8 80 01 00 2C */ lwz r0, 0x2c(r1) +/* 80006B5C 00003ABC 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 80006B60 00003AC0 54 00 18 38 */ slwi r0, r0, 3 +/* 80006B64 00003AC4 7F DD 02 14 */ add r30, r29, r0 +/* 80006B68 00003AC8 93 A1 00 0C */ stw r29, 0xc(r1) +/* 80006B6C 00003ACC 93 C1 00 14 */ stw r30, 0x14(r1) +/* 80006B70 00003AD0 93 C1 00 10 */ stw r30, 0x10(r1) +/* 80006B74 00003AD4 93 A1 00 08 */ stw r29, 8(r1) +/* 80006B78 00003AD8 48 00 00 14 */ b lbl_80006B8C +lbl_80006B7C: +/* 80006B7C 00003ADC 7F A3 EB 78 */ mr r3, r29 +/* 80006B80 00003AE0 38 80 FF FF */ li r4, -1 +/* 80006B84 00003AE4 48 33 A2 BD */ bl __dt__6CTokenFv +/* 80006B88 00003AE8 3B BD 00 08 */ addi r29, r29, 8 +lbl_80006B8C: +/* 80006B8C 00003AEC 7C 1D F0 40 */ cmplw r29, r30 +/* 80006B90 00003AF0 40 82 FF EC */ bne lbl_80006B7C +/* 80006B94 00003AF4 80 61 00 34 */ lwz r3, 0x34(r1) +/* 80006B98 00003AF8 28 03 00 00 */ cmplwi r3, 0 +/* 80006B9C 00003AFC 41 82 00 08 */ beq lbl_80006BA4 +/* 80006BA0 00003B00 48 30 ED 91 */ bl Free__7CMemoryFPCv +lbl_80006BA4: +/* 80006BA4 00003B04 38 7F 00 8C */ addi r3, r31, 0x8c +/* 80006BA8 00003B08 38 80 00 05 */ li r4, 5 +/* 80006BAC 00003B0C 48 00 1D B1 */ bl reserve__Q24rstl42vector$$06CToken$$4Q24rstl17rmemory_allocator$$1Fi +/* 80006BB0 00003B10 3C 60 80 3D */ lis r3, lbl_803CBE4C@ha +/* 80006BB4 00003B14 3B A0 00 00 */ li r29, 0 +/* 80006BB8 00003B18 3B C3 BE 4C */ addi r30, r3, lbl_803CBE4C@l +lbl_80006BBC: +/* 80006BBC 00003B1C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) +/* 80006BC0 00003B20 38 61 00 18 */ addi r3, r1, 0x18 +/* 80006BC4 00003B24 80 BE 00 00 */ lwz r5, 0(r30) +/* 80006BC8 00003B28 81 84 00 00 */ lwz r12, 0(r4) +/* 80006BCC 00003B2C 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80006BD0 00003B30 7D 89 03 A6 */ mtctr r12 +/* 80006BD4 00003B34 4E 80 04 21 */ bctrl +/* 80006BD8 00003B38 38 61 00 20 */ addi r3, r1, 0x20 +/* 80006BDC 00003B3C 38 81 00 18 */ addi r4, r1, 0x18 +/* 80006BE0 00003B40 48 33 A2 C9 */ bl __ct__6CTokenFRC6CToken +/* 80006BE4 00003B44 38 61 00 18 */ addi r3, r1, 0x18 +/* 80006BE8 00003B48 38 80 FF FF */ li r4, -1 +/* 80006BEC 00003B4C 48 33 A2 55 */ bl __dt__6CTokenFv +/* 80006BF0 00003B50 2C 1D 00 00 */ cmpwi r29, 0 +/* 80006BF4 00003B54 40 82 00 0C */ bne lbl_80006C00 +/* 80006BF8 00003B58 38 61 00 20 */ addi r3, r1, 0x20 +/* 80006BFC 00003B5C 48 33 A1 89 */ bl Lock__6CTokenFv +lbl_80006C00: +/* 80006C00 00003B60 80 1F 00 90 */ lwz r0, 0x90(r31) +/* 80006C04 00003B64 80 BF 00 94 */ lwz r5, 0x94(r31) +/* 80006C08 00003B68 7C 00 28 00 */ cmpw r0, r5 +/* 80006C0C 00003B6C 41 80 00 1C */ blt lbl_80006C28 +/* 80006C10 00003B70 2C 05 00 00 */ cmpwi r5, 0 +/* 80006C14 00003B74 38 7F 00 8C */ addi r3, r31, 0x8c +/* 80006C18 00003B78 38 80 00 04 */ li r4, 4 +/* 80006C1C 00003B7C 41 82 00 08 */ beq lbl_80006C24 +/* 80006C20 00003B80 54 A4 08 3C */ slwi r4, r5, 1 +lbl_80006C24: +/* 80006C24 00003B84 48 00 1D 39 */ bl reserve__Q24rstl42vector$$06CToken$$4Q24rstl17rmemory_allocator$$1Fi +lbl_80006C28: +/* 80006C28 00003B88 80 1F 00 90 */ lwz r0, 0x90(r31) +/* 80006C2C 00003B8C 80 7F 00 98 */ lwz r3, 0x98(r31) +/* 80006C30 00003B90 54 00 18 38 */ slwi r0, r0, 3 +/* 80006C34 00003B94 7C 63 02 15 */ add. r3, r3, r0 +/* 80006C38 00003B98 41 82 00 0C */ beq lbl_80006C44 +/* 80006C3C 00003B9C 38 81 00 20 */ addi r4, r1, 0x20 +/* 80006C40 00003BA0 48 33 A2 69 */ bl __ct__6CTokenFRC6CToken +lbl_80006C44: +/* 80006C44 00003BA4 80 BF 00 90 */ lwz r5, 0x90(r31) +/* 80006C48 00003BA8 38 61 00 20 */ addi r3, r1, 0x20 +/* 80006C4C 00003BAC 38 80 FF FF */ li r4, -1 +/* 80006C50 00003BB0 38 05 00 01 */ addi r0, r5, 1 +/* 80006C54 00003BB4 90 1F 00 90 */ stw r0, 0x90(r31) +/* 80006C58 00003BB8 48 33 A1 E9 */ bl __dt__6CTokenFv +/* 80006C5C 00003BBC 3B BD 00 01 */ addi r29, r29, 1 +/* 80006C60 00003BC0 3B DE 00 08 */ addi r30, r30, 8 +/* 80006C64 00003BC4 2C 1D 00 05 */ cmpwi r29, 5 +/* 80006C68 00003BC8 41 80 FF 54 */ blt lbl_80006BBC +/* 80006C6C 00003BCC 38 00 00 00 */ li r0, 0 +/* 80006C70 00003BD0 90 1F 00 88 */ stw r0, 0x88(r31) +lbl_80006C74: +/* 80006C74 00003BD4 80 01 00 54 */ lwz r0, 0x54(r1) +/* 80006C78 00003BD8 83 E1 00 4C */ lwz r31, 0x4c(r1) +/* 80006C7C 00003BDC 83 C1 00 48 */ lwz r30, 0x48(r1) +/* 80006C80 00003BE0 83 A1 00 44 */ lwz r29, 0x44(r1) +/* 80006C84 00003BE4 7C 08 03 A6 */ mtlr r0 +/* 80006C88 00003BE8 38 21 00 50 */ addi r1, r1, 0x50 +/* 80006C8C 00003BEC 4E 80 00 20 */ blr + +.global Update__24CGameArchitectureSupportFv +Update__24CGameArchitectureSupportFv: +/* 80006C90 00003BF0 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80006C94 00003BF4 7C 08 02 A6 */ mflr r0 +/* 80006C98 00003BF8 90 01 00 24 */ stw r0, 0x24(r1) +/* 80006C9C 00003BFC 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80006CA0 00003C00 7C 7F 1B 78 */ mr r31, r3 +/* 80006CA4 00003C04 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 80006CA8 00003C08 48 1C CC 71 */ bl WorldTransitionManager__10CGameStateFv +/* 80006CAC 00003C0C 80 63 00 00 */ lwz r3, 0(r3) +/* 80006CB0 00003C10 80 63 00 00 */ lwz r3, 0(r3) +/* 80006CB4 00003C14 48 20 43 4D */ bl TouchModels__18CWorldTransManagerFv +/* 80006CB8 00003C18 38 61 00 08 */ addi r3, r1, 8 +/* 80006CBC 00003C1C 38 BF 00 78 */ addi r5, r31, 0x78 +/* 80006CC0 00003C20 38 80 00 01 */ li r4, 1 +/* 80006CC4 00003C24 48 04 AA F9 */ bl CreateFrameEnd__7MakeMsgF14EArchMsgTargetRCi +/* 80006CC8 00003C28 38 7F 00 04 */ addi r3, r31, 4 +/* 80006CCC 00003C2C 38 81 00 08 */ addi r4, r1, 8 +/* 80006CD0 00003C30 48 00 00 31 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage +/* 80006CD4 00003C34 34 61 00 10 */ addic. r3, r1, 0x10 +/* 80006CD8 00003C38 41 82 00 08 */ beq lbl_80006CE0 +/* 80006CDC 00003C3C 48 00 1A 31 */ bl sub_8000870c +lbl_80006CE0: +/* 80006CE0 00003C40 38 7F 00 58 */ addi r3, r31, 0x58 +/* 80006CE4 00003C44 38 9F 00 04 */ addi r4, r31, 4 +/* 80006CE8 00003C48 48 04 B7 45 */ bl PumpMessages__13CIOWinManagerFR18CArchitectureQueue +/* 80006CEC 00003C4C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80006CF0 00003C50 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80006CF4 00003C54 7C 08 03 A6 */ mtlr r0 +/* 80006CF8 00003C58 38 21 00 20 */ addi r1, r1, 0x20 +/* 80006CFC 00003C5C 4E 80 00 20 */ blr + +.global InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage +InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage: +/* 80006D00 00003C60 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80006D04 00003C64 7C 08 02 A6 */ mflr r0 +/* 80006D08 00003C68 90 01 00 14 */ stw r0, 0x14(r1) +/* 80006D0C 00003C6C 48 00 00 15 */ bl sub_80006d20 +/* 80006D10 00003C70 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80006D14 00003C74 7C 08 03 A6 */ mtlr r0 +/* 80006D18 00003C78 38 21 00 10 */ addi r1, r1, 0x10 +/* 80006D1C 00003C7C 4E 80 00 20 */ blr + +.global sub_80006d20 +sub_80006d20: +/* 80006D20 00003C80 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80006D24 00003C84 7C 08 02 A6 */ mflr r0 +/* 80006D28 00003C88 90 01 00 24 */ stw r0, 0x24(r1) +/* 80006D2C 00003C8C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80006D30 00003C90 7C 7F 1B 78 */ mr r31, r3 +/* 80006D34 00003C94 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80006D38 00003C98 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80006D3C 00003C9C 38 A3 BE 74 */ addi r5, r3, lbl_803CBE74@l +/* 80006D40 00003CA0 38 60 00 14 */ li r3, 0x14 +/* 80006D44 00003CA4 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80006D48 00003CA8 93 81 00 10 */ stw r28, 0x10(r1) +/* 80006D4C 00003CAC 7C 9C 23 78 */ mr r28, r4 +/* 80006D50 00003CB0 38 85 00 37 */ addi r4, r5, 0x37 +/* 80006D54 00003CB4 38 A0 00 00 */ li r5, 0 +/* 80006D58 00003CB8 83 DF 00 08 */ lwz r30, 8(r31) +/* 80006D5C 00003CBC 83 BE 00 00 */ lwz r29, 0(r30) +/* 80006D60 00003CC0 48 30 EA B9 */ bl __nwa__FUlPCcPCc +/* 80006D64 00003CC4 28 03 00 00 */ cmplwi r3, 0 +/* 80006D68 00003CC8 41 82 00 0C */ beq lbl_80006D74 +/* 80006D6C 00003CCC 93 A3 00 00 */ stw r29, 0(r3) +/* 80006D70 00003CD0 93 C3 00 04 */ stw r30, 4(r3) +lbl_80006D74: +/* 80006D74 00003CD4 34 83 00 08 */ addic. r4, r3, 8 +/* 80006D78 00003CD8 41 82 00 2C */ beq lbl_80006DA4 +/* 80006D7C 00003CDC 80 1C 00 00 */ lwz r0, 0(r28) +/* 80006D80 00003CE0 90 04 00 00 */ stw r0, 0(r4) +/* 80006D84 00003CE4 80 1C 00 04 */ lwz r0, 4(r28) +/* 80006D88 00003CE8 90 04 00 04 */ stw r0, 4(r4) +/* 80006D8C 00003CEC 80 1C 00 08 */ lwz r0, 8(r28) +/* 80006D90 00003CF0 90 04 00 08 */ stw r0, 8(r4) +/* 80006D94 00003CF4 80 A4 00 08 */ lwz r5, 8(r4) +/* 80006D98 00003CF8 80 85 00 04 */ lwz r4, 4(r5) +/* 80006D9C 00003CFC 38 04 00 01 */ addi r0, r4, 1 +/* 80006DA0 00003D00 90 05 00 04 */ stw r0, 4(r5) +lbl_80006DA4: +/* 80006DA4 00003D04 80 1F 00 04 */ lwz r0, 4(r31) +/* 80006DA8 00003D08 7C 1E 00 40 */ cmplw r30, r0 +/* 80006DAC 00003D0C 40 82 00 08 */ bne lbl_80006DB4 +/* 80006DB0 00003D10 90 7F 00 04 */ stw r3, 4(r31) +lbl_80006DB4: +/* 80006DB4 00003D14 80 83 00 00 */ lwz r4, 0(r3) +/* 80006DB8 00003D18 90 64 00 04 */ stw r3, 4(r4) +/* 80006DBC 00003D1C 80 83 00 04 */ lwz r4, 4(r3) +/* 80006DC0 00003D20 90 64 00 00 */ stw r3, 0(r4) +/* 80006DC4 00003D24 80 7F 00 14 */ lwz r3, 0x14(r31) +/* 80006DC8 00003D28 38 03 00 01 */ addi r0, r3, 1 +/* 80006DCC 00003D2C 90 1F 00 14 */ stw r0, 0x14(r31) +/* 80006DD0 00003D30 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80006DD4 00003D34 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80006DD8 00003D38 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80006DDC 00003D3C 83 81 00 10 */ lwz r28, 0x10(r1) +/* 80006DE0 00003D40 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80006DE4 00003D44 7C 08 03 A6 */ mtlr r0 +/* 80006DE8 00003D48 38 21 00 20 */ addi r1, r1, 0x20 +/* 80006DEC 00003D4C 4E 80 00 20 */ blr + +.global UpdateTicks__24CGameArchitectureSupportFv +UpdateTicks__24CGameArchitectureSupportFv: +/* 80006DF0 00003D50 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 80006DF4 00003D54 7C 08 02 A6 */ mflr r0 +/* 80006DF8 00003D58 90 01 00 44 */ stw r0, 0x44(r1) +/* 80006DFC 00003D5C DB E1 00 30 */ stfd f31, 0x30(r1) +/* 80006E00 00003D60 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 +/* 80006E04 00003D64 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80006E08 00003D68 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80006E0C 00003D6C 93 A1 00 24 */ stw r29, 0x24(r1) +/* 80006E10 00003D70 93 81 00 20 */ stw r28, 0x20(r1) +/* 80006E14 00003D74 7C 7E 1B 78 */ mr r30, r3 +/* 80006E18 00003D78 3B E0 00 00 */ li r31, 0 +/* 80006E1C 00003D7C 48 37 A8 45 */ bl OSDisableInterrupts +/* 80006E20 00003D80 7C 7D 1B 78 */ mr r29, r3 +/* 80006E24 00003D84 48 37 E5 85 */ bl OSGetTime +/* 80006E28 00003D88 80 BE 00 24 */ lwz r5, 0x24(r30) +/* 80006E2C 00003D8C 80 1E 00 20 */ lwz r0, 0x20(r30) +/* 80006E30 00003D90 7C 85 20 10 */ subfc r4, r5, r4 +/* 80006E34 00003D94 7C 60 19 10 */ subfe r3, r0, r3 +/* 80006E38 00003D98 48 38 31 2D */ bl __cvt_sll_flt +/* 80006E3C 00003D9C 3C 60 80 5A */ lis r3, lbl_805A0004@ha +/* 80006E40 00003DA0 84 03 FD 30 */ lwzu r0, -0x2d0(r3) +/* 80006E44 00003DA4 38 80 00 00 */ li r4, 0 +/* 80006E48 00003DA8 80 A3 00 04 */ lwz r5, lbl_805A0004@l(r3) +/* 80006E4C 00003DAC 7C 00 22 78 */ xor r0, r0, r4 +/* 80006E50 00003DB0 C0 03 00 10 */ lfs f0, 0x10(r3) +/* 80006E54 00003DB4 7C A4 22 78 */ xor r4, r5, r4 +/* 80006E58 00003DB8 7C 80 03 79 */ or. r0, r4, r0 +/* 80006E5C 00003DBC EF E1 00 32 */ fmuls f31, f1, f0 +/* 80006E60 00003DC0 40 82 00 08 */ bne lbl_80006E68 +/* 80006E64 00003DC4 48 2C F8 B9 */ bl Initialize__Q210CStopwatch7CSWDataFv +lbl_80006E68: +/* 80006E68 00003DC8 48 37 E5 41 */ bl OSGetTime +/* 80006E6C 00003DCC 90 9E 00 24 */ stw r4, 0x24(r30) +/* 80006E70 00003DD0 90 7E 00 20 */ stw r3, 0x20(r30) +/* 80006E74 00003DD4 7F A3 EB 78 */ mr r3, r29 +/* 80006E78 00003DD8 48 37 A8 11 */ bl OSRestoreInterrupts +/* 80006E7C 00003DDC C0 02 80 34 */ lfs f0, lbl_805A9D54@sda21(r2) +/* 80006E80 00003DE0 D0 0D A0 A4 */ stfs f0, lbl_805A8C64@sda21(r13) +/* 80006E84 00003DE4 C0 1E 00 7C */ lfs f0, 0x7c(r30) +/* 80006E88 00003DE8 EC 00 F8 2A */ fadds f0, f0, f31 +/* 80006E8C 00003DEC D0 1E 00 7C */ stfs f0, 0x7c(r30) +/* 80006E90 00003DF0 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) +/* 80006E94 00003DF4 88 03 01 60 */ lbz r0, 0x160(r3) +/* 80006E98 00003DF8 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f +/* 80006E9C 00003DFC 40 82 00 10 */ bne lbl_80006EAC +/* 80006EA0 00003E00 C0 02 80 3C */ lfs f0, lbl_805A9D5C@sda21(r2) +/* 80006EA4 00003E04 FC 1F 00 40 */ fcmpo cr0, f31, f0 +/* 80006EA8 00003E08 40 81 00 0C */ ble lbl_80006EB4 +lbl_80006EAC: +/* 80006EAC 00003E0C C0 02 80 00 */ lfs f0, lbl_805A9D20@sda21(r2) +/* 80006EB0 00003E10 D0 1E 00 7C */ stfs f0, 0x7c(r30) +lbl_80006EB4: +/* 80006EB4 00003E14 38 61 00 14 */ addi r3, r1, 0x14 +/* 80006EB8 00003E18 38 BE 00 78 */ addi r5, r30, 0x78 +/* 80006EBC 00003E1C 3B 80 00 01 */ li r28, 1 +/* 80006EC0 00003E20 38 80 00 01 */ li r4, 1 +/* 80006EC4 00003E24 48 04 A9 D1 */ bl CreateFrameBegin__7MakeMsgF14EArchMsgTargetRCi +/* 80006EC8 00003E28 38 7E 00 04 */ addi r3, r30, 4 +/* 80006ECC 00003E2C 38 81 00 14 */ addi r4, r1, 0x14 +/* 80006ED0 00003E30 4B FF FE 31 */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage +/* 80006ED4 00003E34 34 61 00 1C */ addic. r3, r1, 0x1c +/* 80006ED8 00003E38 41 82 00 08 */ beq lbl_80006EE0 +/* 80006EDC 00003E3C 48 00 18 31 */ bl sub_8000870c +lbl_80006EE0: +/* 80006EE0 00003E40 C3 E2 80 00 */ lfs f31, lbl_805A9D20@sda21(r2) +/* 80006EE4 00003E44 3B A1 00 10 */ addi r29, r1, 0x10 +/* 80006EE8 00003E48 48 00 00 68 */ b lbl_80006F50 +lbl_80006EEC: +/* 80006EEC 00003E4C C0 22 80 00 */ lfs f1, lbl_805A9D20@sda21(r2) +/* 80006EF0 00003E50 38 7E 00 30 */ addi r3, r30, 0x30 +/* 80006EF4 00003E54 38 9E 00 04 */ addi r4, r30, 4 +/* 80006EF8 00003E58 3B 80 00 00 */ li r28, 0 +/* 80006EFC 00003E5C 48 01 C0 DD */ bl Update__15CInputGeneratorFfR18CArchitectureQueue +/* 80006F00 00003E60 54 60 06 3F */ clrlwi. r0, r3, 0x18 +/* 80006F04 00003E64 40 82 00 08 */ bne lbl_80006F0C +/* 80006F08 00003E68 3B E0 00 01 */ li r31, 1 +lbl_80006F0C: +/* 80006F0C 00003E6C 38 61 00 08 */ addi r3, r1, 8 +/* 80006F10 00003E70 38 80 00 01 */ li r4, 1 +/* 80006F14 00003E74 38 A2 80 38 */ addi r5, r2, lbl_805A9D58@sda21 +/* 80006F18 00003E78 48 04 AC B1 */ bl CreateTimerTick__7MakeMsgF14EArchMsgTargetRCf +/* 80006F1C 00003E7C 38 7E 00 04 */ addi r3, r30, 4 +/* 80006F20 00003E80 38 81 00 08 */ addi r4, r1, 8 +/* 80006F24 00003E84 4B FF FD DD */ bl InsertMsg__18CArchitectureQueueFRC20CArchitectureMessage +/* 80006F28 00003E88 28 1D 00 00 */ cmplwi r29, 0 +/* 80006F2C 00003E8C 41 82 00 0C */ beq lbl_80006F38 +/* 80006F30 00003E90 7F A3 EB 78 */ mr r3, r29 +/* 80006F34 00003E94 48 00 17 D9 */ bl sub_8000870c +lbl_80006F38: +/* 80006F38 00003E98 C0 1E 00 7C */ lfs f0, 0x7c(r30) +/* 80006F3C 00003E9C 38 7E 00 58 */ addi r3, r30, 0x58 +/* 80006F40 00003EA0 38 9E 00 04 */ addi r4, r30, 4 +/* 80006F44 00003EA4 EC 00 F8 28 */ fsubs f0, f0, f31 +/* 80006F48 00003EA8 D0 1E 00 7C */ stfs f0, 0x7c(r30) +/* 80006F4C 00003EAC 48 04 B4 E1 */ bl PumpMessages__13CIOWinManagerFR18CArchitectureQueue +lbl_80006F50: +/* 80006F50 00003EB0 57 80 06 3F */ clrlwi. r0, r28, 0x18 +/* 80006F54 00003EB4 40 82 FF 98 */ bne lbl_80006EEC +/* 80006F58 00003EB8 C0 3E 00 7C */ lfs f1, 0x7c(r30) +/* 80006F5C 00003EBC C0 02 80 00 */ lfs f0, lbl_805A9D20@sda21(r2) +/* 80006F60 00003EC0 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80006F64 00003EC4 4C 41 13 82 */ cror 2, 1, 2 +/* 80006F68 00003EC8 41 82 FF 84 */ beq lbl_80006EEC +/* 80006F6C 00003ECC C0 7E 00 84 */ lfs f3, 0x84(r30) +/* 80006F70 00003ED0 C0 1E 00 80 */ lfs f0, 0x80(r30) +/* 80006F74 00003ED4 EC 23 08 28 */ fsubs f1, f3, f1 +/* 80006F78 00003ED8 C0 42 80 34 */ lfs f2, lbl_805A9D54@sda21(r2) +/* 80006F7C 00003EDC EC 60 18 28 */ fsubs f3, f0, f3 +/* 80006F80 00003EE0 C8 02 80 40 */ lfd f0, lbl_805A9D60@sda21(r2) +/* 80006F84 00003EE4 EC 23 08 2A */ fadds f1, f3, f1 +/* 80006F88 00003EE8 EC 21 10 28 */ fsubs f1, f1, f2 +/* 80006F8C 00003EEC FC 20 0A 10 */ fabs f1, f1 +/* 80006F90 00003EF0 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80006F94 00003EF4 40 80 00 08 */ bge lbl_80006F9C +/* 80006F98 00003EF8 D0 5E 00 7C */ stfs f2, 0x7c(r30) +lbl_80006F9C: +/* 80006F9C 00003EFC C0 1E 00 84 */ lfs f0, 0x84(r30) +/* 80006FA0 00003F00 38 7E 00 58 */ addi r3, r30, 0x58 +/* 80006FA4 00003F04 38 9E 00 04 */ addi r4, r30, 4 +/* 80006FA8 00003F08 D0 1E 00 80 */ stfs f0, 0x80(r30) +/* 80006FAC 00003F0C C0 1E 00 7C */ lfs f0, 0x7c(r30) +/* 80006FB0 00003F10 D0 1E 00 84 */ stfs f0, 0x84(r30) +/* 80006FB4 00003F14 48 04 B4 79 */ bl PumpMessages__13CIOWinManagerFR18CArchitectureQueue +/* 80006FB8 00003F18 57 E0 06 3E */ clrlwi r0, r31, 0x18 +/* 80006FBC 00003F1C 7C 00 00 34 */ cntlzw r0, r0 +/* 80006FC0 00003F20 54 03 D9 7E */ srwi r3, r0, 5 +/* 80006FC4 00003F24 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 +/* 80006FC8 00003F28 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80006FCC 00003F2C CB E1 00 30 */ lfd f31, 0x30(r1) +/* 80006FD0 00003F30 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80006FD4 00003F34 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80006FD8 00003F38 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 80006FDC 00003F3C 83 81 00 20 */ lwz r28, 0x20(r1) +/* 80006FE0 00003F40 7C 08 03 A6 */ mtlr r0 +/* 80006FE4 00003F44 38 21 00 40 */ addi r1, r1, 0x40 +/* 80006FE8 00003F48 4E 80 00 20 */ blr + +.global __dt__24CGameArchitectureSupportFv +__dt__24CGameArchitectureSupportFv: +/* 80006FEC 00003F4C 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80006FF0 00003F50 7C 08 02 A6 */ mflr r0 +/* 80006FF4 00003F54 90 01 00 34 */ stw r0, 0x34(r1) +/* 80006FF8 00003F58 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80006FFC 00003F5C 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80007000 00003F60 93 A1 00 24 */ stw r29, 0x24(r1) +/* 80007004 00003F64 7C 9D 23 78 */ mr r29, r4 +/* 80007008 00003F68 93 81 00 20 */ stw r28, 0x20(r1) +/* 8000700C 00003F6C 7C 7C 1B 79 */ or. r28, r3, r3 +/* 80007010 00003F70 41 82 01 04 */ beq lbl_80007114 +/* 80007014 00003F74 88 1C 00 C8 */ lbz r0, 0xc8(r28) +/* 80007018 00003F78 28 00 00 00 */ cmplwi r0, 0 +/* 8000701C 00003F7C 41 82 00 14 */ beq lbl_80007030 +/* 80007020 00003F80 38 7C 00 A0 */ addi r3, r28, 0xa0 +/* 80007024 00003F84 48 37 73 D1 */ bl OSCancelAlarm +/* 80007028 00003F88 38 00 00 00 */ li r0, 0 +/* 8000702C 00003F8C 98 1C 00 C8 */ stb r0, 0xc8(r28) +lbl_80007030: +/* 80007030 00003F90 38 7C 00 58 */ addi r3, r28, 0x58 +/* 80007034 00003F94 48 04 B7 61 */ bl RemoveAllIOWins__13CIOWinManagerFv +/* 80007038 00003F98 7F 83 E3 78 */ mr r3, r28 +/* 8000703C 00003F9C 4B FF F6 B5 */ bl UnloadAudio__24CGameArchitectureSupportFv +/* 80007040 00003FA0 48 2E 36 45 */ bl Shutdown__11CSfxManagerFv +/* 80007044 00003FA4 48 35 D5 81 */ bl Shutdown__17CDSPStreamManagerFv +/* 80007048 00003FA8 34 1C 00 8C */ addic. r0, r28, 0x8c +/* 8000704C 00003FAC 41 82 00 50 */ beq lbl_8000709C +/* 80007050 00003FB0 80 1C 00 90 */ lwz r0, 0x90(r28) +/* 80007054 00003FB4 83 DC 00 98 */ lwz r30, 0x98(r28) +/* 80007058 00003FB8 54 00 18 38 */ slwi r0, r0, 3 +/* 8000705C 00003FBC 7F FE 02 14 */ add r31, r30, r0 +/* 80007060 00003FC0 93 C1 00 0C */ stw r30, 0xc(r1) +/* 80007064 00003FC4 93 E1 00 14 */ stw r31, 0x14(r1) +/* 80007068 00003FC8 93 E1 00 10 */ stw r31, 0x10(r1) +/* 8000706C 00003FCC 93 C1 00 08 */ stw r30, 8(r1) +/* 80007070 00003FD0 48 00 00 14 */ b lbl_80007084 +lbl_80007074: +/* 80007074 00003FD4 7F C3 F3 78 */ mr r3, r30 +/* 80007078 00003FD8 38 80 FF FF */ li r4, -1 +/* 8000707C 00003FDC 48 33 9D C5 */ bl __dt__6CTokenFv +/* 80007080 00003FE0 3B DE 00 08 */ addi r30, r30, 8 +lbl_80007084: +/* 80007084 00003FE4 7C 1E F8 40 */ cmplw r30, r31 +/* 80007088 00003FE8 40 82 FF EC */ bne lbl_80007074 +/* 8000708C 00003FEC 80 7C 00 98 */ lwz r3, 0x98(r28) +/* 80007090 00003FF0 28 03 00 00 */ cmplwi r3, 0 +/* 80007094 00003FF4 41 82 00 08 */ beq lbl_8000709C +/* 80007098 00003FF8 48 30 E8 99 */ bl Free__7CMemoryFPCv +lbl_8000709C: +/* 8000709C 00003FFC 38 7C 00 58 */ addi r3, r28, 0x58 +/* 800070A0 00004000 38 80 FF FF */ li r4, -1 +/* 800070A4 00004004 48 04 BA 3D */ bl sub_80052ae0 +/* 800070A8 00004008 38 7C 00 44 */ addi r3, r28, 0x44 +/* 800070AC 0000400C 38 80 FF FF */ li r4, -1 +/* 800070B0 00004010 48 2B F3 61 */ bl sub_802c6410 +/* 800070B4 00004014 34 1C 00 30 */ addic. r0, r28, 0x30 +/* 800070B8 00004018 41 82 00 2C */ beq lbl_800070E4 +/* 800070BC 0000401C 34 1C 00 34 */ addic. r0, r28, 0x34 +/* 800070C0 00004020 41 82 00 24 */ beq lbl_800070E4 +/* 800070C4 00004024 80 7C 00 34 */ lwz r3, 0x34(r28) +/* 800070C8 00004028 28 03 00 00 */ cmplwi r3, 0 +/* 800070CC 0000402C 41 82 00 18 */ beq lbl_800070E4 +/* 800070D0 00004030 81 83 00 00 */ lwz r12, 0(r3) +/* 800070D4 00004034 38 80 00 01 */ li r4, 1 +/* 800070D8 00004038 81 8C 00 08 */ lwz r12, 8(r12) +/* 800070DC 0000403C 7D 89 03 A6 */ mtctr r12 +/* 800070E0 00004040 4E 80 04 21 */ bctrl +lbl_800070E4: +/* 800070E4 00004044 34 1C 00 04 */ addic. r0, r28, 4 +/* 800070E8 00004048 41 82 00 10 */ beq lbl_800070F8 +/* 800070EC 0000404C 38 7C 00 04 */ addi r3, r28, 4 +/* 800070F0 00004050 38 80 FF FF */ li r4, -1 +/* 800070F4 00004054 48 00 1F B5 */ bl sub_800090a8 +lbl_800070F8: +/* 800070F8 00004058 7F 83 E3 78 */ mr r3, r28 +/* 800070FC 0000405C 38 80 FF FF */ li r4, -1 +/* 80007100 00004060 48 34 54 49 */ bl __dt__9CAudioSysFv +/* 80007104 00004064 7F A0 07 35 */ extsh. r0, r29 +/* 80007108 00004068 40 81 00 0C */ ble lbl_80007114 +/* 8000710C 0000406C 7F 83 E3 78 */ mr r3, r28 +/* 80007110 00004070 48 00 16 9D */ bl __dl__38TOneStatic$$024CGameArchitectureSupport$$1FPv +lbl_80007114: +/* 80007114 00004074 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80007118 00004078 7F 83 E3 78 */ mr r3, r28 +/* 8000711C 0000407C 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80007120 00004080 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80007124 00004084 83 A1 00 24 */ lwz r29, 0x24(r1) +/* 80007128 00004088 83 81 00 20 */ lwz r28, 0x20(r1) +/* 8000712C 0000408C 7C 08 03 A6 */ mtlr r0 +/* 80007130 00004090 38 21 00 30 */ addi r1, r1, 0x30 +/* 80007134 00004094 4E 80 00 20 */ blr + +.global __ct__24CGameArchitectureSupportFR10COsContext +__ct__24CGameArchitectureSupportFR10COsContext: +/* 80007138 00004098 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 8000713C 0000409C 7C 08 02 A6 */ mflr r0 +/* 80007140 000040A0 3C A0 00 60 */ lis r5, 0x005FC000@ha +/* 80007144 000040A4 38 C0 00 30 */ li r6, 0x30 +/* 80007148 000040A8 90 01 00 44 */ stw r0, 0x44(r1) +/* 8000714C 000040AC 39 05 C0 00 */ addi r8, r5, 0x005FC000@l +/* 80007150 000040B0 38 A0 00 30 */ li r5, 0x30 +/* 80007154 000040B4 38 E0 00 30 */ li r7, 0x30 +/* 80007158 000040B8 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 8000715C 000040BC 93 C1 00 38 */ stw r30, 0x38(r1) +/* 80007160 000040C0 7C 7E 1B 78 */ mr r30, r3 +/* 80007164 000040C4 93 A1 00 34 */ stw r29, 0x34(r1) +/* 80007168 000040C8 7C 9D 23 78 */ mr r29, r4 +/* 8000716C 000040CC 38 80 00 30 */ li r4, 0x30 +/* 80007170 000040D0 48 34 55 81 */ bl __ct__9CAudioSysFUcUcUcUcUi +/* 80007174 000040D4 38 7E 00 10 */ addi r3, r30, 0x10 +/* 80007178 000040D8 38 00 00 00 */ li r0, 0 +/* 8000717C 000040DC 90 7E 00 08 */ stw r3, 8(r30) +/* 80007180 000040E0 90 7E 00 0C */ stw r3, 0xc(r30) +/* 80007184 000040E4 90 7E 00 10 */ stw r3, 0x10(r30) +/* 80007188 000040E8 90 7E 00 14 */ stw r3, 0x14(r30) +/* 8000718C 000040EC 90 1E 00 18 */ stw r0, 0x18(r30) +/* 80007190 000040F0 48 37 E2 19 */ bl OSGetTime +/* 80007194 000040F4 90 9E 00 24 */ stw r4, 0x24(r30) +/* 80007198 000040F8 90 7E 00 20 */ stw r3, 0x20(r30) +/* 8000719C 000040FC 48 37 E2 0D */ bl OSGetTime +/* 800071A0 00004100 90 9E 00 2C */ stw r4, 0x2c(r30) +/* 800071A4 00004104 7F A4 EB 78 */ mr r4, r29 +/* 800071A8 00004108 90 7E 00 28 */ stw r3, 0x28(r30) +/* 800071AC 0000410C 38 7E 00 30 */ addi r3, r30, 0x30 +/* 800071B0 00004110 80 AD A1 18 */ lwz r5, gpTweakPlayer@sda21(r13) +/* 800071B4 00004114 C0 45 01 54 */ lfs f2, 0x154(r5) +/* 800071B8 00004118 C0 25 01 50 */ lfs f1, 0x150(r5) +/* 800071BC 0000411C 48 01 C2 F9 */ bl __ct__15CInputGeneratorFP10COsContextff +/* 800071C0 00004120 80 8D A0 60 */ lwz r4, gpResourceFactory@sda21(r13) +/* 800071C4 00004124 38 7E 00 44 */ addi r3, r30, 0x44 +/* 800071C8 00004128 80 AD A0 64 */ lwz r5, gpSimplePool@sda21(r13) +/* 800071CC 0000412C 38 C0 00 00 */ li r6, 0 +/* 800071D0 00004130 48 2B F3 01 */ bl __ct__7CGuiSysFP8IFactoryP11CSimplePoolQ27CGuiSys10EUsageMode +/* 800071D4 00004134 38 7E 00 58 */ addi r3, r30, 0x58 +/* 800071D8 00004138 48 04 B9 6D */ bl __ct__13CIOWinManagerFv +/* 800071DC 0000413C 38 C0 00 00 */ li r6, 0 +/* 800071E0 00004140 C0 02 80 34 */ lfs f0, lbl_805A9D54@sda21(r2) +/* 800071E4 00004144 90 DE 00 78 */ stw r6, 0x78(r30) +/* 800071E8 00004148 38 00 00 02 */ li r0, 2 +/* 800071EC 0000414C 38 60 00 7F */ li r3, 0x7f +/* 800071F0 00004150 38 80 00 00 */ li r4, 0 +/* 800071F4 00004154 D0 1E 00 7C */ stfs f0, 0x7c(r30) +/* 800071F8 00004158 38 A0 00 FF */ li r5, 0xff +/* 800071FC 0000415C D0 1E 00 80 */ stfs f0, 0x80(r30) +/* 80007200 00004160 D0 1E 00 84 */ stfs f0, 0x84(r30) +/* 80007204 00004164 90 1E 00 88 */ stw r0, 0x88(r30) +/* 80007208 00004168 90 DE 00 90 */ stw r6, 0x90(r30) +/* 8000720C 0000416C 90 DE 00 94 */ stw r6, 0x94(r30) +/* 80007210 00004170 90 DE 00 98 */ stw r6, 0x98(r30) +/* 80007214 00004174 98 DE 00 C8 */ stb r6, 0xc8(r30) +/* 80007218 00004178 48 34 53 05 */ bl SysSetVolume__9CAudioSysFUcUsUc +/* 8000721C 0000417C 38 60 00 75 */ li r3, 0x75 +/* 80007220 00004180 48 34 35 E5 */ bl SetDefaultVolumeScale__9CAudioSysFs +/* 80007224 00004184 48 34 35 D9 */ bl GetDefaultVolumeScale__9CAudioSysFv +/* 80007228 00004188 48 34 35 E5 */ bl SetVolumeScale__9CAudioSysFs +/* 8000722C 0000418C 48 35 D4 29 */ bl Initialize__17CDSPStreamManagerFv +/* 80007230 00004190 38 60 00 7F */ li r3, 0x7f +/* 80007234 00004194 48 35 E8 01 */ bl SetMusicVolume__19CStreamAudioManagerFi +/* 80007238 00004198 38 60 00 01 */ li r3, 1 +/* 8000723C 0000419C 48 34 40 A1 */ bl TrkSetSampleRate__9CAudioSysF14ETRKSampleRate +/* 80007240 000041A0 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) +/* 80007244 000041A4 38 80 00 00 */ li r4, 0 +/* 80007248 000041A8 88 03 01 60 */ lbz r0, 0x160(r3) +/* 8000724C 000041AC 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a +/* 80007250 000041B0 98 03 01 60 */ stb r0, 0x160(r3) +/* 80007254 000041B4 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) +/* 80007258 000041B8 4B FF C4 49 */ bl ResetGameState__5CMainFv +/* 8000725C 000041BC 80 6D A1 20 */ lwz r3, gpTweakGame@sda21(r13) +/* 80007260 000041C0 3B FE 00 58 */ addi r31, r30, 0x58 +/* 80007264 000041C4 88 03 00 2B */ lbz r0, 0x2b(r3) +/* 80007268 000041C8 28 00 00 00 */ cmplwi r0, 0 +/* 8000726C 000041CC 40 82 00 7C */ bne lbl_800072E8 +/* 80007270 000041D0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007274 000041D4 38 60 00 30 */ li r3, 0x30 +/* 80007278 000041D8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000727C 000041DC 38 A0 00 00 */ li r5, 0 +/* 80007280 000041E0 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007284 000041E4 48 30 E5 E9 */ bl __nw__FUlPCcPCc +/* 80007288 000041E8 7C 7D 1B 79 */ or. r29, r3, r3 +/* 8000728C 000041EC 41 82 00 10 */ beq lbl_8000729C +/* 80007290 000041F0 38 80 00 00 */ li r4, 0 +/* 80007294 000041F4 48 02 1F 69 */ bl __ct__13CSplashScreenFQ213CSplashScreen13ESplashScreen +/* 80007298 000041F8 7C 7D 1B 78 */ mr r29, r3 +lbl_8000729C: +/* 8000729C 000041FC 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800072A0 00004200 38 60 00 08 */ li r3, 8 +/* 800072A4 00004204 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800072A8 00004208 38 A0 00 00 */ li r5, 0 +/* 800072AC 0000420C 38 84 00 37 */ addi r4, r4, 0x37 +/* 800072B0 00004210 48 30 E5 BD */ bl __nw__FUlPCcPCc +/* 800072B4 00004214 28 03 00 00 */ cmplwi r3, 0 +/* 800072B8 00004218 41 82 00 10 */ beq lbl_800072C8 +/* 800072BC 0000421C 93 A3 00 00 */ stw r29, 0(r3) +/* 800072C0 00004220 38 00 00 01 */ li r0, 1 +/* 800072C4 00004224 90 03 00 04 */ stw r0, 4(r3) +lbl_800072C8: +/* 800072C8 00004228 90 61 00 18 */ stw r3, 0x18(r1) +/* 800072CC 0000422C 7F E3 FB 78 */ mr r3, r31 +/* 800072D0 00004230 38 81 00 18 */ addi r4, r1, 0x18 +/* 800072D4 00004234 38 A0 03 E8 */ li r5, 0x3e8 +/* 800072D8 00004238 38 C0 27 10 */ li r6, 0x2710 +/* 800072DC 0000423C 48 04 B6 75 */ bl AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr$$06CIOWin$$1ii +/* 800072E0 00004240 38 61 00 18 */ addi r3, r1, 0x18 +/* 800072E4 00004244 48 00 13 B9 */ bl sub_8000869c +lbl_800072E8: +/* 800072E8 00004248 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800072EC 0000424C 38 60 00 18 */ li r3, 0x18 +/* 800072F0 00004250 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800072F4 00004254 38 A0 00 00 */ li r5, 0 +/* 800072F8 00004258 38 84 00 37 */ addi r4, r4, 0x37 +/* 800072FC 0000425C 48 30 E5 71 */ bl __nw__FUlPCcPCc +/* 80007300 00004260 7C 7D 1B 79 */ or. r29, r3, r3 +/* 80007304 00004264 41 82 00 0C */ beq lbl_80007310 +/* 80007308 00004268 48 01 C6 B5 */ bl __ct__9CMainFlowFv +/* 8000730C 0000426C 7C 7D 1B 78 */ mr r29, r3 +lbl_80007310: +/* 80007310 00004270 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007314 00004274 38 60 00 08 */ li r3, 8 +/* 80007318 00004278 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000731C 0000427C 38 A0 00 00 */ li r5, 0 +/* 80007320 00004280 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007324 00004284 48 30 E5 49 */ bl __nw__FUlPCcPCc +/* 80007328 00004288 28 03 00 00 */ cmplwi r3, 0 +/* 8000732C 0000428C 41 82 00 10 */ beq lbl_8000733C +/* 80007330 00004290 93 A3 00 00 */ stw r29, 0(r3) +/* 80007334 00004294 38 00 00 01 */ li r0, 1 +/* 80007338 00004298 90 03 00 04 */ stw r0, 4(r3) +lbl_8000733C: +/* 8000733C 0000429C 90 61 00 14 */ stw r3, 0x14(r1) +/* 80007340 000042A0 7F E3 FB 78 */ mr r3, r31 +/* 80007344 000042A4 38 81 00 14 */ addi r4, r1, 0x14 +/* 80007348 000042A8 38 A0 00 00 */ li r5, 0 +/* 8000734C 000042AC 38 C0 00 00 */ li r6, 0 +/* 80007350 000042B0 48 04 B6 01 */ bl AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr$$06CIOWin$$1ii +/* 80007354 000042B4 38 61 00 14 */ addi r3, r1, 0x14 +/* 80007358 000042B8 48 00 13 45 */ bl sub_8000869c +/* 8000735C 000042BC 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007360 000042C0 38 60 00 4C */ li r3, 0x4c +/* 80007364 000042C4 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80007368 000042C8 38 A0 00 00 */ li r5, 0 +/* 8000736C 000042CC 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007370 000042D0 48 30 E4 FD */ bl __nw__FUlPCcPCc +/* 80007374 000042D4 7C 7D 1B 79 */ or. r29, r3, r3 +/* 80007378 000042D8 41 82 00 18 */ beq lbl_80007390 +/* 8000737C 000042DC C0 22 80 48 */ lfs f1, lbl_805A9D68@sda21(r2) +/* 80007380 000042E0 38 80 00 08 */ li r4, 8 +/* 80007384 000042E4 C0 42 80 4C */ lfs f2, lbl_805A9D6C@sda21(r2) +/* 80007388 000042E8 48 0F 76 F9 */ bl __ct__20CConsoleOutputWindowFiff +/* 8000738C 000042EC 7C 7D 1B 78 */ mr r29, r3 +lbl_80007390: +/* 80007390 000042F0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007394 000042F4 38 60 00 08 */ li r3, 8 +/* 80007398 000042F8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000739C 000042FC 38 A0 00 00 */ li r5, 0 +/* 800073A0 00004300 38 84 00 37 */ addi r4, r4, 0x37 +/* 800073A4 00004304 48 30 E4 C9 */ bl __nw__FUlPCcPCc +/* 800073A8 00004308 28 03 00 00 */ cmplwi r3, 0 +/* 800073AC 0000430C 41 82 00 10 */ beq lbl_800073BC +/* 800073B0 00004310 93 A3 00 00 */ stw r29, 0(r3) +/* 800073B4 00004314 38 00 00 01 */ li r0, 1 +/* 800073B8 00004318 90 03 00 04 */ stw r0, 4(r3) +lbl_800073BC: +/* 800073BC 0000431C 90 61 00 10 */ stw r3, 0x10(r1) +/* 800073C0 00004320 7F E3 FB 78 */ mr r3, r31 +/* 800073C4 00004324 38 81 00 10 */ addi r4, r1, 0x10 +/* 800073C8 00004328 38 A0 00 64 */ li r5, 0x64 +/* 800073CC 0000432C 38 C0 00 00 */ li r6, 0 +/* 800073D0 00004330 48 04 B5 81 */ bl AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr$$06CIOWin$$1ii +/* 800073D4 00004334 38 61 00 10 */ addi r3, r1, 0x10 +/* 800073D8 00004338 48 00 12 C5 */ bl sub_8000869c +/* 800073DC 0000433C 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800073E0 00004340 38 60 00 14 */ li r3, 0x14 +/* 800073E4 00004344 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800073E8 00004348 38 A0 00 00 */ li r5, 0 +/* 800073EC 0000434C 38 84 00 37 */ addi r4, r4, 0x37 +/* 800073F0 00004350 48 30 E4 7D */ bl __nw__FUlPCcPCc +/* 800073F4 00004354 7C 7D 1B 79 */ or. r29, r3, r3 +/* 800073F8 00004358 41 82 00 0C */ beq lbl_80007404 +/* 800073FC 0000435C 48 10 A9 C9 */ bl __ct__14CAudioStateWinFv +/* 80007400 00004360 7C 7D 1B 78 */ mr r29, r3 +lbl_80007404: +/* 80007404 00004364 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007408 00004368 38 60 00 08 */ li r3, 8 +/* 8000740C 0000436C 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80007410 00004370 38 A0 00 00 */ li r5, 0 +/* 80007414 00004374 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007418 00004378 48 30 E4 55 */ bl __nw__FUlPCcPCc +/* 8000741C 0000437C 28 03 00 00 */ cmplwi r3, 0 +/* 80007420 00004380 41 82 00 10 */ beq lbl_80007430 +/* 80007424 00004384 93 A3 00 00 */ stw r29, 0(r3) +/* 80007428 00004388 38 00 00 01 */ li r0, 1 +/* 8000742C 0000438C 90 03 00 04 */ stw r0, 4(r3) +lbl_80007430: +/* 80007430 00004390 90 61 00 0C */ stw r3, 0xc(r1) +/* 80007434 00004394 7F E3 FB 78 */ mr r3, r31 +/* 80007438 00004398 38 81 00 0C */ addi r4, r1, 0xc +/* 8000743C 0000439C 38 A0 00 64 */ li r5, 0x64 +/* 80007440 000043A0 38 C0 FF FF */ li r6, -1 +/* 80007444 000043A4 48 04 B5 0D */ bl AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr$$06CIOWin$$1ii +/* 80007448 000043A8 38 61 00 0C */ addi r3, r1, 0xc +/* 8000744C 000043AC 48 00 12 51 */ bl sub_8000869c +/* 80007450 000043B0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007454 000043B4 38 60 00 20 */ li r3, 0x20 +/* 80007458 000043B8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000745C 000043BC 38 A0 00 00 */ li r5, 0 +/* 80007460 000043C0 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007464 000043C4 48 30 E4 09 */ bl __nw__FUlPCcPCc +/* 80007468 000043C8 7C 7D 1B 79 */ or. r29, r3, r3 +/* 8000746C 000043CC 41 82 00 10 */ beq lbl_8000747C +/* 80007470 000043D0 38 80 00 00 */ li r4, 0 +/* 80007474 000043D4 48 26 27 4D */ bl __ct__18CErrorOutputWindowFiff +/* 80007478 000043D8 7C 7D 1B 78 */ mr r29, r3 +lbl_8000747C: +/* 8000747C 000043DC 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007480 000043E0 38 60 00 08 */ li r3, 8 +/* 80007484 000043E4 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80007488 000043E8 38 A0 00 00 */ li r5, 0 +/* 8000748C 000043EC 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007490 000043F0 48 30 E3 DD */ bl __nw__FUlPCcPCc +/* 80007494 000043F4 28 03 00 00 */ cmplwi r3, 0 +/* 80007498 000043F8 41 82 00 10 */ beq lbl_800074A8 +/* 8000749C 000043FC 93 A3 00 00 */ stw r29, 0(r3) +/* 800074A0 00004400 38 00 00 01 */ li r0, 1 +/* 800074A4 00004404 90 03 00 04 */ stw r0, 4(r3) +lbl_800074A8: +/* 800074A8 00004408 90 61 00 08 */ stw r3, 8(r1) +/* 800074AC 0000440C 3C A0 00 02 */ lis r5, 0x000186A0@ha +/* 800074B0 00004410 7F E3 FB 78 */ mr r3, r31 +/* 800074B4 00004414 38 81 00 08 */ addi r4, r1, 8 +/* 800074B8 00004418 38 C5 86 A0 */ addi r6, r5, 0x000186A0@l +/* 800074BC 0000441C 38 A0 27 10 */ li r5, 0x2710 +/* 800074C0 00004420 48 04 B4 91 */ bl AddIOWin__13CIOWinManagerFQ24rstl17ncrc_ptr$$06CIOWin$$1ii +/* 800074C4 00004424 38 61 00 08 */ addi r3, r1, 8 +/* 800074C8 00004428 48 00 11 D5 */ bl sub_8000869c +/* 800074CC 0000442C 38 7E 00 44 */ addi r3, r30, 0x44 +/* 800074D0 00004430 48 2B 97 25 */ bl nullsub_6 +/* 800074D4 00004434 38 1E 00 44 */ addi r0, r30, 0x44 +/* 800074D8 00004438 80 6D A0 80 */ lwz r3, gpGameState@sda21(r13) +/* 800074DC 0000443C 90 0D A0 70 */ stw r0, gGuiSystem@sda21(r13) +/* 800074E0 00004440 38 63 01 7C */ addi r3, r3, 0x17c +/* 800074E4 00004444 90 0D A6 40 */ stw r0, lbl_805A9200@sda21(r13) +/* 800074E8 00004448 80 1E 00 34 */ lwz r0, 0x34(r30) +/* 800074EC 0000444C 90 0D A0 7C */ stw r0, gpController@sda21(r13) +/* 800074F0 00004450 48 20 7C 0D */ bl EnsureOptions__12CGameOptionsFv +/* 800074F4 00004454 C0 02 80 34 */ lfs f0, lbl_805A9D54@sda21(r2) +/* 800074F8 00004458 3C 00 43 30 */ lis r0, 0x4330 +/* 800074FC 0000445C 3C 60 80 00 */ lis r3, 0x800000F8@ha +/* 80007500 00004460 90 01 00 20 */ stw r0, 0x20(r1) +/* 80007504 00004464 C8 22 80 50 */ lfd f1, lbl_805A9D70@sda21(r2) +/* 80007508 00004468 D0 0D A0 A4 */ stfs f0, lbl_805A8C64@sda21(r13) +/* 8000750C 0000446C 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3) +/* 80007510 00004470 54 00 F0 BE */ srwi r0, r0, 2 +/* 80007514 00004474 90 01 00 24 */ stw r0, 0x24(r1) +/* 80007518 00004478 C8 01 00 20 */ lfd f0, 0x20(r1) +/* 8000751C 0000447C EC 20 08 28 */ fsubs f1, f0, f1 +/* 80007520 00004480 48 38 2A F9 */ bl __cvt_dbl_usll +/* 80007524 00004484 7C 9D 23 78 */ mr r29, r4 +/* 80007528 00004488 7C 7F 1B 78 */ mr r31, r3 +/* 8000752C 0000448C 48 37 DE 7D */ bl OSGetTime +/* 80007530 00004490 3C A0 80 00 */ lis r5, sub_80007578@ha +/* 80007534 00004494 7F A8 EB 78 */ mr r8, r29 +/* 80007538 00004498 39 25 75 78 */ addi r9, r5, sub_80007578@l +/* 8000753C 0000449C 7C 86 23 78 */ mr r6, r4 +/* 80007540 000044A0 7C 65 1B 78 */ mr r5, r3 +/* 80007544 000044A4 7F E7 FB 78 */ mr r7, r31 +/* 80007548 000044A8 38 7E 00 A0 */ addi r3, r30, 0xa0 +/* 8000754C 000044AC 48 37 6E 2D */ bl OSSetPeriodicAlarm +/* 80007550 000044B0 38 00 00 01 */ li r0, 1 +/* 80007554 000044B4 7F C3 F3 78 */ mr r3, r30 +/* 80007558 000044B8 98 1E 00 C8 */ stb r0, 0xc8(r30) +/* 8000755C 000044BC 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 80007560 000044C0 83 C1 00 38 */ lwz r30, 0x38(r1) +/* 80007564 000044C4 83 A1 00 34 */ lwz r29, 0x34(r1) +/* 80007568 000044C8 80 01 00 44 */ lwz r0, 0x44(r1) +/* 8000756C 000044CC 7C 08 03 A6 */ mtlr r0 +/* 80007570 000044D0 38 21 00 40 */ addi r1, r1, 0x40 +/* 80007574 000044D4 4E 80 00 20 */ blr + +.global sub_80007578 +sub_80007578: +/* 80007578 000044D8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000757C 000044DC 7C 08 02 A6 */ mflr r0 +/* 80007580 000044E0 C0 02 80 58 */ lfs f0, lbl_805A9D78@sda21(r2) +/* 80007584 000044E4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007588 000044E8 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8000758C 000044EC 7C 7F 1B 78 */ mr r31, r3 +/* 80007590 000044F0 C0 2D A0 A4 */ lfs f1, lbl_805A8C64@sda21(r13) +/* 80007594 000044F4 FC 01 00 40 */ fcmpo cr0, f1, f0 +/* 80007598 000044F8 4C 41 13 82 */ cror 2, 1, 2 +/* 8000759C 000044FC 40 82 00 18 */ bne lbl_800075B4 +/* 800075A0 00004500 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 800075A4 00004504 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 800075A8 00004508 38 63 01 23 */ addi r3, r3, 0x123 +/* 800075AC 0000450C 4C C6 31 82 */ crclr 6 +/* 800075B0 00004510 48 2C F2 7D */ bl rs_debugger_printf__FPCce +lbl_800075B4: +/* 800075B4 00004514 3C 80 80 00 */ lis r4, 0x800000F8@ha +/* 800075B8 00004518 80 7F 00 18 */ lwz r3, 0x18(r31) +/* 800075BC 0000451C 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4) +/* 800075C0 00004520 38 A0 00 00 */ li r5, 0 +/* 800075C4 00004524 80 9F 00 1C */ lwz r4, 0x1c(r31) +/* 800075C8 00004528 54 06 F0 BE */ srwi r6, r0, 2 +/* 800075CC 0000452C 48 38 26 01 */ bl __div2i +/* 800075D0 00004530 48 38 29 95 */ bl __cvt_sll_flt +/* 800075D4 00004534 C0 0D A0 A4 */ lfs f0, lbl_805A8C64@sda21(r13) +/* 800075D8 00004538 EC 00 08 2A */ fadds f0, f0, f1 +/* 800075DC 0000453C D0 0D A0 A4 */ stfs f0, lbl_805A8C64@sda21(r13) +/* 800075E0 00004540 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800075E4 00004544 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800075E8 00004548 7C 08 03 A6 */ mtlr r0 +/* 800075EC 0000454C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800075F0 00004550 4E 80 00 20 */ blr + +.global LoadStringTable__18CGameGlobalObjectsFv +LoadStringTable__18CGameGlobalObjectsFv: +/* 800075F4 00004554 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 800075F8 00004558 7C 08 02 A6 */ mflr r0 +/* 800075FC 0000455C 3C A0 80 3D */ lis r5, lbl_803CBE74@ha +/* 80007600 00004560 90 01 00 34 */ stw r0, 0x34(r1) +/* 80007604 00004564 38 A5 BE 74 */ addi r5, r5, lbl_803CBE74@l +/* 80007608 00004568 38 A5 01 31 */ addi r5, r5, 0x131 +/* 8000760C 0000456C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80007610 00004570 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80007614 00004574 7C 7E 1B 78 */ mr r30, r3 +/* 80007618 00004578 38 61 00 08 */ addi r3, r1, 8 +/* 8000761C 0000457C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) +/* 80007620 00004580 81 84 00 00 */ lwz r12, 0(r4) +/* 80007624 00004584 81 8C 00 10 */ lwz r12, 0x10(r12) +/* 80007628 00004588 7D 89 03 A6 */ mtctr r12 +/* 8000762C 0000458C 4E 80 04 21 */ bctrl +/* 80007630 00004590 3B E1 00 10 */ addi r31, r1, 0x10 +/* 80007634 00004594 38 81 00 08 */ addi r4, r1, 8 +/* 80007638 00004598 7F E3 FB 78 */ mr r3, r31 +/* 8000763C 0000459C 48 33 98 6D */ bl __ct__6CTokenFRC6CToken +/* 80007640 000045A0 7F E3 FB 78 */ mr r3, r31 +/* 80007644 000045A4 48 33 97 C9 */ bl GetObj__6CTokenFv +/* 80007648 000045A8 80 03 00 04 */ lwz r0, 4(r3) +/* 8000764C 000045AC 90 01 00 18 */ stw r0, 0x18(r1) +/* 80007650 000045B0 88 1E 01 48 */ lbz r0, 0x148(r30) +/* 80007654 000045B4 28 00 00 00 */ cmplwi r0, 0 +/* 80007658 000045B8 40 82 00 34 */ bne lbl_8000768C +/* 8000765C 000045BC 37 FE 01 3C */ addic. r31, r30, 0x13c +/* 80007660 000045C0 41 82 00 20 */ beq lbl_80007680 +/* 80007664 000045C4 7F E3 FB 78 */ mr r3, r31 +/* 80007668 000045C8 38 81 00 10 */ addi r4, r1, 0x10 +/* 8000766C 000045CC 48 33 98 3D */ bl __ct__6CTokenFRC6CToken +/* 80007670 000045D0 80 01 00 18 */ lwz r0, 0x18(r1) +/* 80007674 000045D4 7F E3 FB 78 */ mr r3, r31 +/* 80007678 000045D8 90 1F 00 08 */ stw r0, 8(r31) +/* 8000767C 000045DC 48 33 97 09 */ bl Lock__6CTokenFv +lbl_80007680: +/* 80007680 000045E0 38 00 00 01 */ li r0, 1 +/* 80007684 000045E4 98 1E 01 48 */ stb r0, 0x148(r30) +/* 80007688 000045E8 48 00 00 1C */ b lbl_800076A4 +lbl_8000768C: +/* 8000768C 000045EC 3B FE 01 3C */ addi r31, r30, 0x13c +/* 80007690 000045F0 38 81 00 10 */ addi r4, r1, 0x10 +/* 80007694 000045F4 7F E3 FB 78 */ mr r3, r31 +/* 80007698 000045F8 48 33 96 2D */ bl __as__6CTokenFRC6CToken +/* 8000769C 000045FC 80 01 00 18 */ lwz r0, 0x18(r1) +/* 800076A0 00004600 90 1F 00 08 */ stw r0, 8(r31) +lbl_800076A4: +/* 800076A4 00004604 38 61 00 10 */ addi r3, r1, 0x10 +/* 800076A8 00004608 38 80 00 00 */ li r4, 0 +/* 800076AC 0000460C 48 33 97 95 */ bl __dt__6CTokenFv +/* 800076B0 00004610 38 61 00 08 */ addi r3, r1, 8 +/* 800076B4 00004614 38 80 FF FF */ li r4, -1 +/* 800076B8 00004618 48 33 97 89 */ bl __dt__6CTokenFv +/* 800076BC 0000461C 80 1E 01 44 */ lwz r0, 0x144(r30) +/* 800076C0 00004620 90 0D A0 74 */ stw r0, gpStringTable@sda21(r13) +/* 800076C4 00004624 80 01 00 34 */ lwz r0, 0x34(r1) +/* 800076C8 00004628 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 800076CC 0000462C 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 800076D0 00004630 7C 08 03 A6 */ mtlr r0 +/* 800076D4 00004634 38 21 00 30 */ addi r1, r1, 0x30 +/* 800076D8 00004638 4E 80 00 20 */ blr + +.global PostInitialize__18CGameGlobalObjectsFR10COsContextR10CMemorySys +PostInitialize__18CGameGlobalObjectsFR10COsContextR10CMemorySys: +/* 800076DC 0000463C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800076E0 00004640 7C 08 02 A6 */ mflr r0 +/* 800076E4 00004644 90 01 00 24 */ stw r0, 0x24(r1) +/* 800076E8 00004648 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800076EC 0000464C 7C BF 2B 78 */ mr r31, r5 +/* 800076F0 00004650 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800076F4 00004654 7C 9E 23 78 */ mr r30, r4 +/* 800076F8 00004658 93 A1 00 14 */ stw r29, 0x14(r1) +/* 800076FC 0000465C 7C 7D 1B 78 */ mr r29, r3 +/* 80007700 00004660 4B FF E9 B5 */ bl AddPaksAndFactories__18CGameGlobalObjectsFv +/* 80007704 00004664 7F A3 EB 78 */ mr r3, r29 +/* 80007708 00004668 4B FF FE ED */ bl LoadStringTable__18CGameGlobalObjectsFv +/* 8000770C 0000466C 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80007710 00004670 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 80007714 00004674 38 63 01 3B */ addi r3, r3, 0x13b +/* 80007718 00004678 4C C6 31 82 */ crclr 6 +/* 8000771C 0000467C 48 38 67 95 */ bl printf +/* 80007720 00004680 7F C4 F3 78 */ mr r4, r30 +/* 80007724 00004684 7F E5 FB 78 */ mr r5, r31 +/* 80007728 00004688 38 7D 00 CC */ addi r3, r29, 0xcc +/* 8000772C 0000468C 38 DD 00 04 */ addi r6, r29, 4 +/* 80007730 00004690 48 2B 56 C1 */ bl AllocateRenderer__8RendererFR12IObjectStoreR10COsContextR10CMemorySysR11CResFactory +/* 80007734 00004694 80 1D 01 4C */ lwz r0, 0x14c(r29) +/* 80007738 00004698 7C 7F 1B 78 */ mr r31, r3 +/* 8000773C 0000469C 28 00 00 00 */ cmplwi r0, 0 +/* 80007740 000046A0 41 82 00 1C */ beq lbl_8000775C +/* 80007744 000046A4 7C 03 03 78 */ mr r3, r0 +/* 80007748 000046A8 38 80 00 01 */ li r4, 1 +/* 8000774C 000046AC 81 83 00 00 */ lwz r12, 0(r3) +/* 80007750 000046B0 81 8C 00 08 */ lwz r12, 8(r12) +/* 80007754 000046B4 7D 89 03 A6 */ mtctr r12 +/* 80007758 000046B8 4E 80 04 21 */ bctrl +lbl_8000775C: +/* 8000775C 000046BC 93 FD 01 4C */ stw r31, 0x14c(r29) +/* 80007760 000046C0 80 1D 01 4C */ lwz r0, 0x14c(r29) +/* 80007764 000046C4 90 0D A0 68 */ stw r0, gpRender@sda21(r13) +/* 80007768 000046C8 48 20 AF 79 */ bl Initialize__13CEnvFxManagerFv +/* 8000776C 000046CC 48 28 11 09 */ bl LoadMazeSeeds__15CScriptMazeNodeFv +/* 80007770 000046D0 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80007774 000046D4 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80007778 000046D8 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8000777C 000046DC 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80007780 000046E0 7C 08 03 A6 */ mtlr r0 +/* 80007784 000046E4 38 21 00 20 */ addi r1, r1, 0x20 +/* 80007788 000046E8 4E 80 00 20 */ blr + +.global sub_8000778c +sub_8000778c: +/* 8000778C 000046EC 94 21 FF 60 */ stwu r1, -0xa0(r1) +/* 80007790 000046F0 7C 08 02 A6 */ mflr r0 +/* 80007794 000046F4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007798 000046F8 38 60 00 24 */ li r3, 0x24 +/* 8000779C 000046FC 90 01 00 A4 */ stw r0, 0xa4(r1) +/* 800077A0 00004700 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800077A4 00004704 38 A0 00 00 */ li r5, 0 +/* 800077A8 00004708 93 E1 00 9C */ stw r31, 0x9c(r1) +/* 800077AC 0000470C 38 84 00 37 */ addi r4, r4, 0x37 +/* 800077B0 00004710 93 C1 00 98 */ stw r30, 0x98(r1) +/* 800077B4 00004714 48 30 E0 B9 */ bl __nw__FUlPCcPCc +/* 800077B8 00004718 7C 64 1B 79 */ or. r4, r3, r3 +/* 800077BC 0000471C 41 82 00 18 */ beq lbl_800077D4 +/* 800077C0 00004720 3C 80 80 3D */ lis r4, lbl_803CB3A0@ha +/* 800077C4 00004724 38 A0 06 50 */ li r5, 0x650 +/* 800077C8 00004728 38 84 B3 A0 */ addi r4, r4, lbl_803CB3A0@l +/* 800077CC 0000472C 48 33 7A 01 */ bl __ct__15CMemoryInStreamFPCvUl +/* 800077D0 00004730 7C 64 1B 78 */ mr r4, r3 +lbl_800077D4: +/* 800077D4 00004734 7C 04 00 D0 */ neg r0, r4 +/* 800077D8 00004738 90 81 00 1C */ stw r4, 0x1c(r1) +/* 800077DC 0000473C 7C 00 23 78 */ or r0, r0, r4 +/* 800077E0 00004740 38 61 00 5C */ addi r3, r1, 0x5c +/* 800077E4 00004744 54 00 0F FE */ srwi r0, r0, 0x1f +/* 800077E8 00004748 38 81 00 18 */ addi r4, r1, 0x18 +/* 800077EC 0000474C 98 01 00 18 */ stb r0, 0x18(r1) +/* 800077F0 00004750 48 33 81 11 */ bl __ct__15CZipInputStreamFQ24rstl24auto_ptr$$012CInputStream$$1 +/* 800077F4 00004754 88 01 00 18 */ lbz r0, 0x18(r1) +/* 800077F8 00004758 28 00 00 00 */ cmplwi r0, 0 +/* 800077FC 0000475C 41 82 00 24 */ beq lbl_80007820 +/* 80007800 00004760 80 61 00 1C */ lwz r3, 0x1c(r1) +/* 80007804 00004764 28 03 00 00 */ cmplwi r3, 0 +/* 80007808 00004768 41 82 00 18 */ beq lbl_80007820 +/* 8000780C 0000476C 81 83 00 00 */ lwz r12, 0(r3) +/* 80007810 00004770 38 80 00 01 */ li r4, 1 +/* 80007814 00004774 81 8C 00 08 */ lwz r12, 8(r12) +/* 80007818 00004778 7D 89 03 A6 */ mtctr r12 +/* 8000781C 0000477C 4E 80 04 21 */ bctrl +lbl_80007820: +/* 80007820 00004780 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007824 00004784 38 60 00 94 */ li r3, 0x94 +/* 80007828 00004788 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000782C 0000478C 38 A0 00 00 */ li r5, 0 +/* 80007830 00004790 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007834 00004794 48 30 E0 39 */ bl __nw__FUlPCcPCc +/* 80007838 00004798 7C 7F 1B 79 */ or. r31, r3, r3 +/* 8000783C 0000479C 41 82 00 14 */ beq lbl_80007850 +/* 80007840 000047A0 38 81 00 5C */ addi r4, r1, 0x5c +/* 80007844 000047A4 38 A0 00 00 */ li r5, 0 +/* 80007848 000047A8 48 2F 8F DD */ bl __ct__11CRasterFontFR12CInputStreamR12IObjectStore +/* 8000784C 000047AC 7C 7F 1B 78 */ mr r31, r3 +lbl_80007850: +/* 80007850 000047B0 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007854 000047B4 38 60 00 24 */ li r3, 0x24 +/* 80007858 000047B8 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 8000785C 000047BC 38 A0 00 00 */ li r5, 0 +/* 80007860 000047C0 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007864 000047C4 48 30 E0 09 */ bl __nw__FUlPCcPCc +/* 80007868 000047C8 7C 64 1B 79 */ or. r4, r3, r3 +/* 8000786C 000047CC 41 82 00 18 */ beq lbl_80007884 +/* 80007870 000047D0 3C 80 80 3D */ lis r4, lbl_803CB9F0@ha +/* 80007874 000047D4 38 A0 04 5C */ li r5, 0x45c +/* 80007878 000047D8 38 84 B9 F0 */ addi r4, r4, lbl_803CB9F0@l +/* 8000787C 000047DC 48 33 79 51 */ bl __ct__15CMemoryInStreamFPCvUl +/* 80007880 000047E0 7C 64 1B 78 */ mr r4, r3 +lbl_80007884: +/* 80007884 000047E4 7C 04 00 D0 */ neg r0, r4 +/* 80007888 000047E8 90 81 00 14 */ stw r4, 0x14(r1) +/* 8000788C 000047EC 7C 00 23 78 */ or r0, r0, r4 +/* 80007890 000047F0 38 61 00 28 */ addi r3, r1, 0x28 +/* 80007894 000047F4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80007898 000047F8 38 81 00 10 */ addi r4, r1, 0x10 +/* 8000789C 000047FC 98 01 00 10 */ stb r0, 0x10(r1) +/* 800078A0 00004800 48 33 80 61 */ bl __ct__15CZipInputStreamFQ24rstl24auto_ptr$$012CInputStream$$1 +/* 800078A4 00004804 88 01 00 10 */ lbz r0, 0x10(r1) +/* 800078A8 00004808 28 00 00 00 */ cmplwi r0, 0 +/* 800078AC 0000480C 41 82 00 24 */ beq lbl_800078D0 +/* 800078B0 00004810 80 61 00 14 */ lwz r3, 0x14(r1) +/* 800078B4 00004814 28 03 00 00 */ cmplwi r3, 0 +/* 800078B8 00004818 41 82 00 18 */ beq lbl_800078D0 +/* 800078BC 0000481C 81 83 00 00 */ lwz r12, 0(r3) +/* 800078C0 00004820 38 80 00 01 */ li r4, 1 +/* 800078C4 00004824 81 8C 00 08 */ lwz r12, 8(r12) +/* 800078C8 00004828 7D 89 03 A6 */ mtctr r12 +/* 800078CC 0000482C 4E 80 04 21 */ bctrl +lbl_800078D0: +/* 800078D0 00004830 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 800078D4 00004834 38 60 00 68 */ li r3, 0x68 +/* 800078D8 00004838 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 800078DC 0000483C 38 A0 00 00 */ li r5, 0 +/* 800078E0 00004840 38 84 00 37 */ addi r4, r4, 0x37 +/* 800078E4 00004844 48 30 DF 89 */ bl __nw__FUlPCcPCc +/* 800078E8 00004848 7C 64 1B 79 */ or. r4, r3, r3 +/* 800078EC 0000484C 41 82 00 18 */ beq lbl_80007904 +/* 800078F0 00004850 38 81 00 28 */ addi r4, r1, 0x28 +/* 800078F4 00004854 38 A0 00 00 */ li r5, 0 +/* 800078F8 00004858 38 C0 00 00 */ li r6, 0 +/* 800078FC 0000485C 48 30 81 C9 */ bl __ct__8CTextureFR12CInputStreamQ28CTexture11EAutoMipmapQ28CTexture9EBlackKey +/* 80007900 00004860 7C 64 1B 78 */ mr r4, r3 +lbl_80007904: +/* 80007904 00004864 3B C1 00 20 */ addi r30, r1, 0x20 +/* 80007908 00004868 38 61 00 08 */ addi r3, r1, 8 +/* 8000790C 0000486C 48 00 01 21 */ bl GetNewDerivedObject__35TObjOwnerDerivedFromIObj$$08CTexture$$1FP8CTexture +/* 80007910 00004870 38 00 00 00 */ li r0, 0 +/* 80007914 00004874 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80007918 00004878 98 01 00 08 */ stb r0, 8(r1) +/* 8000791C 0000487C 7F C3 F3 78 */ mr r3, r30 +/* 80007920 00004880 48 33 95 E5 */ bl __ct__6CTokenFP4IObj +/* 80007924 00004884 88 01 00 08 */ lbz r0, 8(r1) +/* 80007928 00004888 28 00 00 00 */ cmplwi r0, 0 +/* 8000792C 0000488C 41 82 00 24 */ beq lbl_80007950 +/* 80007930 00004890 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80007934 00004894 28 03 00 00 */ cmplwi r3, 0 +/* 80007938 00004898 41 82 00 18 */ beq lbl_80007950 +/* 8000793C 0000489C 81 83 00 00 */ lwz r12, 0(r3) +/* 80007940 000048A0 38 80 00 01 */ li r4, 1 +/* 80007944 000048A4 81 8C 00 08 */ lwz r12, 8(r12) +/* 80007948 000048A8 7D 89 03 A6 */ mtctr r12 +/* 8000794C 000048AC 4E 80 04 21 */ bctrl +lbl_80007950: +/* 80007950 000048B0 7F E3 FB 78 */ mr r3, r31 +/* 80007954 000048B4 38 81 00 20 */ addi r4, r1, 0x20 +/* 80007958 000048B8 48 2F 85 7D */ bl sub_802ffed4 +/* 8000795C 000048BC 38 61 00 20 */ addi r3, r1, 0x20 +/* 80007960 000048C0 38 80 00 00 */ li r4, 0 +/* 80007964 000048C4 48 33 94 DD */ bl __dt__6CTokenFv +/* 80007968 000048C8 38 61 00 28 */ addi r3, r1, 0x28 +/* 8000796C 000048CC 38 80 FF FF */ li r4, -1 +/* 80007970 000048D0 48 33 7E D1 */ bl __dt__15CZipInputStreamFv +/* 80007974 000048D4 38 61 00 5C */ addi r3, r1, 0x5c +/* 80007978 000048D8 38 80 FF FF */ li r4, -1 +/* 8000797C 000048DC 48 33 7E C5 */ bl __dt__15CZipInputStreamFv +/* 80007980 000048E0 80 01 00 A4 */ lwz r0, 0xa4(r1) +/* 80007984 000048E4 7F E3 FB 78 */ mr r3, r31 +/* 80007988 000048E8 83 E1 00 9C */ lwz r31, 0x9c(r1) +/* 8000798C 000048EC 83 C1 00 98 */ lwz r30, 0x98(r1) +/* 80007990 000048F0 7C 08 03 A6 */ mtlr r0 +/* 80007994 000048F4 38 21 00 A0 */ addi r1, r1, 0xa0 +/* 80007998 000048F8 4E 80 00 20 */ blr + +.global sub_8000799c +sub_8000799c: +/* 8000799C 000048FC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800079A0 00004900 7C 08 02 A6 */ mflr r0 +/* 800079A4 00004904 90 01 00 14 */ stw r0, 0x14(r1) +/* 800079A8 00004908 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800079AC 0000490C 7C 9F 23 78 */ mr r31, r4 +/* 800079B0 00004910 93 C1 00 08 */ stw r30, 8(r1) +/* 800079B4 00004914 7C 7E 1B 79 */ or. r30, r3, r3 +/* 800079B8 00004918 41 82 00 58 */ beq lbl_80007A10 +/* 800079BC 0000491C 3C 60 80 3E */ lis r3, lbl_803D8D84@ha +/* 800079C0 00004920 38 03 8D 84 */ addi r0, r3, lbl_803D8D84@l +/* 800079C4 00004924 90 1E 00 00 */ stw r0, 0(r30) +/* 800079C8 00004928 80 7E 00 04 */ lwz r3, 4(r30) +/* 800079CC 0000492C 28 03 00 00 */ cmplwi r3, 0 +/* 800079D0 00004930 41 82 00 0C */ beq lbl_800079DC +/* 800079D4 00004934 38 80 00 01 */ li r4, 1 +/* 800079D8 00004938 48 30 80 21 */ bl __dt__8CTextureFv +lbl_800079DC: +/* 800079DC 0000493C 28 1E 00 00 */ cmplwi r30, 0 +/* 800079E0 00004940 41 82 00 20 */ beq lbl_80007A00 +/* 800079E4 00004944 3C 60 80 3E */ lis r3, lbl_803D8D78@ha +/* 800079E8 00004948 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l +/* 800079EC 0000494C 90 1E 00 00 */ stw r0, 0(r30) +/* 800079F0 00004950 41 82 00 10 */ beq lbl_80007A00 +/* 800079F4 00004954 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha +/* 800079F8 00004958 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l +/* 800079FC 0000495C 90 1E 00 00 */ stw r0, 0(r30) +lbl_80007A00: +/* 80007A00 00004960 7F E0 07 35 */ extsh. r0, r31 +/* 80007A04 00004964 40 81 00 0C */ ble lbl_80007A10 +/* 80007A08 00004968 7F C3 F3 78 */ mr r3, r30 +/* 80007A0C 0000496C 48 30 DF 25 */ bl Free__7CMemoryFPCv +lbl_80007A10: +/* 80007A10 00004970 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007A14 00004974 7F C3 F3 78 */ mr r3, r30 +/* 80007A18 00004978 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80007A1C 0000497C 83 C1 00 08 */ lwz r30, 8(r1) +/* 80007A20 00004980 7C 08 03 A6 */ mtlr r0 +/* 80007A24 00004984 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007A28 00004988 4E 80 00 20 */ blr + +.global GetNewDerivedObject__35TObjOwnerDerivedFromIObj$$08CTexture$$1FP8CTexture +GetNewDerivedObject__35TObjOwnerDerivedFromIObj$$08CTexture$$1FP8CTexture: +/* 80007A2C 0000498C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80007A30 00004990 7C 08 02 A6 */ mflr r0 +/* 80007A34 00004994 3C A0 80 3D */ lis r5, lbl_803CBE74@ha +/* 80007A38 00004998 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007A3C 0000499C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80007A40 000049A0 7C 9F 23 78 */ mr r31, r4 +/* 80007A44 000049A4 93 C1 00 08 */ stw r30, 8(r1) +/* 80007A48 000049A8 7C 7E 1B 78 */ mr r30, r3 +/* 80007A4C 000049AC 38 65 BE 74 */ addi r3, r5, lbl_803CBE74@l +/* 80007A50 000049B0 38 A0 00 00 */ li r5, 0 +/* 80007A54 000049B4 38 83 00 37 */ addi r4, r3, 0x37 +/* 80007A58 000049B8 38 60 00 08 */ li r3, 8 +/* 80007A5C 000049BC 48 30 DE 11 */ bl __nw__FUlPCcPCc +/* 80007A60 000049C0 28 03 00 00 */ cmplwi r3, 0 +/* 80007A64 000049C4 41 82 00 2C */ beq lbl_80007A90 +/* 80007A68 000049C8 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha +/* 80007A6C 000049CC 3C A0 80 3E */ lis r5, lbl_803D8D78@ha +/* 80007A70 000049D0 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l +/* 80007A74 000049D4 3C 80 80 3E */ lis r4, lbl_803D8D84@ha +/* 80007A78 000049D8 90 03 00 00 */ stw r0, 0(r3) +/* 80007A7C 000049DC 38 A5 8D 78 */ addi r5, r5, lbl_803D8D78@l +/* 80007A80 000049E0 38 04 8D 84 */ addi r0, r4, lbl_803D8D84@l +/* 80007A84 000049E4 90 A3 00 00 */ stw r5, 0(r3) +/* 80007A88 000049E8 93 E3 00 04 */ stw r31, 4(r3) +/* 80007A8C 000049EC 90 03 00 00 */ stw r0, 0(r3) +lbl_80007A90: +/* 80007A90 000049F0 7C 03 00 D0 */ neg r0, r3 +/* 80007A94 000049F4 7C 00 1B 78 */ or r0, r0, r3 +/* 80007A98 000049F8 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80007A9C 000049FC 98 1E 00 00 */ stb r0, 0(r30) +/* 80007AA0 00004A00 90 7E 00 04 */ stw r3, 4(r30) +/* 80007AA4 00004A04 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80007AA8 00004A08 83 C1 00 08 */ lwz r30, 8(r1) +/* 80007AAC 00004A0C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007AB0 00004A10 7C 08 03 A6 */ mtlr r0 +/* 80007AB4 00004A14 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007AB8 00004A18 4E 80 00 20 */ blr + +.global __ct__18CGameGlobalObjectsFv +__ct__18CGameGlobalObjectsFv: +/* 80007ABC 00004A1C 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80007AC0 00004A20 7C 08 02 A6 */ mflr r0 +/* 80007AC4 00004A24 90 01 00 24 */ stw r0, 0x24(r1) +/* 80007AC8 00004A28 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80007ACC 00004A2C 7C 7F 1B 78 */ mr r31, r3 +/* 80007AD0 00004A30 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80007AD4 00004A34 7C BE 2B 78 */ mr r30, r5 +/* 80007AD8 00004A38 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80007ADC 00004A3C 7C 9D 23 78 */ mr r29, r4 +/* 80007AE0 00004A40 48 34 69 E1 */ bl Initialize__14CMemoryCardSysFv +/* 80007AE4 00004A44 38 7F 00 04 */ addi r3, r31, 4 +/* 80007AE8 00004A48 48 33 2C 09 */ bl __ct__11CResFactoryFv +/* 80007AEC 00004A4C 38 7F 00 CC */ addi r3, r31, 0xcc +/* 80007AF0 00004A50 38 9F 00 04 */ addi r4, r31, 4 +/* 80007AF4 00004A54 48 33 8C E1 */ bl __ct__11CSimplePoolFR8IFactory +/* 80007AF8 00004A58 38 7F 00 EC */ addi r3, r31, 0xec +/* 80007AFC 00004A5C 48 02 CE F1 */ bl __ct__24CCharacterFactoryBuilderFv_0 +/* 80007B00 00004A60 38 7F 01 10 */ addi r3, r31, 0x110 +/* 80007B04 00004A64 48 09 B8 29 */ bl __ct__10CAiFuncMapFv +/* 80007B08 00004A68 3C 60 80 3F */ lis r3, lbl_803F7560@ha +/* 80007B0C 00004A6C 7F A4 EB 78 */ mr r4, r29 +/* 80007B10 00004A70 38 E3 75 60 */ addi r7, r3, lbl_803F7560@l +/* 80007B14 00004A74 7F C5 F3 78 */ mr r5, r30 +/* 80007B18 00004A78 38 7F 01 30 */ addi r3, r31, 0x130 +/* 80007B1C 00004A7C 3C C0 00 06 */ lis r6, 6 +/* 80007B20 00004A80 48 30 19 3D */ bl __ct__12CGraphicsSysFRC10COsContextRC10CMemorySysUiPv +/* 80007B24 00004A84 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007B28 00004A88 38 60 02 30 */ li r3, 0x230 +/* 80007B2C 00004A8C 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80007B30 00004A90 38 A0 00 00 */ li r5, 0 +/* 80007B34 00004A94 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007B38 00004A98 48 30 DD 35 */ bl __nw__FUlPCcPCc +/* 80007B3C 00004A9C 7C 60 1B 79 */ or. r0, r3, r3 +/* 80007B40 00004AA0 41 82 00 0C */ beq lbl_80007B4C +/* 80007B44 00004AA4 48 1C CF F5 */ bl __ct__10CGameStateFv +/* 80007B48 00004AA8 7C 60 1B 78 */ mr r0, r3 +lbl_80007B4C: +/* 80007B4C 00004AAC 90 1F 01 34 */ stw r0, 0x134(r31) +/* 80007B50 00004AB0 38 00 00 00 */ li r0, 0 +/* 80007B54 00004AB4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007B58 00004AB8 38 60 00 10 */ li r3, 0x10 +/* 80007B5C 00004ABC 90 1F 01 38 */ stw r0, 0x138(r31) +/* 80007B60 00004AC0 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80007B64 00004AC4 38 84 00 37 */ addi r4, r4, 0x37 +/* 80007B68 00004AC8 38 A0 00 00 */ li r5, 0 +/* 80007B6C 00004ACC 98 1F 01 48 */ stb r0, 0x148(r31) +/* 80007B70 00004AD0 90 1F 01 4C */ stw r0, 0x14c(r31) +/* 80007B74 00004AD4 48 30 DC F9 */ bl __nw__FUlPCcPCc +/* 80007B78 00004AD8 7C 60 1B 79 */ or. r0, r3, r3 +/* 80007B7C 00004ADC 41 82 00 0C */ beq lbl_80007B88 +/* 80007B80 00004AE0 48 21 55 35 */ bl __ct__19CInGameTweakManagerFv +/* 80007B84 00004AE4 7C 60 1B 78 */ mr r0, r3 +lbl_80007B88: +/* 80007B88 00004AE8 90 1F 01 50 */ stw r0, 0x150(r31) +/* 80007B8C 00004AEC 4B FF FC 01 */ bl sub_8000778c +/* 80007B90 00004AF0 7C 64 1B 78 */ mr r4, r3 +/* 80007B94 00004AF4 3B BF 01 54 */ addi r29, r31, 0x154 +/* 80007B98 00004AF8 38 61 00 08 */ addi r3, r1, 8 +/* 80007B9C 00004AFC 48 00 02 3D */ bl sub_80007dd8 +/* 80007BA0 00004B00 38 00 00 00 */ li r0, 0 +/* 80007BA4 00004B04 80 81 00 0C */ lwz r4, 0xc(r1) +/* 80007BA8 00004B08 98 01 00 08 */ stb r0, 8(r1) +/* 80007BAC 00004B0C 7F A3 EB 78 */ mr r3, r29 +/* 80007BB0 00004B10 48 33 93 55 */ bl __ct__6CTokenFP4IObj +/* 80007BB4 00004B14 88 01 00 08 */ lbz r0, 8(r1) +/* 80007BB8 00004B18 28 00 00 00 */ cmplwi r0, 0 +/* 80007BBC 00004B1C 41 82 00 24 */ beq lbl_80007BE0 +/* 80007BC0 00004B20 80 61 00 0C */ lwz r3, 0xc(r1) +/* 80007BC4 00004B24 28 03 00 00 */ cmplwi r3, 0 +/* 80007BC8 00004B28 41 82 00 18 */ beq lbl_80007BE0 +/* 80007BCC 00004B2C 81 83 00 00 */ lwz r12, 0(r3) +/* 80007BD0 00004B30 38 80 00 01 */ li r4, 1 +/* 80007BD4 00004B34 81 8C 00 08 */ lwz r12, 8(r12) +/* 80007BD8 00004B38 7D 89 03 A6 */ mtctr r12 +/* 80007BDC 00004B3C 4E 80 04 21 */ bctrl +lbl_80007BE0: +/* 80007BE0 00004B40 38 1F 00 04 */ addi r0, r31, 4 +/* 80007BE4 00004B44 38 BF 00 CC */ addi r5, r31, 0xcc +/* 80007BE8 00004B48 38 9F 00 EC */ addi r4, r31, 0xec +/* 80007BEC 00004B4C 90 0D A0 60 */ stw r0, gpResourceFactory@sda21(r13) +/* 80007BF0 00004B50 38 1F 01 54 */ addi r0, r31, 0x154 +/* 80007BF4 00004B54 7F E3 FB 78 */ mr r3, r31 +/* 80007BF8 00004B58 90 AD A0 64 */ stw r5, gpSimplePool@sda21(r13) +/* 80007BFC 00004B5C 90 8D A0 6C */ stw r4, gpCharacterFactoryBuilder@sda21(r13) +/* 80007C00 00004B60 80 9F 01 34 */ lwz r4, 0x134(r31) +/* 80007C04 00004B64 90 8D A0 80 */ stw r4, gpGameState@sda21(r13) +/* 80007C08 00004B68 80 9F 01 50 */ lwz r4, 0x150(r31) +/* 80007C0C 00004B6C 90 8D A0 88 */ stw r4, gpTweakManager@sda21(r13) +/* 80007C10 00004B70 90 0D A0 8C */ stw r0, gpDefaultFont@sda21(r13) +/* 80007C14 00004B74 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80007C18 00004B78 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80007C1C 00004B7C 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80007C20 00004B80 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80007C24 00004B84 7C 08 03 A6 */ mtlr r0 +/* 80007C28 00004B88 38 21 00 20 */ addi r1, r1, 0x20 +/* 80007C2C 00004B8C 4E 80 00 20 */ blr + +.global sub_80007c30 +sub_80007c30: +/* 80007C30 00004B90 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80007C34 00004B94 7C 08 02 A6 */ mflr r0 +/* 80007C38 00004B98 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007C3C 00004B9C 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80007C40 00004BA0 7C 9F 23 78 */ mr r31, r4 +/* 80007C44 00004BA4 93 C1 00 08 */ stw r30, 8(r1) +/* 80007C48 00004BA8 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80007C4C 00004BAC 41 82 00 58 */ beq lbl_80007CA4 +/* 80007C50 00004BB0 3C 60 80 3E */ lis r3, lbl_803D8D60@ha +/* 80007C54 00004BB4 38 03 8D 60 */ addi r0, r3, lbl_803D8D60@l +/* 80007C58 00004BB8 90 1E 00 00 */ stw r0, 0(r30) +/* 80007C5C 00004BBC 80 7E 00 04 */ lwz r3, 4(r30) +/* 80007C60 00004BC0 28 03 00 00 */ cmplwi r3, 0 +/* 80007C64 00004BC4 41 82 00 0C */ beq lbl_80007C70 +/* 80007C68 00004BC8 38 80 00 01 */ li r4, 1 +/* 80007C6C 00004BCC 48 00 00 55 */ bl sub_80007cc0 +lbl_80007C70: +/* 80007C70 00004BD0 28 1E 00 00 */ cmplwi r30, 0 +/* 80007C74 00004BD4 41 82 00 20 */ beq lbl_80007C94 +/* 80007C78 00004BD8 3C 60 80 3E */ lis r3, lbl_803D8D78@ha +/* 80007C7C 00004BDC 38 03 8D 78 */ addi r0, r3, lbl_803D8D78@l +/* 80007C80 00004BE0 90 1E 00 00 */ stw r0, 0(r30) +/* 80007C84 00004BE4 41 82 00 10 */ beq lbl_80007C94 +/* 80007C88 00004BE8 3C 60 80 3E */ lis r3, lbl_803D8D6C@ha +/* 80007C8C 00004BEC 38 03 8D 6C */ addi r0, r3, lbl_803D8D6C@l +/* 80007C90 00004BF0 90 1E 00 00 */ stw r0, 0(r30) +lbl_80007C94: +/* 80007C94 00004BF4 7F E0 07 35 */ extsh. r0, r31 +/* 80007C98 00004BF8 40 81 00 0C */ ble lbl_80007CA4 +/* 80007C9C 00004BFC 7F C3 F3 78 */ mr r3, r30 +/* 80007CA0 00004C00 48 30 DC 91 */ bl Free__7CMemoryFPCv +lbl_80007CA4: +/* 80007CA4 00004C04 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007CA8 00004C08 7F C3 F3 78 */ mr r3, r30 +/* 80007CAC 00004C0C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80007CB0 00004C10 83 C1 00 08 */ lwz r30, 8(r1) +/* 80007CB4 00004C14 7C 08 03 A6 */ mtlr r0 +/* 80007CB8 00004C18 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007CBC 00004C1C 4E 80 00 20 */ blr + +.global sub_80007cc0 +sub_80007cc0: +/* 80007CC0 00004C20 94 21 FF D0 */ stwu r1, -0x30(r1) +/* 80007CC4 00004C24 7C 08 02 A6 */ mflr r0 +/* 80007CC8 00004C28 90 01 00 34 */ stw r0, 0x34(r1) +/* 80007CCC 00004C2C 93 E1 00 2C */ stw r31, 0x2c(r1) +/* 80007CD0 00004C30 7C 9F 23 78 */ mr r31, r4 +/* 80007CD4 00004C34 93 C1 00 28 */ stw r30, 0x28(r1) +/* 80007CD8 00004C38 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80007CDC 00004C3C 41 82 00 E0 */ beq lbl_80007DBC +/* 80007CE0 00004C40 34 1E 00 80 */ addic. r0, r30, 0x80 +/* 80007CE4 00004C44 41 82 00 28 */ beq lbl_80007D0C +/* 80007CE8 00004C48 88 1E 00 88 */ lbz r0, 0x88(r30) +/* 80007CEC 00004C4C 28 00 00 00 */ cmplwi r0, 0 +/* 80007CF0 00004C50 41 82 00 14 */ beq lbl_80007D04 +/* 80007CF4 00004C54 34 7E 00 80 */ addic. r3, r30, 0x80 +/* 80007CF8 00004C58 41 82 00 0C */ beq lbl_80007D04 +/* 80007CFC 00004C5C 38 80 00 00 */ li r4, 0 +/* 80007D00 00004C60 48 33 91 41 */ bl __dt__6CTokenFv +lbl_80007D04: +/* 80007D04 00004C64 38 00 00 00 */ li r0, 0 +/* 80007D08 00004C68 98 1E 00 88 */ stb r0, 0x88(r30) +lbl_80007D0C: +/* 80007D0C 00004C6C 34 1E 00 30 */ addic. r0, r30, 0x30 +/* 80007D10 00004C70 41 82 00 0C */ beq lbl_80007D1C +/* 80007D14 00004C74 38 00 00 00 */ li r0, 0 +/* 80007D18 00004C78 98 1E 00 7C */ stb r0, 0x7c(r30) +lbl_80007D1C: +/* 80007D1C 00004C7C 34 1E 00 1C */ addic. r0, r30, 0x1c +/* 80007D20 00004C80 41 82 00 44 */ beq lbl_80007D64 +/* 80007D24 00004C84 80 1E 00 20 */ lwz r0, 0x20(r30) +/* 80007D28 00004C88 80 7E 00 28 */ lwz r3, 0x28(r30) +/* 80007D2C 00004C8C 54 00 18 38 */ slwi r0, r0, 3 +/* 80007D30 00004C90 7C 03 02 14 */ add r0, r3, r0 +/* 80007D34 00004C94 90 61 00 1C */ stw r3, 0x1c(r1) +/* 80007D38 00004C98 7C 64 1B 78 */ mr r4, r3 +/* 80007D3C 00004C9C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80007D40 00004CA0 90 01 00 20 */ stw r0, 0x20(r1) +/* 80007D44 00004CA4 90 61 00 18 */ stw r3, 0x18(r1) +/* 80007D48 00004CA8 48 00 00 08 */ b lbl_80007D50 +lbl_80007D4C: +/* 80007D4C 00004CAC 38 84 00 08 */ addi r4, r4, 8 +lbl_80007D50: +/* 80007D50 00004CB0 7C 04 00 40 */ cmplw r4, r0 +/* 80007D54 00004CB4 40 82 FF F8 */ bne lbl_80007D4C +/* 80007D58 00004CB8 28 03 00 00 */ cmplwi r3, 0 +/* 80007D5C 00004CBC 41 82 00 08 */ beq lbl_80007D64 +/* 80007D60 00004CC0 48 30 DB D1 */ bl Free__7CMemoryFPCv +lbl_80007D64: +/* 80007D64 00004CC4 34 1E 00 0C */ addic. r0, r30, 0xc +/* 80007D68 00004CC8 41 82 00 44 */ beq lbl_80007DAC +/* 80007D6C 00004CCC 80 1E 00 10 */ lwz r0, 0x10(r30) +/* 80007D70 00004CD0 80 7E 00 18 */ lwz r3, 0x18(r30) +/* 80007D74 00004CD4 1C 00 00 24 */ mulli r0, r0, 0x24 +/* 80007D78 00004CD8 90 61 00 0C */ stw r3, 0xc(r1) +/* 80007D7C 00004CDC 7C 64 1B 78 */ mr r4, r3 +/* 80007D80 00004CE0 7C 03 02 14 */ add r0, r3, r0 +/* 80007D84 00004CE4 90 61 00 08 */ stw r3, 8(r1) +/* 80007D88 00004CE8 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007D8C 00004CEC 90 01 00 10 */ stw r0, 0x10(r1) +/* 80007D90 00004CF0 48 00 00 08 */ b lbl_80007D98 +lbl_80007D94: +/* 80007D94 00004CF4 38 84 00 24 */ addi r4, r4, 0x24 +lbl_80007D98: +/* 80007D98 00004CF8 7C 04 00 40 */ cmplw r4, r0 +/* 80007D9C 00004CFC 40 82 FF F8 */ bne lbl_80007D94 +/* 80007DA0 00004D00 28 03 00 00 */ cmplwi r3, 0 +/* 80007DA4 00004D04 41 82 00 08 */ beq lbl_80007DAC +/* 80007DA8 00004D08 48 30 DB 89 */ bl Free__7CMemoryFPCv +lbl_80007DAC: +/* 80007DAC 00004D0C 7F E0 07 35 */ extsh. r0, r31 +/* 80007DB0 00004D10 40 81 00 0C */ ble lbl_80007DBC +/* 80007DB4 00004D14 7F C3 F3 78 */ mr r3, r30 +/* 80007DB8 00004D18 48 30 DB 79 */ bl Free__7CMemoryFPCv +lbl_80007DBC: +/* 80007DBC 00004D1C 80 01 00 34 */ lwz r0, 0x34(r1) +/* 80007DC0 00004D20 7F C3 F3 78 */ mr r3, r30 +/* 80007DC4 00004D24 83 E1 00 2C */ lwz r31, 0x2c(r1) +/* 80007DC8 00004D28 83 C1 00 28 */ lwz r30, 0x28(r1) +/* 80007DCC 00004D2C 7C 08 03 A6 */ mtlr r0 +/* 80007DD0 00004D30 38 21 00 30 */ addi r1, r1, 0x30 +/* 80007DD4 00004D34 4E 80 00 20 */ blr + +.global sub_80007dd8 +sub_80007dd8: +/* 80007DD8 00004D38 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80007DDC 00004D3C 7C 08 02 A6 */ mflr r0 +/* 80007DE0 00004D40 3C A0 80 3D */ lis r5, lbl_803CBE74@ha +/* 80007DE4 00004D44 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007DE8 00004D48 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80007DEC 00004D4C 7C 9F 23 78 */ mr r31, r4 +/* 80007DF0 00004D50 93 C1 00 08 */ stw r30, 8(r1) +/* 80007DF4 00004D54 7C 7E 1B 78 */ mr r30, r3 +/* 80007DF8 00004D58 38 65 BE 74 */ addi r3, r5, lbl_803CBE74@l +/* 80007DFC 00004D5C 38 A0 00 00 */ li r5, 0 +/* 80007E00 00004D60 38 83 00 37 */ addi r4, r3, 0x37 +/* 80007E04 00004D64 38 60 00 08 */ li r3, 8 +/* 80007E08 00004D68 48 30 DA 65 */ bl __nw__FUlPCcPCc +/* 80007E0C 00004D6C 28 03 00 00 */ cmplwi r3, 0 +/* 80007E10 00004D70 41 82 00 2C */ beq lbl_80007E3C +/* 80007E14 00004D74 3C 80 80 3E */ lis r4, lbl_803D8D6C@ha +/* 80007E18 00004D78 3C A0 80 3E */ lis r5, lbl_803D8D78@ha +/* 80007E1C 00004D7C 38 04 8D 6C */ addi r0, r4, lbl_803D8D6C@l +/* 80007E20 00004D80 3C 80 80 3E */ lis r4, lbl_803D8D60@ha +/* 80007E24 00004D84 90 03 00 00 */ stw r0, 0(r3) +/* 80007E28 00004D88 38 A5 8D 78 */ addi r5, r5, lbl_803D8D78@l +/* 80007E2C 00004D8C 38 04 8D 60 */ addi r0, r4, lbl_803D8D60@l +/* 80007E30 00004D90 90 A3 00 00 */ stw r5, 0(r3) +/* 80007E34 00004D94 93 E3 00 04 */ stw r31, 4(r3) +/* 80007E38 00004D98 90 03 00 00 */ stw r0, 0(r3) +lbl_80007E3C: +/* 80007E3C 00004D9C 7C 03 00 D0 */ neg r0, r3 +/* 80007E40 00004DA0 7C 00 1B 78 */ or r0, r0, r3 +/* 80007E44 00004DA4 54 00 0F FE */ srwi r0, r0, 0x1f +/* 80007E48 00004DA8 98 1E 00 00 */ stb r0, 0(r30) +/* 80007E4C 00004DAC 90 7E 00 04 */ stw r3, 4(r30) +/* 80007E50 00004DB0 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80007E54 00004DB4 83 C1 00 08 */ lwz r30, 8(r1) +/* 80007E58 00004DB8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007E5C 00004DBC 7C 08 03 A6 */ mtlr r0 +/* 80007E60 00004DC0 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007E64 00004DC4 4E 80 00 20 */ blr + +.global ShutdownSubsystems__5CMainFv +ShutdownSubsystems__5CMainFv: +/* 80007E68 00004DC8 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80007E6C 00004DCC 7C 08 02 A6 */ mflr r0 +/* 80007E70 00004DD0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80007E74 00004DD4 48 36 4E E5 */ bl sub_8036cd58 +/* 80007E78 00004DD8 48 10 F9 8D */ bl ShutDown__13CDecalManagerFv +/* 80007E7C 00004DDC 48 31 72 E1 */ bl ShutDown__11CElementGenFv +/* 80007E80 00004DE0 48 02 62 E9 */ bl FreeCache__9CAnimDataFv +/* 80007E84 00004DE4 48 37 C7 51 */ bl OSGetCurrentThread +/* 80007E88 00004DE8 80 83 03 08 */ lwz r4, 0x308(r3) +/* 80007E8C 00004DEC 80 A3 03 04 */ lwz r5, 0x304(r3) +/* 80007E90 00004DF0 38 04 03 FF */ addi r0, r4, 0x3ff +/* 80007E94 00004DF4 54 04 00 2A */ rlwinm r4, r0, 0, 0, 0x15 +/* 80007E98 00004DF8 38 65 E0 00 */ addi r3, r5, -8192 +/* 80007E9C 00004DFC 38 84 04 00 */ addi r4, r4, 0x400 +/* 80007EA0 00004E00 38 03 00 03 */ addi r0, r3, 3 +/* 80007EA4 00004E04 7C 04 00 50 */ subf r0, r4, r0 +/* 80007EA8 00004E08 54 00 F0 BE */ srwi r0, r0, 2 +/* 80007EAC 00004E0C 7C 09 03 A6 */ mtctr r0 +/* 80007EB0 00004E10 7C 04 18 40 */ cmplw r4, r3 +/* 80007EB4 00004E14 40 80 00 1C */ bge lbl_80007ED0 +lbl_80007EB8: +/* 80007EB8 00004E18 80 64 00 00 */ lwz r3, 0(r4) +/* 80007EBC 00004E1C 3C 03 8C C9 */ addis r0, r3, 0x8cc9 +/* 80007EC0 00004E20 28 00 D0 0D */ cmplwi r0, 0xd00d +/* 80007EC4 00004E24 40 82 00 0C */ bne lbl_80007ED0 +/* 80007EC8 00004E28 38 84 00 04 */ addi r4, r4, 4 +/* 80007ECC 00004E2C 42 00 FF EC */ bdnz lbl_80007EB8 +lbl_80007ED0: +/* 80007ED0 00004E30 38 05 E0 00 */ addi r0, r5, -8192 +/* 80007ED4 00004E34 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80007ED8 00004E38 7C 84 00 50 */ subf r4, r4, r0 +/* 80007EDC 00004E3C 38 84 20 00 */ addi r4, r4, 0x2000 +/* 80007EE0 00004E40 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 80007EE4 00004E44 38 63 01 55 */ addi r3, r3, 0x155 +/* 80007EE8 00004E48 54 85 B2 BE */ srwi r5, r4, 0xa +/* 80007EEC 00004E4C 4C C6 31 82 */ crclr 6 +/* 80007EF0 00004E50 48 37 7A BD */ bl OSReport +/* 80007EF4 00004E54 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80007EF8 00004E58 7C 08 03 A6 */ mtlr r0 +/* 80007EFC 00004E5C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80007F00 00004E60 4E 80 00 20 */ blr + +.global InitializeSubsystems__5CMainFv +InitializeSubsystems__5CMainFv: +/* 80007F04 00004E64 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80007F08 00004E68 7C 08 02 A6 */ mflr r0 +/* 80007F0C 00004E6C 38 6D A0 9C */ addi r3, r13, sARAMMemArray@sda21 +/* 80007F10 00004E70 38 80 00 02 */ li r4, 2 +/* 80007F14 00004E74 90 01 00 24 */ stw r0, 0x24(r1) +/* 80007F18 00004E78 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80007F1C 00004E7C 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80007F20 00004E80 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80007F24 00004E84 48 36 5B CD */ bl ARInit +/* 80007F28 00004E88 3C 60 00 60 */ lis r3, 0x005FC000@ha +/* 80007F2C 00004E8C 38 63 C0 00 */ addi r3, r3, 0x005FC000@l +/* 80007F30 00004E90 48 36 5A E5 */ bl ARAlloc +/* 80007F34 00004E94 80 6D 9D 60 */ lwz r3, lbl_805A8920@sda21(r13) +/* 80007F38 00004E98 3C 63 00 60 */ addis r3, r3, 0x60 +/* 80007F3C 00004E9C 38 03 C0 00 */ addi r0, r3, -16384 +/* 80007F40 00004EA0 90 0D 9D 60 */ stw r0, lbl_805A8920@sda21(r13) +/* 80007F44 00004EA4 48 36 76 BD */ bl ARQInit +/* 80007F48 00004EA8 48 37 C6 8D */ bl OSGetCurrentThread +/* 80007F4C 00004EAC 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80007F50 00004EB0 7C 7F 1B 78 */ mr r31, r3 +/* 80007F54 00004EB4 38 64 BE 74 */ addi r3, r4, lbl_803CBE74@l +/* 80007F58 00004EB8 38 63 01 72 */ addi r3, r3, 0x172 +/* 80007F5C 00004EBC 4C C6 31 82 */ crclr 6 +/* 80007F60 00004EC0 48 38 5F 51 */ bl printf +/* 80007F64 00004EC4 80 9F 03 08 */ lwz r4, 0x308(r31) +/* 80007F68 00004EC8 38 60 00 03 */ li r3, 3 +/* 80007F6C 00004ECC 83 BF 03 04 */ lwz r29, 0x304(r31) +/* 80007F70 00004ED0 38 A0 04 00 */ li r5, 0x400 +/* 80007F74 00004ED4 38 04 03 FF */ addi r0, r4, 0x3ff +/* 80007F78 00004ED8 38 C0 00 00 */ li r6, 0 +/* 80007F7C 00004EDC 54 1E 00 2A */ rlwinm r30, r0, 0, 0, 0x15 +/* 80007F80 00004EE0 7F C4 F3 78 */ mr r4, r30 +/* 80007F84 00004EE4 48 37 AB 39 */ bl OSProtectRange +/* 80007F88 00004EE8 38 9D E0 00 */ addi r4, r29, -8192 +/* 80007F8C 00004EEC 38 DE 04 00 */ addi r6, r30, 0x400 +/* 80007F90 00004EF0 38 64 00 03 */ addi r3, r4, 3 +/* 80007F94 00004EF4 3C A0 73 38 */ lis r5, 0x7337D00D@ha +/* 80007F98 00004EF8 7C 66 18 50 */ subf r3, r6, r3 +/* 80007F9C 00004EFC 7C 06 20 40 */ cmplw r6, r4 +/* 80007FA0 00004F00 38 A5 D0 0D */ addi r5, r5, 0x7337D00D@l +/* 80007FA4 00004F04 54 63 F0 BE */ srwi r3, r3, 2 +/* 80007FA8 00004F08 40 80 00 50 */ bge lbl_80007FF8 +/* 80007FAC 00004F0C 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f +/* 80007FB0 00004F10 7C 09 03 A6 */ mtctr r0 +/* 80007FB4 00004F14 41 82 00 34 */ beq lbl_80007FE8 +lbl_80007FB8: +/* 80007FB8 00004F18 90 A6 00 00 */ stw r5, 0(r6) +/* 80007FBC 00004F1C 90 A6 00 04 */ stw r5, 4(r6) +/* 80007FC0 00004F20 90 A6 00 08 */ stw r5, 8(r6) +/* 80007FC4 00004F24 90 A6 00 0C */ stw r5, 0xc(r6) +/* 80007FC8 00004F28 90 A6 00 10 */ stw r5, 0x10(r6) +/* 80007FCC 00004F2C 90 A6 00 14 */ stw r5, 0x14(r6) +/* 80007FD0 00004F30 90 A6 00 18 */ stw r5, 0x18(r6) +/* 80007FD4 00004F34 90 A6 00 1C */ stw r5, 0x1c(r6) +/* 80007FD8 00004F38 38 C6 00 20 */ addi r6, r6, 0x20 +/* 80007FDC 00004F3C 42 00 FF DC */ bdnz lbl_80007FB8 +/* 80007FE0 00004F40 70 63 00 07 */ andi. r3, r3, 7 +/* 80007FE4 00004F44 41 82 00 14 */ beq lbl_80007FF8 +lbl_80007FE8: +/* 80007FE8 00004F48 7C 69 03 A6 */ mtctr r3 +lbl_80007FEC: +/* 80007FEC 00004F4C 90 A6 00 00 */ stw r5, 0(r6) +/* 80007FF0 00004F50 38 C6 00 04 */ addi r6, r6, 4 +/* 80007FF4 00004F54 42 00 FF F8 */ bdnz lbl_80007FEC +lbl_80007FF8: +/* 80007FF8 00004F58 38 7E 04 00 */ addi r3, r30, 0x400 +/* 80007FFC 00004F5C 7C 83 20 50 */ subf r4, r3, r4 +/* 80008000 00004F60 48 37 6A B1 */ bl DCFlushRange +/* 80008004 00004F64 3C 60 80 3D */ lis r3, lbl_803CBE74@ha +/* 80008008 00004F68 80 9F 03 04 */ lwz r4, 0x304(r31) +/* 8000800C 00004F6C 38 63 BE 74 */ addi r3, r3, lbl_803CBE74@l +/* 80008010 00004F70 80 BF 03 08 */ lwz r5, 0x308(r31) +/* 80008014 00004F74 38 63 01 88 */ addi r3, r3, 0x188 +/* 80008018 00004F78 4C C6 31 82 */ crclr 6 +/* 8000801C 00004F7C 48 38 5E 95 */ bl printf +/* 80008020 00004F80 48 31 71 49 */ bl Initialize__11CElementGenFv +/* 80008024 00004F84 48 02 61 C9 */ bl InitializeCache__9CAnimDataFv +/* 80008028 00004F88 38 60 08 00 */ li r3, 0x800 +/* 8000802C 00004F8C 48 33 CC E9 */ bl Initialize__12CARAMManagerFUi +/* 80008030 00004F90 48 10 F9 25 */ bl Initialize__13CDecalManagerFv +/* 80008034 00004F94 48 36 4D 45 */ bl sub_8036cd78 +/* 80008038 00004F98 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8000803C 00004F9C 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80008040 00004FA0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80008044 00004FA4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80008048 00004FA8 7C 08 03 A6 */ mtlr r0 +/* 8000804C 00004FAC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80008050 00004FB0 4E 80 00 20 */ blr + +.global __dt__5CMainFv +__dt__5CMainFv: +/* 80008054 00004FB4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008058 00004FB8 7C 08 02 A6 */ mflr r0 +/* 8000805C 00004FBC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008060 00004FC0 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80008064 00004FC4 7C 9F 23 78 */ mr r31, r4 +/* 80008068 00004FC8 93 C1 00 08 */ stw r30, 8(r1) +/* 8000806C 00004FCC 7C 7E 1B 79 */ or. r30, r3, r3 +/* 80008070 00004FD0 41 82 01 78 */ beq lbl_800081E8 +/* 80008074 00004FD4 34 1E 01 30 */ addic. r0, r30, 0x130 +/* 80008078 00004FD8 41 82 00 58 */ beq lbl_800080D0 +/* 8000807C 00004FDC 80 BE 01 30 */ lwz r5, 0x130(r30) +/* 80008080 00004FE0 38 60 00 00 */ li r3, 0 +/* 80008084 00004FE4 2C 05 00 00 */ cmpwi r5, 0 +/* 80008088 00004FE8 40 81 00 40 */ ble lbl_800080C8 +/* 8000808C 00004FEC 2C 05 00 08 */ cmpwi r5, 8 +/* 80008090 00004FF0 38 85 FF F8 */ addi r4, r5, -8 +/* 80008094 00004FF4 40 81 00 20 */ ble lbl_800080B4 +/* 80008098 00004FF8 38 04 00 07 */ addi r0, r4, 7 +/* 8000809C 00004FFC 54 00 E8 FE */ srwi r0, r0, 3 +/* 800080A0 00005000 7C 09 03 A6 */ mtctr r0 +/* 800080A4 00005004 2C 04 00 00 */ cmpwi r4, 0 +/* 800080A8 00005008 40 81 00 0C */ ble lbl_800080B4 +lbl_800080AC: +/* 800080AC 0000500C 38 63 00 08 */ addi r3, r3, 8 +/* 800080B0 00005010 42 00 FF FC */ bdnz lbl_800080AC +lbl_800080B4: +/* 800080B4 00005014 7C 03 28 50 */ subf r0, r3, r5 +/* 800080B8 00005018 7C 09 03 A6 */ mtctr r0 +/* 800080BC 0000501C 7C 03 28 00 */ cmpw r3, r5 +/* 800080C0 00005020 40 80 00 08 */ bge lbl_800080C8 +lbl_800080C4: +/* 800080C4 00005024 42 00 00 00 */ bdnz lbl_800080C4 +lbl_800080C8: +/* 800080C8 00005028 38 00 00 00 */ li r0, 0 +/* 800080CC 0000502C 90 1E 01 30 */ stw r0, 0x130(r30) +lbl_800080D0: +/* 800080D0 00005030 34 1E 01 04 */ addic. r0, r30, 0x104 +/* 800080D4 00005034 41 82 00 60 */ beq lbl_80008134 +/* 800080D8 00005038 34 1E 01 04 */ addic. r0, r30, 0x104 +/* 800080DC 0000503C 41 82 00 58 */ beq lbl_80008134 +/* 800080E0 00005040 80 BE 01 04 */ lwz r5, 0x104(r30) +/* 800080E4 00005044 38 60 00 00 */ li r3, 0 +/* 800080E8 00005048 2C 05 00 00 */ cmpwi r5, 0 +/* 800080EC 0000504C 40 81 00 40 */ ble lbl_8000812C +/* 800080F0 00005050 2C 05 00 08 */ cmpwi r5, 8 +/* 800080F4 00005054 38 85 FF F8 */ addi r4, r5, -8 +/* 800080F8 00005058 40 81 00 20 */ ble lbl_80008118 +/* 800080FC 0000505C 38 04 00 07 */ addi r0, r4, 7 +/* 80008100 00005060 54 00 E8 FE */ srwi r0, r0, 3 +/* 80008104 00005064 7C 09 03 A6 */ mtctr r0 +/* 80008108 00005068 2C 04 00 00 */ cmpwi r4, 0 +/* 8000810C 0000506C 40 81 00 0C */ ble lbl_80008118 +lbl_80008110: +/* 80008110 00005070 38 63 00 08 */ addi r3, r3, 8 +/* 80008114 00005074 42 00 FF FC */ bdnz lbl_80008110 +lbl_80008118: +/* 80008118 00005078 7C 03 28 50 */ subf r0, r3, r5 +/* 8000811C 0000507C 7C 09 03 A6 */ mtctr r0 +/* 80008120 00005080 7C 03 28 00 */ cmpw r3, r5 +/* 80008124 00005084 40 80 00 08 */ bge lbl_8000812C +lbl_80008128: +/* 80008128 00005088 42 00 00 00 */ bdnz lbl_80008128 +lbl_8000812C: +/* 8000812C 0000508C 38 00 00 00 */ li r0, 0 +/* 80008130 00005090 90 1E 01 04 */ stw r0, 0x104(r30) +lbl_80008134: +/* 80008134 00005094 34 1E 00 F0 */ addic. r0, r30, 0xf0 +/* 80008138 00005098 41 82 00 60 */ beq lbl_80008198 +/* 8000813C 0000509C 34 1E 00 F0 */ addic. r0, r30, 0xf0 +/* 80008140 000050A0 41 82 00 58 */ beq lbl_80008198 +/* 80008144 000050A4 80 BE 00 F0 */ lwz r5, 0xf0(r30) +/* 80008148 000050A8 38 60 00 00 */ li r3, 0 +/* 8000814C 000050AC 2C 05 00 00 */ cmpwi r5, 0 +/* 80008150 000050B0 40 81 00 40 */ ble lbl_80008190 +/* 80008154 000050B4 2C 05 00 08 */ cmpwi r5, 8 +/* 80008158 000050B8 38 85 FF F8 */ addi r4, r5, -8 +/* 8000815C 000050BC 40 81 00 20 */ ble lbl_8000817C +/* 80008160 000050C0 38 04 00 07 */ addi r0, r4, 7 +/* 80008164 000050C4 54 00 E8 FE */ srwi r0, r0, 3 +/* 80008168 000050C8 7C 09 03 A6 */ mtctr r0 +/* 8000816C 000050CC 2C 04 00 00 */ cmpwi r4, 0 +/* 80008170 000050D0 40 81 00 0C */ ble lbl_8000817C +lbl_80008174: +/* 80008174 000050D4 38 63 00 08 */ addi r3, r3, 8 +/* 80008178 000050D8 42 00 FF FC */ bdnz lbl_80008174 +lbl_8000817C: +/* 8000817C 000050DC 7C 03 28 50 */ subf r0, r3, r5 +/* 80008180 000050E0 7C 09 03 A6 */ mtctr r0 +/* 80008184 000050E4 7C 03 28 00 */ cmpw r3, r5 +/* 80008188 000050E8 40 80 00 08 */ bge lbl_80008190 +lbl_8000818C: +/* 8000818C 000050EC 42 00 00 00 */ bdnz lbl_8000818C +lbl_80008190: +/* 80008190 000050F0 38 00 00 00 */ li r0, 0 +/* 80008194 000050F4 90 1E 00 F0 */ stw r0, 0xf0(r30) +lbl_80008198: +/* 80008198 000050F8 38 7E 00 70 */ addi r3, r30, 0x70 +/* 8000819C 000050FC 38 80 FF FF */ li r4, -1 +/* 800081A0 00005100 48 02 EA 11 */ bl sub_80036bb0 +/* 800081A4 00005104 34 1E 00 6E */ addic. r0, r30, 0x6e +/* 800081A8 00005108 41 82 00 18 */ beq lbl_800081C0 +/* 800081AC 0000510C 88 0D A7 70 */ lbz r0, lbl_805A9330@sda21(r13) +/* 800081B0 00005110 28 00 00 01 */ cmplwi r0, 1 +/* 800081B4 00005114 40 82 00 0C */ bne lbl_800081C0 +/* 800081B8 00005118 38 00 00 00 */ li r0, 0 +/* 800081BC 0000511C 98 0D A7 70 */ stb r0, lbl_805A9330@sda21(r13) +lbl_800081C0: +/* 800081C0 00005120 38 7E 00 6D */ addi r3, r30, 0x6d +/* 800081C4 00005124 38 80 FF FF */ li r4, -1 +/* 800081C8 00005128 48 30 D9 ED */ bl __dt__10CMemorySysFv +/* 800081CC 0000512C 7F C3 F3 78 */ mr r3, r30 +/* 800081D0 00005130 38 80 FF FF */ li r4, -1 +/* 800081D4 00005134 48 2C E4 71 */ bl __dt__10COsContextFv +/* 800081D8 00005138 7F E0 07 35 */ extsh. r0, r31 +/* 800081DC 0000513C 40 81 00 0C */ ble lbl_800081E8 +/* 800081E0 00005140 7F C3 F3 78 */ mr r3, r30 +/* 800081E4 00005144 48 30 D7 4D */ bl Free__7CMemoryFPCv +lbl_800081E8: +/* 800081E8 00005148 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800081EC 0000514C 7F C3 F3 78 */ mr r3, r30 +/* 800081F0 00005150 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800081F4 00005154 83 C1 00 08 */ lwz r30, 8(r1) +/* 800081F8 00005158 7C 08 03 A6 */ mtlr r0 +/* 800081FC 0000515C 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008200 00005160 4E 80 00 20 */ blr + +.global __ct__5CMainFv +__ct__5CMainFv: +/* 80008204 00005164 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008208 00005168 7C 08 02 A6 */ mflr r0 +/* 8000820C 0000516C 38 80 00 01 */ li r4, 1 +/* 80008210 00005170 38 A0 00 01 */ li r5, 1 +/* 80008214 00005174 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008218 00005178 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8000821C 0000517C 7C 7F 1B 78 */ mr r31, r3 +/* 80008220 00005180 93 C1 00 08 */ stw r30, 8(r1) +/* 80008224 00005184 48 2C E4 5D */ bl __ct__10COsContextFbb +/* 80008228 00005188 7F E4 FB 78 */ mr r4, r31 +/* 8000822C 0000518C 38 7F 00 6C */ addi r3, r31, 0x6c +/* 80008230 00005190 48 00 03 55 */ bl sub_80008584 +/* 80008234 00005194 48 30 D9 75 */ bl GetGameAllocator__10CMemorySysFv +/* 80008238 00005198 7C 7E 1B 78 */ mr r30, r3 +/* 8000823C 0000519C 7F E3 FB 78 */ mr r3, r31 +/* 80008240 000051A0 48 00 01 A5 */ bl sub_800083e4 +/* 80008244 000051A4 7C 64 1B 78 */ mr r4, r3 +/* 80008248 000051A8 7F C5 F3 78 */ mr r5, r30 +/* 8000824C 000051AC 38 7F 00 6D */ addi r3, r31, 0x6d +/* 80008250 000051B0 48 30 D9 B5 */ bl __ct__10CMemorySysFR10COsContextR10IAllocator +/* 80008254 000051B4 88 0D A7 70 */ lbz r0, lbl_805A9330@sda21(r13) +/* 80008258 000051B8 28 00 00 01 */ cmplwi r0, 1 +/* 8000825C 000051BC 41 82 00 0C */ beq lbl_80008268 +/* 80008260 000051C0 38 00 00 01 */ li r0, 1 +/* 80008264 000051C4 98 0D A7 70 */ stb r0, lbl_805A9330@sda21(r13) +lbl_80008268: +/* 80008268 000051C8 38 7F 00 70 */ addi r3, r31, 0x70 +/* 8000826C 000051CC 48 02 EA 35 */ bl __ct__7CTweaksFv +/* 80008270 000051D0 C8 22 80 28 */ lfd f1, lbl_805A9D48@sda21(r2) +/* 80008274 000051D4 38 80 00 00 */ li r4, 0 +/* 80008278 000051D8 C0 02 80 34 */ lfs f0, lbl_805A9D54@sda21(r2) +/* 8000827C 000051DC 38 60 00 05 */ li r3, 5 +/* 80008280 000051E0 D8 3F 00 E8 */ stfd f1, 0xe8(r31) +/* 80008284 000051E4 34 BF 01 34 */ addic. r5, r31, 0x134 +/* 80008288 000051E8 38 00 00 0A */ li r0, 0xa +/* 8000828C 000051EC 90 9F 00 F0 */ stw r4, 0xf0(r31) +/* 80008290 000051F0 90 9F 01 04 */ stw r4, 0x104(r31) +/* 80008294 000051F4 D0 1F 01 18 */ stfs f0, 0x118(r31) +/* 80008298 000051F8 D0 1F 01 1C */ stfs f0, 0x11c(r31) +/* 8000829C 000051FC D0 1F 01 20 */ stfs f0, 0x120(r31) +/* 800082A0 00005200 D0 1F 01 24 */ stfs f0, 0x124(r31) +/* 800082A4 00005204 90 9F 01 28 */ stw r4, 0x128(r31) +/* 800082A8 00005208 90 7F 01 2C */ stw r3, 0x12c(r31) +/* 800082AC 0000520C 90 1F 01 30 */ stw r0, 0x130(r31) +/* 800082B0 00005210 41 82 00 0C */ beq lbl_800082BC +/* 800082B4 00005214 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 800082B8 00005218 90 05 00 00 */ stw r0, 0(r5) +lbl_800082BC: +/* 800082BC 0000521C 34 A5 00 04 */ addic. r5, r5, 4 +/* 800082C0 00005220 41 82 00 0C */ beq lbl_800082CC +/* 800082C4 00005224 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 800082C8 00005228 90 05 00 00 */ stw r0, 0(r5) +lbl_800082CC: +/* 800082CC 0000522C 34 A5 00 04 */ addic. r5, r5, 4 +/* 800082D0 00005230 41 82 00 0C */ beq lbl_800082DC +/* 800082D4 00005234 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 800082D8 00005238 90 05 00 00 */ stw r0, 0(r5) +lbl_800082DC: +/* 800082DC 0000523C 34 A5 00 04 */ addic. r5, r5, 4 +/* 800082E0 00005240 41 82 00 0C */ beq lbl_800082EC +/* 800082E4 00005244 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 800082E8 00005248 90 05 00 00 */ stw r0, 0(r5) +lbl_800082EC: +/* 800082EC 0000524C 34 A5 00 04 */ addic. r5, r5, 4 +/* 800082F0 00005250 41 82 00 0C */ beq lbl_800082FC +/* 800082F4 00005254 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 800082F8 00005258 90 05 00 00 */ stw r0, 0(r5) +lbl_800082FC: +/* 800082FC 0000525C 34 A5 00 04 */ addic. r5, r5, 4 +/* 80008300 00005260 41 82 00 0C */ beq lbl_8000830C +/* 80008304 00005264 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 80008308 00005268 90 05 00 00 */ stw r0, 0(r5) +lbl_8000830C: +/* 8000830C 0000526C 34 A5 00 04 */ addic. r5, r5, 4 +/* 80008310 00005270 41 82 00 0C */ beq lbl_8000831C +/* 80008314 00005274 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 80008318 00005278 90 05 00 00 */ stw r0, 0(r5) +lbl_8000831C: +/* 8000831C 0000527C 34 A5 00 04 */ addic. r5, r5, 4 +/* 80008320 00005280 41 82 00 0C */ beq lbl_8000832C +/* 80008324 00005284 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 80008328 00005288 90 05 00 00 */ stw r0, 0(r5) +lbl_8000832C: +/* 8000832C 0000528C 34 A5 00 04 */ addic. r5, r5, 4 +/* 80008330 00005290 41 82 00 0C */ beq lbl_8000833C +/* 80008334 00005294 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 80008338 00005298 90 05 00 00 */ stw r0, 0(r5) +lbl_8000833C: +/* 8000833C 0000529C 34 A5 00 04 */ addic. r5, r5, 4 +/* 80008340 000052A0 41 82 00 0C */ beq lbl_8000834C +/* 80008344 000052A4 80 0D 80 04 */ lwz r0, lbl_805A6BC4@sda21(r13) +/* 80008348 000052A8 90 05 00 00 */ stw r0, 0(r5) +lbl_8000834C: +/* 8000834C 000052AC 38 80 00 00 */ li r4, 0 +/* 80008350 000052B0 7F E3 FB 78 */ mr r3, r31 +/* 80008354 000052B4 90 9F 01 5C */ stw r4, 0x15c(r31) +/* 80008358 000052B8 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 8000835C 000052BC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 +/* 80008360 000052C0 98 1F 01 60 */ stb r0, 0x160(r31) +/* 80008364 000052C4 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 80008368 000052C8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 +/* 8000836C 000052CC 98 1F 01 60 */ stb r0, 0x160(r31) +/* 80008370 000052D0 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 80008374 000052D4 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a +/* 80008378 000052D8 98 1F 01 60 */ stb r0, 0x160(r31) +/* 8000837C 000052DC 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 80008380 000052E0 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b +/* 80008384 000052E4 98 1F 01 60 */ stb r0, 0x160(r31) +/* 80008388 000052E8 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 8000838C 000052EC 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c +/* 80008390 000052F0 98 1F 01 60 */ stb r0, 0x160(r31) +/* 80008394 000052F4 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 80008398 000052F8 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d +/* 8000839C 000052FC 98 1F 01 60 */ stb r0, 0x160(r31) +/* 800083A0 00005300 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 800083A4 00005304 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e +/* 800083A8 00005308 98 1F 01 60 */ stb r0, 0x160(r31) +/* 800083AC 0000530C 88 1F 01 60 */ lbz r0, 0x160(r31) +/* 800083B0 00005310 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f +/* 800083B4 00005314 98 1F 01 60 */ stb r0, 0x160(r31) +/* 800083B8 00005318 88 1F 01 61 */ lbz r0, 0x161(r31) +/* 800083BC 0000531C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 +/* 800083C0 00005320 98 1F 01 61 */ stb r0, 0x161(r31) +/* 800083C4 00005324 90 9F 01 64 */ stw r4, 0x164(r31) +/* 800083C8 00005328 93 ED A0 78 */ stw r31, gpMain@sda21(r13) +/* 800083CC 0000532C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 800083D0 00005330 83 C1 00 08 */ lwz r30, 8(r1) +/* 800083D4 00005334 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800083D8 00005338 7C 08 03 A6 */ mtlr r0 +/* 800083DC 0000533C 38 21 00 10 */ addi r1, r1, 0x10 +/* 800083E0 00005340 4E 80 00 20 */ blr + +.global sub_800083e4 +sub_800083e4: +/* 800083E4 00005344 94 21 FF C0 */ stwu r1, -0x40(r1) +/* 800083E8 00005348 7C 08 02 A6 */ mflr r0 +/* 800083EC 0000534C 90 01 00 44 */ stw r0, 0x44(r1) +/* 800083F0 00005350 93 E1 00 3C */ stw r31, 0x3c(r1) +/* 800083F4 00005354 7C 7F 1B 78 */ mr r31, r3 +/* 800083F8 00005358 80 8D A0 94 */ lwz r4, lbl_805A8C54@sda21(r13) +/* 800083FC 0000535C 28 04 00 00 */ cmplwi r4, 0 +/* 80008400 00005360 41 82 00 44 */ beq lbl_80008444 +/* 80008404 00005364 38 61 00 08 */ addi r3, r1, 8 +/* 80008408 00005368 38 A0 00 80 */ li r5, 0x80 +/* 8000840C 0000536C 48 33 6D C1 */ bl __ct__15CMemoryInStreamFPCvUl +/* 80008410 00005370 38 61 00 08 */ addi r3, r1, 8 +/* 80008414 00005374 38 80 00 01 */ li r4, 1 +/* 80008418 00005378 48 33 69 21 */ bl ReadBits__12CInputStreamFi +/* 8000841C 0000537C 7C 03 00 D0 */ neg r0, r3 +/* 80008420 00005380 3C 80 80 3F */ lis r4, lbl_803EE398@ha +/* 80008424 00005384 7C 00 1B 78 */ or r0, r0, r3 +/* 80008428 00005388 38 61 00 08 */ addi r3, r1, 8 +/* 8000842C 0000538C 54 05 0F FE */ srwi r5, r0, 0x1f +/* 80008430 00005390 38 04 E3 98 */ addi r0, r4, lbl_803EE398@l +/* 80008434 00005394 98 AD A0 98 */ stb r5, lbl_805A8C58@sda21(r13) +/* 80008438 00005398 38 80 00 00 */ li r4, 0 +/* 8000843C 0000539C 90 01 00 08 */ stw r0, 8(r1) +/* 80008440 000053A0 48 33 6C 6D */ bl __dt__12CInputStreamFv +lbl_80008444: +/* 80008444 000053A4 3C 80 80 3D */ lis r4, lbl_803CBE74@ha +/* 80008448 000053A8 7F E3 FB 78 */ mr r3, r31 +/* 8000844C 000053AC 38 84 BE 74 */ addi r4, r4, lbl_803CBE74@l +/* 80008450 000053B0 38 A0 00 00 */ li r5, 0 +/* 80008454 000053B4 38 84 01 A8 */ addi r4, r4, 0x1a8 +/* 80008458 000053B8 38 C0 00 00 */ li r6, 0 +/* 8000845C 000053BC 38 E0 02 80 */ li r7, 0x280 +/* 80008460 000053C0 39 00 01 E0 */ li r8, 0x1e0 +/* 80008464 000053C4 39 20 00 01 */ li r9, 1 +/* 80008468 000053C8 48 2C DF D5 */ bl OpenWindow__10COsContextFPCciiiib +/* 8000846C 000053CC 80 01 00 44 */ lwz r0, 0x44(r1) +/* 80008470 000053D0 7F E3 FB 78 */ mr r3, r31 +/* 80008474 000053D4 83 E1 00 3C */ lwz r31, 0x3c(r1) +/* 80008478 000053D8 7C 08 03 A6 */ mtlr r0 +/* 8000847C 000053DC 38 21 00 40 */ addi r1, r1, 0x40 +/* 80008480 000053E0 4E 80 00 20 */ blr + +.global sub_80008484 +sub_80008484: +/* 80008484 000053E4 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008488 000053E8 7C 08 02 A6 */ mflr r0 +/* 8000848C 000053EC 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008490 000053F0 48 30 D4 A1 */ bl Free__7CMemoryFPCv +/* 80008494 000053F4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008498 000053F8 7C 08 03 A6 */ mtlr r0 +/* 8000849C 000053FC 38 21 00 10 */ addi r1, r1, 0x10 +/* 800084A0 00005400 4E 80 00 20 */ blr + +.global sub_800084a4 +sub_800084a4: +/* 800084A4 00005404 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 800084A8 00005408 7C 08 02 A6 */ mflr r0 +/* 800084AC 0000540C 3C A0 80 3D */ lis r5, lbl_803CBE74@ha +/* 800084B0 00005410 3C 80 80 3D */ lis r4, lbl_803D6AA8@ha +/* 800084B4 00005414 90 01 00 24 */ stw r0, 0x24(r1) +/* 800084B8 00005418 38 A5 BE 74 */ addi r5, r5, lbl_803CBE74@l +/* 800084BC 0000541C 38 C4 6A A8 */ addi r6, r4, lbl_803D6AA8@l +/* 800084C0 00005420 38 80 FF FF */ li r4, -1 +/* 800084C4 00005424 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 800084C8 00005428 7C 7F 1B 78 */ mr r31, r3 +/* 800084CC 0000542C 38 61 00 08 */ addi r3, r1, 8 +/* 800084D0 00005430 38 A5 00 37 */ addi r5, r5, 0x37 +/* 800084D4 00005434 48 2C DF 01 */ bl __ct__10CCallStackFUiPCcPCc +/* 800084D8 00005438 7C 67 1B 78 */ mr r7, r3 +/* 800084DC 0000543C 7F E3 FB 78 */ mr r3, r31 +/* 800084E0 00005440 38 80 00 00 */ li r4, 0 +/* 800084E4 00005444 38 A0 00 01 */ li r5, 1 +/* 800084E8 00005448 38 C0 00 00 */ li r6, 0 +/* 800084EC 0000544C 48 30 D4 A9 */ bl Alloc__7CMemoryFUlQ210IAllocator5EHintQ210IAllocator6EScopeQ210IAllocator5ETypeRC10CCallStack +/* 800084F0 00005450 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800084F4 00005454 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 800084F8 00005458 7C 08 03 A6 */ mtlr r0 +/* 800084FC 0000545C 38 21 00 20 */ addi r1, r1, 0x20 +/* 80008500 00005460 4E 80 00 20 */ blr + +.global main +main: +/* 80008504 00005464 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80008508 00005468 7C 08 02 A6 */ mflr r0 +/* 8000850C 0000546C 90 01 00 24 */ stw r0, 0x24(r1) +/* 80008510 00005470 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80008514 00005474 93 C1 00 18 */ stw r30, 0x18(r1) +/* 80008518 00005478 7C 9E 23 78 */ mr r30, r4 +/* 8000851C 0000547C 93 A1 00 14 */ stw r29, 0x14(r1) +/* 80008520 00005480 7C 7D 1B 78 */ mr r29, r3 +/* 80008524 00005484 38 60 00 01 */ li r3, 1 +/* 80008528 00005488 48 36 C8 A5 */ bl sub_80374dcc +/* 8000852C 0000548C 48 2C E3 D1 */ bl SetErrorHandlers +/* 80008530 00005490 3C 60 80 45 */ lis r3, 0x8045 +/* 80008534 00005494 37 E3 75 60 */ addic. r31, r3, 0x7560 +/* 80008538 00005498 41 82 00 10 */ beq lbl_80008548 +/* 8000853C 0000549C 7F E3 FB 78 */ mr r3, r31 +/* 80008540 000054A0 4B FF FC C5 */ bl __ct__5CMainFv +/* 80008544 000054A4 7C 7F 1B 78 */ mr r31, r3 +lbl_80008548: +/* 80008548 000054A8 80 6D A0 78 */ lwz r3, gpMain@sda21(r13) +/* 8000854C 000054AC 7F A4 EB 78 */ mr r4, r29 +/* 80008550 000054B0 7F C5 F3 78 */ mr r5, r30 +/* 80008554 000054B4 4B FF C8 75 */ bl RsMain__5CMainFiPCPCc +/* 80008558 000054B8 7F E3 FB 78 */ mr r3, r31 +/* 8000855C 000054BC 38 80 FF FF */ li r4, -1 +/* 80008560 000054C0 4B FF FA F5 */ bl __dt__5CMainFv +/* 80008564 000054C4 80 01 00 24 */ lwz r0, 0x24(r1) +/* 80008568 000054C8 38 60 00 00 */ li r3, 0 +/* 8000856C 000054CC 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 80008570 000054D0 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 80008574 000054D4 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 80008578 000054D8 7C 08 03 A6 */ mtlr r0 +/* 8000857C 000054DC 38 21 00 20 */ addi r1, r1, 0x20 +/* 80008580 000054E0 4E 80 00 20 */ blr + +.global sub_80008584 +sub_80008584: +/* 80008584 000054E4 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 80008588 000054E8 7C 08 02 A6 */ mflr r0 +/* 8000858C 000054EC 90 01 00 24 */ stw r0, 0x24(r1) +/* 80008590 000054F0 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 80008594 000054F4 7C 9F 23 78 */ mr r31, r4 +/* 80008598 000054F8 38 81 00 08 */ addi r4, r1, 8 +/* 8000859C 000054FC 93 C1 00 18 */ stw r30, 0x18(r1) +/* 800085A0 00005500 7C 7E 1B 78 */ mr r30, r3 +/* 800085A4 00005504 38 6D A0 94 */ addi r3, r13, lbl_805A8C54@sda21 +/* 800085A8 00005508 48 37 AA 71 */ bl sub_80383018 +/* 800085AC 0000550C 38 60 00 00 */ li r3, 0 +/* 800085B0 00005510 38 80 00 00 */ li r4, 0 +/* 800085B4 00005514 48 37 AA 59 */ bl sub_8038300c +/* 800085B8 00005518 7F E3 FB 78 */ mr r3, r31 +/* 800085BC 0000551C 38 80 00 80 */ li r4, 0x80 +/* 800085C0 00005520 48 2C DE 21 */ bl sub_802d63e0 +/* 800085C4 00005524 90 6D A0 90 */ stw r3, lbl_805A8C50@sda21(r13) +/* 800085C8 00005528 7F C3 F3 78 */ mr r3, r30 +/* 800085CC 0000552C 80 01 00 24 */ lwz r0, 0x24(r1) +/* 800085D0 00005530 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 800085D4 00005534 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 800085D8 00005538 7C 08 03 A6 */ mtlr r0 +/* 800085DC 0000553C 38 21 00 20 */ addi r1, r1, 0x20 +/* 800085E0 00005540 4E 80 00 20 */ blr + +.global sub_800085e4 +sub_800085e4: +/* 800085E4 00005544 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800085E8 00005548 7C 08 02 A6 */ mflr r0 +/* 800085EC 0000554C 90 01 00 14 */ stw r0, 0x14(r1) +/* 800085F0 00005550 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800085F4 00005554 7C 7F 1B 78 */ mr r31, r3 +/* 800085F8 00005558 80 83 00 00 */ lwz r4, 0(r3) +/* 800085FC 0000555C 80 64 00 04 */ lwz r3, 4(r4) +/* 80008600 00005560 34 03 FF FF */ addic. r0, r3, -1 +/* 80008604 00005564 90 04 00 04 */ stw r0, 4(r4) +/* 80008608 00005568 41 81 00 24 */ bgt lbl_8000862C +/* 8000860C 0000556C 80 7F 00 00 */ lwz r3, 0(r31) +/* 80008610 00005570 38 80 00 01 */ li r4, 1 +/* 80008614 00005574 80 63 00 00 */ lwz r3, 0(r3) +/* 80008618 00005578 48 20 30 51 */ bl sub_8020b668 +/* 8000861C 0000557C 80 7F 00 00 */ lwz r3, 0(r31) +/* 80008620 00005580 28 03 00 00 */ cmplwi r3, 0 +/* 80008624 00005584 41 82 00 08 */ beq lbl_8000862C +/* 80008628 00005588 48 30 D3 09 */ bl Free__7CMemoryFPCv +lbl_8000862C: +/* 8000862C 0000558C 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008630 00005590 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80008634 00005594 7C 08 03 A6 */ mtlr r0 +/* 80008638 00005598 38 21 00 10 */ addi r1, r1, 0x10 +/* 8000863C 0000559C 4E 80 00 20 */ blr + +.global __dt__11CWorldStateFv +__dt__11CWorldStateFv: +/* 80008640 000055A0 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008644 000055A4 7C 08 02 A6 */ mflr r0 +/* 80008648 000055A8 90 01 00 14 */ stw r0, 0x14(r1) +/* 8000864C 000055AC 93 E1 00 0C */ stw r31, 0xc(r1) +/* 80008650 000055B0 7C 7F 1B 78 */ mr r31, r3 +/* 80008654 000055B4 80 83 00 00 */ lwz r4, 0(r3) +/* 80008658 000055B8 80 64 00 04 */ lwz r3, 4(r4) +/* 8000865C 000055BC 34 03 FF FF */ addic. r0, r3, -1 +/* 80008660 000055C0 90 04 00 04 */ stw r0, 4(r4) +/* 80008664 000055C4 41 81 00 24 */ bgt lbl_80008688 +/* 80008668 000055C8 80 7F 00 00 */ lwz r3, 0(r31) +/* 8000866C 000055CC 38 80 00 01 */ li r4, 1 +/* 80008670 000055D0 80 63 00 00 */ lwz r3, 0(r3) +/* 80008674 000055D4 48 0D 97 95 */ bl __dt__13CRelayTrackerFv +/* 80008678 000055D8 80 7F 00 00 */ lwz r3, 0(r31) +/* 8000867C 000055DC 28 03 00 00 */ cmplwi r3, 0 +/* 80008680 000055E0 41 82 00 08 */ beq lbl_80008688 +/* 80008684 000055E4 48 30 D2 AD */ bl Free__7CMemoryFPCv +lbl_80008688: +/* 80008688 000055E8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000868C 000055EC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80008690 000055F0 7C 08 03 A6 */ mtlr r0 +/* 80008694 000055F4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008698 000055F8 4E 80 00 20 */ blr + +.global sub_8000869c +sub_8000869c: +/* 8000869C 000055FC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800086A0 00005600 7C 08 02 A6 */ mflr r0 +/* 800086A4 00005604 90 01 00 14 */ stw r0, 0x14(r1) +/* 800086A8 00005608 93 E1 00 0C */ stw r31, 0xc(r1) +/* 800086AC 0000560C 7C 7F 1B 78 */ mr r31, r3 +/* 800086B0 00005610 80 83 00 00 */ lwz r4, 0(r3) +/* 800086B4 00005614 80 64 00 04 */ lwz r3, 4(r4) +/* 800086B8 00005618 34 03 FF FF */ addic. r0, r3, -1 +/* 800086BC 0000561C 90 04 00 04 */ stw r0, 4(r4) +/* 800086C0 00005620 41 81 00 38 */ bgt lbl_800086F8 +/* 800086C4 00005624 80 7F 00 00 */ lwz r3, 0(r31) +/* 800086C8 00005628 80 63 00 00 */ lwz r3, 0(r3) +/* 800086CC 0000562C 28 03 00 00 */ cmplwi r3, 0 +/* 800086D0 00005630 41 82 00 18 */ beq lbl_800086E8 +/* 800086D4 00005634 81 83 00 00 */ lwz r12, 0(r3) +/* 800086D8 00005638 38 80 00 01 */ li r4, 1 +/* 800086DC 0000563C 81 8C 00 08 */ lwz r12, 8(r12) +/* 800086E0 00005640 7D 89 03 A6 */ mtctr r12 +/* 800086E4 00005644 4E 80 04 21 */ bctrl +lbl_800086E8: +/* 800086E8 00005648 80 7F 00 00 */ lwz r3, 0(r31) +/* 800086EC 0000564C 28 03 00 00 */ cmplwi r3, 0 +/* 800086F0 00005650 41 82 00 08 */ beq lbl_800086F8 +/* 800086F4 00005654 48 30 D2 3D */ bl Free__7CMemoryFPCv +lbl_800086F8: +/* 800086F8 00005658 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800086FC 0000565C 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80008700 00005660 7C 08 03 A6 */ mtlr r0 +/* 80008704 00005664 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008708 00005668 4E 80 00 20 */ blr + +.global sub_8000870c +sub_8000870c: +/* 8000870C 0000566C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008710 00005670 7C 08 02 A6 */ mflr r0 +/* 80008714 00005674 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008718 00005678 93 E1 00 0C */ stw r31, 0xc(r1) +/* 8000871C 0000567C 7C 7F 1B 78 */ mr r31, r3 +/* 80008720 00005680 80 83 00 00 */ lwz r4, 0(r3) +/* 80008724 00005684 80 64 00 04 */ lwz r3, 4(r4) +/* 80008728 00005688 34 03 FF FF */ addic. r0, r3, -1 +/* 8000872C 0000568C 90 04 00 04 */ stw r0, 4(r4) +/* 80008730 00005690 41 81 00 38 */ bgt lbl_80008768 +/* 80008734 00005694 80 7F 00 00 */ lwz r3, 0(r31) +/* 80008738 00005698 80 63 00 00 */ lwz r3, 0(r3) +/* 8000873C 0000569C 28 03 00 00 */ cmplwi r3, 0 +/* 80008740 000056A0 41 82 00 18 */ beq lbl_80008758 +/* 80008744 000056A4 81 83 00 00 */ lwz r12, 0(r3) +/* 80008748 000056A8 38 80 00 01 */ li r4, 1 +/* 8000874C 000056AC 81 8C 00 08 */ lwz r12, 8(r12) +/* 80008750 000056B0 7D 89 03 A6 */ mtctr r12 +/* 80008754 000056B4 4E 80 04 21 */ bctrl +lbl_80008758: +/* 80008758 000056B8 80 7F 00 00 */ lwz r3, 0(r31) +/* 8000875C 000056BC 28 03 00 00 */ cmplwi r3, 0 +/* 80008760 000056C0 41 82 00 08 */ beq lbl_80008768 +/* 80008764 000056C4 48 30 D1 CD */ bl Free__7CMemoryFPCv +lbl_80008768: +/* 80008768 000056C8 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000876C 000056CC 83 E1 00 0C */ lwz r31, 0xc(r1) +/* 80008770 000056D0 7C 08 03 A6 */ mtlr r0 +/* 80008774 000056D4 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008778 000056D8 4E 80 00 20 */ blr + +.global __nw__38TOneStatic$$024CGameArchitectureSupport$$1FUlPCcPCc +__nw__38TOneStatic$$024CGameArchitectureSupport$$1FUlPCcPCc: +/* 8000877C 000056DC 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 80008780 000056E0 7C 08 02 A6 */ mflr r0 +/* 80008784 000056E4 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008788 000056E8 48 00 00 5D */ bl ReferenceCount__38TOneStatic$$024CGameArchitectureSupport$$1Fv +/* 8000878C 000056EC 80 83 00 00 */ lwz r4, 0(r3) +/* 80008790 000056F0 38 04 00 01 */ addi r0, r4, 1 +/* 80008794 000056F4 90 03 00 00 */ stw r0, 0(r3) +/* 80008798 000056F8 48 00 00 41 */ bl GetAllocSpace__38TOneStatic$$024CGameArchitectureSupport$$1Fv +/* 8000879C 000056FC 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800087A0 00005700 7C 08 03 A6 */ mtlr r0 +/* 800087A4 00005704 38 21 00 10 */ addi r1, r1, 0x10 +/* 800087A8 00005708 4E 80 00 20 */ blr + +.global __dl__38TOneStatic$$024CGameArchitectureSupport$$1FPv +__dl__38TOneStatic$$024CGameArchitectureSupport$$1FPv: +/* 800087AC 0000570C 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 800087B0 00005710 7C 08 02 A6 */ mflr r0 +/* 800087B4 00005714 90 01 00 14 */ stw r0, 0x14(r1) +/* 800087B8 00005718 48 00 00 2D */ bl ReferenceCount__38TOneStatic$$024CGameArchitectureSupport$$1Fv +/* 800087BC 0000571C 80 83 00 00 */ lwz r4, 0(r3) +/* 800087C0 00005720 38 04 FF FF */ addi r0, r4, -1 +/* 800087C4 00005724 90 03 00 00 */ stw r0, 0(r3) +/* 800087C8 00005728 80 01 00 14 */ lwz r0, 0x14(r1) +/* 800087CC 0000572C 7C 08 03 A6 */ mtlr r0 +/* 800087D0 00005730 38 21 00 10 */ addi r1, r1, 0x10 +/* 800087D4 00005734 4E 80 00 20 */ blr + +.global GetAllocSpace__38TOneStatic$$024CGameArchitectureSupport$$1Fv +GetAllocSpace__38TOneStatic$$024CGameArchitectureSupport$$1Fv: +/* 800087D8 00005738 3C 60 80 45 */ lis r3, lbl_804576C8@ha +/* 800087DC 0000573C 38 63 76 C8 */ addi r3, r3, lbl_804576C8@l +/* 800087E0 00005740 4E 80 00 20 */ blr + +.global ReferenceCount__38TOneStatic$$024CGameArchitectureSupport$$1Fv +ReferenceCount__38TOneStatic$$024CGameArchitectureSupport$$1Fv: +/* 800087E4 00005744 88 0D A0 AC */ lbz r0, lbl_805A8C6C@sda21(r13) +/* 800087E8 00005748 7C 00 07 75 */ extsb. r0, r0 +/* 800087EC 0000574C 40 82 00 14 */ bne lbl_80008800 +/* 800087F0 00005750 38 60 00 00 */ li r3, 0 +/* 800087F4 00005754 38 00 00 01 */ li r0, 1 +/* 800087F8 00005758 90 6D A0 A8 */ stw r3, lbl_805A8C68@sda21(r13) +/* 800087FC 0000575C 98 0D A0 AC */ stb r0, lbl_805A8C6C@sda21(r13) +lbl_80008800: +/* 80008800 00005760 38 6D A0 A8 */ addi r3, r13, lbl_805A8C68@sda21 +/* 80008804 00005764 4E 80 00 20 */ blr + +.global __nw__32TOneStatic$$018CGameGlobalObjects$$1FUlPCcPCc +__nw__32TOneStatic$$018CGameGlobalObjects$$1FUlPCcPCc: +/* 80008808 00005768 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000880C 0000576C 7C 08 02 A6 */ mflr r0 +/* 80008810 00005770 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008814 00005774 48 00 00 5D */ bl ReferenceCount__32TOneStatic$$018CGameGlobalObjects$$1Fv +/* 80008818 00005778 80 83 00 00 */ lwz r4, 0(r3) +/* 8000881C 0000577C 38 04 00 01 */ addi r0, r4, 1 +/* 80008820 00005780 90 03 00 00 */ stw r0, 0(r3) +/* 80008824 00005784 48 00 00 41 */ bl GetAllocSpace__32TOneStatic$$018CGameGlobalObjects$$1Fv +/* 80008828 00005788 80 01 00 14 */ lwz r0, 0x14(r1) +/* 8000882C 0000578C 7C 08 03 A6 */ mtlr r0 +/* 80008830 00005790 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008834 00005794 4E 80 00 20 */ blr + +.global __dl__32TOneStatic$$018CGameGlobalObjects$$1FPv +__dl__32TOneStatic$$018CGameGlobalObjects$$1FPv: +/* 80008838 00005798 94 21 FF F0 */ stwu r1, -0x10(r1) +/* 8000883C 0000579C 7C 08 02 A6 */ mflr r0 +/* 80008840 000057A0 90 01 00 14 */ stw r0, 0x14(r1) +/* 80008844 000057A4 48 00 00 2D */ bl ReferenceCount__32TOneStatic$$018CGameGlobalObjects$$1Fv +/* 80008848 000057A8 80 83 00 00 */ lwz r4, 0(r3) +/* 8000884C 000057AC 38 04 FF FF */ addi r0, r4, -1 +/* 80008850 000057B0 90 03 00 00 */ stw r0, 0(r3) +/* 80008854 000057B4 80 01 00 14 */ lwz r0, 0x14(r1) +/* 80008858 000057B8 7C 08 03 A6 */ mtlr r0 +/* 8000885C 000057BC 38 21 00 10 */ addi r1, r1, 0x10 +/* 80008860 000057C0 4E 80 00 20 */ blr + +.global GetAllocSpace__32TOneStatic$$018CGameGlobalObjects$$1Fv +GetAllocSpace__32TOneStatic$$018CGameGlobalObjects$$1Fv: +/* 80008864 000057C4 3C 60 80 45 */ lis r3, lbl_80457798@ha +/* 80008868 000057C8 38 63 77 98 */ addi r3, r3, lbl_80457798@l +/* 8000886C 000057CC 4E 80 00 20 */ blr + +.global ReferenceCount__32TOneStatic$$018CGameGlobalObjects$$1Fv +ReferenceCount__32TOneStatic$$018CGameGlobalObjects$$1Fv: +/* 80008870 000057D0 88 0D A0 B4 */ lbz r0, lbl_805A8C74@sda21(r13) +/* 80008874 000057D4 7C 00 07 75 */ extsb. r0, r0 +/* 80008878 000057D8 40 82 00 14 */ bne lbl_8000888C +/* 8000887C 000057DC 38 60 00 00 */ li r3, 0 +/* 80008880 000057E0 38 00 00 01 */ li r0, 1 +/* 80008884 000057E4 90 6D A0 B0 */ stw r3, lbl_805A8C70@sda21(r13) +/* 80008888 000057E8 98 0D A0 B4 */ stb r0, lbl_805A8C74@sda21(r13) +lbl_8000888C: +/* 8000888C 000057EC 38 6D A0 B0 */ addi r3, r13, lbl_805A8C70@sda21 +/* 80008890 000057F0 4E 80 00 20 */ blr diff --git a/asm/data.s b/asm/data.s index b09d6480..6492bc21 100644 --- a/asm/data.s +++ b/asm/data.s @@ -1,18 +1,7 @@ .include "macros.inc" .section .data, "wa" # 0x803D8D60 - 0x803F7560 -.global lbl_803D8D60 -lbl_803D8D60: - .incbin "baserom.dol", 0x3D5D60, 0xC -.global lbl_803D8D6C -lbl_803D8D6C: - .incbin "baserom.dol", 0x3D5D6C, 0xC -.global lbl_803D8D78 -lbl_803D8D78: - .incbin "baserom.dol", 0x3D5D78, 0xC -.global lbl_803D8D84 -lbl_803D8D84: - .incbin "baserom.dol", 0x3D5D84, 0xC + .global lbl_803D8D90 lbl_803D8D90: .incbin "baserom.dol", 0x3D5D90, 0x10C diff --git a/asm/rodata.s b/asm/rodata.s index 2f12485c..5a7c07aa 100644 --- a/asm/rodata.s +++ b/asm/rodata.s @@ -1,18 +1,7 @@ .include "macros.inc" .section .rodata, "a" # 0x803CB3A0 - 0x803D8D60 -.global lbl_803CB3A0 -lbl_803CB3A0: - .incbin "baserom.dol", 0x3C83A0, 0x650 -.global lbl_803CB9F0 -lbl_803CB9F0: - .incbin "baserom.dol", 0x3C89F0, 0x45C -.global lbl_803CBE4C -lbl_803CBE4C: - .incbin "baserom.dol", 0x3C8E4C, 0x28 -.global lbl_803CBE74 -lbl_803CBE74: - .incbin "baserom.dol", 0x3C8E74, 0x1B4 + .global lbl_803CC028 lbl_803CC028: .incbin "baserom.dol", 0x3C9028, 0x8 diff --git a/asm/sbss.s b/asm/sbss.s index 912cdd9e..d33e63be 100644 --- a/asm/sbss.s +++ b/asm/sbss.s @@ -2,77 +2,6 @@ .section .sbss, "wa" # 0x805A8C20 - 0x805A9D1F -# main -.global gpResourceFactory -gpResourceFactory: - .skip 0x4 -.global gpSimplePool -gpSimplePool: - .skip 0x4 -.global gpRender -gpRender: - .skip 0x4 -.global gpCharacterFactoryBuilder -gpCharacterFactoryBuilder: - .skip 0x4 -.global gGuiSystem -gGuiSystem: - .skip 0x4 -.global gpStringTable -gpStringTable: - .skip 0x4 -.global gpMain -gpMain: - .skip 0x4 -.global gpController -gpController: - .skip 0x4 -.global gpGameState -gpGameState: - .skip 0x4 -.global gpMemoryCard -gpMemoryCard: - .skip 0x4 -.global gpTweakManager -gpTweakManager: - .skip 0x4 -.global gpDefaultFont -gpDefaultFont: - .skip 0x4 -.global lbl_805A8C50 -lbl_805A8C50: - .skip 0x4 -.global lbl_805A8C54 -lbl_805A8C54: - .skip 0x4 -.global lbl_805A8C58 -lbl_805A8C58: - .skip 0x4 -.global sARAMMemArray -sARAMMemArray: - .skip 0x8 - -# CGameArchitectureSupport -.global lbl_805A8C64 -lbl_805A8C64: - .skip 0x4 - -# TOneStatic -.global lbl_805A8C68 -lbl_805A8C68: - .skip 0x4 -.global lbl_805A8C6C -lbl_805A8C6C: - .skip 0x4 - -# TOneStatic -.global lbl_805A8C70 -lbl_805A8C70: - .skip 0x4 -.global lbl_805A8C74 -lbl_805A8C74: - .skip 0x4 - # CPlayer .global lbl_805A8C78 lbl_805A8C78: diff --git a/asm/sbss2.s b/asm/sbss2.s index 25fb270e..a3e8a307 100644 --- a/asm/sbss2.s +++ b/asm/sbss2.s @@ -1,36 +1,50 @@ .include "macros.inc" .section .sbss2, "", @nobits # 0x805AF460 - 0x805AF4C7 + +# CFluidPlaneCPU .global lbl_805AF460 lbl_805AF460: .skip 0x8 + +# CWallCrawlerSwarm .global lbl_805AF468 lbl_805AF468: .skip 0x4 .global lbl_805AF46C lbl_805AF46C: .skip 0x4 + +# CMorphBallShadow .global lbl_805AF470 lbl_805AF470: .skip 0x4 .global lbl_805AF474 lbl_805AF474: .skip 0x4 + +# CSlideShow .global lbl_805AF478 lbl_805AF478: .skip 0x4 .global lbl_805AF47C lbl_805AF47C: .skip 0x4 + +# CProjectedShadow .global lbl_805AF480 lbl_805AF480: .skip 0x8 + +# CMovingAABoxComponent .global lbl_805AF488 lbl_805AF488: .skip 0x4 .global lbl_805AF48C lbl_805AF48C: .skip 0x4 + +# CCubeRenderer .global lbl_805AF490 lbl_805AF490: .skip 0x4 @@ -40,15 +54,21 @@ lbl_805AF494: .global lbl_805AF498 lbl_805AF498: .skip 0x8 + +# CGX .global lbl_805AF4A0 lbl_805AF4A0: .skip 0x8 + +# CAABox .global lbl_805AF4A8 lbl_805AF4A8: .skip 0x4 .global lbl_805AF4AC lbl_805AF4AC: .skip 0x4 + +# CResLoader .global lbl_805AF4B0 lbl_805AF4B0: .skip 0x4 diff --git a/asm/sdata.s b/asm/sdata.s index 5025f6f7..8a3c12d1 100644 --- a/asm/sdata.s +++ b/asm/sdata.s @@ -1,18 +1,7 @@ .include "macros.inc" .section .sdata, "wa" # 0x805A6BC0 - 0x805A8C1C -.global lbl_805A6BC0 -lbl_805A6BC0: - .incbin "baserom.dol", 0x3F4560, 0x4 -.global lbl_805A6BC4 -lbl_805A6BC4: - .incbin "baserom.dol", 0x3F4564, 0x4 -.global lbl_805A6BC8 -lbl_805A6BC8: - .incbin "baserom.dol", 0x3F4568, 0x4 -.global lbl_805A6BCC -lbl_805A6BCC: - .incbin "baserom.dol", 0x3F456C, 0x4 + .global lbl_805A6BD0 lbl_805A6BD0: .incbin "baserom.dol", 0x3F4570, 0x4 diff --git a/asm/sdata2.s b/asm/sdata2.s index fd9363a0..aea3e388 100644 --- a/asm/sdata2.s +++ b/asm/sdata2.s @@ -1,54 +1,7 @@ .include "macros.inc" .section .sdata2, "a" # 0x805A9D20 - 0x805AF45C -.global lbl_805A9D20 -lbl_805A9D20: - .incbin "baserom.dol", 0x3F65C0, 0x4 -.global lbl_805A9D24 -lbl_805A9D24: - .incbin "baserom.dol", 0x3F65C4, 0x4 -.global lbl_805A9D28 -lbl_805A9D28: - .incbin "baserom.dol", 0x3F65C8, 0x8 -.global lbl_805A9D30 -lbl_805A9D30: - .incbin "baserom.dol", 0x3F65D0, 0x8 -.global lbl_805A9D38 -lbl_805A9D38: - .incbin "baserom.dol", 0x3F65D8, 0x8 -.global lbl_805A9D40 -lbl_805A9D40: - .incbin "baserom.dol", 0x3F65E0, 0x8 -.global lbl_805A9D48 -lbl_805A9D48: - .incbin "baserom.dol", 0x3F65E8, 0x8 -.global lbl_805A9D50 -lbl_805A9D50: - .incbin "baserom.dol", 0x3F65F0, 0x4 -.global lbl_805A9D54 -lbl_805A9D54: - .incbin "baserom.dol", 0x3F65F4, 0x4 -.global lbl_805A9D58 -lbl_805A9D58: - .incbin "baserom.dol", 0x3F65F8, 0x4 -.global lbl_805A9D5C -lbl_805A9D5C: - .incbin "baserom.dol", 0x3F65FC, 0x4 -.global lbl_805A9D60 -lbl_805A9D60: - .incbin "baserom.dol", 0x3F6600, 0x8 -.global lbl_805A9D68 -lbl_805A9D68: - .incbin "baserom.dol", 0x3F6608, 0x4 -.global lbl_805A9D6C -lbl_805A9D6C: - .incbin "baserom.dol", 0x3F660C, 0x4 -.global lbl_805A9D70 -lbl_805A9D70: - .incbin "baserom.dol", 0x3F6610, 0x8 -.global lbl_805A9D78 -lbl_805A9D78: - .incbin "baserom.dol", 0x3F6618, 0x4 + .global lbl_805A9D7C lbl_805A9D7C: .incbin "baserom.dol", 0x3F661C, 0x4 diff --git a/asm/text.s.REMOVED.git-id b/asm/text.s.REMOVED.git-id index 5a5c9f4f..94c324df 100644 --- a/asm/text.s.REMOVED.git-id +++ b/asm/text.s.REMOVED.git-id @@ -1 +1 @@ -f7514df3bf7616fd34e2f7b3bb6fba602783c65b \ No newline at end of file +199189b27db07266d5335de903c54ba9c8427716 \ No newline at end of file diff --git a/obj_files.mk b/obj_files.mk index a4e5abe4..a9037937 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -4,6 +4,7 @@ INIT_O_FILES :=\ $(BUILD_DIR)/asm/Runtime/PPCEABI/H/__mem.o TEXT_O_FILES :=\ + $(BUILD_DIR)/asm/Kyoto_CWD/main.o\ $(BUILD_DIR)/asm/text.o\ $(BUILD_DIR)/asm/Dolphin/THPDec.o\ $(BUILD_DIR)/asm/Dolphin/THPAudio.o\