import ghidra.app.script.GhidraScript; import ghidra.program.model.symbol.SymbolTable; import ghidra.program.model.symbol.SourceType; import ghidra.program.model.address.Address; import ghidra.program.model.listing.Function; import ghidra.program.model.listing.FunctionManager; import ghidra.program.model.symbol.Namespace; import ghidra.program.model.symbol.Symbol; public class ImportRtti2 extends GhidraScript { @Override public void run() throws Exception { String[] data = { ".?AUSoothe2VertexData@@|0x18250ce80|0x1824b06c8|0x180561b00,0x180561370,0x180561450,0x180561440,0x18250c878,0x180570ea4,0x180568990,0x18250ce58,0x18056f890,0x18056f890,0x1804714b0,0x18056f880,0x18048db00,0x180481210,0x18250dcf8,0x180570e74,0x18133a110,0x18133a100,0x18133a0f0,0x18133a0e0,0x18250e010,0x18055e9a0,0x180471520,0x18250bd38,0x18056eb30,0x18056eb30,0x18056ef10,0x18056eb20,0x18048dc80,0x180481210,0x18250b6a0,0x180570f28,0x18055fda0,0x18250b9f8,0x180565b90,0x180570ee0,0x18250e268,0x18056f800,0x18056f800,0x18056f8b0,0x18056f7f0,0x18048db00,0x180481210,0x18250c600,0x180570e38,0x1813cc000,0x18250b978,0x18056f830|", ".?AV?$AudioProcessingModule@M$01@@|0x182504d80|0x1824ac638|0x18052d580,0x18052cfb0,0x18052cfa0,0x1804714b0,0x18113285a,0x1825071e8,0x180536aa0,0x180536aa0,0x180537b10,0x180536a90,0x18048db00,0x180481210,0x182505780,0x180536eb0,0x180536eb0,0x1805373c0,0x180536ea0,0x18048db00,0x180481210,0x182506568,0x1805365d0,0x1805365d0,0x180538110,0x1805365c0,0x18048dc80,0x180481210,0x1825056d8,0x18052fd40,0x18052cfb0|", ".?AV?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@|0x182506e08|0x1824ab7c0|0x1805384a8,0x18052bd00,0x182507040,0x180536b60,0x180536b60,0x1805379a0,0x180536b50,0x18048dc80,0x180481210,0x182505588,0x180536850,0x180536850,0x180537e90,0x180536840,0x18048db00,0x180481210,0x182506590,0x180536f20,0x180536f20,0x180537290,0x180536f10,0x18048db00,0x180481210,0x182505910,0x180536610,0x180536610,0x1805380e0,0x180536600,0x1805365f0,0x180481210,0x182504cd0,0x180536d60,0x180536d60,0x1805375e0,0x180536d50,0x18048db00,0x180481210,0x182506f18,0x180536dc0,0x180536dc0,0x1805374e0,0x180536db0,0x18048db00,0x180481210,0x182506090,0x1805367f0,0x1805367f0|", ".?AV?$CloudyAudioProcessorEditor@VSoothe2AudioProcessor@@USoothe2VertexData@@@@|0x18250da78|0x1824b1528|0x180570e68,0x180565a70,0x18250cc08,0x180570f04,0x1813dc0d0,0x1813d8360,0x1813cf5a0,0x1813cde40,0x1813cde30,0x18250ce08,0x18056eb90,0x18056eb90,0x18056eea0,0x18056eb80,0x18048db00,0x180481210,0x18250bd10,0x1805603b0,0x18113285a,0x18250b590,0x18056ec20,0x18056ec20,0x18056eda0,0x18056ec10,0x18048db00,0x180481210,0x18250c018,0x18056e890,0x18056e890,0x18056f5b0,0x18056e880,0x18048dc80,0x180481210,0x18250df00,0x1804841c0,0x18055e1a0,0x18055e1c0,0x1811d2320,0x1811d2340,0x18055e1f0,0x18250bf08,0x180560030,0x18055fd70,0x18250c6a8,0x180564ca0,0x18134bc00,0x18134bbf0,0x18134bbe0|", ".?AV?$CloudyOpenGLLayer@USoothe2VertexData@@@@|0x18250bb00|0x1824b12b8|0x1805619b0,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18250b718,0x180570e80,0x180563430,0x18250d260,0x180570e50,0x1813d3b10,0x18250ca40,0x18056f710,0x18056f710,0x18056fb60,0x18056f700,0x18048db00,0x180481210,0x18250c4a8,0x1804834e0,0x180471520,0x18250bba0,0x18056f6e0,0x18056f6e0,0x18056fb90,0x18056f6d0,0x18048db00,0x180481210,0x18250d578,0x180570f1c,0x180565bd0,0x18250dc00,0x18056f740,0x18056f740,0x18056fb30,0x18056f730,0x18048db00,0x180481210,0x18250cc90,0x180570ed4,0x180568990,0x18250ba98,0x1804841c0,0x1811c9e40,0x1811c9e10|", ".?AV?$CloudyOpenGLRenderer@USoothe2VertexData@@@@|0x18250c270|0x1824b0678|0x180570e44,0x1805679e0,0x18250d238,0x18056e9b0,0x18056e9b0,0x18056f1e0,0x18056e9a0,0x18048db00,0x180481210,0x18250ce80,0x180561b00,0x180561370,0x180561450,0x180561440,0x18250c878,0x180570ea4,0x180568990,0x18250ce58,0x18056f890,0x18056f890,0x1804714b0,0x18056f880,0x18048db00,0x180481210,0x18250dcf8,0x180570e74,0x18133a110,0x18133a100,0x18133a0f0,0x18133a0e0,0x18250e010,0x18055e9a0,0x180471520,0x18250bd38,0x18056eb30,0x18056eb30,0x18056ef10,0x18056eb20,0x18048dc80,0x180481210,0x18250b6a0,0x180570f28,0x18055fda0,0x18250b9f8,0x180565b90,0x180570ee0,0x18250e268,0x18056f800|", ".?AV?$DigitalFilter@M$0BA@$01@@|0x18251a770|0x1824be7a0|0x18058d2b0,0x18052cfb0,0x18052cfa0,0x1804714b0,0x18113285a,0x18113285a,0x18251af28,0x18058e2d0,0x18058e2d0,0x18058e450,0x18058e2c0,0x18048db00,0x180481210,0x18251b090,0x180589260,0x18134bc00,0x18058b4d0,0x18058b380,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x1805689c0,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18058ad80,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18058af50|", ".?AV?$FilterGraph@M$05$0CAA@@@|0x18251ad88|0x1824be228|0x18058eb1c,0x18058b010,0x18251ab48,0x18058eab0,0x18160b000,0x1804714b0,0x18251a6c8,0x1805893c0,0x18134bc00,0x18134bbf0,0x18134bbe0,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x18134bf10,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18134ade0,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18160c410,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940|", ".?AV?$FilterGraphGrid@M@@|0x18251adb0|0x1824be0a8|0x18058c4b0,0x18134bc00,0x18134bbf0,0x18134bbe0,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x1805689c0,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18134ade0,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x1805895c0,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940,0x18134b930,0x18134b870,0x180589f40,0x18251a470,0x18058eaf8,0x180568990,0x18251ad88|", ".?AV?$GainRangeScalingOptionComponent@VSoothe2GainRangeScalingOption@@@@|0x18250d088|0x1824b1e28|0x180570e5c,0x180564fc0,0x18250e158,0x18056f7d0,0x18056f7d0,0x18056f940,0x18056f7c0,0x18048db00,0x180481210,0x18250e628,0x180571090,0x18134bc00,0x18134bbf0,0x18134bbe0,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x18134bf10,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18134ade0,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18134add0,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30|", ".?AV?$IIRFilterExtended@M$01@@|0x182505b18|0x1824ac5d8|0x1805346b0,0x18052cfb0,0x18052cfa0,0x18052fb50,0x18052fb30,0x182506a00,0x180538460,0x1804714b0,0x180529c50,0x182504d80,0x18052d580,0x18052cfb0,0x18052cfa0,0x1804714b0,0x18113285a,0x1825071e8,0x180536aa0,0x180536aa0,0x180537b10,0x180536a90,0x18048db00,0x180481210,0x182505780,0x180536eb0,0x180536eb0,0x1805373c0,0x180536ea0,0x18048db00,0x180481210,0x182506568,0x1805365d0,0x1805365d0,0x180538110,0x1805365c0,0x18048dc80,0x180481210|", ".?AV?$LowPassFilter@M$0BA@$01@@|0x18251a8e0|0x1824be990|0x18058d230,0x18052cfb0,0x18052cfa0,0x18058c850,0x18058c8b0,0x18058c7b0,0x18251ae98,0x18058e330,0x18058e330,0x18058e400,0x18058e320,0x18048db00,0x180481210,0x18251aab8,0x18058eb10,0x18058b500,0x18251ae70,0x1804840e0,0x180589190,0x1811efad0,0x1805891b0,0x1811ea380,0x18251a920,0x18058ea98,0x18058b500,0x18251a6f0,0x18058eaa4,0x180568990,0x18251a8b8,0x18058e2a0,0x18058e2a0,0x18058e520,0x18058e290,0x18048db00,0x180481210,0x18251aa40,0x18058ead4,0x18058b630,0x18251ad00,0x18058eae0,0x180568990,0x18251b440|", ".?AV?$ModuleDecryptor@VSoothe2_DynamicCryptoManager@eden@pace@@@@|0x182505fd8|0x1824ab228|0x18052d520,0x18113285a,0x182505008,0x180538490,0x18135c520,0x182506e60,0x1805368b0,0x1805368b0,0x180537d50,0x1805368a0,0x18048db00,0x180481210,0x182505108,0x1805292a0,0x18052c8f0,0x1812c1fb0,0x18052c4a0,0x1804714b0,0x1804714b0,0x1812c0b50,0x18052bfa0,0x1812c0b60,0x18135fd30,0x1804731c0,0x1804731c0,0x1812c0b40,0x181362010,0x1804731c0,0x1804731c0,0x1804731c0,0x1804731c0,0x1812c0ca0,0x1804727a0,0x1812c0df0,0x18135e010,0x180484870,0x1812c0cc0,0x18052c8d0|", ".?AV?$Soothe2Module@M$01@@|0x182506a78|0x1824ac210|0x180535ed0,0x18052cfb0,0x180529550,0x1804714b0,0x18052b940,0x180529c60,0x180529fe0,0x180529ef0,0x18052bbf0,0x1804714b0,0x1804714b0,0x1804714b0,0x18052bba0,0x18052bb80,0x18052bb60,0x18052bb40,0x18052bb20,0x18052bb00,0x18052bad0,0x18052baa0,0x18052ba50,0x18052ba40,0x18052ba30,0x18052ba20,0x18052b9b0,0x18052b990,0x18052ce80,0x18052b980,0x18052b960,0x1804731c0,0x18052b950,0x1804714b0,0x182505030,0x1805369d0,0x1805369d0,0x180537bd0,0x1805369c0,0x18048db00,0x180481210,0x1825070a8|", ".?AV?$Soothe2ModuleBase@M$01@@|0x1825056d8|0x1824ac7a8|0x18052fd40,0x18052cfb0,0x180529550,0x1804714b0,0x18052ce00,0x1804714b0,0x1804714b0,0x1804714b0,0x1804727a0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x1804714b0,0x18052cec0,0x18052ce90,0x18052ce80,0x1804727a0,0x18052ce70,0x180484870,0x1804714b0,0x1804714b0,0x182507b08,0x180546620,0x1813afeb0,0x1813afef0,0x18136cc80,0x18136cc60,0x18136cc50,0x18136cc40,0x18136cc30,0x1813afd80,0x1813afe80,0x18136cbb0,0x1813afe40,0x1813afe70|", ".?AV?$SpectralProcessor@M$07$01@@|0x182504fe0|0x1824abb90|0x18052d390,0x18052cfb0,0x180529550,0x1804714b0,0x180529610,0x18113285a,0x1804714b0,0x1804714b0,0x1804727a0,0x1804714b0,0x1804714b0,0x1804714b0,0x182505548,0x18052d3d0,0x18052c8f0,0x1812c1fb0,0x18052c4a0,0x1804714b0,0x1804714b0,0x1812c0b50,0x18052bfa0,0x1812c0b60,0x18052bdf0,0x1804731c0,0x1804731c0,0x1812c0b40,0x18113285a,0x1804731c0,0x1804731c0,0x1804731c0,0x1804731c0,0x1812c0ca0,0x1804727a0,0x1812c0df0,0x18113285a,0x180484870,0x1812c0cc0,0x18052c8d0,0x18052c8c0,0x18052c880,0x18052c7f0,0x1804714b0|", ".?AV?$_Func_impl_no_alloc@V?$_Binder@U_Unforced@std@@P8?$CloudyAudioProcessor@V?$Soothe2ModuleBase@M$01@@VSoothe2ModuleDecryptor@@VParameterStates@@M@@EAAXXZPEAV3@@std@@X$$V@std@@|0x182505910|0x1824ab888|0x180536610,0x180536610,0x1805380e0,0x180536600,0x1805365f0,0x180481210,0x182504cd0,0x180536d60,0x180536d60,0x1805375e0,0x180536d50,0x18048db00,0x180481210,0x182506f18,0x180536dc0,0x180536dc0,0x1805374e0,0x180536db0,0x18048db00,0x180481210,0x182506090,0x1805367f0,0x1805367f0,0x180537f60,0x1805367e0,0x18048db00,0x180481210,0x182506948,0x1805366d0,0x1805366d0,0x180538010,0x1805366c0,0x18048db00,0x180481210,0x1825061b8,0x180536a30,0x180536a30,0x1805376a0,0x180536a20,0x18048db00,0x180481210|", ".?AVLines@?$FilterGraphGrid@M@@|0x18251af50|0x1824be5d8|0x18058e240,0x18134bc00,0x18134bbf0,0x18134bbe0,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x18134bf10,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18058c900,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18134add0,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940,0x18134b930,0x18134b870,0x18251a838,0x18058eaec,0x181a07140,0x18251a5b8,0x18058ea8c|", ".?AVListener@?$Soothe2ModuleBase@M$01@@|0x18250c588|0x1824b0fd0|0x180564360,0x18113285a,0x18250b740,0x180570e08,0x180565bd0,0x18250e180,0x18056ea10,0x18056ea10,0x18056f130,0x18056ea00,0x18048db00,0x180481210,0x18250cc30,0x180570ebc,0x180565f20,0x1804714b0,0x18250b4b8,0x18056e9e0,0x18056e9e0,0x18056f190,0x18056e9d0,0x18048db00,0x180481210,0x18250d408,0x180570eec,0x180568990,0x18250bfb0,0x18056eb60,0x18056eb60,0x18056eec0,0x18056eb50,0x18048db00,0x180481210,0x18250d060,0x180570df0,0x18055fda0,0x18250c538,0x180570ef8,0x18055fd70,0x18250bdf8,0x18056e980,0x18056e980,0x18056f230,0x18056e970,0x18048db00,0x180481210,0x18250e210,0x180570eb0|", ".?AVSoothe2AudioProcessor@@|0x182506ca0|0x1824abf60|0x1813658a0,0x18052c7e0,0x18053846c,0x182504fa0,0x180536f70,0x180536f70,0x180537160,0x180536f60,0x18048db00,0x180481210,0x182505208,0x180536670,0x180536670,0x1804714b0,0x180536660,0x18048db00,0x180481210,0x1825068b0,0x180536cc0,0x180536cc0,0x180537720,0x180536cb0,0x18048db00,0x180481210,0x182504e40,0x18113285a,0x18052c7e0,0x180538484,0x182506110,0x180528ba0,0x1804714b0,0x1804714b0,0x1825067d0,0x180536b90,0x180536b90,0x180537930,0x180536b80,0x18048dc80,0x180481210,0x182505680,0x180536c60,0x180536c60|", ".?AVSoothe2AudioProcessorEditor@@|0x18250e210|0x1824b1148|0x180570eb0,0x180565a70,0x18250d1a8,0x180570ec8,0x180562fd0,0x18250db38,0x180561240,0x181413fd0,0x18250ccb8,0x18056f690,0x18056f690,0x180537680,0x18056f680,0x18048db00,0x180481210,0x18250be20,0x18055e150,0x181639430,0x18055e070,0x181639320,0x1811d2340,0x18055e0a0,0x1816393e0,0x181639350,0x18250d4b0,0x18055e7e0,0x18055e5f0,0x18055e620,0x1811d2320,0x1811d2340,0x18055e650,0x18250dc28,0x18056ea70,0x18056ea70,0x18056f0a0,0x18056ea60,0x18048dc80,0x180481210,0x18250bbf0,0x18056f870,0x18056f870,0x1804714b0,0x18056f860,0x18048db00,0x180481210,0x18250bb00,0x1805619b0,0x18113285a|", ".?AVSoothe2DummyEqualizerWrapper@@|0x18250db38|0x1824b1178|0x180561240,0x181413fd0,0x18250ccb8,0x18056f690,0x18056f690,0x180537680,0x18056f680,0x18048db00,0x180481210,0x18250be20,0x18055e150,0x181639430,0x18055e070,0x181639320,0x1811d2340,0x18055e0a0,0x1816393e0,0x181639350,0x18250d4b0,0x18055e7e0,0x18055e5f0,0x18055e620,0x1811d2320,0x1811d2340,0x18055e650,0x18250dc28,0x18056ea70,0x18056ea70,0x18056f0a0,0x18056ea60,0x18048dc80,0x180481210,0x18250bbf0,0x18056f870,0x18056f870,0x1804714b0,0x18056f860,0x18048db00,0x180481210,0x18250bb00,0x1805619b0,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a|", ".?AVSoothe2FilterGraph@@|0x18251b090|0x1824be810|0x180589260,0x18134bc00,0x18058b4d0,0x18058b380,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x1805689c0,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18058ad80,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18058af50,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940,0x18134b930,0x18134b870,0x1804714b0,0x181a06ff0,0x1804714b0,0x181a07170,0x18251a8e0|", ".?AVSoothe2GainRangeScalingOption@@|0x18250be20|0x1824b11c8|0x18055e150,0x181639430,0x18055e070,0x181639320,0x1811d2340,0x18055e0a0,0x1816393e0,0x181639350,0x18250d4b0,0x18055e7e0,0x18055e5f0,0x18055e620,0x1811d2320,0x1811d2340,0x18055e650,0x18250dc28,0x18056ea70,0x18056ea70,0x18056f0a0,0x18056ea60,0x18048dc80,0x180481210,0x18250bbf0,0x18056f870,0x18056f870,0x1804714b0,0x18056f860,0x18048db00,0x180481210,0x18250bb00,0x1805619b0,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18113285a,0x18250b718,0x180570e80,0x180563430,0x18250d260,0x180570e50,0x1813d3b10,0x18250ca40,0x18056f710,0x18056f710,0x18056fb60|", ".?AVSoothe2Grid@@|0x18250b450|0x1824b1ac8|0x1805649b0,0x1805644b0,0x1805644c0,0x1804714b0,0x1804731c0,0x1805615b0,0x1805644e0,0x180564530,0x18250e130,0x18113285a,0x180560370,0x18250bd78,0x18056f770,0x18056f770,0x18056fb00,0x18056f760,0x18048db00,0x180481210,0x18250c640,0x18055e9f0,0x1813489b0,0x1813489a0,0x181348990,0x181348980,0x181348970,0x181348960,0x181411fb0,0x181348940,0x18250ba20,0x18056ebf0,0x18056ebf0,0x18056ee00,0x18056ebe0,0x18048db00,0x180481210,0x18250bf58,0x18056e8c0,0x18056e8c0,0x18056f540,0x18056e8b0,0x18048dc80,0x180481210,0x18250d0d8,0x18056f660,0x18056f660,0x18056fd00,0x18056f650,0x18048db00|", ".?AVSoothe2Header@@|0x18251d498|0x1824c24f8|0x18059d1e0,0x18134bc00,0x18134bbf0,0x18134bbe0,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x1805689c0,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18059cc40,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18059cb60,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940,0x18134b930,0x18134b870,0x1804714b0,0x18251d388,0x18059e974,0x180483fd0,0x1804e4950|", ".?AVSoothe2ModuleDecryptor@@|0x182506528|0x1824abe68|0x18052d520,0x1813e2a60,0x182505230,0x180536a50,0x180536a50,0x180537680,0x180536a40,0x18048db00,0x180481210,0x182505f28,0x180536be0,0x180536be0,0x180537680,0x180536bd0,0x18048db00,0x180481210,0x182505d30,0x180536d90,0x180536d90,0x180537590,0x180536d80,0x18048db00,0x180481210,0x182506ca0,0x1813658a0,0x18052c7e0,0x18053846c,0x182504fa0,0x180536f70,0x180536f70,0x180537160,0x180536f60,0x18048db00,0x180481210,0x182505208,0x180536670,0x180536670,0x1804714b0,0x180536660,0x18048db00|", ".?AVSoothe2SectionHeader@@|0x18251bbe0|0x1824bf510|0x1805905e0,0x18134bc00,0x18134bbf0,0x18134bbe0,0x18134bbd0,0x18134bbc0,0x18134bbb0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x1805689c0,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x180590350,0x18134bc10,0x18134bac0,0x18134bab0,0x18134ba90,0x18134ba80,0x18134ba70,0x18134ba60,0x18058ff10,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940,0x18134b930,0x18134b870,0x1804714b0,0x18251b890,0x180591ee0,0x180591ee0,0x1805920b0|", ".?AVSoothe2XYSliderArea@@|0x18251b440|0x1824beb10|0x18058ebf0,0x18134bc00,0x18057f450,0x18057f4f0,0x18158a900,0x181585b70,0x1815810c0,0x18134bba0,0x181585a90,0x18134bad0,0x18134c900,0x18134c760,0x18134c750,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x18058ee90,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x18134bce0,0x18134bc50,0x18134bc20,0x18134ade0,0x18134bc10,0x18134bac0,0x18134bab0,0x18156b440,0x18134ba80,0x18134ba70,0x18134ba60,0x181612000,0x18134ba50,0x18134adc0,0x18134ba40,0x18134ba30,0x18134ba20,0x18134ba10,0x18134b940,0x18134b930,0x18134b870,0x1816139e0,0x1804714b0,0x18251b3c8,0x18058efac,0x180568990|", ".?AVSoothe2_DynamicCryptoManager@eden@pace@@|0x18250ed68|0x1824b2588|0x180575c40,0x18141b840,0x18141b5e0,0x18250eee8,0x180575990,0x182510fb8,0x18057c6f0,0x18057c6f0,0x1804714b0,0x18057c6e0,0x18048db00,0x180481210,0x18250f310,0x18057ed84,0x180568990,0x18250fb38,0x18057d4b0,0x18057d4b0,0x18057db80,0x18057d4a0,0x18048db00,0x180481210,0x182510490,0x18057bb00,0x18134bc00,0x181336710,0x1813366a0,0x1813365f0,0x1813363e0,0x1813364a0,0x18134bba0,0x18134bb30,0x18134bad0,0x18134c900,0x18134c760,0x1813362b0,0x18134c3a0,0x18134c2d0,0x18134c2c0,0x18134c270,0x180579330,0x18134bf00,0x18134be30,0x18134bde0,0x18134bcf0,0x181336f10,0x18134bc50,0x18134bc20|", }; SymbolTable st = currentProgram.getSymbolTable(); FunctionManager fm = currentProgram.getFunctionManager(); int lab = 0, fn = 0; for (String line : data) { if (line.trim().isEmpty()) continue; String[] parts = line.replace(",|", "|").split("\\|"); String cls = parts[0]; long col = Long.decode(parts[1]); long vf = Long.decode(parts[2]); String[] fptrRaw = parts[3].split(","); Namespace ns = st.getNamespace(cls, currentProgram.getGlobalNamespace()); if (ns == null) { ns = st.createClass(null, cls, SourceType.USER_DEFINED); lab++; } for (String fs : fptrRaw) { if (fs.isEmpty()) continue; long f = Long.decode(fs); Address addr = currentProgram.getAddressFactory().getDefaultAddressSpace().getAddress(f); if (fm.getFunctionAt(addr) == null) { try { fm.createFunction(null, addr, null, SourceType.USER_DEFINED); fn++; } catch (Exception e) { // function may already exist as part of larger body; still label } } try { st.createLabel(addr, "vtbl_" + cls, ns, SourceType.USER_DEFINED); lab++; } catch (Exception e) { // ignore slash/illegal names } } } println("IMPORT_RTTI_NAMESPACES " + lab); println("IMPORT_RTTI_FUNCTIONS " + fn); } }