diff --git a/src/Client.hh b/src/Client.hh index 44b66a2f..2b4a453b 100644 --- a/src/Client.hh +++ b/src/Client.hh @@ -19,6 +19,7 @@ #include "QuestScript.hh" #include "TeamIndex.hh" #include "Text.hh" +#include extern const uint64_t CLIENT_CONFIG_MAGIC; @@ -147,6 +148,8 @@ public: // Basic state uint64_t enabled_flags = DEFAULT_FLAGS; // Client::Flag enum + std::string last_psopeeps_gc_exp_key; + void* last_psopeeps_gc_exp_lobby = nullptr; uint32_t specific_version = 0; uint8_t override_section_id = 0xFF; // FF = no override uint8_t override_lobby_event = 0xFF; // FF = no override diff --git a/src/ReceiveSubcommands.cc b/src/ReceiveSubcommands.cc index de144a96..751b6562 100644 --- a/src/ReceiveSubcommands.cc +++ b/src/ReceiveSubcommands.cc @@ -3710,9 +3710,17 @@ static asio::awaitable dispatch_gc_v3_exp_patch(shared_ptr c) { key += "x_"; key += episode_str; + void* lobby_token = l.get(); + if ((c->last_psopeeps_gc_exp_lobby == lobby_token) && + (c->last_psopeeps_gc_exp_key == key)) { + co_return; + } + try { auto fn = server_state->client_functions->get(key, c->specific_version); co_await send_function_call(c, fn); + c->last_psopeeps_gc_exp_lobby = lobby_token; + c->last_psopeeps_gc_exp_key = key; } catch (const out_of_range&) { c->log.warning_f("GC V3 EXP dispatcher could not find client function {}", key); } diff --git a/system/client-functions.disabled/PsoPeepsGCEXP_enabled.10x_weekend.s b/system/client-functions.disabled/PsoPeepsGCEXP_enabled.10x_weekend.s index af184ee0..6e3dc1ec 100644 --- a/system/client-functions.disabled/PsoPeepsGCEXP_enabled.10x_weekend.s +++ b/system/client-functions.disabled/PsoPeepsGCEXP_enabled.10x_weekend.s @@ -3,837 +3,11 @@ .meta description="GameCube V3 XP boost — server dispatches the correct 10x EP1/EP2 payload when entering gameplay." .meta visibility="menu" .meta client_flag="0x0000200000000000" - .versions 3OE2 entry_ptr: reloc0: .offsetof start - start: - .include WriteCodeBlocks - - # PSO Peeps GC Plus USA / 3OE2 - # Source table: BattleParamEntry_on.dat - # Active online battle-param table loaded at 0x811AB7C0 - # EXP field offset within each 0x24-byte row is +0x1C - # Generated from clean BattleParamEntry_on.dat; multiplier=10x - - .data - .data 4 - .binary 0000000a - - .data - .data 4 - .binary 0000003c - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00000046 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 000005dc - - .data - .data 4 - .binary 000000fa - - .data - .data 4 - .binary 000000a0 - - .data - .data 4 - .binary 000000a0 - - .data - .data 4 - .binary 000000aa - - .data - .data 4 - .binary 00000122 - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 0000015e - - .data - .data 4 - .binary 0000015e - - .data - .data 4 - .binary 000022c4 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000fa0 - - .data - .data 4 - .binary 00000118 - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 00000096 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 000000b4 - - .data - .data 4 - .binary 000000dc - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 0000010e - - .data - .data 4 - .binary 0000003c - - .data - .data 4 - .binary 000030d4 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 0000003c - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 000005dc - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00007530 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00000082 - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 0000003c - - .data - .data 4 - .binary 00000046 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000078 - - .data - .data 4 - .binary 0000008c - - .data - .data 4 - .binary 0000012c - - .data - .data 4 - .binary 000000dc - - .data - .data 4 - .binary 000000f0 - - .data - .data 4 - .binary 00000104 - - .data - .data 4 - .binary 00000168 - - .data - .data 4 - .binary 000001ae - - .data - .data 4 - .binary 000001a4 - - .data - .data 4 - .binary 000001c2 - - .data - .data 4 - .binary 000001ea - - .data - .data 4 - .binary 00000a1e - - .data - .data 4 - .binary 000002bc - - .data - .data 4 - .binary 00000244 - - .data - .data 4 - .binary 00000244 - - .data - .data 4 - .binary 00000258 - - .data - .data 4 - .binary 0000030c - - .data - .data 4 - .binary 00000190 - - .data - .data 4 - .binary 00000190 - - .data - .data 4 - .binary 000003ca - - .data - .data 4 - .binary 00000348 - - .data - .data 4 - .binary 00007d00 - - .data - .data 4 - .binary 000000fa - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 00005dc0 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 00000190 - - .data - .data 4 - .binary 00000730 - - .data - .data 4 - .binary 0000023a - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000262 - - .data - .data 4 - .binary 0000029e - - .data - .data 4 - .binary 00000280 - - .data - .data 4 - .binary 00000302 - - .data - .data 4 - .binary 000001ae - - .data - .data 4 - .binary 00009470 - - .data - .data 4 - .binary 000001ea - - .data - .data 4 - .binary 00000104 - - .data - .data 4 - .binary 000000e6 - - .data - .data 4 - .binary 000000e6 - - .data - .data 4 - .binary 00000a1e - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00013880 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00000230 - - .data - .data 4 - .binary 00000730 - - .data - .data 4 - .binary 000001a4 - - .data - .data 4 - .binary 000001ae - - .data - .data 4 - .binary 000001c2 - - .data - .data 4 - .binary 00000280 - - .data - .data 4 - .binary 000001ea - - .data - .data 4 - .binary 00000208 - - .data - .data 4 - .binary 00000226 - - .data - .data 4 - .binary 0000032a - - .data - .data 4 - .binary 0000029e - - .data - .data 4 - .binary 000002bc - - .data - .data 4 - .binary 000002da - - .data - .data 4 - .binary 00000334 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 00000384 - - .data - .data 4 - .binary 000003ac - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 00000ed8 - - .data - .data 4 - .binary 0000055a - - .data - .data 4 - .binary 00000460 - - .data - .data 4 - .binary 00000460 - - .data - .data 4 - .binary 00000474 - - .data - .data 4 - .binary 000005c8 - - .data - .data 4 - .binary 00000370 - - .data - .data 4 - .binary 00000370 - - .data - .data 4 - .binary 000005dc - - .data - .data 4 - .binary 000005a0 - - .data - .data 4 - .binary 000153d8 - - .data - .data 4 - .binary 0000012c - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 000137b8 - - .data - .data 4 - .binary 00000596 - - .data - .data 4 - .binary 00000370 - - .data - .data 4 - .binary 00000af0 - - .data - .data 4 - .binary 000004b0 - - .data - .data 4 - .binary 000000dc - - .data - .data 4 - .binary 00000488 - - .data - .data 4 - .binary 000004d8 - - .data - .data 4 - .binary 000004b0 - - .data - .data 4 - .binary 00000500 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 0001b198 - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 00000208 - - .data - .data 4 - .binary 000001e0 - - .data - .data 4 - .binary 000001e0 - - .data - .data 4 - .binary 00000ed8 - - .data - .data 4 - .binary 0000005a - - .data - .data 4 - .binary 00027100 - - .data - .data 4 - .binary 0000005a - - .data - .data 4 - .binary 00000456 - - .data - .data 4 - .binary 00000af0 - - .data - .data 4 - .binary 00000384 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 000003ac - - .data - .data 4 - .binary 000004e2 - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 00000410 - - .data - .data 4 - .binary 00000438 - - .data - .data 4 - .binary 000005dc - - .data - .data 4 - .binary 000004d8 - - .data - .data 4 - .binary 00000500 - - .data - .data 4 - .binary 00000528 - - .data - .data 4 - .binary 000005aa - - .data - .data 4 - .binary 00000a8c - - .data - .data 4 - .binary 00000abe - - .data - .data 4 - .binary 00000af0 - - .data - .data 4 - .binary 00000b86 - - .data - .data 4 - .binary 00002328 - - .data - .data 4 - .binary 00000dac - - .data - .data 4 - .binary 00000c80 - - .data - .data 4 - .binary 00000c80 - - .data - .data 4 - .binary 00000cb2 - - .data - .data 4 - .binary 00000e2e - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 000003e8 - - .data - .data 4 - .binary 00000f0a - - .data - .data 4 - .binary 00000e88 - - .data - .data 4 - .binary 0002de60 - - .data - .data 4 - .binary 00000258 - - .data - .data 4 - .binary 000000a0 - - .data - .data 4 - .binary 00026d18 - - .data - .data 4 - .binary 00000d70 - - .data - .data 4 - .binary 00000a00 - - .data - .data 4 - .binary 00001b58 - - .data - .data 4 - .binary 00000c80 - - .data - .data 4 - .binary 0000024e - - .data - .data 4 - .binary 00000c8a - - .data - .data 4 - .binary 00000dde - - .data - .data 4 - .binary 00000d0c - - .data - .data 4 - .binary 00000d0c - - .data - .data 4 - .binary 00000aaa - - .data - .data 4 - .binary 000395f8 - - .data - .data 4 - .binary 00000b54 - - .data - .data 4 - .binary 0000079e - - .data - .data 4 - .binary 00000708 - - .data - .data 4 - .binary 00000708 - - .data - .data 4 - .binary 00002260 - - .data - .data 4 - .binary 000000fa - - .data - .data 4 - .binary 0007a120 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 00000bb8 - - .data - .data 4 - .binary 00001af4 - - .data - .data 4 - .binary 00000a96 - - .data - .data 4 - .binary 00000ac8 - - .data - .data 4 - .binary 00000a78 - - .data - .data 4 - .binary 00000d02 - - .data - .data 4 - .binary 00000b86 - - .data - .data 4 - .binary 00000bd6 - - .data - .data 4 - .binary 00000c6c - - .data - .data 4 - .binary 00000ea6 - - .data - .data 4 - .binary 00000d3e - - .data - .data 4 - .binary 00000d7a - - .data - .data 4 - .binary 00000de8 - - .data 0 - .data 0 + .align 4 + .binary 4E800020 diff --git a/system/client-functions.disabled/PsoPeepsGCEXP_enabled.5x_week.s b/system/client-functions.disabled/PsoPeepsGCEXP_enabled.5x_week.s index d07c0b30..3ac500f6 100644 --- a/system/client-functions.disabled/PsoPeepsGCEXP_enabled.5x_week.s +++ b/system/client-functions.disabled/PsoPeepsGCEXP_enabled.5x_week.s @@ -3,837 +3,11 @@ .meta description="GameCube V3 XP boost — server dispatches the correct 5x EP1/EP2 payload when entering gameplay." .meta visibility="menu" .meta client_flag="0x0000200000000000" - .versions 3OE2 entry_ptr: reloc0: .offsetof start - start: - .include WriteCodeBlocks - - # PSO Peeps GC Plus USA / 3OE2 - # Source table: BattleParamEntry_on.dat - # Active online battle-param table loaded at 0x811AB7C0 - # EXP field offset within each 0x24-byte row is +0x1C - # Generated from clean BattleParamEntry_on.dat; multiplier=5x - - .data - .data 4 - .binary 00000005 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00000023 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 0000007d - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 00000055 - - .data - .data 4 - .binary 00000091 - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 000000af - - .data - .data 4 - .binary 000000af - - .data - .data 4 - .binary 00001162 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 000007d0 - - .data - .data 4 - .binary 0000008c - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 0000004b - - .data - .data 4 - .binary 0000000f - - .data - .data 4 - .binary 0000005a - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000087 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 0000186a - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00003a98 - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00000041 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 00000023 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 0000003c - - .data - .data 4 - .binary 00000046 - - .data - .data 4 - .binary 00000096 - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000078 - - .data - .data 4 - .binary 00000082 - - .data - .data 4 - .binary 000000b4 - - .data - .data 4 - .binary 000000d7 - - .data - .data 4 - .binary 000000d2 - - .data - .data 4 - .binary 000000e1 - - .data - .data 4 - .binary 000000f5 - - .data - .data 4 - .binary 0000050f - - .data - .data 4 - .binary 0000015e - - .data - .data 4 - .binary 00000122 - - .data - .data 4 - .binary 00000122 - - .data - .data 4 - .binary 0000012c - - .data - .data 4 - .binary 00000186 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 000001e5 - - .data - .data 4 - .binary 000001a4 - - .data - .data 4 - .binary 00003e80 - - .data - .data 4 - .binary 0000007d - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 00002ee0 - - .data - .data 4 - .binary 00000177 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 0000011d - - .data - .data 4 - .binary 00000037 - - .data - .data 4 - .binary 00000131 - - .data - .data 4 - .binary 0000014f - - .data - .data 4 - .binary 00000140 - - .data - .data 4 - .binary 00000181 - - .data - .data 4 - .binary 000000d7 - - .data - .data 4 - .binary 00004a38 - - .data - .data 4 - .binary 000000f5 - - .data - .data 4 - .binary 00000082 - - .data - .data 4 - .binary 00000073 - - .data - .data 4 - .binary 00000073 - - .data - .data 4 - .binary 0000050f - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00009c40 - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00000118 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 000000d2 - - .data - .data 4 - .binary 000000d7 - - .data - .data 4 - .binary 000000e1 - - .data - .data 4 - .binary 00000140 - - .data - .data 4 - .binary 000000f5 - - .data - .data 4 - .binary 00000104 - - .data - .data 4 - .binary 00000113 - - .data - .data 4 - .binary 00000195 - - .data - .data 4 - .binary 0000014f - - .data - .data 4 - .binary 0000015e - - .data - .data 4 - .binary 0000016d - - .data - .data 4 - .binary 0000019a - - .data - .data 4 - .binary 000001cc - - .data - .data 4 - .binary 000001c2 - - .data - .data 4 - .binary 000001d6 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 0000076c - - .data - .data 4 - .binary 000002ad - - .data - .data 4 - .binary 00000230 - - .data - .data 4 - .binary 00000230 - - .data - .data 4 - .binary 0000023a - - .data - .data 4 - .binary 000002e4 - - .data - .data 4 - .binary 000001b8 - - .data - .data 4 - .binary 000001b8 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 000002d0 - - .data - .data 4 - .binary 0000a9ec - - .data - .data 4 - .binary 00000096 - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 00009bdc - - .data - .data 4 - .binary 000002cb - - .data - .data 4 - .binary 000001b8 - - .data - .data 4 - .binary 00000578 - - .data - .data 4 - .binary 00000258 - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000244 - - .data - .data 4 - .binary 0000026c - - .data - .data 4 - .binary 00000258 - - .data - .data 4 - .binary 00000280 - - .data - .data 4 - .binary 000001cc - - .data - .data 4 - .binary 0000d8cc - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000104 - - .data - .data 4 - .binary 000000f0 - - .data - .data 4 - .binary 000000f0 - - .data - .data 4 - .binary 0000076c - - .data - .data 4 - .binary 0000002d - - .data - .data 4 - .binary 00013880 - - .data - .data 4 - .binary 0000002d - - .data - .data 4 - .binary 0000022b - - .data - .data 4 - .binary 00000578 - - .data - .data 4 - .binary 000001c2 - - .data - .data 4 - .binary 000001cc - - .data - .data 4 - .binary 000001d6 - - .data - .data 4 - .binary 00000271 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000208 - - .data - .data 4 - .binary 0000021c - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 0000026c - - .data - .data 4 - .binary 00000280 - - .data - .data 4 - .binary 00000294 - - .data - .data 4 - .binary 000002d5 - - .data - .data 4 - .binary 00000546 - - .data - .data 4 - .binary 0000055f - - .data - .data 4 - .binary 00000578 - - .data - .data 4 - .binary 000005c3 - - .data - .data 4 - .binary 00001194 - - .data - .data 4 - .binary 000006d6 - - .data - .data 4 - .binary 00000640 - - .data - .data 4 - .binary 00000640 - - .data - .data 4 - .binary 00000659 - - .data - .data 4 - .binary 00000717 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000785 - - .data - .data 4 - .binary 00000744 - - .data - .data 4 - .binary 00016f30 - - .data - .data 4 - .binary 0000012c - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 0001368c - - .data - .data 4 - .binary 000006b8 - - .data - .data 4 - .binary 00000500 - - .data - .data 4 - .binary 00000dac - - .data - .data 4 - .binary 00000640 - - .data - .data 4 - .binary 00000127 - - .data - .data 4 - .binary 00000645 - - .data - .data 4 - .binary 000006ef - - .data - .data 4 - .binary 00000686 - - .data - .data 4 - .binary 00000686 - - .data - .data 4 - .binary 00000555 - - .data - .data 4 - .binary 0001cafc - - .data - .data 4 - .binary 000005aa - - .data - .data 4 - .binary 000003cf - - .data - .data 4 - .binary 00000384 - - .data - .data 4 - .binary 00000384 - - .data - .data 4 - .binary 00001130 - - .data - .data 4 - .binary 0000007d - - .data - .data 4 - .binary 0003d090 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 000005dc - - .data - .data 4 - .binary 00000d7a - - .data - .data 4 - .binary 0000054b - - .data - .data 4 - .binary 00000564 - - .data - .data 4 - .binary 0000053c - - .data - .data 4 - .binary 00000681 - - .data - .data 4 - .binary 000005c3 - - .data - .data 4 - .binary 000005eb - - .data - .data 4 - .binary 00000636 - - .data - .data 4 - .binary 00000753 - - .data - .data 4 - .binary 0000069f - - .data - .data 4 - .binary 000006bd - - .data - .data 4 - .binary 000006f4 - - .data 0 - .data 0 + .align 4 + .binary 4E800020 diff --git a/system/client-functions/PsoPeepsGCEXP_enabled.s b/system/client-functions/PsoPeepsGCEXP_enabled.s index d07c0b30..3ac500f6 100644 --- a/system/client-functions/PsoPeepsGCEXP_enabled.s +++ b/system/client-functions/PsoPeepsGCEXP_enabled.s @@ -3,837 +3,11 @@ .meta description="GameCube V3 XP boost — server dispatches the correct 5x EP1/EP2 payload when entering gameplay." .meta visibility="menu" .meta client_flag="0x0000200000000000" - .versions 3OE2 entry_ptr: reloc0: .offsetof start - start: - .include WriteCodeBlocks - - # PSO Peeps GC Plus USA / 3OE2 - # Source table: BattleParamEntry_on.dat - # Active online battle-param table loaded at 0x811AB7C0 - # EXP field offset within each 0x24-byte row is +0x1C - # Generated from clean BattleParamEntry_on.dat; multiplier=5x - - .data - .data 4 - .binary 00000005 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00000023 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 0000007d - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 00000055 - - .data - .data 4 - .binary 00000091 - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 000000af - - .data - .data 4 - .binary 000000af - - .data - .data 4 - .binary 00001162 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 000007d0 - - .data - .data 4 - .binary 0000008c - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 0000004b - - .data - .data 4 - .binary 0000000f - - .data - .data 4 - .binary 0000005a - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000087 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 0000186a - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00003a98 - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00000041 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 0000001e - - .data - .data 4 - .binary 00000023 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 00000032 - - .data - .data 4 - .binary 0000003c - - .data - .data 4 - .binary 00000046 - - .data - .data 4 - .binary 00000096 - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000078 - - .data - .data 4 - .binary 00000082 - - .data - .data 4 - .binary 000000b4 - - .data - .data 4 - .binary 000000d7 - - .data - .data 4 - .binary 000000d2 - - .data - .data 4 - .binary 000000e1 - - .data - .data 4 - .binary 000000f5 - - .data - .data 4 - .binary 0000050f - - .data - .data 4 - .binary 0000015e - - .data - .data 4 - .binary 00000122 - - .data - .data 4 - .binary 00000122 - - .data - .data 4 - .binary 0000012c - - .data - .data 4 - .binary 00000186 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 000001e5 - - .data - .data 4 - .binary 000001a4 - - .data - .data 4 - .binary 00003e80 - - .data - .data 4 - .binary 0000007d - - .data - .data 4 - .binary 00000014 - - .data - .data 4 - .binary 00002ee0 - - .data - .data 4 - .binary 00000177 - - .data - .data 4 - .binary 000000c8 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 0000011d - - .data - .data 4 - .binary 00000037 - - .data - .data 4 - .binary 00000131 - - .data - .data 4 - .binary 0000014f - - .data - .data 4 - .binary 00000140 - - .data - .data 4 - .binary 00000181 - - .data - .data 4 - .binary 000000d7 - - .data - .data 4 - .binary 00004a38 - - .data - .data 4 - .binary 000000f5 - - .data - .data 4 - .binary 00000082 - - .data - .data 4 - .binary 00000073 - - .data - .data 4 - .binary 00000073 - - .data - .data 4 - .binary 0000050f - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00009c40 - - .data - .data 4 - .binary 00000019 - - .data - .data 4 - .binary 00000118 - - .data - .data 4 - .binary 00000398 - - .data - .data 4 - .binary 000000d2 - - .data - .data 4 - .binary 000000d7 - - .data - .data 4 - .binary 000000e1 - - .data - .data 4 - .binary 00000140 - - .data - .data 4 - .binary 000000f5 - - .data - .data 4 - .binary 00000104 - - .data - .data 4 - .binary 00000113 - - .data - .data 4 - .binary 00000195 - - .data - .data 4 - .binary 0000014f - - .data - .data 4 - .binary 0000015e - - .data - .data 4 - .binary 0000016d - - .data - .data 4 - .binary 0000019a - - .data - .data 4 - .binary 000001cc - - .data - .data 4 - .binary 000001c2 - - .data - .data 4 - .binary 000001d6 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 0000076c - - .data - .data 4 - .binary 000002ad - - .data - .data 4 - .binary 00000230 - - .data - .data 4 - .binary 00000230 - - .data - .data 4 - .binary 0000023a - - .data - .data 4 - .binary 000002e4 - - .data - .data 4 - .binary 000001b8 - - .data - .data 4 - .binary 000001b8 - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 000002d0 - - .data - .data 4 - .binary 0000a9ec - - .data - .data 4 - .binary 00000096 - - .data - .data 4 - .binary 00000028 - - .data - .data 4 - .binary 00009bdc - - .data - .data 4 - .binary 000002cb - - .data - .data 4 - .binary 000001b8 - - .data - .data 4 - .binary 00000578 - - .data - .data 4 - .binary 00000258 - - .data - .data 4 - .binary 0000006e - - .data - .data 4 - .binary 00000244 - - .data - .data 4 - .binary 0000026c - - .data - .data 4 - .binary 00000258 - - .data - .data 4 - .binary 00000280 - - .data - .data 4 - .binary 000001cc - - .data - .data 4 - .binary 0000d8cc - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000104 - - .data - .data 4 - .binary 000000f0 - - .data - .data 4 - .binary 000000f0 - - .data - .data 4 - .binary 0000076c - - .data - .data 4 - .binary 0000002d - - .data - .data 4 - .binary 00013880 - - .data - .data 4 - .binary 0000002d - - .data - .data 4 - .binary 0000022b - - .data - .data 4 - .binary 00000578 - - .data - .data 4 - .binary 000001c2 - - .data - .data 4 - .binary 000001cc - - .data - .data 4 - .binary 000001d6 - - .data - .data 4 - .binary 00000271 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000208 - - .data - .data 4 - .binary 0000021c - - .data - .data 4 - .binary 000002ee - - .data - .data 4 - .binary 0000026c - - .data - .data 4 - .binary 00000280 - - .data - .data 4 - .binary 00000294 - - .data - .data 4 - .binary 000002d5 - - .data - .data 4 - .binary 00000546 - - .data - .data 4 - .binary 0000055f - - .data - .data 4 - .binary 00000578 - - .data - .data 4 - .binary 000005c3 - - .data - .data 4 - .binary 00001194 - - .data - .data 4 - .binary 000006d6 - - .data - .data 4 - .binary 00000640 - - .data - .data 4 - .binary 00000640 - - .data - .data 4 - .binary 00000659 - - .data - .data 4 - .binary 00000717 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 000001f4 - - .data - .data 4 - .binary 00000785 - - .data - .data 4 - .binary 00000744 - - .data - .data 4 - .binary 00016f30 - - .data - .data 4 - .binary 0000012c - - .data - .data 4 - .binary 00000050 - - .data - .data 4 - .binary 0001368c - - .data - .data 4 - .binary 000006b8 - - .data - .data 4 - .binary 00000500 - - .data - .data 4 - .binary 00000dac - - .data - .data 4 - .binary 00000640 - - .data - .data 4 - .binary 00000127 - - .data - .data 4 - .binary 00000645 - - .data - .data 4 - .binary 000006ef - - .data - .data 4 - .binary 00000686 - - .data - .data 4 - .binary 00000686 - - .data - .data 4 - .binary 00000555 - - .data - .data 4 - .binary 0001cafc - - .data - .data 4 - .binary 000005aa - - .data - .data 4 - .binary 000003cf - - .data - .data 4 - .binary 00000384 - - .data - .data 4 - .binary 00000384 - - .data - .data 4 - .binary 00001130 - - .data - .data 4 - .binary 0000007d - - .data - .data 4 - .binary 0003d090 - - .data - .data 4 - .binary 00000064 - - .data - .data 4 - .binary 000005dc - - .data - .data 4 - .binary 00000d7a - - .data - .data 4 - .binary 0000054b - - .data - .data 4 - .binary 00000564 - - .data - .data 4 - .binary 0000053c - - .data - .data 4 - .binary 00000681 - - .data - .data 4 - .binary 000005c3 - - .data - .data 4 - .binary 000005eb - - .data - .data 4 - .binary 00000636 - - .data - .data 4 - .binary 00000753 - - .data - .data 4 - .binary 0000069f - - .data - .data 4 - .binary 000006bd - - .data - .data 4 - .binary 000006f4 - - .data 0 - .data 0 + .align 4 + .binary 4E800020