#
tokens: 48311/50000 7/55 files (page 2/7)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 2 of 7. Use http://codebase.md/2Tie/mh1j?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .gitignore
├── config
│   ├── cryptlist1.txt
│   ├── cryptlist2.txt
│   ├── cryptlist3.txt
│   ├── cryptlist4.txt
│   ├── cryptlist5.txt
│   ├── dnas_ins_crypt_symbols.txt
│   ├── dnas_ins_funcs_auto.txt
│   ├── dnas_ins_ignores.txt
│   ├── dnas_ins_ignores.txt.save
│   ├── dnas_ins_noencrypt.bin
│   ├── dnas_ins_symbol_addrs.txt
│   ├── dnas_ins_syms_auto.txt
│   ├── dnas_ins.yaml
│   ├── dnas_net_crypt_symbols.txt
│   ├── dnas_net_funcs_auto.txt
│   ├── dnas_net_ignores.txt
│   ├── dnas_net_symbol_addrs.txt
│   ├── dnas_net_syms_auto.txt
│   ├── dnas_net.yaml
│   ├── dummy_symbol_addrs.txt
│   ├── dummy.yaml
│   ├── game_funcs_auto.txt
│   ├── game_symbol_addrs.txt
│   ├── game_syms_auto.txt
│   ├── game.yaml
│   ├── heap_symbol_addrs.txt
│   ├── heap.yaml
│   ├── lobby_funcs_auto.txt
│   ├── lobby_symbol_addrs.txt
│   ├── lobby_syms_auto.txt
│   ├── lobby.yaml
│   ├── main_shims_addrs.txt
│   ├── main_symbol_addrs.txt
│   ├── main.yaml
│   ├── select_funcs_auto.txt
│   ├── select_symbol_addrs.txt
│   ├── select_syms_auto.txt
│   ├── select.yaml
│   ├── undefined_funcs_auto.txt
│   ├── undefined_syms_auto.txt
│   ├── yn_funcs_auto.txt
│   ├── yn_symbol_addrs.txt
│   ├── yn_syms_auto.txt
│   └── yn.yaml
├── include
│   ├── common.h
│   ├── include_asm.h
│   ├── labels.inc
│   ├── macro.inc
│   ├── structs.h
│   └── types.h
├── Makefile
├── readme
├── src
│   └── main
│       └── stage.c
└── tools
    ├── AFS_files.txt
    ├── asmelf.py
    ├── funcrypt.py
    ├── lcf
    │   ├── generate_lcf.py
    │   ├── lcf_footer.txt
    │   └── lcf_header.txt
    ├── packer.py
    └── verify.py
```

# Files

--------------------------------------------------------------------------------
/config/dnas_ins_crypt_symbols.txt:
--------------------------------------------------------------------------------

```
  1 | dnas_crypt_key_00 = 0xa06980; // type:label size:0x10
  2 | dnas_jptg_st_00 = 0xa06994; // type:label
  3 | dnas_str_arg_00 = 0xa069a4; // type:char
  4 | dnas_crypt_key_00_end = 0xa069ec; // type:label size:0x10
  5 | dnas_jptg_ed_00 = 0xa069FC; // type:label
  6 | dnas_crypt_key_01 = 0xa06b04; // type:label size:0x10
  7 | dnas_jptg_st_01 = 0xa06b16; // type:label
  8 | dnas_str_arg_01 = 0xa06b34; // type:char
  9 | dnas_str_arg_18 = 0xa06b98; // type:char
 10 | dnas_crypt_key_01_end = 0xa06c00; // type:label size:0x10
 11 | dnas_jptg_ed_01 = 0xa06c10; // type:label
 12 | dnas_crypt_key_02 = 0xa06c98; // type:label size:0x10
 13 | dnas_str_arg_02 = 0xa06cbc; // type:char
 14 | dnas_crypt_key_02_end = 0xa06d0c; // type:label size:0x10
 15 | dnas_crypt_key_03 = 0xa06e08; // type:label size:0x10
 16 | dnas_str_arg_03 = 0xa06e2c; // type:char
 17 | dnas_crypt_key_03_end = 0xa06e7c; // type:label size:0x10
 18 | dnas_crypt_key_04 = 0xa06f1c; // type:label size:0x10
 19 | dnas_str_arg_04 = 0xa06f40; // type:char
 20 | dnas_crypt_key_04_end = 0xa06f8c; // type:label size:0x10
 21 | dnas_crypt_key_05 = 0xa0702c; // type:label size:0x10
 22 | dnas_str_arg_05 = 0xa07050; // type:char
 23 | dnas_crypt_key_05_end = 0xa0709c; // type:label size:0x10
 24 | dnas_crypt_key_06 = 0xa071b4; // type:label size:0x10
 25 | dnas_str_arg_06 = 0xa071e8; // type:char
 26 | dnas_str_arg_19 = 0xa0728c; // type:char
 27 | dnas_str_arg_20 = 0xa07310; // type:char
 28 | dnas_crypt_key_06_end = 0xa07390; // type:label size:0x10
 29 | dnas_crypt_key_07 = 0xa0741c; // type:label size:0x10
 30 | dnas_str_arg_07 = 0xa07440; // type:char
 31 | dnas_crypt_key_07_end = 0xa0748c; // type:label size:0x10
 32 | dnas_crypt_key_08 = 0xa07500; // type:label size:0x10
 33 | dnas_str_arg_08 = 0xa07524; // type:char
 34 | dnas_crypt_key_08_end = 0xa07574; // type:label size:0x10
 35 | dnas_crypt_key_09 = 0xa075ec; // type:label size:0x10
 36 | dnas_str_arg_09 = 0xa07610; // type:char
 37 | dnas_crypt_key_09_end = 0xa07664; // type:label size:0x10
 38 | dnas_crypt_key_10 = 0xa07914; // type:label size:0x10
 39 | dnas_str_arg_10 = 0xa07938; // type:char
 40 | dnas_crypt_key_10_end = 0xa07984; // type:label size:0x10
 41 | dnas_crypt_key_11 = 0xa07a34; // type:label size:0x10
 42 | dnas_str_arg_11 = 0xa07a58; // type:char
 43 | dnas_crypt_key_11_end = 0xa07aac; // type:label size:0x10
 44 | dnas_crypt_key_12 = 0xa07b40; // type:label size:0x10
 45 | dnas_str_arg_12 = 0xa07b64; // type:char
 46 | dnas_crypt_key_12_end = 0xa07bb4; // type:label size:0x10
 47 | dnas_crypt_key_13 = 0xa0813c; // type:label size:0x10
 48 | dnas_str_arg_13 = 0xa08180; // type:char
 49 | dnas_str_arg_21 = 0xa081d8; // type:char
 50 | dnas_str_arg_25 = 0xa08228; // type:char
 51 | dnas_crypt_key_13_end = 0xa08290; // type:label size:0x10
 52 | dnas_crypt_key_14 = 0xa08354; // type:label size:0x10
 53 | dnas_str_arg_14 = 0xa08378; // type:char
 54 | dnas_crypt_key_14_end = 0xa083bc; // type:label size:0x10
 55 | dnas_crypt_key_15 = 0xa0846c; // type:label size:0x10
 56 | dnas_str_arg_15 = 0xa084b0; // type:char
 57 | dnas_str_arg_22 = 0xa0850c; // type:char
 58 | dnas_crypt_key_15_end = 0xa08574; // type:label size:0x10
 59 | dnas_crypt_key_16 = 0xa0861c; // type:label size:0x10
 60 | dnas_str_arg_16 = 0xa08660; // type:char
 61 | dnas_str_arg_23 = 0xa086c0; // type:char
 62 | dnas_str_arg_24 = 0xa08714; // type:char
 63 | dnas_str_arg_26 = 0xa08774; // type:char
 64 | dnas_crypt_key_16_end = 0xa087d8; // type:label size:0x10
 65 | dnas_crypt_key_17 = 0xa088c4; // type:label size:0x10
 66 | dnas_str_arg_17 = 0xa088e8; // type:char
 67 | dnas_crypt_key_17_end = 0xa0892c; // type:label size:0x10
 68 | 
 69 | dnas_crypt_key_18 = 0xa207f8; // type:label size:0x10
 70 | dnas_crypt_key_18_end = 0xa2090c; // type:label size:0x10
 71 | dnas_crypt_key_19 = 0xa20988; // type:label size:0x10
 72 | dnas_crypt_key_19_end = 0xa20abc; // type:label size:0x10
 73 | dnas_crypt_key_20 = 0xa20b38; // type:label size:0x10
 74 | dnas_crypt_key_20_end = 0xa20e64; // type:label size:0x10
 75 | dnas_crypt_key_21 = 0xa20ee4; // type:label size:0x10
 76 | dnas_crypt_key_21_end = 0xa21028; // type:label size:0x10
 77 | dnas_crypt_key_22 = 0xa21164; // type:label size:0x10
 78 | dnas_crypt_key_22_end = 0xa212a0; // type:label size:0x10
 79 | dnas_crypt_key_23 = 0xa21320; // type:label size:0x10
 80 | dnas_crypt_key_23_end = 0xa21460; // type:label size:0x10
 81 | dnas_crypt_key_24 = 0xa214e0; // type:label size:0x10
 82 | dnas_crypt_key_24_end = 0xa21634; // type:label size:0x10
 83 | dnas_crypt_key_25 = 0xa216b4; // type:label size:0x10
 84 | dnas_crypt_key_25_end = 0xa2197c; // type:label size:0x10
 85 | dnas_crypt_key_26 = 0xa219f8; // type:label size:0x10
 86 | dnas_crypt_key_26_end = 0xa21a88; // type:label size:0x10
 87 | dnas_crypt_key_27 = 0xa21b0c; // type:label size:0x10
 88 | dnas_crypt_key_27_end = 0xa21ed4; // type:label size:0x10
 89 | dnas_crypt_key_28 = 0xa21f54; // type:label size:0x10
 90 | dnas_crypt_key_28_end = 0xa22050; // type:label size:0x10
 91 | dnas_crypt_key_29 = 0xa220d0; // type:label size:0x10
 92 | dnas_crypt_key_29_end = 0xa2224c; // type:label size:0x10
 93 | dnas_crypt_key_30 = 0xa222cc; // type:label size:0x10
 94 | dnas_crypt_key_30_end = 0xa22440; // type:label size:0x10
 95 | dnas_crypt_key_31 = 0xa224c0; // type:label size:0x10
 96 | dnas_crypt_key_31_end = 0xa22528; // type:label size:0x10
 97 | dnas_crypt_key_32 = 0xa225a8; // type:label size:0x10
 98 | dnas_crypt_key_32_end = 0xa2266c; // type:label size:0x10
 99 | dnas_crypt_key_33 = 0xa226ec; // type:label size:0x10
100 | dnas_crypt_key_33_end = 0xa22750; // type:label size:0x10
101 | dnas_crypt_key_34 = 0xa227ec; // type:label size:0x10
102 | dnas_crypt_key_34_end = 0xa22fa8; // type:label size:0x10
103 | dnas_crypt_key_35 = 0xa23530; // type:label size:0x10
104 | dnas_crypt_key_35_end = 0xa236a8; // type:label size:0x10
105 | dnas_crypt_key_36 = 0xa237a0; // type:label size:0x10
106 | dnas_crypt_key_36_end = 0xa23a30; // type:label size:0x10
107 | dnas_crypt_key_37 = 0xa23b64; // type:label size:0x10
108 | dnas_crypt_key_37_end = 0xa23c04; // type:label size:0x10
109 | dnas_crypt_key_38 = 0xa23c7c; // type:label size:0x10
110 | dnas_crypt_key_38_end = 0xa23dac; // type:label size:0x10
111 | dnas_crypt_key_39 = 0xa23ec4; // type:label size:0x10
112 | dnas_crypt_key_39_end = 0xa23f2c; // type:label size:0x10
113 | dnas_crypt_key_40 = 0xa23fb4; // type:label size:0x10
114 | dnas_crypt_key_40_end = 0xa24174; // type:label size:0x10
115 | dnas_crypt_key_41 = 0xa241F0; // type:label size:0x10
116 | dnas_crypt_key_41_end = 0xa2434c; // type:label size:0x10
117 | dnas_crypt_key_42 = 0xa243c8; // type:label size:0x10
118 | dnas_crypt_key_42_end = 0xa24784; // type:label size:0x10
119 | dnas_crypt_key_43 = 0xa24800; // type:label size:0x10
120 | dnas_crypt_key_43_end = 0xa24924; // type:label size:0x10
121 | dnas_crypt_key_44 = 0xa249A0; // type:label size:0x10
122 | dnas_crypt_key_44_end = 0xa24be8; // type:label size:0x10
123 | dnas_crypt_key_45 = 0xa24c54; // type:label size:0x10
124 | dnas_crypt_key_45_end = 0xa24ce8; // type:label size:0x10
125 | dnas_crypt_key_46 = 0xa24d64; // type:label size:0x10
126 | dnas_crypt_key_46_end = 0xa24fa4; // type:label size:0x10
127 | dnas_crypt_key_47 = 0xa25020; // type:label size:0x10
128 | dnas_crypt_key_47_end = 0xa25370; // type:label size:0x10
129 | dnas_crypt_key_48 = 0xa25504; // type:label size:0x10
130 | dnas_crypt_key_48_end = 0xa25728; // type:label size:0x10
131 | dnas_crypt_key_49 = 0xa25958; // type:label size:0x10
132 | dnas_crypt_key_49_end = 0xa25a88; // type:label size:0x10
133 | dnas_crypt_key_50 = 0xa2616c; // type:label size:0x10
134 | dnas_crypt_key_50_end = 0xa261c4; // type:label size:0x10
135 | dnas_crypt_key_51 = 0xa26610; // type:label size:0x10
136 | dnas_crypt_key_51_end = 0xa26674; // type:label size:0x10
137 | 
138 | dnas_crypt_key_52 = 0xa27e7c; // type:label size:0x10
139 | dnas_crypt_key_52_end = 0xa27ec8; // type:label size:0x10
140 | dnas_crypt_key_53 = 0xa27f8c; // type:label size:0x10
141 | dnas_crypt_key_53_end = 0xa2808c; // type:label size:0x10
142 | dnas_crypt_key_54 = 0xa2815c; // type:label size:0x10
143 | dnas_crypt_key_54_end = 0xa2825c; // type:label size:0x10
144 | dnas_crypt_key_55 = 0xa28330; // type:label size:0x10
145 | dnas_crypt_key_55_end = 0xa284ec; // type:label size:0x10
146 | dnas_crypt_key_56 = 0xa285dc; // type:label size:0x10
147 | dnas_crypt_key_56_end = 0xa28714; // type:label size:0x10
148 | dnas_crypt_key_57 = 0xa287d8; // type:label size:0x10
149 | dnas_crypt_key_57_end = 0xa28850; // type:label size:0x10
150 | dnas_crypt_key_58 = 0xa288f8; // type:label size:0x10
151 | dnas_crypt_key_58_end = 0xa28960; // type:label size:0x10
152 | dnas_crypt_key_59 = 0xa28ab0; // type:label size:0x10
153 | dnas_crypt_key_59_end = 0xa29080; // type:label size:0x10
154 | dnas_crypt_key_60 = 0xa29160; // type:label size:0x10
155 | dnas_crypt_key_60_end = 0xa291d8; // type:label size:0x10
156 | dnas_crypt_key_61 = 0xa2928c; // type:label size:0x10
157 | dnas_crypt_key_61_end = 0xa2934c; // type:label size:0x10
158 | dnas_crypt_key_62 = 0xa2940c; // type:label size:0x10
159 | dnas_crypt_key_62_end = 0xa294f0; // type:label size:0x10
160 | dnas_crypt_key_63 = 0xa295b8; // type:label size:0x10
161 | dnas_crypt_key_63_end = 0xa2975c; // type:label size:0x10
162 | dnas_crypt_key_64 = 0xa29810; // type:label size:0x10
163 | dnas_str_arg_27 = 0xa29834; // type:char
164 | dnas_crypt_key_64_end = 0xa29884; // type:label size:0x10
165 | dnas_crypt_key_65 = 0xa2993c; // type:label size:0x10
166 | dnas_crypt_key_65_end = 0xa29a74; // type:label size:0x10
167 | dnas_crypt_key_66 = 0xa2a000; // type:label size:0x10
168 | dnas_crypt_key_66_end = 0xa2a42c; // type:label size:0x10
169 | dnas_crypt_key_67 = 0xa2a500; // type:label size:0x10
170 | dnas_str_arg_28 = 0xa2a524; // type:char
171 | dnas_crypt_key_67_end = 0xa2a5ac; // type:label size:0x10
172 | dnas_crypt_key_68 = 0xa2dab8; // type:label size:0x10
173 | dnas_crypt_key_68_end = 0xa2db48; // type:label size:0x10
174 | dnas_crypt_key_69 = 0xa2dc20; // type:label size:0x10
175 | dnas_crypt_key_69_end = 0xa2df04; // type:label size:0x10
176 | dnas_crypt_key_70 = 0xa2dfe8; // type:label size:0x10
177 | dnas_crypt_key_70_end = 0xa2e0dc; // type:label size:0x10
178 | dnas_crypt_key_71 = 0xa2e1b8; // type:label size:0x10
179 | dnas_crypt_key_71_end = 0xa2e298; // type:label size:0x10
180 | dnas_crypt_key_72 = 0xa2e380; // type:label size:0x10
181 | dnas_crypt_key_72_end = 0xa2e7f4; // type:label size:0x10
182 | 
```

--------------------------------------------------------------------------------
/include/structs.h:
--------------------------------------------------------------------------------

```
  1 | #ifndef STRUCTS_H
  2 | #define STRUCTS_H
  3 | 
  4 | #include "types.h"
  5 | 
  6 | typedef struct {
  7 |     //total size: 0xC
  8 |     f32 x; //offset 0x0, size 0x4
  9 |     f32 y; //offset 0x4, size 0x4
 10 |     f32 z; //offset 0x8, size 0x4
 11 | } Vec3;
 12 | 
 13 | typedef struct {
 14 |     //total size: 0xC
 15 |     s32 x; //offset 0x0, size 0x4
 16 |     s32 y; //offset 0x4, size 0x4
 17 |     u8 b1; //offset 0x8, size 0x4
 18 |     u8 b2; //offset 0x8, size 0x4
 19 |     u8 b3; //offset 0x8, size 0x4
 20 |     u8 b4; //offset 0x8, size 0x4
 21 | } STAGE_FOG;
 22 | 
 23 | typedef struct {
 24 |     //total size: 0x8
 25 |     u16 item;
 26 |     u16 quantity;
 27 | } ITEM_SLOT;
 28 | 
 29 | typedef struct {
 30 |     //total size:0x224
 31 |     u8 top_state; //offset 0x0
 32 |     u8 sub_state; //offset 0x1
 33 |     u8 game_top_state; //offset 0x2
 34 |     u8 game_sub_state; //offset 0x3
 35 |     u16 unk_04;
 36 |     u16 unk_06;
 37 |     u8 unk_08;
 38 |     u8 unk_09;
 39 |     u16 unk_0a;
 40 |     u8 unk_0c;
 41 |     u8 unk_0d;
 42 |     u8 unk_0e;
 43 |     u8 unk_0f;
 44 |     u8 BGM_flags; //offset 0x10
 45 |     u8 BGM; //offset 0x11
 46 |     u8 unk_12;
 47 |     u8 unk_13;
 48 |     u8 current_area_id; //offset 0x14
 49 |     u8 area_model; //offset 0x15
 50 |     u8 unk_16;
 51 |     u8 unk_17;
 52 |     u8 unk_18;
 53 |     u8 unk_19;
 54 |     u8 unk_1a;
 55 |     u8 unk_1b;
 56 |     u8 unk_1c;
 57 |     u8 unk_1d;
 58 |     u16 tick_count; //offset 0x1e
 59 |     u8 pad_0_ack; //offset 0x20
 60 |     u8 pad_1_ack; //offset 0x21
 61 |     u8 unk_22;
 62 |     u8 unk_23;
 63 |     u8 unk_24;
 64 |     u8 current_music; //offset 0x25
 65 |     s16 music_timer; //offset 0x26
 66 |     u8 load_monsters[4]; //offset 0x28
 67 |     u16 selected_quest_id; //offset 0x2c
 68 |     u8 fight_music_index; //offset 0x2e
 69 |     u8 camp_area_id; //offset 0x2f
 70 |     u8 unk_30;
 71 |     u8 unk_31;
 72 |     u8 unk_32;
 73 |     u8 unk_33;
 74 |     u8 unk_34;
 75 |     u8 unk_35;
 76 |     u8 unk_36;
 77 |     u8 unk_37;
 78 |     u8 unk_38;
 79 |     u8 unk_39;
 80 |     u8 unk_3a;
 81 |     u8 unk_3b;
 82 |     u8 unk_3c;
 83 |     u8 unk_3d;
 84 |     u8 unk_3e;
 85 |     u8 unk_3f;
 86 |     u8 unk_40;
 87 |     u8 unk_41;
 88 |     u8 unk_42;
 89 |     u8 unk_43;
 90 |     u8 unk_44;
 91 |     u8 unk_45;
 92 |     u8 unk_46;
 93 |     u8 unk_47;
 94 |     u8 unk_48;
 95 |     u8 unk_49;
 96 |     u8 unk_4a;
 97 |     u8 unk_4b;
 98 |     u8 unk_4c;
 99 |     u8 unk_4d;
100 |     u8 unk_4e;
101 |     u8 unk_4f;
102 |     u8 unk_50;
103 |     u8 unk_51;
104 |     u8 unk_52;
105 |     u8 unk_53;
106 |     u8 unk_54;
107 |     u8 unk_55;
108 |     u8 unk_56;
109 |     u8 unk_57;
110 |     u8 unk_58;
111 |     u8 unk_59;
112 |     u8 unk_5a;
113 |     u8 unk_5b;
114 |     u8 unk_5c;
115 |     u8 unk_5d;
116 |     u8 unk_5e;
117 |     u8 unk_5f;
118 |     u8 unk_60;
119 |     u8 unk_61;
120 |     u8 unk_62;
121 |     u8 unk_63;
122 |     u8 unk_64;
123 |     u8 unk_65;
124 |     u8 unk_66;
125 |     u8 unk_67;
126 |     u8 unk_68;
127 |     u8 unk_69;
128 |     u8 unk_6a;
129 |     u8 unk_6b;
130 |     u8 unk_6c;
131 |     u8 unk_6d;
132 |     u8 unk_6e;
133 |     u8 unk_6f;
134 |     u8 unk_70;
135 |     u8 unk_71;
136 |     u8 unk_72;
137 |     u8 unk_73;
138 |     u8 unk_74;
139 |     u8 unk_75;
140 |     u8 unk_76;
141 |     u8 unk_77;
142 |     u8 unk_78;
143 |     u8 unk_79;
144 |     u8 unk_7a;
145 |     u8 unk_7b;
146 |     u8 unk_7c;
147 |     u8 unk_7d;
148 |     u8 unk_7e;
149 |     u8 unk_7f;
150 |     u8 player_items[4]; //offset 0x80
151 |     u8 unk_84;
152 |     u8 unk_85;
153 |     u8 unk_86;
154 |     u8 unk_87;
155 |     u32 mdl_ptrs[4]; //offset 0x88
156 |     u16 mdl_status[4]; //offset 0x98
157 |     u16 mdl_starts[4]; //offset 0xa0
158 |     u32 sub_mdl_ptrs[4]; //offset 0xa8
159 |     u16 sub_mdl_status[4]; //offset 0xb8
160 |     u16 sub_mdl_starts[4]; //offset 0xc0
161 |     u8 unk_c8;
162 |     u8 unk_c9;
163 |     u8 unk_ca;
164 |     u8 unk_cb;
165 |     u16 stolen_item_id; //offset 0xcc
166 |     u16 stolen_item_quantity; //offset 0xce
167 |     u8 stolen_item_flag; //offset 0xd0
168 |     u8 my_player_number; //offset 0xd1
169 |     u8 address_id; //offset 0xd2
170 |     u8 number_of_players; //offset 0xd3
171 |     u8 hit_id; //offset 0xd4
172 |     u8 mission_state; //offset 0xd5
173 |     u8 unk_d6;
174 |     u8 unk_d7;
175 |     u8 unk_d8;
176 |     u8 unk_d9;
177 |     u8 unk_da;
178 |     u8 unk_db;
179 |     u8 unk_dc;
180 |     u8 unk_dd;
181 |     u8 unk_de;
182 |     u8 unk_df;
183 |     u8 unk_e0;
184 |     u8 unk_e1;
185 |     u8 unk_e2;
186 |     u8 unk_e3;
187 |     u8 unk_e4;
188 |     u8 unk_e5;
189 |     u8 unk_e6;
190 |     u8 unk_e7;
191 |     u8 unk_e8;
192 |     u8 unk_e9;
193 |     u8 unk_ea;
194 |     u8 unk_eb;
195 |     u8 unk_ec;
196 |     u8 unk_ed;
197 |     u8 unk_ee;
198 |     u8 unk_ef;
199 |     u8 unk_f0;
200 |     u8 unk_f1;
201 |     u8 unk_f2;
202 |     u8 unk_f3;
203 |     u8 unk_f4;
204 |     u8 unk_f5;
205 |     u8 unk_f6;
206 |     u8 unk_f7;
207 |     u8 unk_f8;
208 |     u8 unk_f9;
209 |     u8 unk_fa;
210 |     u8 unk_fb;
211 |     u8 unk_fc;
212 |     u8 unk_fd;
213 |     u8 unk_fe;
214 |     u8 unk_ff;
215 |     u8 unk_100;
216 |     u8 unk_101;
217 |     u8 unk_102;
218 |     u8 unk_103;
219 |     u8 unk_104;
220 |     u8 unk_105;
221 |     u8 unk_106;
222 |     u8 unk_107;
223 |     u8 unk_108;
224 |     u8 unk_109;
225 |     u8 unk_10a;
226 |     u8 unk_10b;
227 |     u8 unk_10c;
228 |     u8 unk_10d;
229 |     u8 unk_10e;
230 |     u8 unk_10f;
231 |     u8 unk_110;
232 |     u8 unk_111;
233 |     u8 unk_112;
234 |     u8 unk_113;
235 |     u8 unk_114;
236 |     u8 unk_115;
237 |     u8 unk_116;
238 |     u8 unk_117;
239 |     u8 unk_118;
240 |     u8 unk_119;
241 |     u8 unk_11a;
242 |     u8 unk_11b;
243 |     u8 unk_11c;
244 |     u8 unk_11d;
245 |     u8 unk_11e;
246 |     u8 unk_11f;
247 |     u8 unk_120;
248 |     u8 unk_121;
249 |     u8 unk_122;
250 |     u8 unk_123;
251 |     u8 unk_124;
252 |     u8 unk_125;
253 |     u8 unk_126;
254 |     u8 unk_127;
255 |     ITEM_SLOT quest_item_box[32]; //offset 0x128
256 |     u32 quest_item_box_taken_flags[2]; //offset 0x1a8
257 |     u8 unk_1b0;
258 |     u8 unk_1b1;
259 |     u8 unk_1b2;
260 |     u8 unk_1b3;
261 |     u8 unk_1b4;
262 |     u8 unk_1b5;
263 |     u8 unk_1b6;
264 |     u8 unk_1b7;
265 |     u8 unk_1b8;
266 |     u8 unk_1b9;
267 |     u8 unk_1ba;
268 |     u8 unk_1bb;
269 |     u8 unk_1bc;
270 |     u8 unk_1bd;
271 |     u8 unk_1be;
272 |     u8 unk_1bf;
273 |     u8 unk_1c0;
274 |     u8 unk_1c1;
275 |     u8 unk_1c2;
276 |     u8 unk_1c3;
277 |     u8 unk_1c4;
278 |     u8 unk_1c5;
279 |     u8 unk_1c6;
280 |     u8 unk_1c7;
281 |     u8 unk_1c8;
282 |     u8 unk_1c9;
283 |     u8 unk_1ca;
284 |     u8 unk_1cb;
285 |     u8 unk_1cc;
286 |     u8 unk_1cd;
287 |     u8 unk_1ce;
288 |     u8 unk_1cf;
289 |     u8 unk_1d0;
290 |     u8 unk_1d1;
291 |     u8 unk_1d2;
292 |     u8 unk_1d3;
293 |     u8 unk_1d4;
294 |     u8 unk_1d5;
295 |     u8 unk_1d6;
296 |     u8 unk_1d7;
297 |     u8 unk_1d8;
298 |     u8 unk_1d9;
299 |     u8 unk_1da;
300 |     u8 unk_1db;
301 |     u8 unk_1dc;
302 |     u8 unk_1dd;
303 |     u8 unk_1de;
304 |     u8 unk_1df;
305 |     u16 current_sound_effect; //offset 0x1e0
306 |     u8 unk_1e2;
307 |     u8 unk_1e3;
308 |     u8 unk_1e4;
309 |     u8 unk_1e5;
310 |     u8 unk_1e6;
311 |     u8 in_tutorial; //offset 0x1e7
312 |     char user_id_1[8]; //offset 0x1e8
313 |     char user_id_2[8]; //offset 0x1f0
314 |     char user_id_3[8]; //offset 0x1f8
315 |     char user_id_4[8]; //offset 0x200
316 |     u8 hunter_1_present; //offset 0x208
317 |     u8 hunter_2_present; //offset 0x209
318 |     u8 hunter_3_present; //offset 0x20a
319 |     u8 hunter_4_present; //offset 0x20b
320 |     u8 unk_20c;
321 |     u8 unk_20d;
322 |     u8 unk_20e;
323 |     u8 unk_20f;
324 |     u8 number_bombs_placed; //offset 0x210
325 |     u8 number_meats_placed; //offset 0x211
326 |     u8 number_traps_placed; //offset 0x212
327 |     u8 unk_213;
328 |     u8 unk_214;
329 |     u8 unk_215;
330 |     u8 unk_216;
331 |     u8 unk_217;
332 |     u16 fatalis_health; //offset 0x218
333 |     u8 unk_21a;
334 |     u8 unk_21b;
335 |     u8 unk_21c;
336 |     u8 fort_damage; //offset 0x21d
337 |     u8 unk_21e;
338 |     u8 unk_21f;
339 |     u8 unk_220;
340 |     u8 unk_221;
341 |     u8 unk_222;
342 |     u8 unk_223;
343 | } GAME_WORK;
344 | 
345 | typedef struct {
346 |     //total size: 0x64
347 |     u8 unk_00; //offset 0x0, size 0x1
348 |     u8 unk_01; //offset 0x1, size 0x1
349 |     u8 current_area_id; //offset 0x2, size 0x1
350 |     u8 unk_03;
351 |     u8 unk_04;
352 |     u8 unk_05;
353 |     u8 unk_06;
354 |     u8 unk_07;
355 |     u16 unk_08;
356 |     u8 unk_0A;
357 |     u8 unk_0B;
358 |     u8 unk_0C;
359 |     u8 unk_0D;
360 |     u8 unk_0E;
361 |     u8 unk_0F;
362 |     Vec3 origin;
363 |     Vec3 unk_1C;
364 |     Vec3 offset;
365 |     u16 unk_34;
366 |     u8 unk_36;
367 |     u8 unk_37;
368 |     u16 modelwork_index;
369 |     u8 unk_3A;
370 |     u8 unk_3B;
371 |     u8* modelwork_pointer;
372 |     u8 unk_40;
373 |     u8 unk_41;
374 |     u8 unk_42;
375 |     u8 unk_43;
376 |     u8 unk_44;
377 |     u8 unk_45;
378 |     u8 unk_46;
379 |     u8 unk_47;
380 |     u8* area_origins;
381 |     u8 unk_4C;
382 |     u8 unk_4D;
383 |     u8 unk_4E;
384 |     u8 unk_4F;
385 |     u8 unk_50;
386 |     u8 unk_51;
387 |     u8 unk_52;
388 |     u8 unk_53;
389 |     u8 unk_54;
390 |     u8 unk_55;
391 |     u8 unk_56;
392 |     u8 unk_57;
393 |     u8 unk_58;
394 |     u8 unk_59;
395 |     u8 unk_5A;
396 |     u8 unk_5B;
397 |     u8 unk_5C;
398 |     u8 unk_5D;
399 |     u8 unk_5E;
400 |     u8 unk_5F;
401 |     u8 unk_60;
402 |     u8 unk_61;
403 |     u8 unk_62;
404 |     u8 unk_63;
405 |     u8 unk_64;
406 | } STAGE_WORK;
407 | 
408 | typedef struct {
409 |     //total size: 0x18
410 |     u32 attack_bonus; //offset 0x0, size 0x4
411 |     f32 speed; //offset 0x4, size 0x4
412 |     f32 speed_variance; //offset 0x8, size 0x4
413 |     f32 horizontal_deviation; //offset 0xC, size 0x4
414 |     f32 vertical_deviation;   //offset 0x10, size 0x4
415 |     f32 pellet_scale;         //offset 0x14, size 0x4
416 | } GUN_GROW_UP;
417 | 
418 | typedef struct {
419 |     //total size: 0x14
420 |     u8 model; //offset 0x0, size 0x1
421 |     u8 rarity; //offset 0x1, size 0x1
422 |     u8 level; //offset 0x2, size 0x1
423 |     u8 reload_delay; //offset 0x3, size 0x1
424 |     u32 price; //offset 0x4, size 0x4
425 |     u16 attack; //offset 0x8, size 0x2
426 |     u8 defense; //offset 0xA, size 0x1
427 |     u8 unk1; //offset 0xB, size 0x1
428 |     char* name; //offset 0xC, size 0x4
429 |     u32 ammo_types; //offset 0x10, size 0x14
430 | } GUN_DATA;
431 | 
432 | typedef struct {
433 |     //total size: 0x10
434 |     u8 type; //offset 0x0, size 0x1
435 |     u8 can_use; //offset 0x1, size 0x1
436 |     u8 rarity;  //offset 0x2, size 0x1
437 |     u8 max_stack; //offset 0x3, size 0x1
438 |     u8 flags;     //offset 0x4, size 0x1
439 |     u8 icon_index; //offset 0x5, size 0x1
440 |     u8 color_index;//offset 0x6, size 0x1
441 |     u8 unk1; //offset 0x7, size 0x1
442 |     u16 ammo_type; //offset 0x8, size 0x2
443 |     u16 sound_effect; //offset 0xA, size 0x2
444 |     u16 buy_price; //offset 0xC, size 0x2
445 |     u16 sell_sprice; //offset 0xE, size 0x2
446 | } ITEM_DATA;
447 | 
448 | typedef struct {
449 |     //total size: 0x28
450 |     s16 parent_bone; //offset 0x0, size 0x2
451 |     s16 is_capsule;  //offset 0x2, size 0x2
452 |     s16 meat_zone;   //offset 0x4, size 0x2
453 |     s16 body_group;  //offset 0x6, size 0x2
454 |     s32 unk;         //offset 0x8, size 0x4
455 |     f32 radius;      //offset 0xC, size 0x4
456 |     Vec3 point1;     //offset 0x10, size 0xC
457 |     Vec3 point2;     //offset 0x1C, size 0xC
458 | } HITCAPSULE_DATA;
459 | 
460 | typedef struct {
461 |     //total size: 0x14
462 |     u8 model; //offset 0x0, size 0x1
463 |     u8 rarity; //offset 0x1, size 0x1
464 |     u16 sharpness; //offset 0x2, size 0x2
465 |     u32 price;     //offset 0x4, size 0x4
466 |     u16 raw_attack;//offset 0x8, size 0x2
467 |     u8 defense;    //offset 0xA, size 0x1
468 |     u8 fire;       //offset 0xB, size 0x1
469 |     u8 water;      //offset 0xC, size 0x1
470 |     u8 thunder;    //offset 0xD, size 0x1
471 |     u8 dragon;     //offset 0xE, size 0x1
472 |     u8 poison;     //offset 0xF, size 0x1
473 |     u8 paralysis;  //offset 0x10, size 0x1
474 |     u8 sleep;      //offset 0x11, size 0x1
475 |     u16 sort_order;//offset 0x12, size 0x2
476 |     char* name;    //offset 0x14, size 0x4
477 | } KEN_DATA;
478 | 
479 | typedef struct {
480 |     //total size: 0xE
481 |     s16 initial_tolerance; //offset 0x0, size 0x2
482 |     s16 recover_time;      //offset 0x2, size 0x2
483 |     s16 recover_amount;    //offset 0x4, size 0x2
484 |     s16 damage_amount;     //offset 0x6, size 0x2
485 |     s16 duration;          //offset 0x8, size 0x2
486 |     s16 damage_time;       //offset 0xA, size 0x2
487 |     s16 tolerance_increase;//offset 0xC, size 0x2
488 | } POISON_EFFICACY;
489 | 
490 | #endif
491 | 
```

--------------------------------------------------------------------------------
/tools/lcf/generate_lcf.py:
--------------------------------------------------------------------------------

```python
  1 | import sys
  2 | from dataclasses import dataclass
  3 | from pathlib import Path
  4 | import splat.scripts.split as split
  5 | from splat.segtypes.linker_entry import LinkerEntry, LinkerWriter
  6 | 
  7 | @dataclass
  8 | class Run:
  9 |     entries: list[LinkerEntry]
 10 |     is_game: bool
 11 |     section: str
 12 | 
 13 | def split_into_runs(entries: list[LinkerEntry]) -> list[Run]:
 14 |     runs: list[Run] = list()
 15 |     runs.append(Run(list(), False, ".text"))
 16 |     
 17 |     for entry in entries:
 18 |         if entry.section_link_type == "pad":
 19 |             continue
 20 | 
 21 |         entry_is_game = "main" in str(entry.object_path)
 22 |         #print(entry_is_game, entry.object_path, entry.section_link_type)
 23 | 
 24 |         if entry.section_link_type != runs[-1].section or entry_is_game != runs[-1].is_game:
 25 |             runs.append(Run(list(), entry_is_game, entry.section_link_type))
 26 | 
 27 |         runs[-1].entries.append(entry)
 28 | 
 29 |     return runs
 30 | 
 31 | 
 32 | 
 33 | def strip_path(path: Path) -> str:
 34 |     return path.name
 35 | 
 36 | 
 37 | class LCFWriter:
 38 |     def __init__(self, config_path: Path):
 39 |         self.config_path = config_path
 40 |         self.file = None
 41 |         self.last_line_blank = False
 42 | 
 43 |     def __enter__(self) -> 'LCFWriter':
 44 |         self.file = open(self.config_path, "w")
 45 | 
 46 |         with open("tools/lcf/lcf_header.txt") as header:
 47 |             self.file.write(header.read())
 48 | 
 49 |         return self
 50 | 
 51 |     def __exit__(self, *args):
 52 |         with open("tools/lcf/lcf_footer.txt") as footer:
 53 |             self.file.write(footer.read())
 54 | 
 55 |         self.file.close()
 56 | 
 57 |     def write_line(self, line: str):
 58 |         #print(line)
 59 |         self.file.write(f"\t\t{line}\n")
 60 |         self.last_line_blank = False
 61 | 
 62 |     def blank(self):
 63 |         self.file.write("\n")
 64 |         self.last_line_blank = True
 65 | 
 66 |     def seperator(self):
 67 |         self.write_line("# " + "=" * 75)
 68 | 
 69 |     def begin_section(self, title: str):
 70 |         if not self.last_line_blank:
 71 |             self.blank()
 72 | 
 73 |         self.seperator()
 74 |         self.write_line(f"# {title}")
 75 |         self.seperator()
 76 |         self.blank()
 77 | 
 78 |     def align(self, alignment: int):
 79 |         self.write_line(f". = ALIGN(0x{alignment:X});")
 80 | 
 81 |     def align_all(self, alignment: int):
 82 |         self.write_line(f"ALIGNALL(0x{alignment:X});")
 83 | 
 84 |     def add_entry(self, entry: LinkerEntry, section: str):
 85 |         self.write_line(f"{strip_path(entry.object_path)} ({section})")
 86 | 
 87 |     def add_entries(self, entries: list[LinkerEntry], section: str):
 88 |         for entry in entries:
 89 |             self.add_entry(entry, section)
 90 | 
 91 |     def add_runs(self, runs: list[Run], section: str):
 92 |         for run in runs:
 93 |             self.add_entries(run.entries, section)
 94 | 
 95 |     def write_segment_runs(self, runs: list[Run], segment: str, overlay: bool=False):
 96 |         self.file.write(f"\t.{segment}\t:\n\t{{\n")
 97 |         self.write_line("_gp = 0x38EB70;")
 98 |         #overlay head
 99 |         if(overlay):
100 |             self.begin_section("overlay header")
101 |             self.write_line(f"_{segment}_segment_start = .;")
102 |             self.write_line("")
103 |             self.write_line("# declare variables")
104 |             self.write_line(f"_{segment}_text_size = 0;")
105 |             self.write_line(f"_{segment}_data_size = 0;")
106 |             self.write_line(f"_{segment}_bss_size = 0;")
107 |             self.write_line(f"_{segment}_static_init = 0;")
108 |             self.write_line(f"_{segment}_static_init_end = 0;")
109 |             self.write_line("")
110 |             self.write_line("# overlay header")
111 |             self.write_line("WRITEB 0x4D;\t# 'M'")
112 |             self.write_line("WRITEB 0x57;\t# 'W'")
113 |             self.write_line("WRITEB 0x6F;\t# 'o'")
114 |             self.write_line("WRITEB 0x33;\t# '3', ver.3")
115 |             self.write_line(f"WRITEW OVERLAYID(.{segment});\t# overlay ID")
116 |             self.write_line(f"WRITEW ADDR(.{segment});\t# load address")
117 |             self.write_line(f"WRITEW _{segment}_text_size;\t# size of text")
118 |             self.write_line(f"WRITEW _{segment}_data_size;\t# size of data")
119 |             self.write_line(f"WRITEW _{segment}_bss_size;\t# size of bss")
120 |             self.write_line(f"WRITEW _{segment}_static_init;\t# start address of static init")
121 |             self.write_line(f"WRITEW _{segment}_static_init_end;\t# end address of static init")
122 |             self.write_line("")
123 |             self.write_line("# name of overlay in hex")
124 |             #now the overlay name!
125 |             segname = f"{segment}.bin"
126 |             #TODO loop over the name, 32 WRITEBs
127 |             for l in range(0x20):
128 |                 letter = "0x00"
129 |                 if l < len(segname):
130 |                     letter = hex(ord(segname[l:l+1]))
131 |                 self.write_line(f"WRITEB {letter};")
132 |             self.write_line(f"_{segment}_text_start = .;")
133 |         # text
134 |         self.begin_section("text section")
135 |         self.align(0x80)
136 |         text_runs = [x for x in runs if x.section == ".text"]
137 |         for run in text_runs:
138 |             if(len(run.entries) == 0):
139 |                 #print(f"zero entries for obj {run}")
140 |                 continue
141 |             path = str(run.entries[0].object_path)
142 |             is_lib_vib = "libvib" in path
143 |             is_cri = "cri" in path
144 |             is_crt0 = "crt0" in path
145 |             is_sce = "sce" in path
146 |             alignment = 0x4
147 | 
148 |             if run.is_game:
149 |                 alignment = 0x10
150 |             elif is_lib_vib or is_cri or is_sce:
151 |                 alignment = 0x8
152 |             elif is_crt0:
153 |                 self.add_entry(run.entries, ".text")
154 |                 self.align(0x10)
155 |                 continue
156 | 
157 |             self.align_all(alignment)
158 |             self.add_entries(run.entries, ".text")
159 |         if(overlay):
160 |             self.write_line(f"_{segment}_text_end = .;")
161 |             self.write_line(f"_{segment}_text_size = _{segment}_text_end - _{segment}_text_start;")
162 |         self.blank()
163 | 
164 |         #for _ in range(2):
165 |         #    self.write_line("WRITEW 0x0; # text section patch for EE pipeline")
166 | 
167 |         # data/rodata
168 | 
169 |         self.begin_section("data sections")
170 | 
171 |         if(overlay):
172 |             self.write_line(f"_{segment}_data_start = .;")
173 | 
174 |         data_runs = [x for x in runs if (x.section == ".data" and "/elf/" not in str(x.entries[0].object_path) and "_header.s" not in x.entries[0].object_path.name)]
175 |         #for x in data_runs:
176 |         #  print(f"{x.entries[0].object_path}")
177 |         #  if "/elf/" in str(x.entries[0].object_path):
178 |         #    print("HEY OMIT THIS!")
179 |         #  and not "elf" in str(run.entries[0].object_path) ?? todo fix up
180 |         self.begin_section(".data")
181 |         self.align(0x80)
182 |         self.align_all(0x8)
183 |         self.add_runs(data_runs, ".data")
184 | 
185 |         rodata_runs = [x for x in runs if x.section == ".rodata"]
186 |         self.begin_section(".rodata")
187 |         self.align(0x80)
188 |         self.align_all(0x8)
189 |         self.add_runs(rodata_runs, ".rodata")
190 | 
191 |         #TODO check sfiii once files are decompiled
192 | 
193 |         # small data
194 | 
195 |         self.begin_section("small data sections")
196 | 
197 |         sdata_runs = [x for x in runs if x.section == ".sdata"]
198 |         self.align(0x80)
199 |         self.align_all(0x4)
200 |         self.add_runs(sdata_runs, ".sdata")
201 | 
202 |         if(overlay):
203 |             self.write_line(f"_{segment}_static_init = .;")
204 |             self.write_line(f"_{segment}_static_init_end = .;")
205 |             self.write_line(f"_{segment}_data_end = .;")
206 |             self.write_line(f"_{segment}_data_size = _{segment}_data_end - _{segment}_data_start;")
207 | 
208 |         self.blank()
209 | 
210 |         if(overlay):
211 |             self.write_line(f"_{segment}_bss_start = .;")
212 |         self.begin_section("sbss sections")
213 | 
214 |         sbss_runs = [x for x in runs if x.section == ".sbss"]
215 |         self.align(0x080)
216 |         self.align_all(0x4)
217 |         self.add_runs(sbss_runs, ".sbss")
218 | 
219 |         # bss
220 | 
221 |         self.begin_section("bss sections")
222 |         self.align(0x80)
223 |         bss_runs = [x for x in runs if x.section == ".bss"]
224 | 
225 |         #self.align_all(0x10)
226 | 
227 |         for run in bss_runs:
228 |             for entry in run.entries:
229 |                 self.add_entry(entry, ".bss")
230 |                 if "cri" in str(entry.object_path):
231 |                     self.add_entry(entry, "COMMON")
232 |                     self.align_all(0x10)
233 | 
234 |         if(overlay):
235 |             self.write_line(f"_{segment}_bss_end = .;")
236 |             self.write_line(f"_{segment}_bss_size = _{segment}_bss_end - _{segment}_bss_start;")
237 | 
238 |         self.blank()
239 | 
240 |         # finalize
241 | 
242 |         self.align(0x80)
243 |         if(overlay):
244 |             self.write_line(f"_{segment}_segment_end = .;")
245 | 
246 |         self.file.write(f"\t}}\t>\t{segment}{'' if segment == 'main' else '.bin'}\n")
247 |         self.blank()
248 | 
249 | 
250 | def main():
251 |     config_path = Path(sys.argv[1])
252 |     split.main([Path("config/main.yaml")], modes="all", verbose=False)
253 |     #main_backup = split.linker_writer.entries
254 |     runs_main = split_into_runs(split.linker_writer.entries)
255 | 
256 |     #ctx_backup = split.symbols.spim_context
257 | 
258 |     #print(len(runs_main))
259 | 
260 |     #write_segment_runs(runs_main, "main")
261 | 
262 |     split.main([Path("config/select.yaml")], modes="all", verbose=False)
263 |     runs_select = split_into_runs(split.linker_writer.entries)
264 | 
265 |     split.symbols.spim_context = split.symbols.spimdisasm.common.Context()
266 |     #split.main(["config/main.yaml"], modes="all", verbose=False)
267 | 
268 |     #split.linker_writer.entries = main_backup
269 | 
270 |     split.main([Path("config/game.yaml")], modes="all", verbose=False)
271 |     runs_game = split_into_runs(split.linker_writer.entries)
272 | 
273 |     split.symbols.spim_context = split.symbols.spimdisasm.common.Context()
274 |     #split.main(["config/main.yaml"], modes="all", verbose=False)
275 | 
276 |     #print(len(runs_game))
277 | 
278 |     split.main([Path("config/yn.yaml")], modes="all", verbose=False)
279 |     runs_yn = split_into_runs(split.linker_writer.entries)
280 | 
281 |     split.symbols.spim_context = split.symbols.spimdisasm.common.Context()
282 |     #split.main(["config/main.yaml"], modes="all", verbose=False)
283 | 
284 | 
285 |     split.main([Path("config/lobby.yaml")], modes="all", verbose=False)
286 |     runs_lobby = split_into_runs(split.linker_writer.entries)
287 |     split.symbols.spim_context = split.symbols.spimdisasm.common.Context()
288 | 
289 |     split.main([Path("config/dnas_ins.yaml")], modes="all", verbose=False)
290 |     runs_dnas_ins = split_into_runs(split.linker_writer.entries)
291 |     split.symbols.spim_context = split.symbols.spimdisasm.common.Context()
292 | 
293 |     split.main([Path("config/dnas_net.yaml")], modes="all", verbose=False)
294 |     runs_dnas_net = split_into_runs(split.linker_writer.entries)
295 |     #split.symbols.spim_context = split.symbols.spimdisasm.common.Context()
296 | 
297 | 
298 | 
299 |     #write_segment_runs(runs_game, "game")
300 | 
301 |     with LCFWriter(config_path) as lcf:
302 |         lcf.write_segment_runs(runs_main, "main", False)
303 |         lcf.write_segment_runs(runs_select, "select", True)
304 |         lcf.write_segment_runs(runs_game, "game", True)
305 |         lcf.write_segment_runs(runs_yn, "yn", True)
306 |         lcf.write_segment_runs(runs_lobby, "lobby", True)
307 |         lcf.write_segment_runs(runs_dnas_net, "dnas_net", True)
308 |         lcf.write_segment_runs(runs_dnas_ins, "dnas_ins", True)
309 |     #patch CRI rodata segments
310 |     print("LCF written!")
311 | 
312 |     cri_nonmatchings = Path("asm/nonmatchings/cri")
313 | 
314 |     for asm_file in cri_nonmatchings.rglob("*.s"):
315 |         text = asm_file.read_text()
316 |         text = text.replace(".section .rodata", ".rdata")
317 |         asm_file.write_text(text)
318 | 
319 | if __name__ == "__main__":
320 |     main()
321 | 
```

--------------------------------------------------------------------------------
/config/main.yaml:
--------------------------------------------------------------------------------

```yaml
  1 | name: SLPM_654.95
  2 | sha1: 0e6b14fe1f1665313ee3dac87304fcd02816ce44
  3 | options:
  4 |   basename: SLPM_654.95
  5 |   target_path: SLPM_654.95
  6 |   base_path: ..
  7 |   
  8 |   #compiler
  9 |   platform: ps2
 10 |   compiler: MWCCPS2
 11 |   
 12 |   asm_path: asm/main
 13 |   src_path: src/main
 14 |   build_path: build
 15 | 
 16 |   extensions_path: tools/splat_ext
 17 |   symbol_addrs_path: [config/main_symbol_addrs.txt, config/main_shims_addrs.txt]
 18 |   undefined_funcs_auto_path: config/undefined_funcs_auto.txt
 19 |   undefined_syms_auto_path: config/undefined_syms_auto.txt
 20 | 
 21 |   find_file_boundaries: False #funcs are already aligned?
 22 |   string_encoding: SHIFT-JIS
 23 |   rodata_string_guesser_level: 2
 24 |   disasm_unknown: True
 25 |   gp_value: 0x0038EB70
 26 | 
 27 |   asm_function_macro: .fn
 28 |   asm_data_macro: .obj
 29 |   asm_nonmatching_label_macro: ""
 30 |   asm_inc_header: |
 31 |     .set noat      /* allow manual use of $at */
 32 |     .set noreorder /* don't insert nops after branches */
 33 | 
 34 |   section_order: [".text", ".vutext", ".data", ".vudata", ".rodata", ".init", ".ctor", ".vtables", ".sdata", ".sbss", ".bss", ".common", ".vubss"]
 35 | segments:
 36 |   - [0x0, databin, elf/mainheader]
 37 |   #- [0x34, databin, elf/programheadertable]
 38 |   - name: main
 39 |     type: code
 40 |     start: 0x180
 41 |     vram: 0x100000
 42 |     bss_size: 0x1A9900
 43 |     subsegments:
 44 |     - [0x180, asm, crt0]
 45 |     - [0x3b0, asm, ../lib/cri/adx_init]
 46 |     - [0xfa0, asm, cardinit]
 47 |     - [0x1010, asm, eft]
 48 |     - [0x9fb0, asm, em]
 49 |     - [0xeda0, asm, fade]
 50 |     - [0xf1d0, asm, game]
 51 |     - [0x1cf70, asm, item]
 52 |     - [0x1dc90, asm, light]
 53 |     - [0x1e9e0, asm, tex]
 54 |     - [0x1eea0, asm, load]
 55 |     - [0x1f570, asm, main]
 56 |     - [0x203c0, asm, math]
 57 |     - [0x21110, asm, parts]
 58 |     - [0x214b0, asm, yure]
 59 |     - [0x21cf0, asm, model]
 60 |     - [0x251e0, asm, scheduler]
 61 |     - [0x254c0, asm, motion]
 62 |     - [0x26940, asm, option]
 63 |     - [0x275c0, asm, cockpit]
 64 |     - [0x34bc0, asm, player]
 65 |     - [0x55020, asm, heap]
 66 |     - [0x55660, asm, info]
 67 |     - [0x590a0, asm, shell]
 68 |     - [0x59550, asm, softdip]
 69 |     - [0x59590, asm, sound]
 70 |     - [0x5a6a0, asm, sprite]
 71 |     - [0x5bc30, c, stage]
 72 |     - [0x61370, asm, system]
 73 |     # - [0x, asm, tex]
 74 |     - [0x63c30, asm, trans]
 75 |     - [0x64280, asm, weapon]
 76 |     - [0x67a40, asm, unk]
 77 |     - [0x693b0, asm, prim]
 78 |     - [0x69930, asm, vib]
 79 |     - [0x69b20, asm, view]
 80 |     - [0x6a320, asm, em_work]
 81 |     - [0x6ad20, asm, fl]
 82 |     - [0x8f240, asm, pl]
 83 |     - [0x94b80, asm, ps2]
 84 |     - [0x964b0, asm, ../lib/sce/sce_hw]
 85 |     - [0x99900, asm, util]
 86 |     - [0xa96b8, asm, ../lib/sce/sceGs]
 87 |     - [0xaa078, asm, ../lib/sce/sceIpu]
 88 |     - [0xaf6e0, asm, ../lib/sce/sceMc]
 89 |     - [0xb2c28, asm, ../lib/sce/sceMpeg]
 90 |     - [0xb7e28, asm, ../lib/sce/scePad2]
 91 |     - [0xb8720, asm, ../lib/sce/sceVib]
 92 |     - [0xb8890, asm, ../lib/sce/sceVu0]
 93 |     - [0xb9fe0, asm, mwInit]
 94 |     - [0xba0f0, asm, netsync]
 95 |     - [0xbd7e0, asm, sfd]
 96 |     - [0xbdce8, asm, ../lib/CFT]
 97 |     - [0xc4d08, asm, ../lib/M2V]
 98 |     - [0xf3620, asm, ../lib/ADX]
 99 |     - [0x108678, asm, ../lib/SRD]
100 |     - [0x1099b8, asm, ../lib/DTR]
101 |     - [0x109ff8, asm, ../lib/UNKLIB]
102 |     # DTX, [...], pl2(pro logic 2), RNA, SJMEM, SJRBF, SJUNI, SVM, sdr(1142e0), flsnd
103 |     - [0x116610, asm, flfnt]
104 |     - [0x117fd0, asm, plAPX]
105 |     - [0x118710, asm, eft20]
106 |     - [0x11d5f0, asm, bgm]
107 |     - [0x11f550, asm, camera]
108 |     - [0x126140, asm, set21]
109 |     - [0x126970, asm, quest]
110 |     - [0x12c7e0, asm, CngInet]
111 |     #- [0x12cd70, asm, AQ]
112 |     - [0x12f930, asm, movie]
113 |     - [0x12ff50, asm, entry]
114 |     - [0x12ff80, asm, InetMcs]
115 |     - [0x132dd0, asm, ../lib/sce/sceSif]
116 |     - [0x133c90, asm, Ave]
117 |     - [0x136a40, asm, ../lib/sce/sceNetGlue]
118 |     - [0x137920, asm, InetDNS]
119 |     - [0x138070, asm, InetConnect]
120 |     - [0x13a270, asm, modesel]
121 |     - [0x13b630, asm, omake]
122 |     - [0x13c188, asm, ../lib/sce/sceUsbKb]
123 |     - [0x13d9f0, asm, npc]
124 |     - [0x13e680, asm, overlays]
125 |     - [0x13e7b0, asm, textinput]
126 |     - [0x14a3c0, asm, effect]
127 |     - [0x154480, asm, scekernel]
128 |     - [0x15fb00, asm, softkey]
129 |     - [0x167320, asm, netOverlay]
130 |     - [0x172020, asm, userdata]
131 |     - [0x174f90, asm, interface]
132 |     - [0x17c230, asm, ../lib/sce/sceScf]
133 |     - [0x17cbd0, asm, eft26]
134 |     - [0x17d090, asm, cnLBS_download]
135 |     - [0x17d860, asm, eft02]
136 |     - [0x17f0e0, asm, save]
137 |     - [0x186470, asm, demo]
138 |     - [0x186b20, asm, netfile]
139 |     - [0x18cdc0, asm, hitcoll]
140 |     - [0x190940, asm, staff]
141 |     - [0x190de0, asm, poweroff]
142 |     - [0x190fd0, asm, result]
143 | 
144 |     - [0x193D00, data, vutext]
145 | 
146 |     #- [0x1E6020, data, data]
147 |     - [0x1e6020, data, ../lib/CRI/adx_init]
148 |     - [0x1e61c0, data, eft]
149 |     - [0x1e8310, data, em]
150 |     - [0x1e8540, data, fade]
151 |     - [0x1e86a0, data, game]
152 |     - [0x1e8880, data, item]
153 |     - [0x1e8dc0, data, light]
154 |     - [0x1ebdd0, data, load]
155 |     - [0x1ed210, data, tex]
156 |     - [0x1ef510, data, yure]
157 |     - [0x1ef7d0, data, model]
158 |     - [0x1ef940, data, option]
159 |     - [0x1ef9c0, data, cockpit]
160 |     - [0x1f0f98, data, player]
161 |     - [0x1f1fd0, data, sound]
162 |     - [0x1f2780, data, stage]
163 |     - [0x2007a0, data, system]
164 |     - [0x200920, data, weapon]
165 |     - [0x201b60, data, vib]
166 |     - [0x201b90, data, view]
167 |     - [0x201bc0, data, fl]
168 |     - [0x206680, data, ps2]
169 |     - [0x2067c0, data, ../lib/sce/sce_hw]
170 |     - [0x2083c8, data, util]
171 |     - [0x208b40, data, ../lib/sce/sceGs]
172 |     - [0x208b80, data, ../lib/sce/sceIpu]
173 |     - [0x208c00, data, ../lib/sce/sceMc]
174 |     - [0x208c60, data, ../lib/sce/sceMpeg]
175 |     - [0x208d80, data, ../lib/sce/scePad2]
176 |     - [0x208db0, data, ../lib/sce/sceVu0]
177 |     - [0x208df0, data, ../lib/CFT]
178 |     - [0x20bdf8, data, ../lib/M2V]
179 |     - [0x20c2d8, data, sfd]
180 |     - [0x20df80, data, ../lib/ADX]
181 |     - [0x21e8a0, data, ../lib/CVFS]
182 |     - [0x21e8b0, data, ../lib/SRD]
183 |     - [0x21e928, data, ../lib/DTR]
184 |     - [0x21f900, data, ../lib/UNKLIB] #dvg ci.... im lazy
185 |     - [0x22d460, data, flfnt]
186 |     - [0x22d5f0, data, bgm]
187 |     - [0x22db80, data, em_cmd] #in game.bin
188 |     - [0x22df70, data, eft20]
189 |     - [0x231000, data, userdata]
190 |     - [0x233a50, data, interface]
191 |     - [0x239050, data, camera]
192 |     - [0x2395b8, data, set21]
193 |     - [0x239620, data, quest]
194 |     - [0x23b1e0, data, CngInet]
195 |     - [0x248fb0, data, movie]
196 |     - [0x249040, data, InetMcs]
197 |     - [0x249070, data, ../lib/sce/sceSif]
198 |     - [0x249180, data, InetConnect]
199 |     - [0x249390, data, modesel]
200 |     - [0x249510, data, omake]
201 |     - [0x249548, data, ../lib/sce/sceUsbKb]
202 |     - [0x2495b0, data, npc]
203 |     - [0x249680, data, overlays]
204 |     - [0x2496a0, data, textinput]
205 |     - [0x24aea0, data, scekernel]
206 |     - [0x24c590, data, softkey]
207 |     - [0x24f720, data, netOverlay]
208 |     - [0x251910, data, userdata2]
209 |     - [0x251a30, data, interface2]
210 |     - [0x254e10, data, ../lib/sce/sceScf]
211 |     - [0x254f50, data, eft26]
212 |     - [0x254f80, data, eft02]
213 |     - [0x254fd0, data, save]
214 |     - [0x2555e0, data, demo]
215 |     - [0x2556a0, data, netfile]
216 |     - [0x255780, data, staff]
217 |     - [0x256a90, data, em_meat]
218 |     - [0x257790, data, quest_table]
219 |     - [0x257a58, data, result]
220 | 
221 |     - [0x257b00, rodata, ../lib/CRI/adx_init]
222 |     - [0x257b40, rodata, eft]
223 |     - [0x257f20, rodata, em]
224 |     - [0x2581f0, rodata, game]
225 |     - [0x258560, rodata, model]
226 |     - [0x258658, rodata, option]
227 |     - [0x258930, rodata, cockpit]
228 |     - [0x25a910, rodata, player]
229 |     - [0x25b940, rodata, info]
230 |     - [0x25b990, .rodata, stage]
231 |     - [0x25bb80, rodata, system]
232 |     - [0x25bca0, rodata, trans]
233 |     - [0x25bd60, rodata, weapon]
234 |     - [0x25bdd0, rodata, fl]
235 |     - [0x25c2c0, rodata, pl]
236 |     - [0x25c310, rodata, ps2]
237 |     - [0x25c3f8, rodata, ../lib/sce/sce_hw]
238 |     - [0x25c900, rodata, util]
239 |     - [0x25d9a8, rodata, ../lib/sce/sceGs]
240 |     - [0x25dc98, rodata, ../lib/sce/sceIpu]
241 |     - [0x25e770, rodata, ../lib/sce/sceMc]
242 |     - [0x25e898, rodata, ../lib/sce/sceMpeg]
243 |     - [0x25ed30, rodata, ../lib/sce/scePad2]
244 |     - [0x25ed90, rodata, netsync]
245 |     - [0x25ee68, rodata, ../lib/CFT]
246 |     - [0x25ef10, rodata, ../lib/M2V]
247 |     - [0x2621e0, rodata, ../lib/ADX]
248 |     - [0x264788, rodata, ../lib/CVFS]
249 |     - [0x265440, rodata, ../lib/SRD]
250 |     - [0x2657d0, rodata, ../lib/DTR]
251 |     - [0x265a30, rodata, ../lib/DVCI]
252 |     - [0x265e00, rodata, ../lib/HTCI]
253 |     - [0x266318, rodata, ../lib/LSC]
254 |     - [0x2668c0, rodata, ../lib/pl2]
255 |     - [0x266ac8, rodata, ../lib/RNA]
256 |     - [0x267020, rodata, ../lib/SJ]
257 |     - [0x267190, rodata, ../lib/SVM]
258 |     - [0x267340, rodata, sdr]
259 |     - [0x267370, rodata, flsnd]
260 |     - [0x267430, rodata, eft20]
261 |     - [0x267630, rodata, bgm]
262 |     - [0x267660, rodata, unk]
263 |     - [0x26b250, rodata, camera]
264 |     - [0x26b2f8, rodata, quest]
265 |     - [0x26b598, rodata, item]
266 |     - [0x26ca18, rodata, AQ]
267 |     - [0x26cb30, rodata, ../lib/sce/sceSif]
268 |     - [0x26ce30, rodata, CngInet]
269 |     - [0x26d110, rodata, modesel]
270 |     - [0x26d378, rodata, ../lib/sce/sceUsbKb]
271 |     - [0x26e1b0, rodata, textinput]
272 |     - [0x26e240, rodata, effect]
273 |     - [0x26e288, rodata, scekernel]
274 |     - [0x26e5d0, rodata, softkey]
275 |     - [0x270820, rodata, netOverlay]
276 |     - [0x273670, rodata, userdata]
277 |     - [0x273780, rodata, interface]
278 |     - [0x284260, rodata, ../lib/sce/sceScf]
279 |     - [0x2842d0, rodata, cnLBS_download]
280 |     - [0x2842f0, rodata, eft02]
281 |     - [0x2843c0, rodata, save]
282 |     - [0x285208, rodata, netfile]
283 |     - [0x285248, rodata, staff]
284 |     - [0x286590, rodata, poweroff]
285 |     - [0x2865b0, rodata, result]
286 |     - [0x286c80, rodata, overlayoffs]
287 | 
288 |     - [0x286d00, sdata, ../lib/CRI/adx_init]
289 |     - [0x286d08, sdata, eft]
290 |     - [0x286d38, sdata, game]
291 |     - [0x286d40, sdata, item]
292 |     - [0x286d50, sdata, load]
293 |     - [0x287824, sdata, tex]
294 |     - [0x287840, sdata, main]
295 |     - [0x287848, sdata, model]
296 |     - [0x287880, sdata, option]
297 |     - [0x287898, sdata, cockpit]
298 |     - [0x2878f0, sdata, yure]
299 |     - [0x2878f8, sdata, player]
300 |     - [0x287914, sdata, stage]
301 |     - [0x287a78, sdata, system]
302 |     - [0x287aa0, sdata, trans]
303 |     - [0x287ad8, sdata, fl]
304 |     - [0x287ae0, sdata, ../lib/ps2]
305 |     - [0x287af0, sdata, ../lib/ADX]
306 |     - [0x287b00, sdata, eft20]
307 |     - [0x287b70, sdata, bgm]
308 |     - [0x287b78, sdata, set21]
309 |     - [0x287b88, sdata, quest]
310 |     - [0x287b94, sdata, CngInet]
311 |     - [0x287bd4, sdata, movie]
312 |     - [0x287bd8, sdata, InetMcs]
313 |     - [0x287bf0, sdata, modesel]
314 |     - [0x287bf8, sdata, overlays]
315 |     - [0x287c00, sdata, textinput]
316 |     - [0x287c48, sdata, netOverlay]
317 |     - [0x287d90, sdata, interface]
318 |     - [0x287e00, sdata, save]
319 |     - [0x287e50, sdata, netfile]
320 |     - [0x287e58, sdata, quest_table]
321 |     - [0x287ea8, sdata, result]
322 |     - [0x287eb8, sdata, gamebin_stragglers]
323 |     - [0x289f30, sdata, ynbin_stragglers]
324 |     - [0x289fd8, sdata, lobbybin_stragglers]
325 |     - [0x28a1a8, sdata, dnasbin_stragglers]
326 | 
327 |     - {vram: 0x38a080, type: sbss, name: ../lib/cri/adx_init}
328 |     - {vram: 0x38a090, type: sbss, name: eft}
329 |     - {vram: 0x38a09c, type: sbss, name: game}
330 |     - {vram: 0x38a0ac, type: sbss, name: item}
331 |     - {vram: 0x38a0b8, type: sbss, name: tex}
332 |     - {vram: 0x38a0bc, type: sbss, name: main}
333 |     - {vram: 0x38a0c0, type: sbss, name: cockpit}
334 |     - {vram: 0x38a0cc, type: sbss, name: heap}
335 |     - {vram: 0x38a0d8, type: sbss, name: info}
336 |     - {vram: 0x38a0e4, type: sbss, name: shell}
337 |     - {vram: 0x38a0f0, type: sbss, name: sound}
338 |     - {vram: 0x38a0f8, type: sbss, name: sprite}
339 |     - {vram: 0x38a104, type: sbss, name: trans}
340 |     - {vram: 0x38a110, type: sbss, name: view}
341 |     - {vram: 0x38a114, type: .sbss, name: stage}
342 |     - {vram: 0x38a11c, type: sbss, name: unsorted}
343 | 
344 |     - { vram: 0x38AA54, type: bss, name: bss_1 }
345 |     - { vram: 0x3d8230, type: .bss, name: stage }
346 |     - { vram: 0x3d82a0, type: bss, name: bss_2 }
347 |   - [0x28A200, databin, elf/shstrtab]
348 |   - [0x28A320, databin, elf/strtab]
349 |   - [0x333C30, databin, elf/symtab]
350 |   - [0x3F7AB0, databin, elf/mwcats0x3f7ab0]
351 |   - [0x3FE090, databin, elf/mwcats0x3fe090]
352 |   - [0x3FE200, databin, elf/mwcats0x3fe200]
353 |   - [0x4036B0, databin, elf/mwcats0x4036b0]
354 |   - [0x403A30, databin, elf/mwcats0x403a30]
355 |   - [0x4079D0, databin, elf/mwcats0x4079d0]
356 |   - [0x407A00, databin, elf/mwcats0x407a00]
357 |   - [0x407A20, databin, elf/relmain]
358 |   - [0x4995E0, databin, elf/relselect]
359 |   - [0x49B450, databin, elf/relgame]
360 |   - [0x4E18F0, databin, elf/relyn]
361 |   - [0x4E6600, databin, elf/rellobby]
362 |   - [0x540B20, databin, elf/reldnas_net]
363 |   - [0x55B6B0, databin, elf/reldnas_ins]
364 |   - [0x562D40, databin, elf/comment]
365 |   - [0x562D6C, databin, elf/reginfo]
366 |   - [0x562D84, databin, elf/sectionheadertable]
367 |   - [0x56320C] #eof
368 | 
```

--------------------------------------------------------------------------------
/config/lobby_syms_auto.txt:
--------------------------------------------------------------------------------

```
  1 | ENTRYPOINT0x100008 = 0x100008;
  2 | Lb_trans_pl0x163d80 = 0x163D80;
  3 | adxsje_encode_data0x200010 = 0x200010;
  4 | ADXSTM_SetOfst0x202040 = 0x202040;
  5 | _cnet_RecvFromLbs_AnswerFileDownloadHeader0x27d030 = 0x27D030;
  6 | _cnet_RecvFromLbs_AnswerFileDownloadData0x27d2b0 = 0x27D2B0;
  7 | Item_preparation_tbl__2_0x2e8892 = 0x2E8892;
  8 | item_col_tbl0x2efa70 = 0x2EFA70;
  9 | hunter_appellation0x2f0370 = 0x2F0370;
 10 | map_name0x2f2600 = 0x2F2600;
 11 | stage_start_pos0x2f2620 = 0x2F2620;
 12 | St_unique_tbl0x2ff730 = 0x2FF730;
 13 | St_unique_tbl__77 = 0x2FF864;
 14 | set05_pos_tbl10x300000 = 0x300000;
 15 | _impure_ptr0x308548 = 0x308548;
 16 | adxm_stack_safe0x313030 = 0x313030;
 17 | Snd_bgm_tbl__1_0x32D471 = 0x32D471;
 18 | Snd_steft_tbl0x32d650 = 0x32D650;
 19 | bou_sei_tbl0x330e80 = 0x330E80;
 20 | buki_sei_tbl0x333030 = 0x333030;
 21 | kakou_tbl0x3338d0 = 0x3338D0;
 22 | Skill_name0x334fc0 = 0x334FC0;
 23 | Ken_data__Name = 0x3351D4;
 24 | Gun_data__Name = 0x3367BC;
 25 | Armor_Head_Data__Name = 0x336C00;
 26 | Armor_Body_Data__Name = 0x3371E0;
 27 | Armor_Arm_Data__Name = 0x337800;
 28 | Armor_Waist_Data__Name = 0x337E10;
 29 | Armor_Leg_Data__Name = 0x338360;
 30 | Item_data0x3396d0 = 0x3396D0;
 31 | Item_data__Rarity = 0x3396D2;
 32 | Item_data__MaxStack = 0x3396D3;
 33 | Item_data__Flags = 0x3396D4;
 34 | Item_data__IconIDX = 0x3396D5;
 35 | Item_data__ColorIDX = 0x3396D6;
 36 | Item_data__C_0x3396DC = 0x3396DC;
 37 | Item_data__E_0x3396DE = 0x3396DE;
 38 | item_str0x33ab40 = 0x33AB40;
 39 | pl01_adr_tbl0x34ad10 = 0x34AD10;
 40 | str_tbl_reibun00x34c5c0 = 0x34C5C0;
 41 | pit_help_str_tbl__1 = 0x351E84;
 42 | quest_lv_tbl0x3576e0 = 0x3576E0;
 43 | flag_quest_tbl0x357720 = 0x357720;
 44 | flag_quest_tbl_local0x357740 = 0x357740;
 45 | quest_local_tbl0x357790 = 0x357790;
 46 | D_35C7B1 = 0x35C7B1;
 47 | NET_CON_TEX0x3876a8 = 0x3876A8;
 48 | shop_process00_tag0x389e58 = 0x389E58;
 49 | shop_armor00_tag0x389e60 = 0x389E60;
 50 | shop_armor01_tag0x389e68 = 0x389E68;
 51 | my_job_str0x389e70 = 0x389E70;
 52 | PTR_st06_ground_pos_00389e74 = 0x389E74;
 53 | plazaMenuTbl0x389e78 = 0x389E78;
 54 | PTR_plazaMenu01_00389e7c = 0x389E7C;
 55 | encrypt_str0x389e80 = 0x389E80;
 56 | armor_shop_tbl0x389e88 = 0x389E88;
 57 | shop_default_tag0x389e90 = 0x389E90;
 58 | etc_mes_0000x389e98 = 0x389E98;
 59 | etc_mes_0010x389e9c = 0x389E9C;
 60 | etc_mes_0020x389ea0 = 0x389EA0;
 61 | etc_mes_0030x389ea4 = 0x389EA4;
 62 | etc_mes_0040x389ea8 = 0x389EA8;
 63 | etc_mes_0050x389eac = 0x389EAC;
 64 | etc_mes_0060x389eb0 = 0x389EB0;
 65 | etc_mes_0070x389eb4 = 0x389EB4;
 66 | etc_mes_0080x389eb8 = 0x389EB8;
 67 | etc_mes_0090x389ebc = 0x389EBC;
 68 | etc_mes_00a0x389ec0 = 0x389EC0;
 69 | etc_mes_00b0x389ec4 = 0x389EC4;
 70 | etc_mes_00c0x389ec8 = 0x389EC8;
 71 | etc_mes_00d0x389ecc = 0x389ECC;
 72 | etc_mes_00e0x389ed0 = 0x389ED0;
 73 | etc_mes_00f0x389ed4 = 0x389ED4;
 74 | etc_mes_0100x389ed8 = 0x389ED8;
 75 | etc_mes_0110x389edc = 0x389EDC;
 76 | etc_mes_0120x389ee0 = 0x389EE0;
 77 | etc_mes_0130x389ee4 = 0x389EE4;
 78 | etc_mes_0140x389ee8 = 0x389EE8;
 79 | etc_mes_0150x389eec = 0x389EEC;
 80 | etc_mes_0160x389ef0 = 0x389EF0;
 81 | etc_mes_0170x389ef4 = 0x389EF4;
 82 | etc_mes_0180x389ef8 = 0x389EF8;
 83 | etc_mes_0190x389efc = 0x389EFC;
 84 | etc_mes_01a0x389f00 = 0x389F00;
 85 | etc_mes_01b0x389f04 = 0x389F04;
 86 | tbl0x389f08 = 0x389F08;
 87 | lm_menu2_tbl0x389f10 = 0x389F10;
 88 | PTR_@177_00389f14 = 0x389F14;
 89 | no_pl0x389f18 = 0x389F18;
 90 | jtbl_00389F20_lobby = 0x389F20;
 91 | jtbl_00389F28_lobby = 0x389F28;
 92 | color_tbl0x389f30 = 0x389F30;
 93 | model_base__1 = 0x389F3A;
 94 | model_base__2 = 0x389F3B;
 95 | PTR_net_time_move_00389f3c = 0x389F3C;
 96 | npc_dialog_010_0000x389f40 = 0x389F40;
 97 | npc_dialog_016_0000x389f44 = 0x389F44;
 98 | npc_dialog_dummy0x389f48 = 0x389F48;
 99 | status_sub_str0x389f50 = 0x389F50;
100 | friend_entry_str0x389f58 = 0x389F58;
101 | btn_friendentry0x389f60 = 0x389F60;
102 | friend_entry_unk = 0x389F62;
103 | lb_quest_font_color0x389f68 = 0x389F68;
104 | lb_eat_command0x389f70 = 0x389F70;
105 | hint_tbl0x389f80 = 0x389F80;
106 | CA_size_list0x389f88 = 0x389F88;
107 | bs_strtbl_titlebar0x389f90 = 0x389F90;
108 | bs_strtbl_mmbb_dialog0010x389f98 = 0x389F98;
109 | bs_strtbl_mmbb_dialog0020x389f9c = 0x389F9C;
110 | bs_strtbl_cap_dialog0010x389fa0 = 0x389FA0;
111 | bs_strtbl_cap_dialog0020x389fa8 = 0x389FA8;
112 | bs_strtbl_cap_dialog0040x389fb0 = 0x389FB0;
113 | bs_strtbl_err_dialog0x389fc0 = 0x389FC0;
114 | BadHeaderList0x389fc8 = 0x389FC8;
115 | fixed_bl0x389fd0 = 0x389FD0;
116 | fixed_bd0x389fd4 = 0x389FD4;
117 | Hn_Size0x389fd8 = 0x389FD8;
118 | @16070x389fe0 = 0x389FE0;
119 | str_unk_kana_ru = 0x389FE4;
120 | str_unk_end = 0x389FE6;
121 | jtbl_00389FE8_lobby = 0x389FE8;
122 | change_character_tbl0x389ff0 = 0x389FF0;
123 | category_name_str0x389ff8 = 0x389FF8;
124 | verify_button0x38a008 = 0x38A008;
125 | yes_or_no0x38a010 = 0x38A010;
126 | eft25_type3_time0x38a018 = 0x38A018;
127 | eft25_type4_time0x38a020 = 0x38A020;
128 | quest_price0x38a124 = 0x38A124;
129 | Net_Err_No0x38a128 = 0x38A128;
130 | BsLbsCount0x38a12c = 0x38A12C;
131 | bs_end_type0x38a130 = 0x38A130;
132 | BsProxyUseFlag0x38a134 = 0x38A134;
133 | my_user_id0x38a138 = 0x38A138;
134 | lbs_tryed_ctr0x38a140 = 0x38A140;
135 | lbs_select_timer0x38a144 = 0x38A144;
136 | mcs_connect_flag0x38a148 = 0x38A148;
137 | PPP_ErrorStatus0x38a14c = 0x38A14C;
138 | MMBB_LOGIN0x38a150 = 0x38A150;
139 | ot70x38a198 = 0x38A198;
140 | ot60x38a19c = 0x38A19C;
141 | ot50x38a1a0 = 0x38A1A0;
142 | Plan_pow0x38a1d0 = 0x38A1D0;
143 | plan_pow__unk = 0x38A1D2;
144 | Plan_ang0x38a1d8 = 0x38A1D8;
145 | plan_ang__unk = 0x38A1DA;
146 | Plan_buff0x38a1e0 = 0x38A1E0;
147 | plan_buff__unk = 0x38A1E2;
148 | Plsw_buff0x38a1e8 = 0x38A1E8;
149 | plsw_buff__unk = 0x38A1EA;
150 | System_timer0x38a1f4 = 0x38A1F4;
151 | mission_area0x38a208 = 0x38A208;
152 | pl_area_top0x38a224 = 0x38A224;
153 | data_load_ptr0x38a240 = 0x38A240;
154 | flpad_adr__1 = 0x38A2FC;
155 | CurDevice0x38a5d8 = 0x38A5D8;
156 | lpSKey0x38a6d0 = 0x38A6D0;
157 | r_no_process0x38a7f4 = 0x38A7F4;
158 | randTblNo0x38a7f8 = 0x38A7F8;
159 | armorIndex0x38a7fc = 0x38A7FC;
160 | armor_shop_r0x38a800 = 0x38A800;
161 | eatResult0x38a804 = 0x38A804;
162 | pRes0x38a808 = 0x38A808;
163 | htmlStr0x38a80c = 0x38A80C;
164 | subTitleCol0x38a810 = 0x38A810;
165 | pSceneSubTitle0x38a814 = 0x38A814;
166 | pSceneTitle0x38a818 = 0x38A818;
167 | chatListFlag0x38a81c = 0x38A81C;
168 | pl_infoget_ctr0x38a820 = 0x38A820;
169 | seq_no0x38a824 = 0x38A824;
170 | joinQuest0x38a828 = 0x38A828;
171 | wait$1570x38a82c = 0x38A82C;
172 | D_38A82E = 0x38A82E;
173 | lbmw0x38a830 = 0x38A830;
174 | net_char_change0x38a834 = 0x38A834;
175 | pNet0x38a83c = 0x38A83C;
176 | SearchResult0x38a840 = 0x38A840;
177 | cw0x38a844 = 0x38A844;
178 | reset_NG_flag0x38a848 = 0x38A848;
179 | USER_PL_ID0x38a84c = 0x38A84C;
180 | COM_RET0x38a850 = 0x38A850;
181 | COM_R_No_Disconnect0x38a854 = 0x38A854;
182 | COM_R_No_Logout0x38a858 = 0x38A858;
183 | COM_R_No_60x38a860 = 0x38A860;
184 | COM_R_No_50x38a864 = 0x38A864;
185 | COM_R_No_40x38a868 = 0x38A868;
186 | COM_R_No_30x38a86c = 0x38A86C;
187 | COM_R_No_20x38a870 = 0x38A870;
188 | COM_R_No_10x38a874 = 0x38A874;
189 | COM_R_No_00x38a878 = 0x38A878;
190 | COMconnect0x38a87c = 0x38A87C;
191 | Vs_Cnt_10x38a880 = 0x38A880;
192 | Vs_Cnt_00x38a884 = 0x38A884;
193 | dod_new_reguration_flag0x38a888 = 0x38A888;
194 | dod_new_reguration_agree_type0x38a88c = 0x38A88C;
195 | BsLbsErrNum0x38a890 = 0x38A890;
196 | net_game_invalid_flag0x38a894 = 0x38A894;
197 | PORT_NUMBER$4390x38a898 = 0x38A898;
198 | cnt$4410x38a89c = 0x38A89C;
199 | ReadedDataLength0x38a8a0 = 0x38A8A0;
200 | LobbyDataLength0x38a8a4 = 0x38A8A4;
201 | DataSequence0x38a8a8 = 0x38A8A8;
202 | HeaderReadedFlag0x38a8ac = 0x38A8AC;
203 | TryCunt0x38a8b0 = 0x38A8B0;
204 | SecCunt0x38a8b4 = 0x38A8B4;
205 | tag_flag0x38a8b8 = 0x38A8B8;
206 | html_layout0x38a8bc = 0x38A8BC;
207 | html_line_len0x38a8c0 = 0x38A8C0;
208 | html_tag_flag0x38a8c4 = 0x38A8C4;
209 | html_end_flag0x38a8c8 = 0x38A8C8;
210 | html_start_flag0x38a8cc = 0x38A8CC;
211 | html_string_ptr0x38a8d0 = 0x38A8D0;
212 | html_size0x38a8d4 = 0x38A8D4;
213 | html_color0x38a8d8 = 0x38A8D8;
214 | html_default_y0x38a8dc = 0x38A8DC;
215 | html_default_x0x38a8e0 = 0x38A8E0;
216 | html_z0x38a8e4 = 0x38A8E4;
217 | html_y0x38a8e8 = 0x38A8E8;
218 | html_x0x38a8ec = 0x38A8EC;
219 | dp_before0x38a8f0 = 0x38A8F0;
220 | dp0x38a8f4 = 0x38A8F4;
221 | netr_ret0x38a8f8 = 0x38A8F8;
222 | net_time_flag0x38a8fc = 0x38A8FC;
223 | ret_stat0x38a900 = 0x38A900;
224 | ret_stat0x38a904 = 0x38A904;
225 | pDetail0x38a908 = 0x38A908;
226 | guildPrice0x38a90c = 0x38A90C;
227 | key_quest_num0x38a910 = 0x38A910;
228 | key_quest0x38a914 = 0x38A914;
229 | lb_quest_clear0x38a918 = 0x38A918;
230 | sw_flag$12600x38a920 = 0x38A920;
231 | ang$8940x38a924 = 0x38A924;
232 | lbSendInterval0x38a928 = 0x38A928;
233 | ParseRet0x38a92c = 0x38A92C;
234 | ParseArg0x38a930 = 0x38A930;
235 | ParseCk_ret0x38a934 = 0x38A934;
236 | ParseReq0x38a938 = 0x38A938;
237 | Now_wait_lbs_task0x38a93c = 0x38A93C;
238 | ContentType_encoded0x38a940 = 0x38A940;
239 | ContentLength_00x38a944 = 0x38A944;
240 | CacheControl_nocache0x38a948 = 0x38A948;
241 | Pragma_nocache0x38a94c = 0x38A94C;
242 | sv_or_del0x38a950 = 0x38A950;
243 | BsDoEmphasise0x38a954 = 0x38A954;
244 | BsMCStatus0x38a958 = 0x38A958;
245 | BsDialogReq0x38a95c = 0x38A95C;
246 | BsSoftKbdReq0x38a960 = 0x38A960;
247 | BsCursorReq0x38a964 = 0x38A964;
248 | BsToolMenuReq0x38a968 = 0x38A968;
249 | BsTtlBarReq0x38a96c = 0x38A96C;
250 | BsVScrlBarReq0x38a970 = 0x38A970;
251 | BsHScrlBarReq0x38a974 = 0x38A974;
252 | BsPageObjReq0x38a978 = 0x38A978;
253 | BsBgImgReq0x38a97c = 0x38A97C;
254 | BcRoute_cur0x38a980 = 0x38A980;
255 | BcImageBuf0x38a984 = 0x38A984;
256 | BcRequest0x38a988 = 0x38A988;
257 | BcRoute0x38a98c = 0x38A98C;
258 | BcImage0x38a990 = 0x38A990;
259 | BcSource0x38a994 = 0x38A994;
260 | BsTimer10x38a998 = 0x38A998;
261 | BsTimer00x38a99c = 0x38A99C;
262 | BsHtmlExitPoint0x38a9a0 = 0x38A9A0;
263 | BS_MODE_R_NO0x38a9a4 = 0x38A9A4;
264 | bs_strtbl_mmbb_dialog0100x38a9b0 = 0x38A9B0;
265 | bs_strtbl_cap_dialog0050x38a9b4 = 0x38A9B4;
266 | bs_strtbl_cap_dialog0060x38a9b8 = 0x38A9B8;
267 | Bs_work_hit_last0x38a9bc = 0x38A9BC;
268 | Bs_work_hit_head0x38a9c0 = 0x38A9C0;
269 | Bs_work_free_head0x38a9c4 = 0x38A9C4;
270 | Bs_tex_handle_ptr0x38a9c8 = 0x38A9C8;
271 | PARSETAG_R_No0x38a9cc = 0x38A9CC;
272 | bsw0x38a9d0 = 0x38A9D0;
273 | bs_ana_csmv_off0x38a9d4 = 0x38A9D4;
274 | bs_ana_csmv_on0x38a9d8 = 0x38A9D8;
275 | bsIsOnRequesting0x38a9dc = 0x38A9DC;
276 | sbfptr0x38a9e0 = 0x38A9E0;
277 | srcbuf0x38a9e4 = 0x38A9E4;
278 | bsImgNo0x38a9e8 = 0x38A9E8;
279 | bsDoReload0x38a9ec = 0x38A9EC;
280 | bsZeroChecker0x38a9f0 = 0x38A9F0;
281 | bsRetryCtr0x38a9f4 = 0x38A9F4;
282 | bsFirstOpen0x38a9f8 = 0x38A9F8;
283 | bsCallCpInetGetStatus0x38a9fc = 0x38A9FC;
284 | bsNetErrOccur0x38aa00 = 0x38AA00;
285 | bsGameMenuNum0x38aa04 = 0x38AA04;
286 | bsPleaseReboot0x38aa08 = 0x38AA08;
287 | bsGoHidePage0x38aa0c = 0x38AA0C;
288 | bsMainRetVal0x38aa10 = 0x38AA10;
289 | BsKddiQueryEnable0x38aa14 = 0x38AA14;
290 | bs_mc_r_no_10x38aa18 = 0x38AA18;
291 | mdUsrSlctdItm0x38aa1c = 0x38AA1C;
292 | bsNowFocus0x38aa20 = 0x38AA20;
293 | wpushCtr0x38aa24 = 0x38AA24;
294 | bsCsv0x38aa28 = 0x38AA28;
295 | bsCur0x38aa2c = 0x38AA2C;
296 | bsSys0x38aa30 = 0x38AA30;
297 | bsUrl0x38aa34 = 0x38AA34;
298 | ib0x38aa38 = 0x38AA38;
299 | reibun_edit0x38aa3c = 0x38AA3C;
300 | reibun_unk = 0x38AA3E;
301 | reibun_select = 0x38AA3F;
302 | MediaVersion0x395590 = 0x395590;
303 | PitMenu0x39dac0 = 0x39DAC0;
304 | D_39DAD0 = 0x39DAD0;
305 | pit_help_menu_1 = 0x39DAD1;
306 | pit_help_menu_2 = 0x39DAD2;
307 | pit_name = 0x39DAD4;
308 | menu_config_unk1 = 0x39DAD5;
309 | menu_config_unk2 = 0x39DAD6;
310 | pit_msg_halt_flag = 0x39DADC;
311 | chat_log_lines1 = 0x39DADE;
312 | chat_log_lines2 = 0x39DADF;
313 | chat_log_q = 0x39DAE0;
314 | D_39DAE1 = 0x39DAE1;
315 | chat_log_move = 0x39DAE2;
316 | D_39DAE3 = 0x39DAE3;
317 | quest_title0x39f230 = 0x39F230;
318 | RecvMailInfo0x39f250 = 0x39F250;
319 | D_39F251 = 0x39F251;
320 | D_39F259 = 0x39F259;
321 | D_39F26A = 0x39F26A;
322 | D_39F2EA = 0x39F2EA;
323 | D_39F384 = 0x39F384;
324 | D_39F41E = 0x39F41E;
325 | D_39F4B8 = 0x39F4B8;
326 | D_39F552 = 0x39F552;
327 | D_39F5EC = 0x39F5EC;
328 | D_39F686 = 0x39F686;
329 | BsLbsInfo0x39f720 = 0x39F720;
330 | BsProxyUrlstr_S0x3a0140 = 0x3A0140;
331 | BsProxyUrlstr0x3a0250 = 0x3A0250;
332 | tmp_friend_data0x3a0360 = 0x3A0360;
333 | Friend_data0x3a0cc0 = 0x3A0CC0;
334 | D_3A14C6 = 0x3A14C6;
335 | LobbyInfo0x3a1620 = 0x3A1620;
336 | D_3A1622 = 0x3A1622;
337 | D_3A27D6 = 0x3A27D6;
338 | PlazaInfo0x3a2930 = 0x3A2930;
339 | D_3A2940 = 0x3A2940;
340 | room_member_mini_data0x3a36d0 = 0x3A36D0;
341 | room_member_handle0x3a37d0 = 0x3A37D0;
342 | room_member_id0x3a3820 = 0x3A3820;
343 | my_user_mini_data0x3a3840 = 0x3A3840;
344 | my_user_handle0x3a3880 = 0x3A3880;
345 | ConnectLbsId0x3a38a0 = 0x3A38A0;
346 | LbsTryedWork0x3a38c0 = 0x3A38C0;
347 | LbsInfoWork0x3a3990 = 0x3A3990;
348 | LbsInfoWork__0xe = 0x3A399E;
349 | D_3A39A0 = 0x3A39A0;
350 | LbsInfoWork__0x12 = 0x3A39A2;
351 | FirstURL0x3a3a60 = 0x3A3A60;
352 | bsCsvWork0x3a3b60 = 0x3A3B60;
353 | D_3A3B71 = 0x3A3B71;
354 | D_3A3B7C = 0x3A3B7C;
355 | D_3A3C7D = 0x3A3C7D;
356 | DNASProgressPercent = 0x3A6E94;
357 | D_3A6EA2 = 0x3A6EA2;
358 | patch_buff0x3a6f80 = 0x3A6F80;
359 | User_data0x3c6fc0 = 0x3C6FC0;
360 | User_data__gender = 0x3C6FC1;
361 | User_data__3 = 0x3C6FC3;
362 | D_3C6FC8 = 0x3C6FC8;
363 | D_3C6FDA = 0x3C6FDA;
364 | User_data__gold = 0x3C6FE0;
365 | D_3C7004 = 0x3C7004;
366 | D_3C7005 = 0x3C7005;
367 | D_3C7006 = 0x3C7006;
368 | D_3C7008 = 0x3C7008;
369 | D_3C7184 = 0x3C7184;
370 | D_3C7186 = 0x3C7186;
371 | User_data__hunterrank = 0x3C733B;
372 | D_3C733C = 0x3C733C;
373 | D_3C733E = 0x3C733E;
374 | D_3C7357 = 0x3C7357;
375 | D_3C738C = 0x3C738C;
376 | D_3C738D = 0x3C738D;
377 | D_3C7392 = 0x3C7392;
378 | D_3C7393 = 0x3C7393;
379 | D_3C7394 = 0x3C7394;
380 | D_3C7395 = 0x3C7395;
381 | D_3C7396 = 0x3C7396;
382 | D_3C7397 = 0x3C7397;
383 | User_data__npc_talk_unk = 0x3C73A8;
384 | D_3C73B4 = 0x3C73B4;
385 | User_data__equipped_wep = 0x3C7416;
386 | User_data__equipped_legs = 0x3C7417;
387 | User_data__RathSlays = 0x3C741C;
388 | User_data__WyvrnSlays = 0x3C741D;
389 | quest_w__timelimit_ticks = 0x3C7450;
390 | quest_w__gold_left = 0x3C7454;
391 | mib_dataheader = 0x3C74D4;
392 | eft_mdlw0x3c8dc0 = 0x3C8DC0;
393 | stage_work__1 = 0x3D8231;
394 | em_work0x3d82a0 = 0x3D82A0;
395 | player_work0x3e4bf0 = 0x3E4BF0;
396 | player_w__player_num = 0x3E4BFC;
397 | D_3E4C05 = 0x3E4C05;
398 | D_3E4ECC = 0x3E4ECC;
399 | D_3E4FA0 = 0x3E4FA0;
400 | D_3E5326 = 0x3E5326;
401 | D_3E5468 = 0x3E5468;
402 | D_3E54FB = 0x3E54FB;
403 | D_3E5505 = 0x3E5505;
404 | D_3E5506 = 0x3E5506;
405 | D_3E55F0 = 0x3E55F0;
406 | player_w__player_2_num = 0x3E55FC;
407 | D_3E5FF0 = 0x3E5FF0;
408 | player_w__player_3_num = 0x3E5FFC;
409 | D_3E69F0 = 0x3E69F0;
410 | player_w__player_4_num = 0x3E69FC;
411 | D_3E73F0 = 0x3E73F0;
412 | player_w__player_5_num = 0x3E73FC;
413 | D_3E7DF0 = 0x3E7DF0;
414 | player_w__player_6_num = 0x3E7DFC;
415 | D_3E87F0 = 0x3E87F0;
416 | player_w__player_7_num = 0x3E87FC;
417 | D_3E91F0 = 0x3E91F0;
418 | player_w__player_8_num = 0x3E91FC;
419 | lb_prim0x3ebc70 = 0x3EBC70;
420 | D_3EBC90 = 0x3EBC90;
421 | D_3EBCB0 = 0x3EBCB0;
422 | D_3EBCD0 = 0x3EBCD0;
423 | ot20x3f1e10 = 0x3F1E10;
424 | ot10x3f1e50 = 0x3F1E50;
425 | ot00x3f1ed0 = 0x3F1ED0;
426 | rview_mat0x3f2060 = 0x3F2060;
427 | current_quest_ID = 0x3F33DC;
428 | game_w0x3f33f0 = 0x3F33F0;
429 | D_3F36AB = 0x3F36AB;
430 | system_w__0x2f = 0x3F36BF;
431 | system_w__0x35 = 0x3F36C5;
432 | system_w__43 = 0x3F36CC;
433 | system_w__0x3f = 0x3F36CF;
434 | Psw0x3f3710 = 0x3F3710;
435 | D_3F3714 = 0x3F3714;
436 | chat_sw_flag_1 = 0x3F3718;
437 | D_3F3728 = 0x3F3728;
438 | flPalette0x4196e0 = 0x4196E0;
439 | flTexture0x41cee0 = 0x41CEE0;
440 | Snd_stcom_tbl0x4761b0 = 0x4761B0;
441 | D_4E36F4 = 0x4E36F4;
442 | D_4E3714 = 0x4E3714;
443 | inet_tcp_header_unk = 0x4E3718;
444 | inet_tcp_header_size_left = 0x4E371A;
445 | D_4E4723 = 0x4E4723;
446 | InetSys__6 = 0x4E4746;
447 | InetSys__0xD = 0x4E474D;
448 | InetSys__0xF = 0x4E474F;
449 | D_4FD2DC = 0x4FD2DC;
450 | CNFile0x52fa20 = 0x52FA20;
451 | MMBB_ID = 0x530380;
452 | MMBD_PASS = 0x53038B;
453 | D_00615EC2 = 0x615EC2;
454 | D_00615EC6 = 0x615EC6;
455 | D_00616312 = 0x616312;
456 | D_00616332 = 0x616332;
457 | D_00616342 = 0x616342;
458 | D_00616A8A = 0x616A8A;
459 | D_00616BA2 = 0x616BA2;
460 | D_00616BA6 = 0x616BA6;
461 | D_006175BA = 0x6175BA;
462 | D_00647912 = 0x647912;
463 | D_0064DE12 = 0x64DE12;
464 | D_0064E1C2 = 0x64E1C2;
465 | D_00653AA2 = 0x653AA2;
466 | D_00654149 = 0x654149;
467 | D_0065414A = 0x65414A;
468 | D_0065414B = 0x65414B;
469 | D_00655919 = 0x655919;
470 | 
```

--------------------------------------------------------------------------------
/config/dnas_net_crypt_symbols.txt:
--------------------------------------------------------------------------------

```
  1 | dnasnet_crypt_key_01 = 0xa0777c; // type:label size:0x10
  2 | dnasnet_string_01 = 0xa077a0; // type:char
  3 | dnasnet_string_02 = 0xa077dc; // type:char
  4 | dnasnet_crypt_key_01_end = 0xa0785c; // type:label size:0x10
  5 | dnasnet_crypt_key_02 = 0xa08c64; // type:label size:0x10
  6 | dnasnet_crypt_key_02_end = 0xa08cc4; // type:label size:0x10
  7 | dnasnet_crypt_key_03 = 0xa08d64; // type:label size:0x10
  8 | dnasnet_crypt_key_03_end = 0xa08dc4; // type:label size:0x10
  9 | dnasnet_crypt_key_04 = 0xa08e70; // type:label size:0x10
 10 | dnasnet_crypt_key_04_end = 0xa08ec4; // type:label size:0x10
 11 | dnasnet_crypt_key_05 = 0xa08f78; // type:label size:0x10
 12 | dnasnet_crypt_key_05_end = 0xa08fd4; // type:label size:0x10
 13 | dnasnet_crypt_key_06 = 0xa0907c; // type:label size:0x10
 14 | dnasnet_crypt_key_06_end = 0xa090dc; // type:label size:0x10
 15 | dnasnet_crypt_key_07 = 0xa0917c; // type:label size:0x10
 16 | dnasnet_crypt_key_07_end = 0xa091dc; // type:label size:0x10
 17 | dnasnet_crypt_key_08 = 0xa0927c; // type:label size:0x10
 18 | dnasnet_crypt_key_08_end = 0xa092bc; // type:label size:0x10
 19 | dnasnet_crypt_key_09 = 0xa0935c; // type:label size:0x10
 20 | dnasnet_crypt_key_09_end = 0xa093bc; // type:label size:0x10
 21 | dnasnet_crypt_key_10 = 0xa0945c; // type:label size:0x10
 22 | dnasnet_crypt_key_10_end = 0xa0949c; // type:label size:0x10
 23 | dnasnet_crypt_key_11 = 0xa0953c; // type:label size:0x10
 24 | dnasnet_crypt_key_11_end = 0xa0957c; // type:label size:0x10
 25 | dnasnet_crypt_key_12 = 0xa0961c; // type:label size:0x10
 26 | dnasnet_crypt_key_12_end = 0xa0965c; // type:label size:0x10
 27 | dnasnet_crypt_key_13 = 0xa096fc; // type:label size:0x10
 28 | dnasnet_crypt_key_13_end = 0xa0975c; // type:label size:0x10
 29 | dnasnet_crypt_key_14 = 0xa097fc; // type:label size:0x10
 30 | dnasnet_crypt_key_14_end = 0xa09844; // type:label size:0x10
 31 | dnasnet_crypt_key_15 = 0xa098ec; // type:label size:0x10
 32 | dnasnet_crypt_key_15_end = 0xa09944; // type:label size:0x10
 33 | dnasnet_crypt_key_16 = 0xa099f4; // type:label size:0x10
 34 | dnasnet_crypt_key_16_end = 0xa09a4c; // type:label size:0x10
 35 | dnasnet_crypt_key_17 = 0xa09b00; // type:label size:0x10
 36 | dnasnet_crypt_key_17_end = 0xa09bb4; // type:label size:0x10
 37 | dnasnet_crypt_key_18 = 0xa09c64; // type:label size:0x10
 38 | dnasnet_crypt_key_18_end = 0xa09ccc; // type:label size:0x10
 39 | dnasnet_crypt_key_19 = 0xa09d74; // type:label size:0x10
 40 | dnasnet_crypt_key_19_end = 0xa09dbc; // type:label size:0x10
 41 | dnasnet_crypt_key_20 = 0xa09e64; // type:label size:0x10
 42 | dnasnet_crypt_key_20_end = 0xa09ebc; // type:label size:0x10
 43 | dnasnet_crypt_key_21 = 0xa09f64; // type:label size:0x10
 44 | dnasnet_crypt_key_21_end = 0xa09fa4; // type:label size:0x10
 45 | dnasnet_crypt_key_22 = 0xa0a044; // type:label size:0x10
 46 | dnasnet_crypt_key_22_end = 0xa0a084; // type:label size:0x10
 47 | dnasnet_crypt_key_23 = 0xa0a130; // type:label size:0x10
 48 | dnasnet_crypt_key_23_end = 0xa0a1e4; // type:label size:0x10
 49 | dnasnet_crypt_key_24 = 0xa0a294; // type:label size:0x10
 50 | dnasnet_crypt_key_24_end = 0xa0a2fc; // type:label size:0x10
 51 | dnasnet_crypt_key_25 = 0xa0a3ac; // type:label size:0x10
 52 | dnasnet_crypt_key_25_end = 0xa0a4c8; // type:label size:0x10
 53 | dnasnet_crypt_key_26 = 0xa0a58c; // type:label size:0x10
 54 | dnasnet_string_03 = 0xa0a680; // type:char
 55 | dnasnet_string_04 = 0xa0a6c0; // type:char
 56 | dnasnet_string_05 = 0xa0a710; // type:char
 57 | dnasnet_string_06 = 0xa0a760; // type:char
 58 | dnasnet_string_07 = 0xa0a7b0; // type:char
 59 | dnasnet_string_08 = 0xa0a7f0; // type:char
 60 | dnasnet_string_09 = 0xa0a838; // type:char
 61 | dnasnet_string_10 = 0xa0a880; // type:char
 62 | dnasnet_string_11 = 0xa0a8c0; // type:char
 63 | dnasnet_string_12 = 0xa0a950; // type:char
 64 | dnasnet_string_13 = 0xa0a9a0; // type:char
 65 | dnasnet_string_14 = 0xa0a9f0; // type:char
 66 | dnasnet_string_15 = 0xa0aa48; // type:char
 67 | dnasnet_string_16 = 0xa0aaf0; // type:char
 68 | dnasnet_string_17 = 0xa0ab40; // type:char
 69 | dnasnet_string_18 = 0xa0ab90; // type:char
 70 | dnasnet_string_19 = 0xa0ac14; // type:char
 71 | dnasnet_string_20 = 0xa0ac84; // type:char
 72 | dnasnet_string_21 = 0xa0acc8; // type:char
 73 | dnasnet_string_22 = 0xa0ad08; // type:char
 74 | dnasnet_crypt_key_26_end = 0xa0ad98; // type:label size:0x10
 75 | dnasnet_crypt_key_27 = 0xa0af78; // type:label size:0x10
 76 | dnasnet_string_23 = 0xa0af9c; // type:char
 77 | dnasnet_crypt_key_27_end = 0xa0aff0; // type:label size:0x10
 78 | dnasnet_crypt_key_28 = 0xa0b088; // type:label size:0x10
 79 | dnasnet_string_24 = 0xa0b0ac; // type:char
 80 | dnasnet_string_25 = 0xa0b0f0; // type:char
 81 | dnasnet_string_26 = 0xa0b150; // type:char
 82 | dnasnet_string_27 = 0xa0b1a8; // type:char
 83 | dnasnet_string_28 = 0xa0b1f8; // type:char
 84 | dnasnet_crypt_key_28_end = 0xa0b27c; // type:label size:0x10
 85 | dnasnet_crypt_key_29 = 0xa0b4d4; // type:label size:0x10
 86 | dnasnet_crypt_key_29_end = 0xa0b538; // type:label size:0x10
 87 | dnasnet_crypt_key_30 = 0xa0c274; // type:label size:0x10
 88 | dnasnet_crypt_key_30_end = 0xa0c3fc; // type:label size:0x10
 89 | dnasnet_crypt_key_31 = 0xa0c4dc; // type:label size:0x10
 90 | dnasnet_crypt_key_31_end = 0xa0c684; // type:label size:0x10
 91 | dnasnet_crypt_key_32 = 0xa0c764; // type:label size:0x10
 92 | dnasnet_string_61 = 0xa0c788; // type:char
 93 | dnasnet_crypt_key_32_end = 0xa0c7e4; // type:label size:0x10
 94 | dnasnet_crypt_key_33 = 0xa0c898; // type:label size:0x10
 95 | dnasnet_string_29 = 0xa0c8bc; // type:char
 96 | dnasnet_crypt_key_33_end = 0xa0c918; // type:label size:0x10
 97 | dnasnet_crypt_key_34 = 0xa0ca18; // type:label size:0x10
 98 | dnasnet_crypt_key_34_end = 0xa0caa4; // type:label size:0x10
 99 | dnasnet_crypt_key_35 = 0xa0cc9c; // type:label size:0x10
100 | dnasnet_crypt_key_35_end = 0xa0ccec; // type:label size:0x10
101 | dnasnet_crypt_key_36 = 0xa0cda0; // type:label size:0x10
102 | dnasnet_crypt_key_36_end = 0xa0ce3c; // type:label size:0x10
103 | dnasnet_crypt_key_37 = 0xa0ceec; // type:label size:0x10
104 | dnasnet_crypt_key_37_end = 0xa0cf3c; // type:label size:0x10
105 | dnasnet_crypt_key_38 = 0xa0d288; // type:label size:0x10
106 | dnasnet_crypt_key_38_end = 0xa0d310; // type:label size:0x10
107 | dnasnet_crypt_key_39 = 0xa0d454; // type:label size:0x10
108 | dnasnet_crypt_key_39_end = 0xa0d4cc; // type:label size:0x10
109 | dnasnet_crypt_key_40 = 0xa0d604; // type:label size:0x10
110 | dnasnet_crypt_key_40_end = 0xa0d638; // type:label size:0x10
111 | dnasnet_crypt_key_41 = 0xa0d7a8; // type:label size:0x10
112 | dnasnet_crypt_key_41_end = 0xa0d830; // type:label size:0x10
113 | dnasnet_crypt_key_42 = 0xa0e460; // type:label size:0x10
114 | dnasnet_string_30 = 0xa0e484; // type:char
115 | dnasnet_crypt_key_42_end = 0xa0e4cc; // type:label size:0x10
116 | dnasnet_crypt_key_43 = 0xa0e5e4; // type:label size:0x10
117 | dnasnet_string_31 = 0xa0e614; // type:char
118 | dnasnet_string_32 = 0xa0e678; // type:char
119 | dnasnet_crypt_key_43_end = 0xa0e6e0; // type:label size:0x10
120 | dnasnet_crypt_key_44 = 0xa0e778; // type:label size:0x10
121 | dnasnet_string_33 = 0xa0e79c; // type:char
122 | dnasnet_crypt_key_44_end = 0xa0e7ec; // type:label size:0x10
123 | dnasnet_crypt_key_45 = 0xa0e8e8; // type:label size:0x10
124 | dnasnet_string_34 = 0xa0e90c; // type:char
125 | dnasnet_crypt_key_45_end = 0xa0e95c; // type:label size:0x10
126 | dnasnet_crypt_key_46 = 0xa0e9fc; // type:label size:0x10
127 | dnasnet_string_35 = 0xa0ea20; // type:char
128 | dnasnet_crypt_key_46_end = 0xa0ea6c; // type:label size:0x10
129 | dnasnet_crypt_key_47 = 0xa0eb0c; // type:label size:0x10
130 | dnasnet_string_36 = 0xa0eb30; // type:char
131 | dnasnet_crypt_key_47_end = 0xa0eb7c; // type:label size:0x10
132 | dnasnet_crypt_key_48 = 0xa0ec94; // type:label size:0x10
133 | dnasnet_string_37 = 0xa0ecc8; // type:char
134 | dnasnet_string_38 = 0xa0ed6c; // type:char
135 | dnasnet_string_39 = 0xa0edf0; // type:char
136 | dnasnet_crypt_key_48_end = 0xa0ee70; // type:label size:0x10
137 | dnasnet_crypt_key_49 = 0xa0eefc; // type:label size:0x10
138 | dnasnet_string_40 = 0xa0ef20; // type:char
139 | dnasnet_crypt_key_49_end = 0xa0ef6c; // type:label size:0x10
140 | dnasnet_crypt_key_50 = 0xa0efe0; // type:label size:0x10
141 | dnasnet_string_41 = 0xa0f004; // type:char
142 | dnasnet_crypt_key_51_end = 0xa0f054; // type:label size:0x10
143 | dnasnet_crypt_key_52 = 0xa0f0cc; // type:label size:0x10
144 | dnasnet_string_42 = 0xa0f0f0; // type:char
145 | dnasnet_crypt_key_52_end = 0xa0f144; // type:label size:0x10
146 | dnasnet_crypt_key_53 = 0xa0f3f4; // type:label size:0x10
147 | dnasnet_string_43 = 0xa0f418; // type:char
148 | dnasnet_crypt_key_53_end = 0xa0f464; // type:label size:0x10
149 | dnasnet_crypt_key_54 = 0xa0f514; // type:label size:0x10
150 | dnasnet_string_44 = 0xa0f538; // type:char
151 | dnasnet_crypt_key_54_end = 0xa0f58c; // type:label size:0x10
152 | dnasnet_crypt_key_55 = 0xa0f620; // type:label size:0x10
153 | dnasnet_string_45 = 0xa0f644; // type:char
154 | dnasnet_crypt_key_55_end = 0xa0f694; // type:label size:0x10
155 | dnasnet_crypt_key_56 = 0xa0fc1c; // type:label size:0x10
156 | dnasnet_string_46 = 0xa0fc60; // type:char
157 | dnasnet_string_47 = 0xa0fcb8; // type:char
158 | dnasnet_string_48 = 0xa0fd08; // type:char
159 | dnasnet_crypt_key_56_end = 0xa0fd70; // type:label size:0x10
160 | dnasnet_crypt_key_57 = 0xa0fe34; // type:label size:0x10
161 | dnasnet_string_49 = 0xa0fe58; // type:char
162 | dnasnet_crypt_key_57_end = 0xa0fe9c; // type:label size:0x10
163 | dnasnet_crypt_key_58 = 0xa0ff4c; // type:label size:0x10
164 | dnasnet_string_50 = 0xa0ff90; // type:char
165 | dnasnet_string_51 = 0xa0ffec; // type:char
166 | dnasnet_crypt_key_58_end = 0xa10054; // type:label size:0x10
167 | dnasnet_crypt_key_59 = 0xa100fc; // type:label size:0x10
168 | dnasnet_string_62 = 0xa10140; // type:char
169 | dnasnet_string_52 = 0xa101a0; // type:char
170 | dnasnet_string_53 = 0xa101f4; // type:char
171 | dnasnet_string_54 = 0xa10254; // type:char
172 | dnasnet_crypt_key_59_end = 0xa102b8; // type:label size:0x10
173 | dnasnet_crypt_key_60 = 0xa103a4; // type:label size:0x10
174 | dnasnet_string_55 = 0xa103c8; // type:char
175 | dnasnet_crypt_key_60_end = 0xa1040c; // type:label size:0x10
176 | dnasnet_crypt_key_61 = 0xa10828; // type:label size:0x10
177 | dnasnet_crypt_data_07 = 0xa1084c; // size:0xac
178 | dnasnet_crypt_data_08 = 0xa10920; // size:0x50
179 | dnasnet_crypt_data_09 = 0xa10990; // size:0x68
180 | dnasnet_crypt_data_10 = 0xa10a18; // size:0x68
181 | dnasnet_crypt_data_11 = 0xa10aa0; // size:0x68
182 | dnasnet_crypt_data_12 = 0xa10b28; // size:0x68
183 | dnasnet_crypt_key_61_end = 0xa10c00; // type:label size:0x10
184 | dnasnet_crypt_key_62 = 0xa10fc4; // type:label size:0x10
185 | dnasnet_string_56 = 0xa10fe8; // type:char
186 | dnasnet_string_57 = 0xa11024; // type:char
187 | dnasnet_crypt_key_62_end = 0xa110bc; // type:label size:0x10
188 | dnasnet_crypt_key_63 = 0xa11c58; // type:label size:0x10
189 | dnasnet_crypt_key_63_end = 0xa11cc0; // type:label size:0x10
190 | dnasnet_crypt_key_64 = 0xa12d2c; // type:label size:0x10
191 | dnasnet_string_58 = 0xa12d50; // type:char
192 | dnasnet_crypt_key_64_end = 0xa12dac; // type:label size:0x10
193 | dnasnet_crypt_key_65 = 0xa12fa8; // type:label size:0x10
194 | dnasnet_crypt_data_01 = 0xa12fcc; // size:0x128
195 | dnasnet_crypt_data_02 = 0xa13120; // size:0x60
196 | dnasnet_crypt_data_03 = 0xa131a0; // size:0xA4
197 | dnasnet_crypt_data_04 = 0xa13268; // size:0xA4
198 | dnasnet_crypt_data_05 = 0xa13330; // size:0xA4
199 | dnasnet_crypt_data_06 = 0xa133f8; // size:0xA0
200 | dnasnet_crypt_key_65_end = 0xa1362c; // type:label size:0x10
201 | 
202 | dnasnet_crypt_key_66 = 0xa6cb10; // type:label size:0x10
203 | dnasnet_crypt_key_66_end = 0xa6cb9c; // type:label size:0x10
204 | dnasnet_crypt_key_67 = 0xa6cc50; // type:label size:0x10
205 | dnasnet_crypt_key_67_end = 0xa6ccdc; // type:label size:0x10
206 | dnasnet_crypt_key_68 = 0xa6cd88; // type:label size:0x10
207 | dnasnet_crypt_key_68_end = 0xa6cdf0; // type:label size:0x10
208 | dnasnet_crypt_key_69 = 0xa6cec4; // type:label size:0x10
209 | dnasnet_crypt_key_69_end = 0xa6d49c; // type:label size:0x10
210 | dnasnet_crypt_key_70 = 0xa6d598; // type:label size:0x10
211 | dnasnet_crypt_key_70_end = 0xa6d744; // type:label size:0x10
212 | dnasnet_crypt_key_71 = 0xa6d810; // type:label size:0x10
213 | dnasnet_crypt_key_71_end = 0xa6d880; // type:label size:0x10
214 | dnasnet_crypt_key_72 = 0xa6d928; // type:label size:0x10
215 | dnasnet_crypt_key_72_end = 0xa6d998; // type:label size:0x10
216 | dnasnet_crypt_key_73 = 0xa6da38; // type:label size:0x10
217 | dnasnet_crypt_key_73_end = 0xa6da84; // type:label size:0x10
218 | dnasnet_crypt_key_74 = 0xa6db20; // type:label size:0x10
219 | dnasnet_crypt_key_74_end = 0xa6db68; // type:label size:0x10
220 | dnasnet_crypt_key_75 = 0xa6dc08; // type:label size:0x10
221 | dnasnet_crypt_key_75_end = 0xa6dc50; // type:label size:0x10
222 | dnasnet_crypt_key_76 = 0xa6dcf0; // type:label size:0x10
223 | dnasnet_crypt_key_76_end = 0xa6dd3c; // type:label size:0x10
224 | dnasnet_crypt_key_77 = 0xa6ddd8; // type:label size:0x10
225 | dnasnet_crypt_key_77_end = 0xa6de24; // type:label size:0x10
226 | dnasnet_crypt_key_78 = 0xa6deec; // type:label size:0x10
227 | dnasnet_crypt_key_78_end = 0xa6df38; // type:label size:0x10
228 | dnasnet_crypt_key_79 = 0xa6e01c; // type:label size:0x10
229 | dnasnet_crypt_key_79_end = 0xa6e064; // type:label size:0x10
230 | dnasnet_crypt_key_80 = 0xa6e11c; // type:label size:0x10
231 | dnasnet_crypt_key_80_end = 0xa6e21c; // type:label size:0x10
232 | dnasnet_crypt_key_81 = 0xa6e2ec; // type:label size:0x10
233 | dnasnet_crypt_key_81_end = 0xa6e3ec; // type:label size:0x10
234 | dnasnet_crypt_key_82 = 0xa6e4c0; // type:label size:0x10
235 | dnasnet_crypt_key_82_end = 0xa6e694; // type:label size:0x10
236 | dnasnet_crypt_key_83 = 0xa6e770; // type:label size:0x10
237 | dnasnet_crypt_key_83_end = 0xa6e8b4; // type:label size:0x10
238 | dnasnet_crypt_key_84 = 0xa6e970; // type:label size:0x10
239 | dnasnet_crypt_key_84_end = 0xa6e9e0; // type:label size:0x10
240 | dnasnet_crypt_key_85 = 0xa6eaa0; // type:label size:0x10
241 | dnasnet_crypt_key_85_end = 0xa6ebe4; // type:label size:0x10
242 | dnasnet_crypt_key_86 = 0xa6ecb4; // type:label size:0x10
243 | dnasnet_crypt_key_86_end = 0xa6edb4; // type:label size:0x10
244 | dnasnet_crypt_key_87 = 0xa6ee70; // type:label size:0x10
245 | dnasnet_crypt_key_87_end = 0xa6ef1c; // type:label size:0x10
246 | dnasnet_crypt_key_88 = 0xa6efe0; // type:label size:0x10
247 | dnasnet_crypt_key_88_end = 0xa6f124; // type:label size:0x10
248 | dnasnet_crypt_key_89 = 0xa6f1f8; // type:label size:0x10
249 | dnasnet_crypt_key_89_end = 0xa6f454; // type:label size:0x10
250 | dnasnet_crypt_key_90 = 0xa6f528; // type:label size:0x10
251 | dnasnet_crypt_key_90_end = 0xa6f66c; // type:label size:0x10
252 | dnasnet_crypt_key_91 = 0xa6f770; // type:label size:0x10
253 | dnasnet_crypt_key_91_end = 0xa6f7e8; // type:label size:0x10
254 | dnasnet_crypt_key_92 = 0xa6f89c; // type:label size:0x10
255 | dnasnet_crypt_key_92_end = 0xa6f95c; // type:label size:0x10
256 | dnasnet_crypt_key_93 = 0xa6fa1c; // type:label size:0x10
257 | dnasnet_crypt_key_93_end = 0xa6fb00; // type:label size:0x10
258 | dnasnet_crypt_key_94 = 0xa6fbc8; // type:label size:0x10
259 | dnasnet_crypt_key_94_end = 0xa6fd6c; // type:label size:0x10
260 | dnasnet_crypt_key_95 = 0xa6fe20; // type:label size:0x10
261 | dnasnet_string_59 = 0xa6fe44; // type:char
262 | dnasnet_crypt_key_95_end = 0xa6fe94; // type:label size:0x10
263 | dnasnet_crypt_key_96 = 0xa6ff4c; // type:label size:0x10
264 | dnasnet_crypt_key_96_end = 0xa70084; // type:label size:0x10
265 | dnasnet_crypt_key_97 = 0xa70610; // type:label size:0x10
266 | dnasnet_crypt_key_97_end = 0xa70a3c; // type:label size:0x10
267 | dnasnet_crypt_key_98 = 0xa70b10; // type:label size:0x10
268 | dnasnet_string_60 = 0xa70b34; // type:char
269 | dnasnet_crypt_key_98_end = 0xa70bbc; // type:label size:0x10
270 | dnasnet_crypt_key_99 = 0xa730d4; // type:label size:0x10
271 | dnasnet_crypt_key_99_end = 0xa73128; // type:label size:0x10
272 | dnasnet_crypt_key_100 = 0xa731fc; // type:label size:0x10
273 | dnasnet_crypt_key_100_end = 0xa733e4; // type:label size:0x10
274 | dnasnet_crypt_key_101 = 0xa734e8; // type:label size:0x10
275 | dnasnet_crypt_key_101_end = 0xa738ec; // type:label size:0x10
276 | dnasnet_crypt_key_102 = 0xa739c4; // type:label size:0x10
277 | dnasnet_crypt_key_102_end = 0xa73a64; // type:label size:0x10
278 | dnasnet_crypt_key_103 = 0xa73b28; // type:label size:0x10
279 | dnasnet_crypt_key_103_end = 0xa73d04; // type:label size:0x10
280 | dnasnet_crypt_key_104 = 0xa73dd0; // type:label size:0x10
281 | dnasnet_crypt_key_104_end = 0xa73f6c; // type:label size:0x10
282 | dnasnet_crypt_key_105 = 0xa74054; // type:label size:0x10
283 | dnasnet_crypt_key_105_end = 0xa742fc; // type:label size:0x10
284 | dnasnet_crypt_key_106 = 0xa74418; // type:label size:0x10
285 | dnasnet_crypt_key_106_end = 0xa74490; // type:label size:0x10
286 | dnasnet_crypt_key_107 = 0xa7455c; // type:label size:0x10
287 | dnasnet_crypt_key_107_end = 0xa747b4; // type:label size:0x10
288 | dnasnet_crypt_key_108 = 0xa74878; // type:label size:0x10
289 | dnasnet_crypt_key_108_end = 0xa748dc; // type:label size:0x10
290 | dnasnet_crypt_key_109 = 0xa74994; // type:label size:0x10
291 | dnasnet_crypt_key_109_end = 0xa749e4; // type:label size:0x10
292 | dnasnet_crypt_key_110 = 0xa74ab4; // type:label size:0x10
293 | dnasnet_crypt_key_110_end = 0xa74d64; // type:label size:0x10
294 | dnasnet_crypt_key_111 = 0xa74e48; // type:label size:0x10
295 | dnasnet_crypt_key_111_end = 0xa75084; // type:label size:0x10
296 | dnasnet_crypt_key_112 = 0xa751c0; // type:label size:0x10
297 | dnasnet_crypt_key_112_end = 0xa7532c; // type:label size:0x10
298 | dnasnet_crypt_key_113 = 0xa7549c; // type:label size:0x10
299 | dnasnet_crypt_key_113_end = 0xa75934; // type:label size:0x10
300 | dnasnet_crypt_key_114 = 0xa75a80; // type:label size:0x10
301 | dnasnet_crypt_key_114_end = 0xa75b10; // type:label size:0x10
302 | dnasnet_crypt_key_115 = 0xa75be8; // type:label size:0x10
303 | dnasnet_crypt_key_115_end = 0xa75ecc; // type:label size:0x10
304 | dnasnet_crypt_key_116 = 0xa75fb0; // type:label size:0x10
305 | dnasnet_crypt_key_116_end = 0xa760a4; // type:label size:0x10
306 | dnasnet_crypt_key_117 = 0xa76180; // type:label size:0x10
307 | dnasnet_crypt_key_117_end = 0xa76260; // type:label size:0x10
308 | dnasnet_crypt_key_118 = 0xa76348; // type:label size:0x10
309 | dnasnet_crypt_key_118_end = 0xa767bc; // type:label size:0x10
310 | 
```

--------------------------------------------------------------------------------
/config/lobby_funcs_auto.txt:
--------------------------------------------------------------------------------

```
  1 | load_bin_req0x100540 = 0x100540;
  2 | load_busy_ck0x1007d0 = 0x1007D0;
  3 | afs_file_length0x1008a0 = 0x1008A0;
  4 | str_play_vol0x1009b0 = 0x1009B0;
  5 | str_pause0x100ad0 = 0x100AD0;
  6 | str_stop0x100af0 = 0x100AF0;
  7 | str_stop_all0x100b10 = 0x100B10;
  8 | str_volume0x100be0 = 0x100BE0;
  9 | str_fadeout0x100cc0 = 0x100CC0;
 10 | str_fadein0x100cf0 = 0x100CF0;
 11 | str_fadein_vol0x100d30 = 0x100D30;
 12 | pull_eft_work0x100ff0 = 0x100FF0;
 13 | push_eft_work0x1011c0 = 0x1011C0;
 14 | move_eft0x101260 = 0x101260;
 15 | eft_vec_linear0x1013b0 = 0x1013B0;
 16 | eft_alpha_linear0x101480 = 0x101480;
 17 | eft_rgba_linear0x101510 = 0x101510;
 18 | make_mat_srt0x1018c0 = 0x1018C0;
 19 | eft_trans_sub_col0x101b90 = 0x101B90;
 20 | eft01_set0x102b00 = 0x102B00;
 21 | Eft06_set0x1058a0 = 0x1058A0;
 22 | Eft06_set20x105990 = 0x105990;
 23 | Eft13_set_em_scl0x1098a0 = 0x1098A0;
 24 | get_joint_wmat0x10a190 = 0x10A190;
 25 | get_joint_wmat_em0x10a1c0 = 0x10A1C0;
 26 | get_joint_mat_em0x10a200 = 0x10A200;
 27 | old_pos_save0x10a730 = 0x10A730;
 28 | enemy_mk0x10aeb0 = 0x10AEB0;
 29 | em_ride_sub0x10b060 = 0x10B060;
 30 | enemy_mv0x10cb20 = 0x10CB20;
 31 | Fade_busy_ck0x10ed70 = 0x10ED70;
 32 | fade_set0x10ef80 = 0x10EF80;
 33 | fade_reset0x10f020 = 0x10F020;
 34 | load_eft0x111110 = 0x111110;
 35 | load_shadow0x1111f0 = 0x1111F0;
 36 | st_model_load0x1119a0 = 0x1119A0;
 37 | com_motion_load0x111a80 = 0x111A80;
 38 | hit_chk_init0x111bf0 = 0x111BF0;
 39 | GetGroundHitStatusAreaPl0x11a080 = 0x11A080;
 40 | GetGroundHitStatusAreaEm0x11a600 = 0x11A600;
 41 | HitWallPlayer0x11ca80 = 0x11CA80;
 42 | Item_preparation0x11d330 = 0x11D330;
 43 | Item_preparation_check_list0x11daa0 = 0x11DAA0;
 44 | Item_preparation_get0x11dae0 = 0x11DAE0;
 45 | light_init0x11db10 = 0x11DB10;
 46 | light_move0x11dd60 = 0x11DD60;
 47 | pl_light_change0x11e280 = 0x11E280;
 48 | Pl_light_set0x11e540 = 0x11E540;
 49 | release_texture0x11e9d0 = 0x11E9D0;
 50 | load_texlist0x11e9e0 = 0x11E9E0;
 51 | load_file_mdl0x11ed20 = 0x11ED20;
 52 | reload_tex0x11f170 = 0x11F170;
 53 | cpAng2Rad_all0x120270 = 0x120270;
 54 | cpRotMatrix0x1202c0 = 0x1202C0;
 55 | cpRotMatrixYXZ20x120310 = 0x120310;
 56 | calc_vec_ang20x120430 = 0x120430;
 57 | SetVector0x1207d0 = 0x1207D0;
 58 | parts_init0x120f90 = 0x120F90;
 59 | yure_init0x121330 = 0x121330;
 60 | yure_move0x121380 = 0x121380;
 61 | clay_attr_set0x121e20 = 0x121E20;
 62 | clay_attr_reset0x121ee0 = 0x121EE0;
 63 | pl_create_model0x123dc0 = 0x123DC0;
 64 | armor_create_model0x124310 = 0x124310;
 65 | armor_model_free0x1246e0 = 0x1246E0;
 66 | npc_create_model0x124a30 = 0x124A30;
 67 | frame_init0x125920 = 0x125920;
 68 | frame_move0x125f10 = 0x125F10;
 69 | em_frame_check0x1264c0 = 0x1264C0;
 70 | frame_check20x126500 = 0x126500;
 71 | em_frame_check20x126550 = 0x126550;
 72 | em_frame_check30x1265d0 = 0x1265D0;
 73 | Pit_init0x1274a0 = 0x1274A0;
 74 | Pit_reset0x127770 = 0x127770;
 75 | Cockpit_menu_chk0x1279f0 = 0x1279F0;
 76 | Cockpit_menu_chk_lobby0x127a40 = 0x127A40;
 77 | Pit_mv_lb0x128330 = 0x128330;
 78 | Menu_quest_i0x128960 = 0x128960;
 79 | Menu_quest_mv0x128a50 = 0x128A50;
 80 | Menu_item_i0x128c20 = 0x128C20;
 81 | Menu_item_mv0x128ca0 = 0x128CA0;
 82 | Menu_mix_i0x129610 = 0x129610;
 83 | Menu_mix_mv0x1296b0 = 0x1296B0;
 84 | Menu_data_i0x129f00 = 0x129F00;
 85 | Menu_data_mv0x129f50 = 0x129F50;
 86 | Menu_status_i0x12a270 = 0x12A270;
 87 | Menu_status_mv0x12a290 = 0x12A290;
 88 | Menu_equipment_i0x12a390 = 0x12A390;
 89 | Menu_equipment_mv0x12a3b0 = 0x12A3B0;
 90 | ItemPickingDeclaration0x12a6d0 = 0x12A6D0;
 91 | Menu_chatcnfg_i0x12afe0 = 0x12AFE0;
 92 | Menu_chatcnfg_mv0x12b060 = 0x12B060;
 93 | Pit_disp_quest0x12b900 = 0x12B900;
 94 | Pit_disp_item_list0x12c310 = 0x12C310;
 95 | Pit_disp_item_mix0x12c780 = 0x12C780;
 96 | Pit_disp_chat_cnfg0x131fb0 = 0x131FB0;
 97 | Pit_disp_data0x1332f0 = 0x1332F0;
 98 | Pit_disp_menu_status0x133790 = 0x133790;
 99 | Pit_disp_menu_equipment0x1337a0 = 0x1337A0;
100 | act_ck0x14ef20 = 0x14EF20;
101 | pl_flag_ck0x14ef60 = 0x14EF60;
102 | pl_flag_set0x14efa0 = 0x14EFA0;
103 | pl_flag_clr0x14efe0 = 0x14EFE0;
104 | Pl_basic_flagset0x14fb40 = 0x14FB40;
105 | Pl_master_ck0x14fc20 = 0x14FC20;
106 | Pl_atck_adj_calc0x14fdf0 = 0x14FDF0;
107 | Pl_def_adj_calc0x14ff20 = 0x14FF20;
108 | Skill_set_PL0x150060 = 0x150060;
109 | Pl_Skill_ck0x150150 = 0x150150;
110 | Pl_reg_calc0x1501a0 = 0x1501A0;
111 | pl_chr_set20x151270 = 0x151270;
112 | pl_chr_set30x1512a0 = 0x1512A0;
113 | pad_timer_calc0x1513a0 = 0x1513A0;
114 | action_timer_calc0x151710 = 0x151710;
115 | Pl_stg_ck0x151ff0 = 0x151FF0;
116 | Pl_item_num_ck0x152b60 = 0x152B60;
117 | Get_equip_data_ptr0x154410 = 0x154410;
118 | Get_weapon_job0x1545a0 = 0x1545A0;
119 | Get_weapon_job20x1545d0 = 0x1545D0;
120 | Get_equip_price0x154680 = 0x154680;
121 | Get_equip_kaitori0x1547d0 = 0x1547D0;
122 | Get_equip_name0x154930 = 0x154930;
123 | Get_equip_rare0x154a80 = 0x154A80;
124 | clr_move_work0x154ee0 = 0x154EE0;
125 | init_set_work0x155140 = 0x155140;
126 | pull_set_work0x1552a0 = 0x1552A0;
127 | push_set_work0x155380 = 0x155380;
128 | move_set0x155420 = 0x155420;
129 | Info_Initialization0x1554e0 = 0x1554E0;
130 | Info_control0x1555d0 = 0x1555D0;
131 | set01_set0x155740 = 0x155740;
132 | set01_set20x155870 = 0x155870;
133 | set01_set2_use_mem0x155920 = 0x155920;
134 | Set06_set0x156330 = 0x156330;
135 | softdip_ck0x1593d0 = 0x1593D0;
136 | se_req0x159450 = 0x159450;
137 | Code_Make0x1598a0 = 0x1598A0;
138 | Npc_se_req0x159e90 = 0x159E90;
139 | Npc_se_req_com0x159ef0 = 0x159EF0;
140 | Put_sprite_rotate0x15b300 = 0x15B300;
141 | Put_2TF0x15b650 = 0x15B650;
142 | Put_F0x15b6f0 = 0x15B6F0;
143 | Paint_square0x15b780 = 0x15B780;
144 | Draw_square0x15b810 = 0x15B810;
145 | Put_megaphone0x15b930 = 0x15B930;
146 | stage_w_init0x15bab0 = 0x15BAB0;
147 | stage_fog_set0x15bb60 = 0x15BB60;
148 | stage_set_set0x15bbe0 = 0x15BBE0;
149 | move_stage0x15cce0 = 0x15CCE0;
150 | system_error0x161210 = 0x161210;
151 | ran_suu0x161230 = 0x161230;
152 | SetTrnslMode0x161480 = 0x161480;
153 | SetFilterMode0x161500 = 0x161500;
154 | SetTextureStage0x161550 = 0x161550;
155 | InitRenderState0x161580 = 0x161580;
156 | ot_init0x1616e0 = 0x1616E0;
157 | font_print0x161970 = 0x161970;
158 | font_print20x161a00 = 0x161A00;
159 | font_print_ex0x161b80 = 0x161B80;
160 | han2zen0x161ca0 = 0x161CA0;
161 | font_print_sp0x162020 = 0x162020;
162 | font_print_double0x1623f0 = 0x1623F0;
163 | font_print_double20x1624b0 = 0x1624B0;
164 | font_print_uf0x162570 = 0x162570;
165 | strlen_sp0x1625a0 = 0x1625A0;
166 | font_set_stack_no0x162640 = 0x162640;
167 | font_set_palette0x1626a0 = 0x1626A0;
168 | all_reset0x162730 = 0x162730;
169 | stage_free0x1629d0 = 0x1629D0;
170 | Get_sw0x162b90 = 0x162B90;
171 | Get_sw20x162bd0 = 0x162BD0;
172 | Get_sw_on20x162c50 = 0x162C50;
173 | kb_input_ck_enter0x162ca0 = 0x162CA0;
174 | Get_kb_input0x162ce0 = 0x162CE0;
175 | kb_chat_in_chk0x162cf0 = 0x162CF0;
176 | Online_ck0x162d60 = 0x162D60;
177 | Disp_NowLoading0x163150 = 0x163150;
178 | Disp_NowLoading20x1631a0 = 0x1631A0;
179 | Ck_hankaku0x1635e0 = 0x1635E0;
180 | Put_comment0x163670 = 0x163670;
181 | Disp_back0x1637b0 = 0x1637B0;
182 | swset0x163810 = 0x163810;
183 | TransReset0x163ab0 = 0x163AB0;
184 | TransSet0x163b00 = 0x163B00;
185 | trans0x163bc0 = 0x163BC0;
186 | lb_pl_item_trans0x167ed0 = 0x167ED0;
187 | player_mk0x169080 = 0x169080;
188 | prim_init0x169290 = 0x169290;
189 | get_prim_ptr0x169300 = 0x169300;
190 | get_prim0x169340 = 0x169340;
191 | release_prim0x169460 = 0x169460;
192 | add_prim0x169530 = 0x169530;
193 | add_prim20x169710 = 0x169710;
194 | SetDiffuseColor0x1697c0 = 0x1697C0;
195 | view_reset0x169a30 = 0x169A30;
196 | set_viewproj0x169c20 = 0x169C20;
197 | Get_view_dir0x169dd0 = 0x169DD0;
198 | push_em_work0x169eb0 = 0x169EB0;
199 | push_em_work_all0x169fa0 = 0x169FA0;
200 | em_work_set0x16a010 = 0x16A010;
201 | pull_enemy_work0x16a1a0 = 0x16A1A0;
202 | flExecuteClay0x16d5c0 = 0x16D5C0;
203 | flFileRead0x16f290 = 0x16F290;
204 | flFileLength0x16f520 = 0x16F520;
205 | flMemset0x16f5f0 = 0x16F5F0;
206 | flMemcpy0x16f680 = 0x16F680;
207 | flPS2GetSystemMemoryHandle0x16f7e0 = 0x16F7E0;
208 | flPS2ReleaseSystemMemory0x16f850 = 0x16F850;
209 | flPS2GetSystemBuffAdrs0x16f860 = 0x16F860;
210 | flCompact0x16f870 = 0x16F870;
211 | flCreateTextureFromTim2_mem0x16fe00 = 0x16FE00;
212 | flmatInit0x171ce0 = 0x171CE0;
213 | flmatMakeScale0x171d50 = 0x171D50;
214 | flmatMakeTrans0x171e00 = 0x171E00;
215 | flmatSetTrans0x171e90 = 0x171E90;
216 | flmatGetTrans0x171ee0 = 0x171EE0;
217 | flmatRotY330x172010 = 0x172010;
218 | flmatRotXYZ330x1724e0 = 0x1724E0;
219 | flmatMul33_20x172b90 = 0x172B90;
220 | flmatCopy0x172cb0 = 0x172CB0;
221 | flvecApplyMat330x172e00 = 0x172E00;
222 | flvecApplyMat33_20x172e70 = 0x172E70;
223 | flvecRotY0x173070 = 0x173070;
224 | flvecCalcDistance0x173140 = 0x173140;
225 | flvecNormalize0x1731b0 = 0x1731B0;
226 | flvecCopy0x173300 = 0x173300;
227 | flConvertStoR0x1733c0 = 0x1733C0;
228 | flvecrRotTransPers0x1734d0 = 0x1734D0;
229 | flSin0x173600 = 0x173600;
230 | flSqrt0x173680 = 0x173680;
231 | flSetSkinTrans0x173f00 = 0x173F00;
232 | flCalcTransSI0x1746a0 = 0x1746A0;
233 | flps00020x175290 = 0x175290;
234 | flps00040x175530 = 0x175530;
235 | flps00080x175b80 = 0x175B80;
236 | flSetRenderState0x177720 = 0x177720;
237 | flPS2GetTextureInfoFromContext0x187df0 = 0x187DF0;
238 | flPS2CreateTextureHandle0x188010 = 0x188010;
239 | flPS2GetTextureHandle0x188420 = 0x188420;
240 | flPS2GetPaletteInfoFromContext0x188570 = 0x188570;
241 | flPS2CreatePaletteHandle0x1886f0 = 0x1886F0;
242 | flPS2GetPaletteHandle0x188800 = 0x188800;
243 | flReleaseTextureHandle0x188840 = 0x188840;
244 | flReleaseTextureHandle_NOWAITDMA0x188900 = 0x188900;
245 | flReleasePaletteHandle0x1889c0 = 0x1889C0;
246 | flReleasePaletteHandle_NOWAITDMA0x188a80 = 0x188A80;
247 | plBMPGetPixelAddressFromImage0x192dd0 = 0x192DD0;
248 | plReport0x193ef0 = 0x193EF0;
249 | _dpflt0x196320 = 0x196320;
250 | _dpfle0x196340 = 0x196340;
251 | sceCdReadClock0x197f20 = 0x197F20;
252 | atoi0x1997e8 = 0x1997E8;
253 | bsearch0x199830 = 0x199830;
254 | calloc0x199938 = 0x199938;
255 | __errno0x19af58 = 0x19AF58;
256 | fclose0x19b018 = 0x19B018;
257 | fflush0x19b118 = 0x19B118;
258 | fgets0x19b230 = 0x19B230;
259 | fopen0x19b7f8 = 0x19B7F8;
260 | fprintf0x19b820 = 0x19B820;
261 | fread0x19b878 = 0x19B878;
262 | fseek0x19be00 = 0x19BE00;
263 | ftell0x19c310 = 0x19C310;
264 | fwrite0x19c890 = 0x19C890;
265 | getenv0x19c940 = 0x19C940;
266 | malloc0x19cfa0 = 0x19CFA0;
267 | free0x19cff8 = 0x19CFF8;
268 | memcmp0x19dad8 = 0x19DAD8;
269 | memcpy0x19db70 = 0x19DB70;
270 | memmove0x19dc20 = 0x19DC20;
271 | memset0x19dd28 = 0x19DD28;
272 | qsort0x19f000 = 0x19F000;
273 | rand0x19fa08 = 0x19FA08;
274 | realloc0x19fad0 = 0x19FAD0;
275 | sprintf0x1a0a90 = 0x1A0A90;
276 | sscanf0x1a0b28 = 0x1A0B28;
277 | strcat0x1a0e18 = 0x1A0E18;
278 | strchr0x1a0f48 = 0x1A0F48;
279 | strcmp0x1a10d8 = 0x1A10D8;
280 | strcpy0x1a1220 = 0x1A1220;
281 | strcspn0x1a1338 = 0x1A1338;
282 | strlen0x1a13b8 = 0x1A13B8;
283 | strncmp0x1a16a0 = 0x1A16A0;
284 | strncpy0x1a1858 = 0x1A1858;
285 | strrchr0x1a1a18 = 0x1A1A18;
286 | strstr0x1a1a68 = 0x1A1A68;
287 | vsprintf0x1a6850 = 0x1A6850;
288 | __muldi30x1a6a70 = 0x1A6A70;
289 | __divdi30x1a6ae8 = 0x1A6AE8;
290 | __moddi30x1a7180 = 0x1A7180;
291 | __udivdi30x1a7810 = 0x1A7810;
292 | __umoddi30x1a7d90 = 0x1A7D90;
293 | fptodp0x1a8888 = 0x1A8888;
294 | dpsub0x1a8d18 = 0x1A8D18;
295 | dpdiv0x1a9008 = 0x1A9008;
296 | litodp0x1a92b8 = 0x1A92B8;
297 | dptoli0x1a9370 = 0x1A9370;
298 | dptofp0x1a9440 = 0x1A9440;
299 | cosf0x1af1e0 = 0x1AF1E0;
300 | sinf0x1af3b8 = 0x1AF3B8;
301 | flSndPackLoadBG0x215a30 = 0x215A30;
302 | flSndPackLoadStatus0x215a60 = 0x215A60;
303 | flSndPortStop0x216020 = 0x216020;
304 | flfntStackReset0x216580 = 0x216580;
305 | flfntInit0x216610 = 0x216610;
306 | flfntSetPalData0x2166e0 = 0x2166E0;
307 | flfntSetSize0x216890 = 0x216890;
308 | flfntLocate0x2168b0 = 0x2168B0;
309 | flfntSetPalette0x2168e0 = 0x2168E0;
310 | flfntSetHalftype0x216910 = 0x216910;
311 | flfntPrintf0x216920 = 0x216920;
312 | flfntDrawAll0x216bd0 = 0x216BD0;
313 | adx_se_set0x21da90 = 0x21DA90;
314 | lobby_bgm_set0x21dbe0 = 0x21DBE0;
315 | lobby_bgm_set20x21ddc0 = 0x21DDC0;
316 | Q_camera_init0x21f3f0 = 0x21F3F0;
317 | CameraInit0x21f410 = 0x21F410;
318 | CameraMove0x21f590 = 0x21F590;
319 | NPCZoomInCameraRequest0x221820 = 0x221820;
320 | NPCZoomInCameraCancel0x221850 = 0x221850;
321 | DemoCameraRequest0x221b80 = 0x221B80;
322 | DemoCameraCheck0x221bd0 = 0x221BD0;
323 | LegendSwordCameraRequest0x225fb0 = 0x225FB0;
324 | Set21_set0x225fc0 = 0x225FC0;
325 | Stage_data_get0x226900 = 0x226900;
326 | Stage_unique_data_get0x226980 = 0x226980;
327 | Quest_init0x226b40 = 0x226B40;
328 | AQ_init0x22cbf0 = 0x22CBF0;
329 | AQSession_init_online0x22d200 = 0x22D200;
330 | SlashToBackslash0x22fe10 = 0x22FE10;
331 | InetConnectInitialize0x22fe70 = 0x22FE70;
332 | LobbyToMcsInitSocket0x22ff00 = 0x22FF00;
333 | LobbyToMcsInit0x22ff50 = 0x22FF50;
334 | InetConnectStart0x230060 = 0x230060;
335 | DeviceGetOptionalStatus0x232c50 = 0x232C50;
336 | CpInetInterfaceGetStatus0x235320 = 0x235320;
337 | CpInetInterfaceProblemEnable0x235350 = 0x235350;
338 | CpInetGetStatus0x2354b0 = 0x2354B0;
339 | CpInetTcpOpen0x2355c0 = 0x2355C0;
340 | CpInetTcpGetStatus0x235720 = 0x235720;
341 | CpInetTcpRecv0x235850 = 0x235850;
342 | CpInetTcpSend0x235880 = 0x235880;
343 | CpInetTcpAbort0x235940 = 0x235940;
344 | CpInetTcpDelete0x235970 = 0x235970;
345 | sceNetGlueHtons0x236b00 = 0x236B00;
346 | __sceNetGlueErrnoLoc0x236b50 = 0x236B50;
347 | __sceNetGlueHErrnoLoc0x236b60 = 0x236B60;
348 | sceNetGlueAbort0x236b70 = 0x236B70;
349 | sceNetGlueAbortResolver0x236c50 = 0x236C50;
350 | sceNetGlueSocket0x236c60 = 0x236C60;
351 | sceNetGlueConnect0x236d10 = 0x236D10;
352 | sceNetGlueGethostbyname0x236f10 = 0x236F10;
353 | sceNetGlueInetAddr0x237180 = 0x237180;
354 | sceNetGlueRecv0x237220 = 0x237220;
355 | sceNetGlueSend0x237500 = 0x237500;
356 | sceNetGlueShutdown0x237680 = 0x237680;
357 | sceNetGlueThreadInit0x237790 = 0x237790;
358 | sceNetGlueThreadTerminate0x2377a0 = 0x2377A0;
359 | CpInetHttpResolvCacheInitialize0x2377b0 = 0x2377B0;
360 | CpInetHttpInitialize0x2377f0 = 0x2377F0;
361 | CpInetHttpSignalThread0x2378c0 = 0x2378C0;
362 | InetDnsGetIPAddress0x237ba0 = 0x237BA0;
363 | InetConnectAll0x237ef0 = 0x237EF0;
364 | InetDisconnectAll0x239ab0 = 0x239AB0;
365 | Sel_csr_disp0x23b2e0 = 0x23B2E0;
366 | CreateThread0x254520 = 0x254520;
367 | DeleteThread0x254530 = 0x254530;
368 | StartThread0x254540 = 0x254540;
369 | TerminateThread0x254570 = 0x254570;
370 | ChangeThreadPriority0x2545b0 = 0x2545B0;
371 | GetThreadId0x254610 = 0x254610;
372 | CreateSema0x254720 = 0x254720;
373 | DeleteSema0x254730 = 0x254730;
374 | SignalSema0x254740 = 0x254740;
375 | iSignalSema0x254750 = 0x254750;
376 | WaitSema0x254760 = 0x254760;
377 | ReferSemaStatus0x254790 = 0x254790;
378 | iReferSemaStatus0x2547a0 = 0x2547A0;
379 | FlushCache0x2549a0 = 0x2549A0;
380 | getpid0x254ef0 = 0x254EF0;
381 | stat0x254f20 = 0x254F20;
382 | scePrintf0x256948 = 0x256948;
383 | sceOpen0x258b70 = 0x258B70;
384 | sceClose0x258df8 = 0x258DF8;
385 | sceLseek0x258f78 = 0x258F78;
386 | sceRead0x2591b0 = 0x2591B0;
387 | sceWrite0x259410 = 0x259410;
388 | DIntr0x25d760 = 0x25D760;
389 | EIntr0x25d7b8 = 0x25D7B8;
390 | TimerBusClock2USec0x25f180 = 0x25F180;
391 | TimerUSec2BusClock0x25f228 = 0x25F228;
392 | SetTimerAlarm0x25f3d8 = 0x25F3D8;
393 | ReleaseTimerAlarm0x25f5f8 = 0x25F5F8;
394 | SoftKeyboard_set0x25fab0 = 0x25FAB0;
395 | SoftKeyboard_move0x25fec0 = 0x25FEC0;
396 | DispSoftkeyboard0x2617d0 = 0x2617D0;
397 | SoftKeyboard_alive_check0x262090 = 0x262090;
398 | SoftKeyboard_exit0x2620a0 = 0x2620A0;
399 | SoftKeyboard_pos_set0x2620f0 = 0x2620F0;
400 | Ncm_mmbb_spr_load0x2672d0 = 0x2672D0;
401 | Ncm_mmbb_spr_create0x267350 = 0x267350;
402 | ms_net_patch_set_init0x2687c0 = 0x2687C0;
403 | ms_net_patch_set0x2687e0 = 0x2687E0;
404 | Net_trans_set0x26bfd0 = 0x26BFD0;
405 | Net_fade_kill0x26c040 = 0x26C040;
406 | Net_fade_execute0x26c050 = 0x26C050;
407 | Net_all_reset0x26c090 = 0x26C090;
408 | Ncm_spr_kill_all0x26c3e0 = 0x26C3E0;
409 | Ncm_spr_kill0x26c400 = 0x26C400;
410 | Ncm_spr_BG_set0x26c4b0 = 0x26C4B0;
411 | Ncm_spr_set_diarog_b0x26c4f0 = 0x26C4F0;
412 | Ncm_spr_set_diarog_s0x26c540 = 0x26C540;
413 | Ncm_spr_CON_AN_set0x26c640 = 0x26C640;
414 | Ncm_spr_PRG_BAR_set0x26c690 = 0x26C690;
415 | Ncm_mssage_disp_req0x26c770 = 0x26C770;
416 | Ncm_br_mc_mssage_disp0x270ad0 = 0x270AD0;
417 | Set_userdata0x2720e0 = 0x2720E0;
418 | ItemCopy_Pl2Ud0x272280 = 0x272280;
419 | ItemCopy_Ud2Pl0x2722a0 = 0x2722A0;
420 | Gold_add0x2722c0 = 0x2722C0;
421 | Ud_item_stack0x272770 = 0x272770;
422 | Ud_item_num_ck0x272a00 = 0x272A00;
423 | Ud_item_num_ck20x272a60 = 0x272A60;
424 | Ud_item_num_ck30x272b10 = 0x272B10;
425 | Ud_item_search_space0x272bf0 = 0x272BF0;
426 | Ud_item_erase0x272c40 = 0x272C40;
427 | Ud_stock_item_num_ck30x272d00 = 0x272D00;
428 | Ud_u_item_stack0x272d60 = 0x272D60;
429 | Event_flag_set0x272ec0 = 0x272EC0;
430 | Event_flag_ck0x272f50 = 0x272F50;
431 | Omake_flag_set0x272f90 = 0x272F90;
432 | Omake_flag_ck0x272fc0 = 0x272FC0;
433 | Quest_clear_bit_ck0x273c80 = 0x273C80;
434 | Warehouse_search_space0x273cd0 = 0x273CD0;
435 | Warehouse_equip_stack0x273d20 = 0x273D20;
436 | Warehouse_equip_erase0x273d90 = 0x273D90;
437 | Warehouse_equip0x273f50 = 0x273F50;
438 | Warehouse_equip_out0x274010 = 0x274010;
439 | Set_equip_idx0x274120 = 0x274120;
440 | Now_equip_ck0x274330 = 0x274330;
441 | Warehouse_space_ck0x2743c0 = 0x2743C0;
442 | Seisan_ok_ck0x2743e0 = 0x2743E0;
443 | Gun_level_up0x274690 = 0x274690;
444 | Get_Gun_level0x274710 = 0x274710;
445 | Gun_option_ck0x274760 = 0x274760;
446 | Gun_barrel_set0x2747c0 = 0x2747C0;
447 | Gun_Silencer_set0x274850 = 0x274850;
448 | Gun_Scope_set0x2748e0 = 0x2748E0;
449 | Equip_ok_ck0x274960 = 0x274960;
450 | Get_equip_bit0x274af0 = 0x274AF0;
451 | Gunner_wasure_ck0x274c90 = 0x274C90;
452 | Ex_quest_ck0x274d60 = 0x274D60;
453 | load_pit0x274e10 = 0x274E10;
454 | ListSelect0x274ec0 = 0x274EC0;
455 | PageSelect0x274f70 = 0x274F70;
456 | Menu_select_mv0x275020 = 0x275020;
457 | Reibun_select_mv0x275130 = 0x275130;
458 | Cockpit_chat_chk0x275220 = 0x275220;
459 | Name_ID_change0x2756c0 = 0x2756C0;
460 | Disp_name_or_id0x2756f0 = 0x2756F0;
461 | PutButtonICON0x275740 = 0x275740;
462 | Equip_icon_color_rare0x2758b0 = 0x2758B0;
463 | Equip_moji_color_rare0x275900 = 0x275900;
464 | DispFrameList0x275920 = 0x275920;
465 | DispFrameListA0x275930 = 0x275930;
466 | DispFrameListOptionArrow0x275f90 = 0x275F90;
467 | DispFrameListOptionArrowC0x276040 = 0x276040;
468 | DispFrameMessage0x276160 = 0x276160;
469 | DispFrameMessageA0x276170 = 0x276170;
470 | PutArrow0x276f60 = 0x276F60;
471 | Add_to_Monster_list0x277190 = 0x277190;
472 | Monster_list_chk0x2771c0 = 0x2771C0;
473 | Disp_menu_help0x277390 = 0x277390;
474 | Disp_help_mess0x2773b0 = 0x2773B0;
475 | Chat_log_clear0x277600 = 0x277600;
476 | Plaza_get_chat_line_num0x2776a0 = 0x2776A0;
477 | NPC_Message0x277700 = 0x277700;
478 | Chat_log_add0x277fb0 = 0x277FB0;
479 | Plaza_chat_log_add0x278080 = 0x278080;
480 | Menu_chatlog_i0x278270 = 0x278270;
481 | Menu_chatlog_mv0x2782e0 = 0x2782E0;
482 | Pit_disp_chat_log0x2788c0 = 0x2788C0;
483 | Put_receive_mark0x278b40 = 0x278B40;
484 | SetMessageHaltFlag0x278c20 = 0x278C20;
485 | ClearMessageHaltFlag0x278c40 = 0x278C40;
486 | ItemListWindow0x278f70 = 0x278F70;
487 | PlayerEquipmentWindow0x279700 = 0x279700;
488 | PrintPlayerJob0x2799b0 = 0x2799B0;
489 | EquipmentDescriptionWindow0x2799f0 = 0x2799F0;
490 | EquipmentCompareWindow0x27b1f0 = 0x27B1F0;
491 | Put_shousai0x27b8f0 = 0x27B8F0;
492 | Get_equip_icon_uv0x27b940 = 0x27B940;
493 | KinshiYogo_chk0x27ba00 = 0x27BA00;
494 | ChatKinsoku_chk0x27bc90 = 0x27BC90;
495 | Reibun_Edit_Start0x27be70 = 0x27BE70;
496 | Reibun_Edit_Core0x27bf00 = 0x27BF00;
497 | Reibun_print0x27bf80 = 0x27BF80;
498 | sceBASE64Encoder0x27c0b0 = 0x27C0B0;
499 | sceScfGetGMTfromRTC0x27ca00 = 0x27CA00;
500 | Eft26_set0x27ca50 = 0x27CA50;
501 | cnLBS_Read_FileDownload0x27cf10 = 0x27CF10;
502 | cnLBS_Get_FileDownloadInfo0x27cfa0 = 0x27CFA0;
503 | Eft02_set_pos0x27ee20 = 0x27EE20;
504 | McOperationSet0x2821d0 = 0x2821D0;
505 | McCardOperation0x2860d0 = 0x2860D0;
506 | SaveNetFile_init0x28a3b0 = 0x28A3B0;
507 | SaveNetFile_ForLobby0x28a3d0 = 0x28A3D0;
508 | SaveNetFileBr0x28ab30 = 0x28AB30;
509 | net_flps00080x28bec0 = 0x28BEC0;
510 | net_flps00040x28c1a0 = 0x28C1A0;
511 | nb_flps00090x28c430 = 0x28C430;
512 | 
```
Page 2/7FirstPrevNextLast