From 27399a52b1cafb3236ff8e9ec13a27f50608c708 Mon Sep 17 00:00:00 2001 From: Patryk Gensch <43010113+patryk025@users.noreply.github.com> Date: Sun, 31 May 2026 13:15:58 +0200 Subject: [PATCH] Method dispatch axis: map id -> body via Runner::run switch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recovers how a script method id maps to its implementation, the foundation for body-level normalisation. Each CMC_*_Runner::run is a switch(id) (vtable slot 17); every case is the method body — inline (MSVC6) or a tail-call to a separate show()/load() (MSVC8). The extractor parses the jump table at the disassembly level (Ghidra's decompiler jump-table recovery silently dropped the big runners), fingerprints each case by its ordered CALL anchors (Class::method / vtbl+0xNN), and expands thin wrappers one level so MSVC8 lines up with MSVC6. Validated on the golden pair: Animo SHOW..RESUME (id 1-4) yield identical leaves (getAnimo + vtbl+0xa0/0xa4/0x4c/0x50) across both compilers. Coverage 30/32 runners; Piklib 475 / BlooMoo 619 dispatch rows. - extract_engine_surface.py: extract_method_dispatch (schema_version -> 4) - snapshots regenerated with the method_dispatch axis - ams: Snapshot.method_dispatch; diff axis keyed (owner,id) on [impl,calls] with method-name join; render METHOD BODIES section; cli --only dispatch; owner filter - UI: "Ciała metod" diff axis + browse tab - tests: body-change unit + cross-compiler vtbl assertion -> 29/29 Co-Authored-By: Claude Opus 4.8 --- README.md | 10 +- ams/api/static/app.js | 11 +- ams/cli.py | 2 +- ams/diff.py | 20 +- ams/render.py | 39 +- ams/snapshot.py | 4 + ghidra_scripts/extract_engine_surface.py | 224 +- snapshots/PIKLIB8.dll.snapshot.json | 6747 ++++++++++++++++- snapshots/bloomoodll.dll.snapshot.json | 8772 +++++++++++++++++++++- tests/test_diff.py | 27 + 10 files changed, 15843 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d913d15..c1b72d6 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ działa na MSVC6 (Piklib) i MSVC8 (BlooMoo) mimo różnego kodu wynikowego. | Eventy | `CMC_*::getBehavioursList`: lista literałów `CXString` | ✅ (lista per klasa, bez dziedziczenia) | | Pola (skryptowe) | ctory `CMC_*`: literały czytane przez `CMElement::getPropertyValue` → nazwa + typ pola (FPS, PRELOAD, VISIBLE…) | ✅ (+ `field_inheritance`) | | Layout C++ (bonus) | ctory `CMC_*`: store'y `this+offset` przez P-code (rozmyte, `is_vtable`) | ✅ pod `struct_layout` | +| Ciała metod | `CMC_*_Runner::run`: `switch(id)` (vtable slot 17) → per case kotwice CALL (`Klasa::metoda` / `vtbl+0xNN`), rozwinięcie wrapperów | ✅ pod `method_dispatch` (id→`impl_addr`+`calls`) | ## Uruchomienie ekstraktora @@ -101,10 +102,13 @@ czysty Python. Snapshot dostaje doklejony blok `binary.acquisition` (źródło, ```bash python -m ams OLD.snapshot.json NEW.snapshot.json [--owner CMC_Animo] \ - [--only types,methods,events,fields,layout] [--json] + [--only types,methods,events,fields,layout,dispatch] [--json] ``` -Porównuje dwa snapshoty po 4 osiach (added/removed/changed) + wykrywa metody przeniesione -w hierarchii. Oś `struct_layout` jest sensowna tylko między wersjami tego samego kompilatora. +Porównuje dwa snapshoty po osiach (added/removed/changed) + wykrywa metody przeniesione +w hierarchii. Oś `dispatch` (ciała metod, klucz `owner`+`id`) diffuje fingerprint wywołań +każdej metody — wykrywa **zmiany ciała** między wersjami; jak `struct_layout`, najczystsza +między wersjami tego samego kompilatora (cross-compiler proste metody i tak się zgadzają, +np. Animo `SHOW`→`vtbl+0xa0` na MSVC6 i MSVC8). ## Backend (FastAPI + katalog) diff --git a/ams/api/static/app.js b/ams/api/static/app.js index fb68919..c737660 100644 --- a/ams/api/static/app.js +++ b/ams/api/static/app.js @@ -1,6 +1,6 @@ "use strict"; -const state = { games: [], snaps: [], byId: {}, a: null, b: null, jobStatus: {}, axes: { types: true, methods: true, events: true, fields: true, layout: false } }; +const state = { games: [], snaps: [], byId: {}, a: null, b: null, jobStatus: {}, axes: { types: true, methods: true, events: true, fields: true, layout: false, dispatch: false } }; // tiny DOM helper function el(tag, props, ...kids) { @@ -39,6 +39,9 @@ const AXES = [ { key: "struct_layout", uikey: "layout", title: "Layout C++ (bonus)", fmt: (x) => `${x.owner} @${hex(x.offset)} size ${x.size}${x.is_vtable ? " vtable" : ""}`, name: (x) => `${x.owner}@${x.offset}` }, + { key: "method_dispatch", uikey: "dispatch", title: "Ciała metod", + fmt: (m) => `${m.owner} · ${m.name || ("id " + m.id)}${m.impl ? " → " + m.impl : ""} [${(m.calls || []).length} calls]`, + name: (m) => `${m.owner}.${m.name || m.id}` }, ]; const hex = (n) => "0x" + Number(n).toString(16); @@ -238,7 +241,10 @@ function axisCard(ax, block) { for (const it of sortByName(block.added)) body.append(el("div", { class: "row r-add" }, ax.fmt(it))); for (const it of sortByName(block.removed)) body.append(el("div", { class: "row r-del" }, ax.fmt(it))); for (const ch of block.changed.slice().sort((x, y) => ax.name(x.item).localeCompare(ax.name(y.item)))) { - const deltas = Object.entries(ch.changes).map(([f, v]) => `${f}: ${v[0]} → ${v[1]}`).join(", "); + const deltas = Object.entries(ch.changes).map(([f, v]) => + (Array.isArray(v[0]) || Array.isArray(v[1])) + ? `${f}: ${(v[0] || []).length} → ${(v[1] || []).length}` + : `${f}: ${v[0]} → ${v[1]}`).join(", "); body.append(el("div", { class: "row r-chg" }, ax.name(ch.item), " ", el("span", { class: "delta" }, deltas))); } return el("details", { class: "axis", open: true }, @@ -270,6 +276,7 @@ async function browse(id) { ["Metody", (d.methods || []).map((m) => `${m.owner} · ${m.name} (id ${m.id})`)], ["Eventy", (d.events || []).map((e) => `${e.owner} · ${e.name}`)], ["Pola", (d.fields || []).map((f) => `${f.owner} · ${f.name} : ${f.type}`)], + ["Ciała", (d.method_dispatch || []).map((m) => `${m.owner} · id ${m.id}${m.impl ? " → " + m.impl : ""} [${(m.calls || []).join(" ")}]`)], ]; out.innerHTML = ""; out.append(el("div", { class: "diff-head" }, "Przegląd: ", el("b", {}, `${snap.binary_name} [${snap.engine}/${snap.compiler}]`))); diff --git a/ams/cli.py b/ams/cli.py index 161a688..bfb8150 100644 --- a/ams/cli.py +++ b/ams/cli.py @@ -13,7 +13,7 @@ from .diff import compute_diff, filter_by_owner from .render import render_text from .snapshot import Snapshot -_AXES = ["types", "methods", "events", "fields", "layout"] +_AXES = ["types", "methods", "events", "fields", "layout", "dispatch"] def main(argv: list[str] | None = None) -> int: diff --git a/ams/diff.py b/ams/diff.py index 58e4409..d604722 100644 --- a/ams/diff.py +++ b/ams/diff.py @@ -69,6 +69,22 @@ def _detect_method_moves(old_m: list[Item], new_m: list[Item]) -> list[Item]: return moves +def _dispatch_key(x: Item) -> Hashable: + return (x["owner"], x["id"]) + + +def _dispatch_with_names(snap: Snapshot) -> list[Item]: + """Attach the method name (from the methods axis, joined on owner+id) to each dispatch row, + so a body-level diff reads as 'SHOW body changed' rather than 'CMC_Animo id 1 changed'.""" + name_by = {(m["owner"], m.get("id")): m["name"] for m in snap.methods} + out = [] + for r in snap.method_dispatch: + rr = dict(r) + rr["name"] = name_by.get((r["owner"], r["id"])) + out.append(rr) + return out + + def compute_diff(old: Snapshot, new: Snapshot) -> dict[str, Any]: return { "binary": {"from": old.binary, "to": new.binary}, @@ -78,6 +94,8 @@ def compute_diff(old: Snapshot, new: Snapshot) -> dict[str, Any]: "fields": keyed_diff(old.fields, new.fields, _owner_name_key, ["type"]), "struct_layout": keyed_diff(old.struct_layout, new.struct_layout, _layout_key, ["size", "is_vtable"]), + "method_dispatch": keyed_diff(_dispatch_with_names(old), _dispatch_with_names(new), + _dispatch_key, ["impl", "calls"]), "method_inheritance": keyed_diff(old.method_inheritance, new.method_inheritance, lambda x: x["runner"], ["base_runner"]), "field_inheritance": keyed_diff(old.field_inheritance, new.field_inheritance, @@ -90,7 +108,7 @@ def compute_diff(old: Snapshot, new: Snapshot) -> dict[str, Any]: def _item_owner(axis: str, item: Item) -> str | None: if axis == "types": return item.get("cpp_class") - if axis in ("methods", "events", "fields", "struct_layout"): + if axis in ("methods", "events", "fields", "struct_layout", "method_dispatch"): return item.get("owner") if axis == "method_inheritance": return item.get("runner") diff --git a/ams/render.py b/ams/render.py index 05b9149..c3c44d4 100644 --- a/ams/render.py +++ b/ams/render.py @@ -78,6 +78,40 @@ def _section_owned(out: list[str], title: str, block: dict, fmt: Callable[[dict] name_of(it), _fmt_changes(change_by_id[id(it)]["changes"]))) +def _dispatch_name(r: dict) -> str: + return r.get("name") or "id {0}".format(r.get("id")) + + +def _section_dispatch(out: list[str], block: dict) -> None: + """Method-body fingerprints (per owner+id). `calls` deltas are summarised by length so the + line stays readable; the full anchor lists live in the JSON.""" + out.append("") + out.append("{0:<16} {1}".format("METHOD BODIES", _counts(block))) + owner_of = lambda r: r["owner"] + added = _group_by(block["added"], owner_of) + removed = _group_by(block["removed"], owner_of) + changed = _group_by([c["item"] for c in block["changed"]], owner_of) + change_by_id = {id(c["item"]): c for c in block["changed"]} + for owner in sorted(set(added) | set(removed) | set(changed)): + out.append(" {0}".format(owner)) + for it in sorted(added.get(owner, []), key=_dispatch_name): + out.append(" + {0}".format(_dispatch_name(it))) + for it in sorted(removed.get(owner, []), key=_dispatch_name): + out.append(" - {0}".format(_dispatch_name(it))) + for it in sorted(changed.get(owner, []), key=_dispatch_name): + ch = change_by_id[id(it)]["changes"] + bits = [] + if "impl" in ch: + bits.append("impl {0} -> {1}".format(ch["impl"][0], ch["impl"][1])) + if "calls" in ch: + a, b = ch["calls"] + bits.append("calls {0} -> {1}".format(len(a or []), len(b or []))) + out.append(" ~ {0:<22} {1}".format(_dispatch_name(it), "; ".join(bits))) + + +_EMPTY = {"added": [], "removed": [], "changed": []} + + def _is_empty(block: dict) -> bool: return not (block["added"] or block["removed"] or block["changed"]) @@ -107,6 +141,8 @@ def render_text(diff: dict[str, Any], only: set[str] | None = None) -> str: if want("layout") and not _is_empty(diff["struct_layout"]): _section_owned(out, "STRUCT LAYOUT", diff["struct_layout"], _fmt_layout, lambda x: x["owner"], lambda x: "@{0:#x}".format(x["offset"])) + if want("dispatch") and not _is_empty(diff.get("method_dispatch", _EMPTY)): + _section_dispatch(out, diff["method_dispatch"]) if want("methods") and diff["moved_methods"]: out.append("") out.append("MOVED METHODS {0}".format(len(diff["moved_methods"]))) @@ -114,7 +150,8 @@ def render_text(diff: dict[str, Any], only: set[str] | None = None) -> str: out.append(" {0}: {1} -> {2}".format( m["name"], ",".join(m["from_owners"]), ",".join(m["to_owners"]))) - if all(_is_empty(diff[a]) for a in ("types", "methods", "events", "fields", "struct_layout")): + if all(_is_empty(diff.get(a, _EMPTY)) + for a in ("types", "methods", "events", "fields", "struct_layout", "method_dispatch")): out.append("") out.append("(no differences)") return "\n".join(out) diff --git a/ams/snapshot.py b/ams/snapshot.py index 358189a..08ffbc8 100644 --- a/ams/snapshot.py +++ b/ams/snapshot.py @@ -43,6 +43,10 @@ class Snapshot: def struct_layout(self) -> list[dict]: return self.raw.get("struct_layout", []) + @property + def method_dispatch(self) -> list[dict]: + return self.raw.get("method_dispatch", []) + @property def method_inheritance(self) -> list[dict]: return self.raw.get("method_inheritance", []) diff --git a/ghidra_scripts/extract_engine_surface.py b/ghidra_scripts/extract_engine_surface.py index 7efea33..31f0ff4 100644 --- a/ghidra_scripts/extract_engine_surface.py +++ b/ghidra_scripts/extract_engine_surface.py @@ -314,6 +314,222 @@ def extract_methods(program): return methods, inheritance +_VTBL_OFF = re.compile(r"\[\w+ \+ (0x[0-9a-fA-F]+)\]") +_MEM_OFF = re.compile(r"\[\w+ \+ (0x[0-9a-fA-F]+)\]") + + +def _is_generic_name(name): + """A compiler-assigned placeholder, not a real symbol.""" + return (not name) or name.startswith("FUN_") or name.startswith("thunk_") or name.startswith("LAB_") + + +def _qualified(f): + if f is None: + return None + ns = f.getParentNamespace() + nm = f.getName() + return (ns.getName() + "::" + nm) if (ns is not None and ns.getName() != "Global") else nm + + +def _call_anchor(program, instr): + """A normalisable, compiler-tolerant fingerprint of one CALL inside a switch case. + + Direct call -> "Namespace::name". On MSVC8 the symbol sits on the ILT *stub* while the body + is an unnamed FUN_, so we keep the stub's name and only fall back to the thunk-resolved body + when the direct name is itself a placeholder. Indirect virtual call -> "vtbl+0xNN" from the + displacement, which abstracts away the register holding `this`.""" + cf = call_target(program, instr) + if cf is not None: + if not _is_generic_name(cf.getName()): + return _qualified(cf) + resolved = resolve_thunk(cf) + if resolved is not None and not _is_generic_name(resolved.getName()): + return _qualified(resolved) + return _qualified(cf) + m = _VTBL_OFF.search(instr.toString()) + if m is not None: + return "vtbl+" + m.group(1) + return None + + +def _walk_calls(program, start_addr, stops, limit=80): + """Walk a straight-line block from `start_addr`, returning (anchors, funcs): + + * `anchors` - ordered CALL fingerprints (see `_call_anchor`), additionally recovering the + `MOV reg,[base+0xNN]` / `CALL reg` virtual-call idiom (MSVC8) as `vtbl+0xNN`, so it matches + the `CALL [reg+0xNN]` form (MSVC6). + * `funcs` - the (anchor, entry) of each *direct* call to a real function, used to detect a + thin wrapper case that just forwards to a named/unnamed submethod. + + Stops at a RET, an unconditional jump, a `stops` address, or after `limit` instructions.""" + listing = program.getListing() + instr = listing.getInstructionAt(start_addr) + anchors = [] + funcs = [] + regoff = {} # register -> vtable offset most recently loaded into it + n = 0 + while instr is not None and n < limit: + if n > 0 and instr.getAddress() in stops: + break + n += 1 + mn = instr.getMnemonicString() + if mn == "MOV" and instr.getNumOperands() >= 2: + dst = instr.getDefaultOperandRepresentation(0) + m = _MEM_OFF.search(instr.toString()) + if m is not None: + regoff[dst] = m.group(1) + else: + regoff.pop(dst, None) + elif mn == "CALL": + a = _call_anchor(program, instr) + if a is None: # CALL reg -> use the offset last loaded into that register + op0 = instr.getDefaultOperandRepresentation(0) + if op0 in regoff: + a = "vtbl+" + regoff[op0] + if a is not None: + anchors.append(a) + cf = call_target(program, instr) + if cf is not None: + body = resolve_thunk(cf) + if body is not None: + funcs.append((a, body.getEntryPoint())) + ft = instr.getFlowType() + if ft.isTerminal() or (ft.isJump() and not ft.isConditional()): + break + instr = instr.getNext() + return anchors, funcs + + +_SWITCH_JMP = re.compile(r"\[(\w+)\*0x4 \+ (0x[0-9a-fA-F]+)\]") +_LEA_DISP = re.compile(r"\[\w+ \+ (-?0x[0-9a-fA-F]+)\]") + + +def _lea_disp(instr): + """Signed displacement of a `LEA reg,[base + disp]`, parsed from text when getScalar misses.""" + m = _LEA_DISP.search(instr.toString()) + return int(m.group(1), 16) if m is not None else None + + +def _parse_switch(program, func): + """Recover the dense jump-table switch of a `run` function at the disassembly level + (decompiler-independent, so it survives the big inline-heavy runners). Both MSVC6 and + MSVC8 emit the same shape: + + LEA idx,[reg - base] ; CMP idx, range ; JA default ; JMP [idx*4 + TABLE] + + Returns {table, base, count} or None. `id = table_index + base`; `count = range + 1`.""" + listing = program.getListing() + instrs = [] + it = listing.getInstructions(func.getBody(), True) + while it.hasNext(): + instrs.append(it.next()) + + idx_reg = table = jmp_addr = None + for instr in instrs: + if instr.getMnemonicString() == "JMP" and instr.getFlowType().isComputed(): + m = _SWITCH_JMP.search(instr.toString()) + if m is not None: + idx_reg = m.group(1) + space = program.getAddressFactory().getDefaultAddressSpace() + table = space.getAddress(int(m.group(2), 16)) + jmp_addr = instr.getAddress() + break + if table is None: + return None + + base = 0 + count = None + for instr in instrs: + if instr.getAddress().equals(jmp_addr): + break + if instr.getNumOperands() == 0 or instr.getDefaultOperandRepresentation(0) != idx_reg: + continue + mn = instr.getMnemonicString() + s = instr.getScalar(1) + if mn == "CMP" and s is not None: + count = int(s.getValue()) + 1 + elif mn == "LEA": # LEA idx,[reg - k] -> id = index + k + disp = int(s.getValue()) if s is not None else _lea_disp(instr) + if disp is not None: + base = -disp + elif mn == "SUB" and s is not None: + base = int(s.getValue()) + elif mn == "ADD" and s is not None: + base = -int(s.getValue()) + elif mn == "DEC": + base = 1 + return {"table": table, "base": base, "count": count} + + +def extract_method_dispatch(program): + """For each CMC_*_Runner::run, recover how method ids map to their implementation. + + `run(int id, ...)` is a `switch(id)` (vtable slot 17, overridden per runner) whose every + `case id:` is the method body - either a tail-call to a named submethod (BlooMoo/MSVC8 + keeps show()/load()/... as separate functions) or inline code whose leaves are virtual + calls on the wrapped object (Piklib/MSVC6). We fingerprint each case by its ordered CALL + anchors, so a later pass can diff method *bodies* by (owner, id). Join names via `methods`.""" + fm = program.getFunctionManager() + out = [] + it = fm.getFunctions(True) + while it.hasNext(): + f = it.next() + if f.getName() != "run": + continue + ns = f.getParentNamespace() + runner = ns.getName() if ns is not None else "?" + if not runner.endswith("_Runner"): + continue + try: + out.extend(_dispatch_from_run(program, f, _owner_from_runner(runner), runner)) + except Exception as e: # one malformed runner shouldn't sink the whole axis + print("[!] method_dispatch %s: %s" % (runner, e)) + return out + + +def _dispatch_from_run(program, run_func, owner, runner): + run_func = resolve_thunk(run_func) + sw = _parse_switch(program, run_func) + if sw is None: + return [] + count = sw["count"] + if count is None or count < 1 or count > 4096: + return [] + + mem = program.getMemory() + space = program.getAddressFactory().getDefaultAddressSpace() + targets = [] + for i in range(count): + try: + val = mem.getInt(sw["table"].add(i * 4)) & 0xffffffff + except Exception: + break + targets.append(space.getAddress(val)) + + stops = set(targets) + rows = [] + for i in range(len(targets)): + anchors, funcs = _walk_calls(program, targets[i], stops) + # A thin wrapper case forwards to one submethod: the real body (and its leaf anchors) + # live in that function. Expanding one level makes MSVC8 (separate show()/load()) line up + # with MSVC6 (inline), so `calls` is a compiler-tolerant body fingerprint. + if len(anchors) == 1 and len(funcs) == 1 and funcs[0][0] == anchors[0]: + impl = funcs[0][0] + impl_entry = funcs[0][1] + impl_addr = "0x%x" % impl_entry.getOffset() + calls, _ = _walk_calls(program, impl_entry, set()) + else: + impl = None + impl_addr = "0x%x" % targets[i].getOffset() # body is inline in the case block + calls = anchors + rows.append({ + "owner": owner, "runner": runner, "id": i + sw["base"], + "case_addr": "0x%x" % targets[i].getOffset(), + "impl": impl, "impl_addr": impl_addr, "calls": calls, + }) + return rows + + def extract_events(program): """Per CMC_*::getBehavioursList, collect the ordered event-name literals (ONINIT, ONDONE, ...). @@ -583,9 +799,10 @@ def run(): events = extract_events(program) fields = extract_script_fields(program) struct_layout, field_inheritance = extract_struct_layout(program) + method_dispatch = extract_method_dispatch(program) snapshot = { - "schema_version": 3, + "schema_version": 4, "binary": { "name": program.getName(), "sha256": sha256_of(program), @@ -600,6 +817,7 @@ def run(): "fields": fields, "field_inheritance": field_inheritance, "struct_layout": struct_layout, + "method_dispatch": method_dispatch, } args = getScriptArgs() @@ -610,9 +828,9 @@ def run(): finally: fh.close() - print("[+] %s [%s/%s]: %d types, %d methods, %d events, %d fields (%d layout) -> %s" % ( + print("[+] %s [%s/%s]: %d types, %d methods, %d events, %d fields (%d layout, %d dispatch) -> %s" % ( program.getName(), engine, compiler, len(types), len(methods), - len(events), len(fields), len(struct_layout), out_path)) + len(events), len(fields), len(struct_layout), len(method_dispatch), out_path)) run() diff --git a/snapshots/PIKLIB8.dll.snapshot.json b/snapshots/PIKLIB8.dll.snapshot.json index 78a34d2..3406877 100644 --- a/snapshots/PIKLIB8.dll.snapshot.json +++ b/snapshots/PIKLIB8.dll.snapshot.json @@ -1713,6 +1713,6751 @@ "type": "bool" } ], + "method_dispatch": [ + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xa0" + ], + "case_addr": "0x10038820", + "id": 1, + "impl": null, + "impl_addr": "0x10038820", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xa4" + ], + "case_addr": "0x10038847", + "id": 2, + "impl": null, + "impl_addr": "0x10038847", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x4c" + ], + "case_addr": "0x1003886e", + "id": 3, + "impl": null, + "impl_addr": "0x1003886e", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x50" + ], + "case_addr": "0x10038892", + "id": 4, + "impl": null, + "impl_addr": "0x10038892", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x58", + "vtbl+0x104" + ], + "case_addr": "0x100388b6", + "id": 5, + "impl": null, + "impl_addr": "0x100388b6", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x6c", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x1003890a", + "id": 6, + "impl": null, + "impl_addr": "0x1003890a", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x98", + "CMC_Object::flush" + ], + "case_addr": "0x10038967", + "id": 7, + "impl": "CMC_Animo_Runner::load", + "impl_addr": "0x10039770", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CGraphicsObject::SetClippingRect" + ], + "case_addr": "0x10038987", + "id": 8, + "impl": null, + "impl_addr": "0x10038987", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CXRect::operator=", + "CMC_Object::flush" + ], + "case_addr": "0x100389ab", + "id": 9, + "impl": "CMC_Animo_Runner::setClipping", + "impl_addr": "0x100397d0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x13c", + "CMC_Object::flush" + ], + "case_addr": "0x100389cb", + "id": 10, + "impl": "CMC_Animo_Runner::play", + "impl_addr": "0x10039950", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x30", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x100389eb", + "id": 11, + "impl": "CMC_Animo_Runner::setFrame", + "impl_addr": "0x100399c0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Object::flush", + "vtbl+0x48" + ], + "case_addr": "0x10038a0b", + "id": 12, + "impl": null, + "impl_addr": "0x10038a0b", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x64", + "CAnimo::GetEventName", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CXString::equalsIgnoreCase", + "CMC_Object::flush", + "MSVCRT.DLL::free", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10038a6c", + "id": 13, + "impl": "CMC_Animo_Runner::isPlaying", + "impl_addr": "0x10039b30", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x60", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10038a8c", + "id": 14, + "impl": null, + "impl_addr": "0x10038a8c", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd4", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038acf", + "id": 15, + "impl": null, + "impl_addr": "0x10038acf", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd4", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038b3a", + "id": 16, + "impl": null, + "impl_addr": "0x10038b3a", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038ba7", + "id": 17, + "impl": null, + "impl_addr": "0x10038ba7", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038bd7", + "id": 18, + "impl": null, + "impl_addr": "0x10038bd7", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0x158", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038c07", + "id": 19, + "impl": null, + "impl_addr": "0x10038c07", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Animo::getAnimo", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10038c37", + "id": 20, + "impl": "CMC_Animo_Runner::getFrameName", + "impl_addr": "0x10039dc0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x30", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CAnimo::GetFrameNo" + ], + "case_addr": "0x10038c57", + "id": 21, + "impl": "CMC_Animo_Runner::getFrameNo", + "impl_addr": "0x1003a190", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Animo::getAnimo", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10038c77", + "id": 22, + "impl": "CMC_Animo_Runner::getEventName", + "impl_addr": "0x1003a2f0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0xf4", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10038c97", + "id": 23, + "impl": "CMC_Animo_Runner::isNear", + "impl_addr": "0x1003a4b0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CAnimo::isInside", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10038cb7", + "id": 24, + "impl": "CMC_Animo_Runner::isInside", + "impl_addr": "0x1003a680", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x38", + "CMC_Animo::getAnimo" + ], + "case_addr": "0x10038cd7", + "id": 25, + "impl": "CMC_Animo_Runner::playRand", + "impl_addr": "0x1003a720", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Animo::getAnimo", + "vtbl+0x38" + ], + "case_addr": "0x10038cf7", + "id": 26, + "impl": null, + "impl_addr": "0x10038cf7", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x94", + "vtbl+0x34" + ], + "case_addr": "0x10038d5e", + "id": 27, + "impl": null, + "impl_addr": "0x10038d5e", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [], + "case_addr": "0x10038d8a", + "id": 28, + "impl": "CMC_Animo::getAnimo", + "impl_addr": "0x10035c30", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [], + "case_addr": "0x10038da9", + "id": 29, + "impl": "CMC_Animo::getAnimo", + "impl_addr": "0x10035c30", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x160" + ], + "case_addr": "0x10038dc8", + "id": 30, + "impl": null, + "impl_addr": "0x10038dc8", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x15c" + ], + "case_addr": "0x10038de7", + "id": 31, + "impl": null, + "impl_addr": "0x10038de7", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x10038e06", + "id": 32, + "impl": null, + "impl_addr": "0x10038e06", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xd8", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "vtbl+0xc4", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "vtbl+0xc8", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10038e52", + "id": 33, + "impl": "CMC_Animo_Runner::getAlpha", + "impl_addr": "0x1003a990", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "vtbl+0x4c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xd8", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "vtbl+0xc4", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "vtbl+0xc8" + ], + "case_addr": "0x10038e72", + "id": 34, + "impl": "CMC_Animo_Runner::getPixel", + "impl_addr": "0x1003ab10", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox", + "CMC_Object::flush" + ], + "case_addr": "0x10038e92", + "id": 35, + "impl": null, + "impl_addr": "0x10038e92", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CXPoint::CXPoint", + "CGraphicsObject::mergeAlpha", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10038eda", + "id": 36, + "impl": "CMC_Animo_Runner::mergeAlpha", + "impl_addr": "0x1003acb0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x104" + ], + "case_addr": "0x10038efa", + "id": 37, + "impl": null, + "impl_addr": "0x10038efa", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo::getCurrFramePosition", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038f19", + "id": 38, + "impl": null, + "impl_addr": "0x10038f19", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo::getCurrFramePosition", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038f4d", + "id": 39, + "impl": null, + "impl_addr": "0x10038f4d", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xd8", + "vtbl+0xcc", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038f82", + "id": 40, + "impl": null, + "impl_addr": "0x10038f82", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xd8", + "vtbl+0xcc", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10038fd5", + "id": 41, + "impl": null, + "impl_addr": "0x10038fd5", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10039054", + "id": 42, + "impl": null, + "impl_addr": "0x10039054", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0x118", + "CMC_Integer::setValue" + ], + "case_addr": "0x10039080", + "id": 43, + "impl": null, + "impl_addr": "0x10039080", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "vtbl+0x30", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "CAnimo::GetEventNo" + ], + "case_addr": "0x100390b0", + "id": 44, + "impl": "CMC_Animo_Runner::getNOFInEvent", + "impl_addr": "0x1003af50", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo6::GetMaxWidth", + "CMC_Integer::setValue" + ], + "case_addr": "0x100390d0", + "id": 45, + "impl": null, + "impl_addr": "0x100390d0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo6::GetMaxHeight", + "CMC_Integer::setValue" + ], + "case_addr": "0x100390fd", + "id": 46, + "impl": null, + "impl_addr": "0x100390fd", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10039028", + "id": 47, + "impl": null, + "impl_addr": "0x10039028", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003912a", + "id": 48, + "impl": null, + "impl_addr": "0x1003912a", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Animo::setAsButton" + ], + "case_addr": "0x10039154", + "id": 49, + "impl": null, + "impl_addr": "0x10039154", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x10039191", + "id": 50, + "impl": null, + "impl_addr": "0x10039191", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox", + "vtbl+0x3c" + ], + "case_addr": "0x100391d8", + "id": 51, + "impl": null, + "impl_addr": "0x100391d8", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox", + "vtbl+0xb4" + ], + "case_addr": "0x10039245", + "id": 52, + "impl": null, + "impl_addr": "0x10039245", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x100392b2", + "id": 53, + "impl": null, + "impl_addr": "0x100392b2", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_EditBox::getEditBox", + "vtbl+0xbc" + ], + "case_addr": "0x10039333", + "id": 54, + "impl": null, + "impl_addr": "0x10039333", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xd8", + "vtbl+0xcc", + "vtbl+0x40", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10039374", + "id": 55, + "impl": "CMC_Animo_Runner::setAnchor", + "impl_addr": "0x1003b370", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CAnimo::GetEventNo", + "CMC_Keyboard::getLatestKey" + ], + "case_addr": "0x10039394", + "id": 56, + "impl": "CMC_Animo_Runner::setFrameName", + "impl_addr": "0x1003a030", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CRefreshScreen::GetPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x100393b4", + "id": 57, + "impl": "CMC_Animo_Runner::getPriority", + "impl_addr": "0x1003b8d0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x94", + "vtbl+0x104" + ], + "case_addr": "0x100393ff", + "id": 58, + "impl": "CMC_Animo_Runner::flipH", + "impl_addr": "0x1003b910", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x98", + "vtbl+0x104" + ], + "case_addr": "0x100393d4", + "id": 59, + "impl": null, + "impl_addr": "0x100393d4", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x9c", + "vtbl+0x104" + ], + "case_addr": "0x1003941f", + "id": 60, + "impl": "CMC_Animo_Runner::resetFlip", + "impl_addr": "0x1003b970", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CGraphicsObject::addObject" + ], + "case_addr": "0x1003943f", + "id": 61, + "impl": "CMC_Animo_Runner::drawOnto", + "impl_addr": "0x1003b9a0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "CAnimo::GetEventNo", + "CAnimo::GetEventName", + "vtbl+0x168" + ], + "case_addr": "0x1003945f", + "id": 62, + "impl": "CMC_Animo_Runner::playReverse", + "impl_addr": "0x1003ba10", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CAnimo::GetEventNo", + "CAnimo::GetEventName", + "vtbl+0x13c" + ], + "case_addr": "0x1003947f", + "id": 63, + "impl": "CMC_Animo_Runner::nPlay", + "impl_addr": "0x1003bad0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_VariableFactory::allocBool", + "CMC_Bool::getValue", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CXPoint::CXPoint", + "CAnimo6::isAt", + "CMC_Bool::setValue" + ], + "case_addr": "0x1003949f", + "id": 64, + "impl": "CMC_Animo_Runner::isAt", + "impl_addr": "0x1003bb50", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003920e", + "id": 65, + "impl": null, + "impl_addr": "0x1003920e", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x78", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0x94", + "CMC_Integer::setValue", + "vtbl+0x94" + ], + "case_addr": "0x100394bf", + "id": 66, + "impl": "CMC_Animo_Runner::getAnchor", + "impl_addr": "0x1003bbd0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x10c" + ], + "case_addr": "0x10041d97", + "id": 1, + "impl": null, + "impl_addr": "0x10041d97", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0xd8" + ], + "case_addr": "0x10041da8", + "id": 2, + "impl": null, + "impl_addr": "0x10041da8", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x10041db9", + "id": 3, + "impl": "CMC_Application_Runner::_goto", + "impl_addr": "0x10041f00", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CLanguageOSVer::setLanguageFolder", + "CMC_Object::flush" + ], + "case_addr": "0x10041dd0", + "id": 4, + "impl": "CMC_Application_Runner::setLanguage", + "impl_addr": "0x10041f40", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CFileResolver::getFileName", + "CMC_String::setValue" + ], + "case_addr": "0x10041de7", + "id": 5, + "impl": "CMC_Application_Runner::getLanguage", + "impl_addr": "0x10041f90", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CXRect::operator=", + "CMC_Object::flush" + ], + "case_addr": "0x10041dfe", + "id": 6, + "impl": "CMC_Application_Runner::print", + "impl_addr": "0x10041fd0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x10041e15", + "id": 7, + "impl": "CWindow::MusicOn", + "impl_addr": "0x100e70c0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x10041e28", + "id": 8, + "impl": "CWindow::MusicOn", + "impl_addr": "0x100e70c0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0xb0", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_RunnerFactory::getRunner", + "vtbl+0x40", + "vtbl+0x60", + "CMC_DLLExModuleInterface::getModuleInterface" + ], + "case_addr": "0x10041e3b", + "id": 9, + "impl": "CMC_Application_Runner::run", + "impl_addr": "0x100421f0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x110" + ], + "case_addr": "0x10041e52", + "id": 10, + "impl": null, + "impl_addr": "0x10041e52", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x38", + "vtbl+0x34", + "vtbl+0x90", + "vtbl+0x34" + ], + "case_addr": "0x10041e63", + "id": 11, + "impl": "CMC_Application_Runner::runEnv", + "impl_addr": "0x10042730", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_VariableFactory::allocBool", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free" + ], + "case_addr": "0x10041e76", + "id": 12, + "impl": "CMC_Application_Runner::existsEnv", + "impl_addr": "0x10042830", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0x94" + ], + "case_addr": "0x100467f4", + "id": 1, + "impl": null, + "impl_addr": "0x100467f4", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10046828", + "id": 2, + "impl": null, + "impl_addr": "0x10046828", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0x9c", + "CMC_Object::flush" + ], + "case_addr": "0x1004684d", + "id": 3, + "impl": null, + "impl_addr": "0x1004684d", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0xa4", + "CMC_Object::flush" + ], + "case_addr": "0x10046892", + "id": 4, + "impl": null, + "impl_addr": "0x10046892", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0xa0", + "CMC_Object::flush" + ], + "case_addr": "0x100468cc", + "id": 5, + "impl": null, + "impl_addr": "0x100468cc", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xa8" + ], + "case_addr": "0x10046911", + "id": 6, + "impl": null, + "impl_addr": "0x10046911", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0xc8", + "vtbl+0x90", + "CMC_VariableFactory::copyVariable", + "CMC_Object::flush" + ], + "case_addr": "0x10046927", + "id": 7, + "impl": "CMC_Array_Runner::get", + "impl_addr": "0x100477e0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xac" + ], + "case_addr": "0x10046943", + "id": 8, + "impl": null, + "impl_addr": "0x10046943", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x30", + "vtbl+0xb4", + "CMC_Integer::setValue" + ], + "case_addr": "0x10046967", + "id": 9, + "impl": null, + "impl_addr": "0x10046967", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x30", + "vtbl+0xb0", + "CMC_Bool::setValue" + ], + "case_addr": "0x100469e9", + "id": 10, + "impl": null, + "impl_addr": "0x100469e9", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xc0" + ], + "case_addr": "0x10046a1c", + "id": 11, + "impl": null, + "impl_addr": "0x10046a1c", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xc4" + ], + "case_addr": "0x10046a32", + "id": 12, + "impl": null, + "impl_addr": "0x10046a32", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0xcc", + "vtbl+0x18" + ], + "case_addr": "0x10046a48", + "id": 13, + "impl": null, + "impl_addr": "0x10046a48", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0xd0", + "vtbl+0x18" + ], + "case_addr": "0x10046a97", + "id": 14, + "impl": null, + "impl_addr": "0x10046a97", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush" + ], + "case_addr": "0x10046ae6", + "id": 15, + "impl": "CMC_Array_Runner::addClones", + "impl_addr": "0x10047580", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xd4" + ], + "case_addr": "0x10046b02", + "id": 16, + "impl": null, + "impl_addr": "0x10046b02", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10046b18", + "id": 17, + "impl": null, + "impl_addr": "0x10046b18", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0xdc" + ], + "case_addr": "0x10046b3d", + "id": 18, + "impl": null, + "impl_addr": "0x10046b3d", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xe0" + ], + "case_addr": "0x10046b77", + "id": 19, + "impl": null, + "impl_addr": "0x10046b77", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xc8", + "MSVCRT.DLL::malloc", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10046b9d", + "id": 20, + "impl": "CMC_Array_Runner::suma", + "impl_addr": "0x10047d90", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xe4" + ], + "case_addr": "0x10046bb9", + "id": 21, + "impl": null, + "impl_addr": "0x10046bb9", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xc8", + "MSVCRT.DLL::malloc", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10046bdf", + "id": 22, + "impl": "CMC_Array_Runner::suba", + "impl_addr": "0x10047f00", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xe8" + ], + "case_addr": "0x10046bfb", + "id": 23, + "impl": null, + "impl_addr": "0x10046bfb", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xc8", + "MSVCRT.DLL::malloc", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10046c21", + "id": 24, + "impl": "CMC_Array_Runner::mula", + "impl_addr": "0x10048070", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xec" + ], + "case_addr": "0x10046c3d", + "id": 25, + "impl": null, + "impl_addr": "0x10046c3d", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x100471fb", + "id": 26, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x100471fb", + "id": 27, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x100471fb", + "id": 28, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x100471fb", + "id": 29, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x100471fb", + "id": 30, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x100471fb", + "id": 31, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xc8", + "MSVCRT.DLL::malloc", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10046c63", + "id": 32, + "impl": "CMC_Array_Runner::diva", + "impl_addr": "0x100481e0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "vtbl+0x90", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10046c7f", + "id": 33, + "impl": null, + "impl_addr": "0x10046c7f", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "vtbl+0x90", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10046d89", + "id": 34, + "impl": null, + "impl_addr": "0x10046d89", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "vtbl+0x90", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10046e79", + "id": 35, + "impl": null, + "impl_addr": "0x10046e79", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x118" + ], + "case_addr": "0x10046ee9", + "id": 36, + "impl": null, + "impl_addr": "0x10046ee9", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x11c" + ], + "case_addr": "0x10046f16", + "id": 37, + "impl": "CMC_Array_Runner::load", + "impl_addr": "0x100487f0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x120" + ], + "case_addr": "0x10046f32", + "id": 38, + "impl": "CMC_Array_Runner::save", + "impl_addr": "0x10048820", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x30", + "vtbl+0xbc", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004699a", + "id": 39, + "impl": null, + "impl_addr": "0x1004699a", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0x100" + ], + "case_addr": "0x10046fe8", + "id": 40, + "impl": null, + "impl_addr": "0x10046fe8", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0x104" + ], + "case_addr": "0x10047035", + "id": 41, + "impl": null, + "impl_addr": "0x10047035", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0x108" + ], + "case_addr": "0x10046f4e", + "id": 42, + "impl": null, + "impl_addr": "0x10046f4e", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0x10c" + ], + "case_addr": "0x10046f9b", + "id": 43, + "impl": null, + "impl_addr": "0x10046f9b", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_EditBox::getEditBox", + "vtbl+0x110" + ], + "case_addr": "0x10047082", + "id": 44, + "impl": null, + "impl_addr": "0x10047082", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x90", + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_Integer::setValue" + ], + "case_addr": "0x100470cf", + "id": 45, + "impl": "CMC_Array_Runner::clampAt", + "impl_addr": "0x10048890", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "MSVCRT.DLL::operator_new", + "CPath::CPath" + ], + "case_addr": "0x100470eb", + "id": 46, + "impl": "CMC_Array_Runner::dir", + "impl_addr": "0x100489d0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x124" + ], + "case_addr": "0x10047107", + "id": 47, + "impl": "CMC_Array_Runner::compare", + "impl_addr": "0x10048d30", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x1004713f", + "id": 48, + "impl": "CMC_Array_Runner::sendOnChange", + "impl_addr": "0x10048dd0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "CMC_DLLExModuleInterface::getModuleInterface" + ], + "case_addr": "0x1004715b", + "id": 49, + "impl": "CMC_Array::shiftLeft", + "impl_addr": "0x100458a0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "CMC_DLLExModuleInterface::getModuleInterface" + ], + "case_addr": "0x1004716e", + "id": 50, + "impl": "CMC_Array::shiftRight", + "impl_addr": "0x10045c40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "vtbl+0x38", + "CMC_Array::onChanged" + ], + "case_addr": "0x10047181", + "id": 51, + "impl": "CMC_Array::rotateLeft", + "impl_addr": "0x10045ff0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "vtbl+0x38", + "CMC_Array::onChanged" + ], + "case_addr": "0x10047194", + "id": 52, + "impl": "CMC_Array::rotateRight", + "impl_addr": "0x10046050", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x114" + ], + "case_addr": "0x100471a7", + "id": 53, + "impl": "CMC_Array_Runner::swap", + "impl_addr": "0x100487a0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free" + ], + "case_addr": "0x100469cd", + "id": 54, + "impl": "CMC_Array_Runner::findAll", + "impl_addr": "0x10047950", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1004719c", + "id": 55, + "impl": null, + "impl_addr": "0x1004719c", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0xc8", + "vtbl+0x90", + "CMC_Double::getValue" + ], + "case_addr": "0x10046dff", + "id": 56, + "impl": null, + "impl_addr": "0x10046dff", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0xc8", + "vtbl+0x90", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_Double::getValue" + ], + "case_addr": "0x10046cf9", + "id": 57, + "impl": null, + "impl_addr": "0x10046cf9", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0xc8", + "vtbl+0x90", + "vtbl+0x94", + "vtbl+0xc8" + ], + "case_addr": "0x10047123", + "id": 58, + "impl": "CMC_Array_Runner::copyTo", + "impl_addr": "0x10048e50", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xa8", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x30", + "vtbl+0x94" + ], + "case_addr": "0x100471c3", + "id": 59, + "impl": "CMC_Array_Runner::fill", + "impl_addr": "0x10047360", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xa8", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CXRandom::random_vector", + "CMC_EditBox::getEditBox", + "MSVCRT.DLL::operator_new" + ], + "case_addr": "0x100471df", + "id": 60, + "impl": "CMC_Array_Runner::randomFill", + "impl_addr": "0x100473c0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_Behaviour_Runner::getParams", + "vtbl+0x90" + ], + "case_addr": "0x1005280a", + "id": 1, + "impl": null, + "impl_addr": "0x1005280a", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "CMC_Behaviour_Runner::getParams", + "vtbl+0x90", + "CMC_Behaviour_Runner::flushParams" + ], + "case_addr": "0x1005288b", + "id": 2, + "impl": null, + "impl_addr": "0x1005288b", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x100528e5", + "id": 3, + "impl": "CMC_Behaviour_Runner::runLooped", + "impl_addr": "0x100523d0", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "vtbl+0x9c" + ], + "case_addr": "0x100528ff", + "id": 4, + "impl": null, + "impl_addr": "0x100528ff", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [], + "case_addr": "0x10052913", + "id": 5, + "impl": null, + "impl_addr": "0x10052913", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [], + "case_addr": "0x10052926", + "id": 6, + "impl": null, + "impl_addr": "0x10052926", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CXRect::operator=", + "CMC_Object::flush" + ], + "case_addr": "0x10056aa8", + "id": 1, + "impl": "CMC_Button_Runner::setRect", + "impl_addr": "0x10056420", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x30" + ], + "case_addr": "0x10056ac0", + "id": 2, + "impl": null, + "impl_addr": "0x10056ac0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x30" + ], + "case_addr": "0x10056ad8", + "id": 3, + "impl": null, + "impl_addr": "0x10056ad8", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [], + "case_addr": "0x10056af0", + "id": 4, + "impl": "CMC_Button::getButton", + "impl_addr": "0x10054ba0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [], + "case_addr": "0x10056b06", + "id": 5, + "impl": "CMC_Button::getButton", + "impl_addr": "0x10054ba0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x80" + ], + "case_addr": "0x10056b1c", + "id": 6, + "impl": null, + "impl_addr": "0x10056b1c", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::Accent", + "CMC_Object::flush" + ], + "case_addr": "0x10056b35", + "id": 7, + "impl": "CMC_Button_Runner::accent", + "impl_addr": "0x10056640", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Object::flush", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::Set", + "CMC_Object::flush" + ], + "case_addr": "0x10056b4d", + "id": 8, + "impl": "CMC_Button_Runner::setStd", + "impl_addr": "0x100566a0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::SetOnMove", + "CMC_Object::flush" + ], + "case_addr": "0x10056b65", + "id": 9, + "impl": "CMC_Button_Runner::setOnMove", + "impl_addr": "0x10056730", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::SetOnClick", + "CMC_Object::flush" + ], + "case_addr": "0x10056b7d", + "id": 10, + "impl": "CMC_Button_Runner::setOnClick", + "impl_addr": "0x10056790", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Button::getButton", + "CMC_EditBox::getEditBox", + "vtbl+0x6c" + ], + "case_addr": "0x10056b95", + "id": 11, + "impl": null, + "impl_addr": "0x10056b95", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Button::getButton", + "vtbl+0x68", + "CMC_Integer::setValue" + ], + "case_addr": "0x10056bc7", + "id": 12, + "impl": null, + "impl_addr": "0x10056bc7", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CMC_VariableFactory::allocString", + "CMC_ObjectsContainer::getGraphicsObjectName", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10056bec", + "id": 13, + "impl": "CMC_Button_Runner::getStd", + "impl_addr": "0x100567f0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CMC_VariableFactory::allocString", + "CMC_ObjectsContainer::getGraphicsObjectName", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10056c04", + "id": 14, + "impl": "CMC_Button_Runner::getOnMove", + "impl_addr": "0x100568d0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CMC_VariableFactory::allocString", + "CMC_ObjectsContainer::getGraphicsObjectName", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10056c1c", + "id": 15, + "impl": "CMC_Button_Runner::getOnClick", + "impl_addr": "0x100569b0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Keyboard::getLatestKey", + "vtbl+0x94" + ], + "case_addr": "0x1005a87d", + "id": 1, + "impl": "CMC_Canvas_Runner::add", + "impl_addr": "0x100591d0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x11c" + ], + "case_addr": "0x1005a89a", + "id": 2, + "impl": "CMC_Canvas_Runner::remove", + "impl_addr": "0x10059230", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x7c" + ], + "case_addr": "0x1005a8b7", + "id": 3, + "impl": null, + "impl_addr": "0x1005a8b7", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x7c" + ], + "case_addr": "0x1005a8ce", + "id": 4, + "impl": null, + "impl_addr": "0x1005a8ce", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CRefreshScreen::SetPriority", + "vtbl+0x104" + ], + "case_addr": "0x1005a8e5", + "id": 5, + "impl": null, + "impl_addr": "0x1005a8e5", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x58", + "vtbl+0x104" + ], + "case_addr": "0x1005a927", + "id": 6, + "impl": null, + "impl_addr": "0x1005a927", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x6c" + ], + "case_addr": "0x1005a97e", + "id": 7, + "impl": null, + "impl_addr": "0x1005a97e", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x120", + "vtbl+0x124", + "vtbl+0x104" + ], + "case_addr": "0x1005a9bf", + "id": 8, + "impl": null, + "impl_addr": "0x1005a9bf", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x98" + ], + "case_addr": "0x1005a9ef", + "id": 9, + "impl": null, + "impl_addr": "0x1005a9ef", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c" + ], + "case_addr": "0x1005aa32", + "id": 10, + "impl": null, + "impl_addr": "0x1005aa32", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x9c" + ], + "case_addr": "0x1005aa5d", + "id": 11, + "impl": null, + "impl_addr": "0x1005aa5d", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x12c" + ], + "case_addr": "0x1005aab5", + "id": 12, + "impl": "CMC_Canvas_Runner::erase", + "impl_addr": "0x100594a0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x114", + "vtbl+0x130" + ], + "case_addr": "0x1005aad2", + "id": 13, + "impl": "CMC_Canvas_Runner::draw", + "impl_addr": "0x10059510", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x38", + "CMC_Double::getValue" + ], + "case_addr": "0x1005aaef", + "id": 14, + "impl": "CMC_Canvas_Runner::save", + "impl_addr": "0x100596a0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x100" + ], + "case_addr": "0x1005c0ed", + "id": 1, + "impl": null, + "impl_addr": "0x1005c0ed", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "vtbl+0x3c" + ], + "case_addr": "0x1005c10b", + "id": 2, + "impl": "CMC_CanvasObserver_Runner::add", + "impl_addr": "0x1005b9b0", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CRefreshScreen::operator>>", + "CMC_Object::flush" + ], + "case_addr": "0x1005c128", + "id": 3, + "impl": "CMC_CanvasObserver_Runner::remove", + "impl_addr": "0x1005ba40", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CRefreshScreen::SetBackground" + ], + "case_addr": "0x1005c145", + "id": 4, + "impl": "CMC_CanvasObserver_Runner::setBackground", + "impl_addr": "0x1005baa0", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Button::getButton", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34" + ], + "case_addr": "0x1005c162", + "id": 5, + "impl": "CMC_CanvasObserver_Runner::getGraphicsAt", + "impl_addr": "0x1005bb20", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Button::getButton", + "CRefreshScreen::getBackgroundIfc", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x6c", + "vtbl+0x100" + ], + "case_addr": "0x1005c17f", + "id": 6, + "impl": null, + "impl_addr": "0x1005c17f", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Button::getButton", + "CRefreshScreen::getBackgroundIfc", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x58", + "vtbl+0x100" + ], + "case_addr": "0x1005c1e3", + "id": 7, + "impl": null, + "impl_addr": "0x1005c1e3", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "vtbl+0x38", + "CMC_Double::getValue" + ], + "case_addr": "0x1005c247", + "id": 8, + "impl": "CMC_CanvasObserver_Runner::save", + "impl_addr": "0x1005be00", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x1005c264", + "id": 9, + "impl": null, + "impl_addr": "0x1005c264", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x100", + "vtbl+0x28" + ], + "case_addr": "0x1005c28f", + "id": 10, + "impl": null, + "impl_addr": "0x1005c28f", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Button::getButton", + "CMC_Integer::setValue" + ], + "case_addr": "0x1005c2b9", + "id": 11, + "impl": null, + "impl_addr": "0x1005c2b9", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Object::getName", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Database::add" + ], + "case_addr": "0x10062668", + "id": 1, + "impl": "CMC_Database_Runner::add", + "impl_addr": "0x10062340", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x30", + "CMC_Keyboard::getLatestKey", + "CMC_Database::remove" + ], + "case_addr": "0x10062680", + "id": 2, + "impl": "CMC_Database_Runner::remove", + "impl_addr": "0x100623d0", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Database::load" + ], + "case_addr": "0x10062698", + "id": 3, + "impl": "CMC_Database_Runner::load", + "impl_addr": "0x10062410", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Database::save" + ], + "case_addr": "0x100626b0", + "id": 4, + "impl": "CMC_Database_Runner::save", + "impl_addr": "0x10062440", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x50" + ], + "case_addr": "0x100626c8", + "id": 5, + "impl": "CMC_Database::removeAll", + "impl_addr": "0x10061aa0", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x30", + "CMC_Keyboard::getLatestKey", + "CMC_Database::find", + "CMC_Integer::setValue" + ], + "case_addr": "0x100626d7", + "id": 6, + "impl": "CMC_Database_Runner::find", + "impl_addr": "0x10062480", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Database::select" + ], + "case_addr": "0x100626ef", + "id": 7, + "impl": null, + "impl_addr": "0x100626ef", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [], + "case_addr": "0x10062712", + "id": 8, + "impl": "CMC_Database::next", + "impl_addr": "0x10061e10", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0xe4" + ], + "case_addr": "0x10062721", + "id": 9, + "impl": "CMC_Database::prev", + "impl_addr": "0x10061e40", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Database::getRows", + "CMC_Integer::setValue" + ], + "case_addr": "0x10062730", + "id": 10, + "impl": null, + "impl_addr": "0x10062730", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Database::removeAt" + ], + "case_addr": "0x1006274e", + "id": 11, + "impl": null, + "impl_addr": "0x1006274e", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x40", + "CMC_Object::getName", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_EditBox::getEditBox", + "CMC_Database::insertAt" + ], + "case_addr": "0x10062771", + "id": 12, + "impl": "CMC_Database_Runner::insertAt", + "impl_addr": "0x10062590", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10062789", + "id": 13, + "impl": null, + "impl_addr": "0x10062789", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x34" + ], + "case_addr": "0x100638d1", + "id": 1, + "impl": null, + "impl_addr": "0x100638d1", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x38" + ], + "case_addr": "0x100638e2", + "id": 2, + "impl": null, + "impl_addr": "0x100638e2", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_Image::getImage" + ], + "case_addr": "0x100638a3", + "id": 3, + "impl": "CMC_Dialog_Runner::setBackground", + "impl_addr": "0x10063790", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_Button::getButton", + "vtbl+0x2c" + ], + "case_addr": "0x100638ba", + "id": 4, + "impl": "CMC_Dialog_Runner::add", + "impl_addr": "0x10063690", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_EditBox::getEditBox", + "CEditBox6::setText", + "CMC_Object::flush" + ], + "case_addr": "0x1006a18d", + "id": 1, + "impl": "CMC_EditBox_Runner::setText", + "impl_addr": "0x1006a370", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_EditBox::getEditBox", + "CEditBox6::getText", + "CMC_String::setValue" + ], + "case_addr": "0x1006a1c7", + "id": 2, + "impl": "CMC_EditBox_Runner::getText", + "impl_addr": "0x1006a4b0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "CEditBox6::activate" + ], + "case_addr": "0x1006a1e4", + "id": 3, + "impl": null, + "impl_addr": "0x1006a1e4", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [], + "case_addr": "0x1006a1ff", + "id": 4, + "impl": null, + "impl_addr": "0x1006a1ff", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [], + "case_addr": "0x1006a203", + "id": 5, + "impl": null, + "impl_addr": "0x1006a203", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "CEditBox6::enable" + ], + "case_addr": "0x1006a207", + "id": 6, + "impl": null, + "impl_addr": "0x1006a207", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_EditBox::getEditBox", + "CEditBox6::getText", + "CMC_Keyboard::getLatestKey", + "operator+", + "CMC_EditBox::getEditBox", + "CEditBox6::setText", + "MSVCRT.DLL::free", + "CMC_Object::flush", + "MSVCRT.DLL::free" + ], + "case_addr": "0x1006a1aa", + "id": 7, + "impl": "CMC_EditBox_Runner::addText", + "impl_addr": "0x1006a3e0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x2c" + ], + "case_addr": "0x1006a222", + "id": 8, + "impl": null, + "impl_addr": "0x1006a222", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x28" + ], + "case_addr": "0x1006a271", + "id": 9, + "impl": null, + "impl_addr": "0x1006a271", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CEditBox6::setPriority" + ], + "case_addr": "0x1006a2c0", + "id": 10, + "impl": null, + "impl_addr": "0x1006a2c0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CEditBox6::updateCursor" + ], + "case_addr": "0x1006a2f1", + "id": 11, + "impl": null, + "impl_addr": "0x1006a2f1", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_Scene::getSubId" + ], + "case_addr": "0x1006c077", + "id": 1, + "impl": "CMC_Episode::next", + "impl_addr": "0x1006baa0", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_Scene::getSubId" + ], + "case_addr": "0x1006c085", + "id": 2, + "impl": "CMC_Episode::prev", + "impl_addr": "0x1006bad0", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0x44" + ], + "case_addr": "0x1006c093", + "id": 3, + "impl": "CMC_Episode::back", + "impl_addr": "0x1006bb00", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0xd8" + ], + "case_addr": "0x1006c0a1", + "id": 4, + "impl": null, + "impl_addr": "0x1006c0a1", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x1006c0b2", + "id": 5, + "impl": "CMC_Application_Runner::_goto", + "impl_addr": "0x10041f00", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Episode::getLatestScene", + "CMC_String::setValue" + ], + "case_addr": "0x1006c0c9", + "id": 6, + "impl": "CMC_Episode_Runner::getLatestScene", + "impl_addr": "0x1006bff0", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0xb0", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x1006c0e0", + "id": 7, + "impl": "CMC_Episode_Runner::getCurrentScene", + "impl_addr": "0x1006c020", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Button::getButton", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10071c6a", + "id": 1, + "impl": "CMC_Font_Runner::setColor", + "impl_addr": "0x10071a80", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CSimpleFont6::setFamily", + "CMC_Object::flush" + ], + "case_addr": "0x10071c9e", + "id": 2, + "impl": "CMC_Font_Runner::setStyle", + "impl_addr": "0x10071b70", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CSimpleFont6::setStyle", + "CMC_Object::flush" + ], + "case_addr": "0x10071c84", + "id": 3, + "impl": "CMC_Font_Runner::setFamily", + "impl_addr": "0x10071bc0", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CSimpleFont6::setSize", + "CMC_Object::flush" + ], + "case_addr": "0x10071cb8", + "id": 4, + "impl": null, + "impl_addr": "0x10071cb8", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Groupped::add", + "CMC_Object::flush" + ], + "case_addr": "0x10072cb9", + "id": 1, + "impl": "CMC_Groupped_Runner::add", + "impl_addr": "0x10072960", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Groupped::remove", + "CMC_Object::flush" + ], + "case_addr": "0x10072cd2", + "id": 2, + "impl": "CMC_Groupped_Runner::remove", + "impl_addr": "0x10072b60", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [], + "case_addr": "0x10072ceb", + "id": 3, + "impl": "CMC_Groupped::removeAll", + "impl_addr": "0x10072680", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10072cfb", + "id": 4, + "impl": null, + "impl_addr": "0x10072cfb", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Groupped::get", + "CMC_VariableFactory::allocString", + "CMC_Object::getName", + "CMC_String::setValue", + "CMC_Object::flush" + ], + "case_addr": "0x10072d1f", + "id": 5, + "impl": "CMC_Groupped_Runner::getName", + "impl_addr": "0x10072c40", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0x90", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x10072d6a", + "id": 6, + "impl": "CMC_Groupped_Runner::prev", + "impl_addr": "0x10072fe0", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0x94", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x10072d51", + "id": 7, + "impl": "CMC_Groupped_Runner::next", + "impl_addr": "0x10073050", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush" + ], + "case_addr": "0x10072d38", + "id": 8, + "impl": "CMC_Groupped_Runner::addClones", + "impl_addr": "0x10072a30", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x98" + ], + "case_addr": "0x10072d83", + "id": 9, + "impl": null, + "impl_addr": "0x10072d83", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x9c", + "CMC_Integer::setValue" + ], + "case_addr": "0x10072d96", + "id": 10, + "impl": null, + "impl_addr": "0x10072d96", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "vtbl+0xa0" + ], + "case_addr": "0x10072db8", + "id": 11, + "impl": null, + "impl_addr": "0x10072db8", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x4c" + ], + "case_addr": "0x10072e20", + "id": 12, + "impl": "CMC_Runner::clone", + "impl_addr": "0x100963a0", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "CMC_Integer::setValue" + ], + "case_addr": "0x10072dee", + "id": 13, + "impl": "CMC_Runner::getCloneIdx", + "impl_addr": "0x10096640", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x9c", + "CMC_Groupped::get", + "CMC_Object::getName", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10072e07", + "id": 14, + "impl": "CMC_Groupped_Runner::getNameAtMarker", + "impl_addr": "0x10073150", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_EditBox::getEditBox", + "vtbl+0x98", + "CMC_Integer::setValue" + ], + "case_addr": "0x1007cda8", + "id": 1, + "impl": null, + "impl_addr": "0x1007cda8", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_VariableFactory::allocInteger", + "operator==" + ], + "case_addr": "0x1007cdee", + "id": 2, + "impl": "CMC_Joystick_Runner::getPosition", + "impl_addr": "0x1007cc30", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x9c", + "CMC_Bool::setValue" + ], + "case_addr": "0x1007ce06", + "id": 3, + "impl": null, + "impl_addr": "0x1007ce06", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x9c", + "CMC_Bool::setValue" + ], + "case_addr": "0x1007ce2e", + "id": 4, + "impl": null, + "impl_addr": "0x1007ce2e", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [], + "case_addr": "0x1007ec2a", + "id": 1, + "impl": "CMC_Keyboard::enable", + "impl_addr": "0x1007da30", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [], + "case_addr": "0x1007ec39", + "id": 2, + "impl": "CMC_Keyboard::disable", + "impl_addr": "0x1007da40", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CWindow::getKeyboardInterface", + "vtbl+0x34", + "CMC_Bool::getValue", + "CKeyboard::setAutoRepeat", + "CMC_Object::flush" + ], + "case_addr": "0x1007ec48", + "id": 3, + "impl": null, + "impl_addr": "0x1007ec48", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CWindow::getKeyboardInterface", + "CMC_VariableFactory::allocBool", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CKeyboard::isKeyPressed" + ], + "case_addr": "0x1007ec88", + "id": 4, + "impl": "CMC_Keyboard_Runner::isKeyDown", + "impl_addr": "0x1007e9d0", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [], + "case_addr": "0x1007ecf2", + "id": 5, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x90", + "CMC_String::setValue" + ], + "case_addr": "0x1007eca2", + "id": 6, + "impl": "CMC_Keyboard_Runner::getLatestKey", + "impl_addr": "0x1007ea70", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x1007ecd6", + "id": 7, + "impl": null, + "impl_addr": "0x1007ecd6", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x94", + "CMC_VariableFactory::allocString", + "vtbl+0x60", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x1007ecbc", + "id": 8, + "impl": "CMC_Keyboard_Runner::getLatestKeys", + "impl_addr": "0x1007eaa0", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CWindow::ShowCursor" + ], + "case_addr": "0x100805cc", + "id": 1, + "impl": "CMC_Mouse::show", + "impl_addr": "0x1007fa20", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CWindow::HideCursor" + ], + "case_addr": "0x100805dd", + "id": 2, + "impl": "CMC_Mouse::hide", + "impl_addr": "0x1007fa40", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x100805ee", + "id": 3, + "impl": "CMC_Mouse::enable", + "impl_addr": "0x10080450", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x100805ff", + "id": 4, + "impl": "CMC_Mouse::disable", + "impl_addr": "0x10080470", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Image::getImage", + "CMC_Integer::setValue" + ], + "case_addr": "0x10080610", + "id": 5, + "impl": null, + "impl_addr": "0x10080610", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CMC_Integer::setValue" + ], + "case_addr": "0x10080630", + "id": 6, + "impl": null, + "impl_addr": "0x10080630", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Mouse::getLastClickPosX", + "CMC_Integer::setValue" + ], + "case_addr": "0x10080650", + "id": 7, + "impl": null, + "impl_addr": "0x10080650", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Mouse::getLastClickPosY", + "CMC_Integer::setValue" + ], + "case_addr": "0x10080670", + "id": 8, + "impl": null, + "impl_addr": "0x10080670", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10080690", + "id": 9, + "impl": "CMC_Mouse_Runner::set", + "impl_addr": "0x10080950", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_Mouse::setPosition", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100806ac", + "id": 10, + "impl": null, + "impl_addr": "0x100806ac", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Image::getImage", + "CMC_EditBox::getEditBox", + "CMC_Image::getImage", + "CMC_Mouse::setPosition", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100806fc", + "id": 11, + "impl": null, + "impl_addr": "0x100806fc", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10080766", + "id": 12, + "impl": "CMC_Mouse_Runner::click", + "impl_addr": "0x10080b00", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x10080782", + "id": 13, + "impl": null, + "impl_addr": "0x10080782", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x10080792", + "id": 14, + "impl": null, + "impl_addr": "0x10080792", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x100807a2", + "id": 15, + "impl": "CMC_Mouse_Runner::mouse_release", + "impl_addr": "0x10080d00", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Mouse::reset" + ], + "case_addr": "0x100807be", + "id": 16, + "impl": "CMC_Mouse_Runner::setClipRect", + "impl_addr": "0x10080f00", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "CWindow::EndActiveCursor" + ], + "case_addr": "0x100807da", + "id": 17, + "impl": null, + "impl_addr": "0x100807da", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::operator_new", + "vtbl+0x30", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x94", + "MSVCRT.DLL::operator_delete" + ], + "case_addr": "0x10084049", + "id": 1, + "impl": "CMC_MultiArray_Runner::set", + "impl_addr": "0x10084170", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::operator_new", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x98", + "CMC_VariableFactory::allocString", + "MSVCRT.DLL::malloc", + "CMC_String::setValue" + ], + "case_addr": "0x10084062", + "id": 2, + "impl": "CMC_MultiArray_Runner::get", + "impl_addr": "0x10084280", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_EditBox::getEditBox", + "vtbl+0xa8", + "CMC_Integer::setValue" + ], + "case_addr": "0x1008407b", + "id": 3, + "impl": null, + "impl_addr": "0x1008407b", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "CMC_VariableFactory::allocInteger", + "vtbl+0x9c", + "CMC_Integer::setValue" + ], + "case_addr": "0x100840b9", + "id": 4, + "impl": null, + "impl_addr": "0x100840b9", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0xb0" + ], + "case_addr": "0x100840ea", + "id": 5, + "impl": "CMC_MultiArray_Runner::load", + "impl_addr": "0x10084450", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0xac" + ], + "case_addr": "0x10084103", + "id": 6, + "impl": "CMC_MultiArray_Runner::save", + "impl_addr": "0x10084480", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::operator_new", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x98", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x1008411c", + "id": 7, + "impl": "CMC_MultiArray_Runner::safeGet", + "impl_addr": "0x100843b0", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "OLE32.DLL::CoInitializeEx", + "OLE32.DLL::CoCreateInstance", + "OLE32.DLL::CoCreateInstance", + "vtbl+0xc", + "vtbl+0xc", + "OLE32.DLL::CoCreateInstance", + "vtbl+0x34", + "OLE32.DLL::CoCreateInstance" + ], + "case_addr": "0x10085656", + "id": 1, + "impl": "CNetworkClient::connect", + "impl_addr": "0x100c57c0", + "owner": "CMC_NetClient", + "runner": "CMC_NetClient_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "vtbl+0x8", + "vtbl+0x24", + "vtbl+0x8" + ], + "case_addr": "0x10085668", + "id": 2, + "impl": "CNetworkClient::disconnect", + "impl_addr": "0x100c5970", + "owner": "CMC_NetClient", + "runner": "CMC_NetClient_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x1008567a", + "id": 3, + "impl": null, + "impl_addr": "0x1008567a", + "owner": "CMC_NetClient", + "runner": "CMC_NetClient_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10085697", + "id": 4, + "impl": null, + "impl_addr": "0x10085697", + "owner": "CMC_NetClient", + "runner": "CMC_NetClient_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_NetClient::sendCmd" + ], + "case_addr": "0x100856b4", + "id": 5, + "impl": "CMC_NetClient_Runner::sendCmd", + "impl_addr": "0x10085c80", + "owner": "CMC_NetClient", + "runner": "CMC_NetClient_Runner" + }, + { + "calls": [ + "OLE32.DLL::CoInitializeEx", + "OLE32.DLL::CoCreateInstance", + "vtbl+0xc", + "OLE32.DLL::CoCreateInstance", + "vtbl+0x34", + "vtbl+0x48", + "KERNEL32.DLL::MultiByteToWideChar" + ], + "case_addr": "0x10086fba", + "id": 1, + "impl": "CNetworkServer::start", + "impl_addr": "0x100c61c0", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "vtbl+0x5c", + "vtbl+0x8", + "vtbl+0x50" + ], + "case_addr": "0x10086fcc", + "id": 2, + "impl": "CNetworkServer::stop", + "impl_addr": "0x100c6340", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CNetworkServer::getLatestPlayer", + "CGraphicsObject::getFileName", + "CMC_String::setValue" + ], + "case_addr": "0x10086fde", + "id": 3, + "impl": "CMC_NetServer_Runner::getLatestPlayerName", + "impl_addr": "0x100876d0", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10086ff6", + "id": 4, + "impl": null, + "impl_addr": "0x10086ff6", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10087015", + "id": 5, + "impl": "CMC_NetServer_Runner::sendCmd", + "impl_addr": "0x10087710", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_NetServer::getDestroyedName", + "CMC_String::setValue" + ], + "case_addr": "0x1008702d", + "id": 6, + "impl": "CMC_NetServer_Runner::getDestroyedName", + "impl_addr": "0x100878b0", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10092aac", + "id": 1, + "impl": "CMC_Pattern_Runner::add", + "impl_addr": "0x10090880", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CPattern::setGrid" + ], + "case_addr": "0x10092ac8", + "id": 2, + "impl": null, + "impl_addr": "0x10092ac8", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CPattern::move" + ], + "case_addr": "0x10092b0e", + "id": 3, + "impl": null, + "impl_addr": "0x10092b0e", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x34", + "vtbl+0x34", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Bool::getValue", + "CMC_Bool::getValue" + ], + "case_addr": "0x10092b8a", + "id": 4, + "impl": "CMC_Pattern_Runner::getGraphicsAt", + "impl_addr": "0x10090cd0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::malloc", + "vtbl+0x30", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10092ba6", + "id": 5, + "impl": "CMC_Pattern_Runner::remove", + "impl_addr": "0x10090a40", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x34", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Bool::getValue", + "CPattern::getGraphicsObjectAlias", + "CMC_VariableFactory::allocString", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10092bc2", + "id": 6, + "impl": "CMC_Pattern_Runner::getAliasAt", + "impl_addr": "0x10090fe0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x34", + "vtbl+0x34", + "vtbl+0x3c", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10092bfa", + "id": 7, + "impl": "CMC_Pattern_Runner::getInfoAt", + "impl_addr": "0x10091440", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10092c16", + "id": 8, + "impl": "CMC_Pattern_Runner::getAliasInfo", + "impl_addr": "0x10091890", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_VariableFactory::allocBool", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0xd8", + "vtbl+0xcc" + ], + "case_addr": "0x10092c32", + "id": 9, + "impl": "CMC_Pattern_Runner::getCellCord", + "impl_addr": "0x10091ce0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x10092bde", + "id": 10, + "impl": "CMC_Pattern_Runner::getAliasAtCell", + "impl_addr": "0x10091210", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x64" + ], + "case_addr": "0x10092b4c", + "id": 11, + "impl": null, + "impl_addr": "0x10092b4c", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::malloc", + "vtbl+0x88" + ], + "case_addr": "0x10095e5a", + "id": 96, + "impl": "CMC_Runner::send", + "impl_addr": "0x100960f0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x94", + "CMC_Object::flush" + ], + "case_addr": "0x10095e8a", + "id": 97, + "impl": "CMC_Runner::addToArray", + "impl_addr": "0x100962d0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Groupped::add", + "CMC_Object::flush" + ], + "case_addr": "0x10095ea2", + "id": 98, + "impl": "CMC_Runner::addToGroup", + "impl_addr": "0x10096230", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x10095e72", + "id": 99, + "impl": "CMC_Runner::getName", + "impl_addr": "0x10096370", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x4c" + ], + "case_addr": "0x10095eba", + "id": 100, + "impl": null, + "impl_addr": "0x10095eba", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "CXString::Replace", + "vtbl+0x2c", + "MSVCRT.DLL::operator_new", + "CXArray::CXArray" + ], + "case_addr": "0x10095eed", + "id": 101, + "impl": "CMC_Runner::addBehaviour", + "impl_addr": "0x100963e0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "CMC_Integer::setValue" + ], + "case_addr": "0x10095f05", + "id": 102, + "impl": null, + "impl_addr": "0x10095f05", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [], + "case_addr": "0x10095f53", + "id": 103, + "impl": null, + "impl_addr": "0x10095f53", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x50" + ], + "case_addr": "0x10095f23", + "id": 104, + "impl": null, + "impl_addr": "0x10095f23", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CXString::Replace", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x10095f32", + "id": 105, + "impl": "CMC_Runner::removeBehaviour", + "impl_addr": "0x10096540", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::setValue" + ], + "case_addr": "0x10095f59", + "id": 106, + "impl": null, + "impl_addr": "0x10095f59", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x70" + ], + "case_addr": "0x10095f4a", + "id": 107, + "impl": null, + "impl_addr": "0x10095f4a", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x1009cf2b", + "id": 1, + "impl": "CMC_Scene_Runner::startMusic", + "impl_addr": "0x1009b960", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0xc0" + ], + "case_addr": "0x1009cf42", + "id": 2, + "impl": null, + "impl_addr": "0x1009cf42", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Scene::getDraggedName", + "CMC_String::setValue" + ], + "case_addr": "0x1009cf55", + "id": 3, + "impl": "CMC_Scene_Runner::getDraggedName", + "impl_addr": "0x1009bac0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0xf4" + ], + "case_addr": "0x1009cf6c", + "id": 4, + "impl": "CMC_Scene_Runner::getPlayingSeq", + "impl_addr": "0x1009baf0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_RunnerFactory::getRunner", + "vtbl+0x40", + "vtbl+0x60", + "CMC_DLLExModuleInterface::getModuleInterface" + ], + "case_addr": "0x1009cf83", + "id": 5, + "impl": "CMC_Scene_Runner::run", + "impl_addr": "0x1009bc10", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "MSVCRT.DLL::operator_new" + ], + "case_addr": "0x1009cf9a", + "id": 6, + "impl": "CMC_Scene_Runner::runClones", + "impl_addr": "0x1009c140", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Keyboard::getLatestKey", + "vtbl+0x100" + ], + "case_addr": "0x1009cfb1", + "id": 7, + "impl": "CMC_Scene_Runner::createObject", + "impl_addr": "0x1009c4d0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x90" + ], + "case_addr": "0x1009cfc8", + "id": 8, + "impl": "CMC_Scene_Runner::remove", + "impl_addr": "0x1009c560", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_Object::getName", + "vtbl+0x3c", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x1009cfdf", + "id": 9, + "impl": "CMC_Scene_Runner::removeClones", + "impl_addr": "0x1009c600", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x1009d2fb", + "id": 10, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x1009d2fb", + "id": 11, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x1009d2fb", + "id": 12, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x1009d2fb", + "id": 13, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x1009d2fb", + "id": 14, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x1009d2fb", + "id": 15, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CWindow::setMusicVolume" + ], + "case_addr": "0x1009cff6", + "id": 16, + "impl": null, + "impl_addr": "0x1009cff6", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CWindow::getMusicVolume", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009d04d", + "id": 17, + "impl": null, + "impl_addr": "0x1009d04d", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CWindow::setMusicPan" + ], + "case_addr": "0x1009d09d", + "id": 18, + "impl": null, + "impl_addr": "0x1009d09d", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CWindow::setMusicFreq" + ], + "case_addr": "0x1009d115", + "id": 19, + "impl": null, + "impl_addr": "0x1009d115", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x28", + "vtbl+0x28", + "CWindow::pause", + "vtbl+0x34", + "CMC_Bool::getValue", + "CXTimer::pause", + "CXTimer::enable" + ], + "case_addr": "0x1009d140", + "id": 20, + "impl": null, + "impl_addr": "0x1009d140", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x2c", + "vtbl+0x2c", + "CWindow::resume", + "vtbl+0x34", + "CMC_Bool::getValue", + "CXTimer::resume", + "CXTimer::enable" + ], + "case_addr": "0x1009d1b6", + "id": 21, + "impl": "CMC_Scene_Runner::resume", + "impl_addr": "0x1009c9e0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CHotSpot::setMinPriority" + ], + "case_addr": "0x1009d1cd", + "id": 22, + "impl": null, + "impl_addr": "0x1009d1cd", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CHotSpot::setMaxPriority" + ], + "case_addr": "0x1009d1f2", + "id": 23, + "impl": null, + "impl_addr": "0x1009d1f2", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CTextFormatCode::getColor", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009d217", + "id": 24, + "impl": null, + "impl_addr": "0x1009d217", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CXString::toString", + "CXString::operator+=", + "CXString::operator+=", + "CXString::operator+=", + "CMC_VariableFactory::allocString" + ], + "case_addr": "0x1009d239", + "id": 25, + "impl": "CMC_Scene_Runner::toTime", + "impl_addr": "0x1009cc50", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x1009d250", + "id": 26, + "impl": null, + "impl_addr": "0x1009d250", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0xf8" + ], + "case_addr": "0x1009d269", + "id": 27, + "impl": "CMC_Scene_Runner::getPlayingAnimo", + "impl_addr": "0x1009bb80", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0x2c", + "vtbl+0x2c", + "CWindow::resume", + "vtbl+0x34", + "CMC_Bool::getValue", + "CXTimer::resume", + "CXTimer::enable" + ], + "case_addr": "0x1009d280", + "id": 28, + "impl": "CMC_Scene_Runner::resumeExcept", + "impl_addr": "0x1009ca70", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CHotSpot::getMinPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009d297", + "id": 29, + "impl": null, + "impl_addr": "0x1009d297", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CHotSpot::getMaxPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009d2b2", + "id": 30, + "impl": null, + "impl_addr": "0x1009d2b2", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "vtbl+0xfc" + ], + "case_addr": "0x1009d2cd", + "id": 31, + "impl": "CMC_Scene_Runner::getRunningTimers", + "impl_addr": "0x1009cdd0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Keyboard::getLatestKey", + "vtbl+0x98" + ], + "case_addr": "0x1009d2e4", + "id": 32, + "impl": "CMC_Scene_Runner::getObjects", + "impl_addr": "0x1009ce60", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Scroll::add" + ], + "case_addr": "0x100a007c", + "id": 1, + "impl": "CMC_Scroll_Runner::add", + "impl_addr": "0x1009fe30", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Scroll::remove" + ], + "case_addr": "0x100a0098", + "id": 2, + "impl": "CMC_Scroll_Runner::remove", + "impl_addr": "0x1009fe70", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Scroll::scrollUp" + ], + "case_addr": "0x100a00b4", + "id": 3, + "impl": null, + "impl_addr": "0x100a00b4", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Scroll::scrollDown" + ], + "case_addr": "0x100a00db", + "id": 4, + "impl": null, + "impl_addr": "0x100a00db", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Scroll::scrollLeft" + ], + "case_addr": "0x100a0102", + "id": 5, + "impl": null, + "impl_addr": "0x100a0102", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Scroll::scrollRight" + ], + "case_addr": "0x100a0129", + "id": 6, + "impl": null, + "impl_addr": "0x100a0129", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_Scroll::setViewport" + ], + "case_addr": "0x100a0150", + "id": 7, + "impl": "CMC_Scroll_Runner::setViewport", + "impl_addr": "0x1009ff60", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CXRect::operator+=", + "CMC_Scroll::invalidate" + ], + "case_addr": "0x100a016c", + "id": 8, + "impl": null, + "impl_addr": "0x100a016c", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x40" + ], + "case_addr": "0x100a18db", + "id": 1, + "impl": "CMC_Sequence_Runner::play", + "impl_addr": "0x100a1480", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Object::flush", + "vtbl+0x64", + "vtbl+0x48" + ], + "case_addr": "0x100a18f6", + "id": 2, + "impl": null, + "impl_addr": "0x100a18f6", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x4c" + ], + "case_addr": "0x100a1955", + "id": 3, + "impl": null, + "impl_addr": "0x100a1955", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x50" + ], + "case_addr": "0x100a196c", + "id": 4, + "impl": null, + "impl_addr": "0x100a196c", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0xa0" + ], + "case_addr": "0x100a1983", + "id": 5, + "impl": null, + "impl_addr": "0x100a1983", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0xa4" + ], + "case_addr": "0x100a199d", + "id": 6, + "impl": null, + "impl_addr": "0x100a199d", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Sequence::getSequence", + "vtbl+0x64", + "CMC_Bool::setValue" + ], + "case_addr": "0x100a19b7", + "id": 7, + "impl": null, + "impl_addr": "0x100a19b7", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sequence::getSequence", + "CMC_EditBox::getEditBox", + "vtbl+0xb4" + ], + "case_addr": "0x100a19dd", + "id": 8, + "impl": null, + "impl_addr": "0x100a19dd", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sequence::getSequence", + "CMC_EditBox::getEditBox", + "vtbl+0xb8" + ], + "case_addr": "0x100a1a3d", + "id": 9, + "impl": null, + "impl_addr": "0x100a1a3d", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sequence::getSequence", + "CMC_EditBox::getEditBox", + "vtbl+0xbc" + ], + "case_addr": "0x100a1ac1", + "id": 10, + "impl": null, + "impl_addr": "0x100a1ac1", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Sequence::getSequence", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CSequencedPlayable::getLastPlayedEvent", + "CMC_String::setValue" + ], + "case_addr": "0x100a1af7", + "id": 11, + "impl": "CMC_Sequence_Runner::getEventName", + "impl_addr": "0x100a1cb0", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Sequence::getSequence", + "vtbl+0x30", + "CPath::GetExtension", + "CMC_String::setValue" + ], + "case_addr": "0x100a1b12", + "id": 12, + "impl": "CMC_Sequence_Runner::getPlaying", + "impl_addr": "0x100a1d40", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x44" + ], + "case_addr": "0x100a38ab", + "id": 1, + "impl": null, + "impl_addr": "0x100a38ab", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x48" + ], + "case_addr": "0x100a38c2", + "id": 2, + "impl": null, + "impl_addr": "0x100a38c2", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x4c" + ], + "case_addr": "0x100a3909", + "id": 3, + "impl": null, + "impl_addr": "0x100a3909", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x50" + ], + "case_addr": "0x100a3920", + "id": 4, + "impl": null, + "impl_addr": "0x100a3920", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [], + "case_addr": "0x100a3a92", + "id": 5, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [], + "case_addr": "0x100a3a92", + "id": 6, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_VariableFactory::allocBool", + "CMC_Keyboard::getLatestKey", + "CSound4::Load", + "CMC_Bool::setValue", + "CMC_Object::flush" + ], + "case_addr": "0x100a3937", + "id": 7, + "impl": "CMC_Sound_Runner::load", + "impl_addr": "0x100a36d0", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Button::getButton", + "CMC_EditBox::getEditBox", + "vtbl+0xb4" + ], + "case_addr": "0x100a3952", + "id": 8, + "impl": null, + "impl_addr": "0x100a3952", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Button::getButton", + "CMC_EditBox::getEditBox", + "vtbl+0xb8" + ], + "case_addr": "0x100a39b2", + "id": 9, + "impl": null, + "impl_addr": "0x100a39b2", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Button::getButton", + "CMC_EditBox::getEditBox", + "vtbl+0xbc" + ], + "case_addr": "0x100a3a36", + "id": 10, + "impl": null, + "impl_addr": "0x100a3a36", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Button::getButton", + "vtbl+0x64", + "CMC_Bool::setValue" + ], + "case_addr": "0x100a3a6c", + "id": 11, + "impl": null, + "impl_addr": "0x100a3a6c", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100aced8", + "id": 1, + "impl": null, + "impl_addr": "0x100aced8", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_System::getDateString", + "CMC_String::setValue" + ], + "case_addr": "0x100acf25", + "id": 2, + "impl": "CMC_System_Runner::getDateString", + "impl_addr": "0x100ab850", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time" + ], + "case_addr": "0x100acf3d", + "id": 3, + "impl": null, + "impl_addr": "0x100acf3d", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100acf55", + "id": 4, + "impl": null, + "impl_addr": "0x100acf55", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getDayOfWeekString", + "CMC_String::setValue" + ], + "case_addr": "0x100acf87", + "id": 5, + "impl": "CMC_System_Runner::getDayOfWeekString", + "impl_addr": "0x100ab8c0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100acf9f", + "id": 6, + "impl": null, + "impl_addr": "0x100acf9f", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getMonthString", + "CMC_String::setValue" + ], + "case_addr": "0x100acfd1", + "id": 7, + "impl": "CMC_System_Runner::getMonthString", + "impl_addr": "0x100ab930", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100acfe9", + "id": 8, + "impl": null, + "impl_addr": "0x100acfe9", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getTimeString", + "MSVCRT.DLL::malloc", + "CMC_String::setValue" + ], + "case_addr": "0x100ad020", + "id": 9, + "impl": "CMC_System_Runner::getTimeString", + "impl_addr": "0x100ab9a0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100ad0dc", + "id": 10, + "impl": null, + "impl_addr": "0x100ad0dc", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100ad038", + "id": 11, + "impl": null, + "impl_addr": "0x100ad038", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::time", + "MSVCRT.DLL::gmtime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100ad069", + "id": 12, + "impl": null, + "impl_addr": "0x100ad069", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "WINMM.DLL::timeGetTime", + "CMC_Integer::setValue" + ], + "case_addr": "0x100ad099", + "id": 13, + "impl": null, + "impl_addr": "0x100ad099", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "FUN_100ad290", + "CMC_Integer::setValue" + ], + "case_addr": "0x100ad0b4", + "id": 14, + "impl": null, + "impl_addr": "0x100ad0b4", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "KERNEL32.DLL::Sleep" + ], + "case_addr": "0x100ad10d", + "id": 15, + "impl": null, + "impl_addr": "0x100ad10d", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x100ad12d", + "id": 16, + "impl": "CMC_System_Runner::copyFile", + "impl_addr": "0x100abc80", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMultilineText6::setText", + "CMC_Object::flush" + ], + "case_addr": "0x100af952", + "id": 1, + "impl": "CMC_Text_Runner::setText", + "impl_addr": "0x100aec20", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100af996", + "id": 2, + "impl": "CMC_Text_Runner::setJustify", + "impl_addr": "0x100aedf0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x7c" + ], + "case_addr": "0x100af9b8", + "id": 3, + "impl": null, + "impl_addr": "0x100af9b8", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x7c" + ], + "case_addr": "0x100af9d8", + "id": 4, + "impl": null, + "impl_addr": "0x100af9d8", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x64" + ], + "case_addr": "0x100af9f8", + "id": 5, + "impl": null, + "impl_addr": "0x100af9f8", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x6c", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100afa3b", + "id": 6, + "impl": null, + "impl_addr": "0x100afa3b", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0xb4", + "CMC_Object::flush" + ], + "case_addr": "0x100afa9a", + "id": 7, + "impl": "CMC_Text_Runner::load", + "impl_addr": "0x100af0d0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "CGraphicsObject::SetClippingRect" + ], + "case_addr": "0x100afabc", + "id": 8, + "impl": null, + "impl_addr": "0x100afabc", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CXRect::operator=", + "CMC_Object::flush" + ], + "case_addr": "0x100afae2", + "id": 9, + "impl": "CMC_Text_Runner::setClipping", + "impl_addr": "0x100af140", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100afb04", + "id": 10, + "impl": null, + "impl_addr": "0x100afb04", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100afb3b", + "id": 11, + "impl": null, + "impl_addr": "0x100afb3b", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x100afb73", + "id": 12, + "impl": null, + "impl_addr": "0x100afb73", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100afba3", + "id": 13, + "impl": null, + "impl_addr": "0x100afba3", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_VariableFactory::allocBool", + "CMC_EditBox::getEditBox", + "vtbl+0xf4", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100afbd3", + "id": 14, + "impl": "CMC_Text_Runner::isNear", + "impl_addr": "0x100af3a0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x100afbf5", + "id": 15, + "impl": null, + "impl_addr": "0x100afbf5", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x120" + ], + "case_addr": "0x100afc43", + "id": 16, + "impl": "CMC_Text_Runner::setColor", + "impl_addr": "0x100af560", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CGraphicsObject::addObject" + ], + "case_addr": "0x100afc65", + "id": 17, + "impl": "CMC_Text_Runner::drawOnto", + "impl_addr": "0x100af6a0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CText6::getHJustify", + "vtbl+0xdc" + ], + "case_addr": "0x100afc87", + "id": 18, + "impl": "CMC_Text_Runner::setRect", + "impl_addr": "0x100af710", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Keyboard::getLatestKey", + "CXString::Find", + "CXString::Left", + "CXString::operator=", + "MSVCRT.DLL::free", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x100af974", + "id": 19, + "impl": "CMC_Text_Runner::setTextDouble", + "impl_addr": "0x100aec70", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c" + ], + "case_addr": "0x100afca9", + "id": 20, + "impl": null, + "impl_addr": "0x100afca9", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "CMC_Font::getFont", + "MSVCRT.DLL::free", + "CMultilineText6::setFont" + ], + "case_addr": "0x100afcdf", + "id": 21, + "impl": "CMC_Text_Runner::setFont", + "impl_addr": "0x100af890", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CXTimer::reset" + ], + "case_addr": "0x100b1d5b", + "id": 1, + "impl": "CMC_Timer::enable", + "impl_addr": "0x100b1b50", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [], + "case_addr": "0x100b1d6b", + "id": 2, + "impl": "CMC_Timer::disable", + "impl_addr": "0x100b1b80", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [], + "case_addr": "0x100b1d7b", + "id": 3, + "impl": "CMC_Timer::pause", + "impl_addr": "0x100b1b90", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [], + "case_addr": "0x100b1d8b", + "id": 4, + "impl": "CMC_Timer::resume", + "impl_addr": "0x100b1ba0", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Image::getImage", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b1d9b", + "id": 5, + "impl": null, + "impl_addr": "0x100b1d9b", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "CXTimer::reset" + ], + "case_addr": "0x100b1dba", + "id": 6, + "impl": "CMC_Timer::reset", + "impl_addr": "0x100b1bd0", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Timer::set", + "CMC_Object::flush" + ], + "case_addr": "0x100b1dca", + "id": 7, + "impl": null, + "impl_addr": "0x100b1dca", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Timer::setElapse", + "CMC_Object::flush" + ], + "case_addr": "0x100b1dfb", + "id": 8, + "impl": null, + "impl_addr": "0x100b1dfb", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "vtbl+0x90" + ], + "case_addr": "0x100b7a84", + "id": 1, + "impl": null, + "impl_addr": "0x100b7a84", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x98" + ], + "case_addr": "0x100b7ab6", + "id": 2, + "impl": null, + "impl_addr": "0x100b7ab6", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x94" + ], + "case_addr": "0x100b7ad9", + "id": 3, + "impl": null, + "impl_addr": "0x100b7ad9", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x9c" + ], + "case_addr": "0x100b7aef", + "id": 4, + "impl": null, + "impl_addr": "0x100b7aef", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xa0" + ], + "case_addr": "0x100b7b05", + "id": 5, + "impl": null, + "impl_addr": "0x100b7b05", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xb0", + "vtbl+0x90", + "CMC_Object::flush", + "CMC_VariableFactory::copyVariable" + ], + "case_addr": "0x100b7b1b", + "id": 6, + "impl": null, + "impl_addr": "0x100b7b1b", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x100b7b5a", + "id": 7, + "impl": null, + "impl_addr": "0x100b7b5a", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xc0" + ], + "case_addr": "0x100b7bd3", + "id": 8, + "impl": null, + "impl_addr": "0x100b7bd3", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xbc" + ], + "case_addr": "0x100b7be9", + "id": 9, + "impl": null, + "impl_addr": "0x100b7be9", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Keyboard::getLatestKey", + "CXString::Right", + "CXString::Left", + "operator+", + "CXString::operator=", + "MSVCRT.DLL::free", + "MSVCRT.DLL::free", + "MSVCRT.DLL::free" + ], + "case_addr": "0x100b7b6b", + "id": 10, + "impl": "CMC_Variable_Runner::sub", + "impl_addr": "0x100b3ac0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x100b7b87", + "id": 11, + "impl": null, + "impl_addr": "0x100b7b87", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xb0", + "vtbl+0x90", + "CMC_Object::flush" + ], + "case_addr": "0x100b7b98", + "id": 12, + "impl": null, + "impl_addr": "0x100b7b98", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b7c0d", + "id": 13, + "impl": null, + "impl_addr": "0x100b7c0d", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b7c52", + "id": 14, + "impl": null, + "impl_addr": "0x100b7c52", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x100b7ca0", + "id": 15, + "impl": null, + "impl_addr": "0x100b7ca0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_EditBox::getEditBox", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b7cd5", + "id": 16, + "impl": "CMC_Variable_Runner::not", + "impl_addr": "0x100b3e20", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x100b7cf1", + "id": 17, + "impl": null, + "impl_addr": "0x100b7cf1", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "MSVCRT.DLL::_CIpow", + "MSVCRT.DLL::ftol" + ], + "case_addr": "0x100b7d29", + "id": 18, + "impl": null, + "impl_addr": "0x100b7d29", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x100b8162", + "id": 19, + "impl": "CMC_Runner::run", + "impl_addr": "0x10095e40", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "CMC_Double::getValue", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x100b7d79", + "id": 20, + "impl": null, + "impl_addr": "0x100b7d79", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b7e06", + "id": 21, + "impl": "CMC_Variable_Runner::clamp", + "impl_addr": "0x100b4250", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_VariableFactory::allocInteger", + "CMC_Keyboard::getLatestKey", + "CMC_Integer::setValue", + "MSVCRT.DLL::free" + ], + "case_addr": "0x100b7e22", + "id": 22, + "impl": "CMC_Variable_Runner::length", + "impl_addr": "0x100b4390", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue" + ], + "case_addr": "0x100b7e3e", + "id": 23, + "impl": null, + "impl_addr": "0x100b7e3e", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x100b7e91", + "id": 24, + "impl": "CMC_Variable_Runner::get", + "impl_addr": "0x100b3780", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x100b7f38", + "id": 25, + "impl": null, + "impl_addr": "0x100b7f38", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x100b7ead", + "id": 26, + "impl": null, + "impl_addr": "0x100b7ead", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "vtbl+0x38", + "CMC_Double::getValue", + "MSVCRT.DLL::ftol", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x100b7e75", + "id": 27, + "impl": "CMC_Variable_Runner::arcTanEX", + "impl_addr": "0x100b4540", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue" + ], + "case_addr": "0x100b7fc3", + "id": 28, + "impl": null, + "impl_addr": "0x100b7fc3", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x100b7ff5", + "id": 29, + "impl": null, + "impl_addr": "0x100b7ff5", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0xdc" + ], + "case_addr": "0x100b8042", + "id": 30, + "impl": null, + "impl_addr": "0x100b8042", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Keyboard::getLatestKey", + "CMC_Keyboard::getLatestKey", + "CXString::FindSubString", + "MSVCRT.DLL::free", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b8066", + "id": 31, + "impl": "CMC_Variable_Runner::find", + "impl_addr": "0x100b4840", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::free", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::free", + "CMC_Keyboard::getLatestKey", + "CXString::Mid", + "CMC_String::setValue" + ], + "case_addr": "0x100b8082", + "id": 32, + "impl": "CMC_Variable_Runner::cut", + "impl_addr": "0x100b4920", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_Keyboard::getLatestKey", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CXString::Right" + ], + "case_addr": "0x100b809e", + "id": 33, + "impl": "CMC_Variable_Runner::replaceAt", + "impl_addr": "0x100b4a40", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x3c", + "CMC_EditBox::getEditBox" + ], + "case_addr": "0x100b80ba", + "id": 34, + "impl": "CMC_Variable_Runner::insertAt", + "impl_addr": "0x100b4d00", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Keyboard::getLatestKey", + "CXString::CXString", + "CXString::CXString", + "CXString::replace", + "CMC_String::setValue", + "MSVCRT.DLL::free", + "MSVCRT.DLL::free", + "MSVCRT.DLL::free" + ], + "case_addr": "0x100b80d6", + "id": 35, + "impl": "CMC_Variable_Runner::replace", + "impl_addr": "0x100b4ed0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_DLLExModuleInterface::getModuleInterface", + "CMC_Double::getValue", + "CMC_VariableFactory::allocInteger", + "MSVCRT.DLL::ftol", + "MSVCRT.DLL::ftol", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b80f2", + "id": 36, + "impl": "CMC_Variable_Runner::round", + "impl_addr": "0x100b4fe0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_DLLExModuleInterface::getModuleInterface", + "vtbl+0x3c", + "CMC_Keyboard::getLatestKey", + "CMC_EditBox::getEditBox", + "CXString::IsUpper", + "CMC_Bool::setValue", + "MSVCRT.DLL::free" + ], + "case_addr": "0x100b810e", + "id": 37, + "impl": "CMC_Variable_Runner::isUpperLetter", + "impl_addr": "0x100b5070", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Double::getValue", + "MSVCRT.DLL::ftol", + "CMC_Integer::setValue" + ], + "case_addr": "0x100b7db9", + "id": 38, + "impl": null, + "impl_addr": "0x100b7db9", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_Keyboard::getLatestKey", + "MSVCRT.DLL::malloc" + ], + "case_addr": "0x100b812a", + "id": 39, + "impl": "CMC_Variable_Runner::copyFile", + "impl_addr": "0x100b7860", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "MSVCRT.DLL::time", + "MSVCRT.DLL::srand", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CXRandom::random" + ], + "case_addr": "0x100b8146", + "id": 40, + "impl": "CMC_Variable_Runner::random", + "impl_addr": "0x100b41b0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x7c" + ], + "case_addr": "0x100bb160", + "id": 1, + "impl": null, + "impl_addr": "0x100bb160", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x7c" + ], + "case_addr": "0x100bb17e", + "id": 2, + "impl": null, + "impl_addr": "0x100bb17e", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x64", + "vtbl+0x104" + ], + "case_addr": "0x100bb198", + "id": 3, + "impl": null, + "impl_addr": "0x100bb198", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "vtbl+0x6c" + ], + "case_addr": "0x100bb1f2", + "id": 4, + "impl": null, + "impl_addr": "0x100bb1f2", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "FUN_100e5500" + ], + "case_addr": "0x100bb236", + "id": 5, + "impl": "CMC_VirtualGraphicsObject_Runner::setSource", + "impl_addr": "0x100bb630", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getObject", + "MSVCRT.DLL::free", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_DLLExModuleInterface::getModuleInterface", + "FUN_100e55a0" + ], + "case_addr": "0x100bb256", + "id": 6, + "impl": "CMC_VirtualGraphicsObject_Runner::setMask", + "impl_addr": "0x100bb670", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [], + "case_addr": "0x100bb276", + "id": 7, + "impl": "CGraphicsObject::SetClippingRect", + "impl_addr": "0x1002d150", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CXRect::operator=" + ], + "case_addr": "0x100bb296", + "id": 8, + "impl": "CMC_VirtualGraphicsObject_Runner::setClipping", + "impl_addr": "0x100bb760", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100bb2b6", + "id": 9, + "impl": null, + "impl_addr": "0x100bb2b6", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100bb2e9", + "id": 10, + "impl": null, + "impl_addr": "0x100bb2e9", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x100bb31d", + "id": 11, + "impl": null, + "impl_addr": "0x100bb31d", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100bb349", + "id": 12, + "impl": null, + "impl_addr": "0x100bb349", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x40", + "CMC_Keyboard::getLatestKey", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "vtbl+0xf4" + ], + "case_addr": "0x100bb375", + "id": 13, + "impl": "CMC_VirtualGraphicsObject_Runner::isNear", + "impl_addr": "0x100bb990", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_EditBox::getEditBox", + "CMC_EditBox::getEditBox", + "CGraphicsObject::isInside", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100bb395", + "id": 14, + "impl": "CMC_VirtualGraphicsObject_Runner::isInside", + "impl_addr": "0x100bbb00", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "vtbl+0x38" + ], + "case_addr": "0x100bb3b5", + "id": 15, + "impl": null, + "impl_addr": "0x100bb3b5", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x90", + "vtbl+0x34" + ], + "case_addr": "0x100bb416", + "id": 16, + "impl": null, + "impl_addr": "0x100bb416", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_EditBox::getEditBox", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x100bb43a", + "id": 17, + "impl": null, + "impl_addr": "0x100bb43a", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x104" + ], + "case_addr": "0x100bb482", + "id": 18, + "impl": null, + "impl_addr": "0x100bb482", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x100bb49d", + "id": 19, + "impl": null, + "impl_addr": "0x100bb49d", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x100bb4c5", + "id": 20, + "impl": "CMC_VirtualGraphicsObject_Runner::setAsButton", + "impl_addr": "0x100bbcd0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + } + ], "method_inheritance": [ { "base_runner": "CMC_Runner", @@ -4929,7 +11674,7 @@ "runner": "CMC_VirtualGraphicsObject_Runner" } ], - "schema_version": 3, + "schema_version": 4, "struct_layout": [ { "confidence": "high", diff --git a/snapshots/bloomoodll.dll.snapshot.json b/snapshots/bloomoodll.dll.snapshot.json index 0a8ebda..cad8b21 100644 --- a/snapshots/bloomoodll.dll.snapshot.json +++ b/snapshots/bloomoodll.dll.snapshot.json @@ -2006,6 +2006,8776 @@ "type": "bool" } ], + "method_dispatch": [ + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CXString::CXString", + "MSVCR80.DLL::free", + "vtbl+0xd8", + "MSVCR80.DLL::free" + ], + "case_addr": "0x10085f27", + "id": 1, + "impl": "CMC_Scene_Runner::startMusic", + "impl_addr": "0x10084520", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0xdc" + ], + "case_addr": "0x10085f3a", + "id": 2, + "impl": null, + "impl_addr": "0x10085f3a", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Scene::getDraggedName", + "CMC_String::setValue" + ], + "case_addr": "0x10085f4d", + "id": 3, + "impl": "CMC_Scene_Runner::getDraggedName", + "impl_addr": "0x10084630", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x110" + ], + "case_addr": "0x10085f60", + "id": 4, + "impl": "CMC_Scene_Runner::getPlayingSeq", + "impl_addr": "0x10084670", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Object::getType", + "CMC_RunnerFactory::getRunner", + "vtbl+0x40", + "vtbl+0x64", + "CMC_Object::getType", + "CXString::CXString", + "CMC_String::getValue" + ], + "case_addr": "0x10085f73", + "id": 5, + "impl": "CMC_Scene_Runner::run", + "impl_addr": "0x100847f0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject" + ], + "case_addr": "0x10085f86", + "id": 6, + "impl": "CMC_Scene_Runner::runClones", + "impl_addr": "0x10084d70", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_String::getValue", + "vtbl+0x120" + ], + "case_addr": "0x10085f99", + "id": 7, + "impl": "CMC_Scene_Runner::createObject", + "impl_addr": "0x10085200", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0xa0" + ], + "case_addr": "0x10085fac", + "id": 8, + "impl": "CMC_Scene_Runner::remove", + "impl_addr": "0x100852c0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Object::getName", + "vtbl+0x3c" + ], + "case_addr": "0x10085fbf", + "id": 9, + "impl": "CMC_Scene_Runner::removeClones", + "impl_addr": "0x10085390", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x10086128", + "id": 10, + "impl": null, + "impl_addr": "0x10086128", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x10086128", + "id": 11, + "impl": null, + "impl_addr": "0x10086128", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x10086128", + "id": 12, + "impl": null, + "impl_addr": "0x10086128", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x10086128", + "id": 13, + "impl": null, + "impl_addr": "0x10086128", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x10086128", + "id": 14, + "impl": null, + "impl_addr": "0x10086128", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [], + "case_addr": "0x10086128", + "id": 15, + "impl": null, + "impl_addr": "0x10086128", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CWindow::setMusicVolume" + ], + "case_addr": "0x10085fd2", + "id": 16, + "impl": "CMC_Scene_Runner::setMusicVolume", + "impl_addr": "0x10085620", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CWindow::getMusicVolume", + "CMC_Integer::setValue" + ], + "case_addr": "0x10085fe5", + "id": 17, + "impl": "CMC_Scene_Runner::getMusicVolume", + "impl_addr": "0x100855b0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CWindow::setMusicPan" + ], + "case_addr": "0x10085ff8", + "id": 18, + "impl": "CMC_Scene_Runner::setMusicPan", + "impl_addr": "0x10085690", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CWindow::setMusicFreq" + ], + "case_addr": "0x1008600b", + "id": 19, + "impl": "CMC_Scene_Runner::setMusicFreq", + "impl_addr": "0x10085730", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x28", + "vtbl+0x28", + "CWindow::pause", + "vtbl+0x34", + "CMC_Bool::getValue", + "CXTimer::pause", + "CXTimer::enable" + ], + "case_addr": "0x1008601e", + "id": 20, + "impl": "CMC_Scene_Runner::pause", + "impl_addr": "0x10085770", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x2c", + "vtbl+0x2c", + "CWindow::resume", + "vtbl+0x34", + "CMC_Bool::getValue", + "CXTimer::resume", + "CXTimer::enable" + ], + "case_addr": "0x10086031", + "id": 21, + "impl": "CMC_Scene_Runner::resume", + "impl_addr": "0x10085820", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CHotSpot::setMinPriority" + ], + "case_addr": "0x10086044", + "id": 22, + "impl": "CMC_Scene_Runner::setMinPriority", + "impl_addr": "0x10085ae0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CHotSpot::setMaxPriority" + ], + "case_addr": "0x10086057", + "id": 23, + "impl": "CMC_Scene_Runner::setMaxPriority", + "impl_addr": "0x10085b10", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CHashtable::getSize", + "CMC_Integer::setValue" + ], + "case_addr": "0x1008606a", + "id": 24, + "impl": "CMC_Scene_Runner::getElementsNo", + "impl_addr": "0x10085ba0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CXString::toString", + "CXString::operator+=", + "CXString::operator+=", + "CXString::operator+=", + "CMC_VariableFactory::allocString", + "CXString::CXString" + ], + "case_addr": "0x1008607d", + "id": 25, + "impl": "CMC_Scene_Runner::toTime", + "impl_addr": "0x10085bd0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10086090", + "id": 26, + "impl": "CMC_Scene_Runner::isPaused", + "impl_addr": "0x10085d30", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x114" + ], + "case_addr": "0x100860a3", + "id": 27, + "impl": "CMC_Scene_Runner::getPlayingAnimo", + "impl_addr": "0x10084730", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x2c", + "vtbl+0x2c", + "CWindow::resume", + "vtbl+0x34", + "CMC_Bool::getValue", + "CXTimer::resume", + "CXTimer::enable" + ], + "case_addr": "0x100860b6", + "id": 28, + "impl": "CMC_Scene_Runner::resumeExcept", + "impl_addr": "0x10085990", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CHotSpot::getMinPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x100860dc", + "id": 29, + "impl": "CMC_Scene_Runner::getMinPriority", + "impl_addr": "0x10085b40", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CHotSpot::getMaxPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x100860ef", + "id": 30, + "impl": "CMC_Scene_Runner::getMaxPriority", + "impl_addr": "0x10085b70", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x11c" + ], + "case_addr": "0x10086102", + "id": 31, + "impl": "CMC_Scene_Runner::getRunningTimers", + "impl_addr": "0x10085d60", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_String::getValue", + "vtbl+0xa8" + ], + "case_addr": "0x10086115", + "id": 32, + "impl": "CMC_Scene_Runner::getObjects", + "impl_addr": "0x10085e20", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x118" + ], + "case_addr": "0x100860c9", + "id": 33, + "impl": "CMC_Scene_Runner::resumeSeqExcept", + "impl_addr": "0x100858d0", + "owner": "CMC_Scene", + "runner": "CMC_Scene_Runner" + }, + { + "calls": [ + "CMC_String::getValue", + "CXString::CXString", + "vtbl+0x94" + ], + "case_addr": "0x1007eea9", + "id": 96, + "impl": "CMC_Runner::send", + "impl_addr": "0x1007e6d0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0xa4", + "CMC_Object::flush" + ], + "case_addr": "0x1007eed7", + "id": 97, + "impl": "CMC_Runner::addToArray", + "impl_addr": "0x1007e8c0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Groupped::add", + "CMC_Object::flush" + ], + "case_addr": "0x1007eeee", + "id": 98, + "impl": "CMC_Runner::addToGroup", + "impl_addr": "0x1007e7f0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x1007eec0", + "id": 99, + "impl": "CMC_Runner::getName", + "impl_addr": "0x1007e9a0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x4c" + ], + "case_addr": "0x1007ef05", + "id": 100, + "impl": "CMC_Runner::clone", + "impl_addr": "0x1007e9e0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "CXString::Replace", + "vtbl+0x2c", + "MSVCR80.DLL::operator_new", + "CXArray::CXArray" + ], + "case_addr": "0x1007ef1c", + "id": 101, + "impl": "CMC_Runner::addBehaviour", + "impl_addr": "0x1007ea30", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "CMC_Integer::setValue" + ], + "case_addr": "0x1007ef33", + "id": 102, + "impl": "CMC_Runner::getCloneIdx", + "impl_addr": "0x1007edd0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [], + "case_addr": "0x1007ef55", + "id": 103, + "impl": null, + "impl_addr": "0x1007ef55", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x50" + ], + "case_addr": "0x1007ef4a", + "id": 104, + "impl": null, + "impl_addr": "0x1007ef4a", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CXString::Replace", + "CXString::CXString", + "vtbl+0x70", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1007ef5a", + "id": 105, + "impl": "CMC_Runner::removeBehaviour", + "impl_addr": "0x1007ec10", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::setValue" + ], + "case_addr": "0x1007efaf", + "id": 106, + "impl": "CMC_Runner::getCloneNo", + "impl_addr": "0x1007ee00", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x78" + ], + "case_addr": "0x1007ef88", + "id": 107, + "impl": null, + "impl_addr": "0x1007ef88", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CXString::Replace", + "CXString::CXString", + "vtbl+0x74", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1007ef71", + "id": 108, + "impl": "CMC_Runner::removeBehaviourForce", + "impl_addr": "0x1007ece0", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x1007ef98", + "id": 109, + "impl": "CMC_Runner::overideSignals", + "impl_addr": "0x1007ee60", + "owner": "CMC", + "runner": "CMC_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x40" + ], + "case_addr": "0x1008a477", + "id": 1, + "impl": "CMC_Sequence_Runner::play", + "impl_addr": "0x10089660", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Object::flush", + "vtbl+0x64", + "vtbl+0x48" + ], + "case_addr": "0x1008a48e", + "id": 2, + "impl": "CMC_Sequence_Runner::stop", + "impl_addr": "0x10089960", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x4c" + ], + "case_addr": "0x1008a4a5", + "id": 3, + "impl": null, + "impl_addr": "0x1008a4a5", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0x50" + ], + "case_addr": "0x1008a4bc", + "id": 4, + "impl": null, + "impl_addr": "0x1008a4bc", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0xa0" + ], + "case_addr": "0x1008a4d3", + "id": 5, + "impl": "CMC_Sequence_Runner::show", + "impl_addr": "0x10089a30", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sequence::getSequence", + "vtbl+0xa4" + ], + "case_addr": "0x1008a4ea", + "id": 6, + "impl": "CMC_Sequence_Runner::hide", + "impl_addr": "0x10089a50", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Sequence::getSequence", + "vtbl+0x64", + "CMC_Bool::setValue" + ], + "case_addr": "0x1008a501", + "id": 7, + "impl": "CMC_Sequence_Runner::isPlaying", + "impl_addr": "0x10089a70", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sequence::getSequence", + "CMC_Integer::getValue", + "vtbl+0xb4" + ], + "case_addr": "0x1008a518", + "id": 8, + "impl": "CMC_Sequence_Runner::setVolume", + "impl_addr": "0x10089ab0", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sequence::getSequence", + "CMC_Integer::getValue", + "vtbl+0xb8" + ], + "case_addr": "0x1008a52f", + "id": 9, + "impl": "CMC_Sequence_Runner::setPanning", + "impl_addr": "0x10089b30", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sequence::getSequence", + "CMC_Integer::getValue", + "vtbl+0xbc" + ], + "case_addr": "0x1008a546", + "id": 10, + "impl": "CMC_Sequence_Runner::setFrequency", + "impl_addr": "0x10089be0", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Sequence::getSequence", + "vtbl+0x40", + "CMC_String::getValue", + "CSequencedPlayable::getLastPlayedEvent", + "CMC_String::setValue" + ], + "case_addr": "0x1008a55d", + "id": 11, + "impl": "CMC_Sequence_Runner::getEventName", + "impl_addr": "0x10089c30", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Sequence::getSequence", + "vtbl+0x30", + "CPlayable::getName", + "CMC_String::setValue" + ], + "case_addr": "0x1008a574", + "id": 12, + "impl": "CMC_Sequence_Runner::getPlaying", + "impl_addr": "0x10089ce0", + "owner": "CMC_Sequence", + "runner": "CMC_Sequence_Runner" + }, + { + "calls": [ + "CMC_Sound::getSound", + "vtbl+0x44" + ], + "case_addr": "0x1008b1c7", + "id": 1, + "impl": null, + "impl_addr": "0x1008b1c7", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Sound::getSound", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x48" + ], + "case_addr": "0x1008b1de", + "id": 2, + "impl": "CMC_Sound_Runner::stop", + "impl_addr": "0x1008aec0", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Sound::getSound", + "vtbl+0x4c" + ], + "case_addr": "0x1008b1f5", + "id": 3, + "impl": null, + "impl_addr": "0x1008b1f5", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Sound::getSound", + "vtbl+0x50" + ], + "case_addr": "0x1008b20c", + "id": 4, + "impl": null, + "impl_addr": "0x1008b20c", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [], + "case_addr": "0x1008b296", + "id": 5, + "impl": null, + "impl_addr": "0x1008b296", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [], + "case_addr": "0x1008b296", + "id": 6, + "impl": null, + "impl_addr": "0x1008b296", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Sound::getSound", + "vtbl+0x40", + "CMC_VariableFactory::allocBool", + "CMC_String::getValue", + "CSound4::Load", + "CMC_Bool::setValue", + "CMC_Object::flush" + ], + "case_addr": "0x1008b223", + "id": 7, + "impl": "CMC_Sound_Runner::load", + "impl_addr": "0x1008af70", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sound::getSound", + "CMC_Integer::getValue", + "vtbl+0xb4" + ], + "case_addr": "0x1008b23a", + "id": 8, + "impl": "CMC_Sound_Runner::setVolume", + "impl_addr": "0x1008aff0", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sound::getSound", + "CMC_Integer::getValue", + "vtbl+0xb8" + ], + "case_addr": "0x1008b251", + "id": 9, + "impl": "CMC_Sound_Runner::setPanning", + "impl_addr": "0x1008b070", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Sound::getSound", + "CMC_Integer::getValue", + "vtbl+0xbc" + ], + "case_addr": "0x1008b268", + "id": 10, + "impl": "CMC_Sound_Runner::setFrequency", + "impl_addr": "0x1008b120", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Sound::getSound", + "vtbl+0x64", + "CMC_Bool::setValue" + ], + "case_addr": "0x1008b27f", + "id": 11, + "impl": "CMC_Sound_Runner::isPlaying", + "impl_addr": "0x1008b170", + "owner": "CMC_Sound", + "runner": "CMC_Sound_Runner" + }, + { + "calls": [ + "CMC_Behaviour_Runner::getParams", + "vtbl+0xa0", + "CMC_Behaviour_Runner::flushParams" + ], + "case_addr": "0x100455a3", + "id": 1, + "impl": "CMC_Behaviour_Runner::run", + "impl_addr": "0x10044fa0", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "CMC_Behaviour_Runner::getParams", + "vtbl+0xa0", + "CMC_Behaviour_Runner::flushParams" + ], + "case_addr": "0x100455ba", + "id": 2, + "impl": "CMC_Behaviour_Runner::runC", + "impl_addr": "0x10045020", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CXString::CXString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "MSVCR80.DLL::operator_new", + "CXArray::CXArray" + ], + "case_addr": "0x100455d1", + "id": 3, + "impl": "CMC_Behaviour_Runner::runLooped", + "impl_addr": "0x100450a0", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "vtbl+0xac" + ], + "case_addr": "0x100455e8", + "id": 4, + "impl": null, + "impl_addr": "0x100455e8", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [], + "case_addr": "0x100455fb", + "id": 5, + "impl": null, + "impl_addr": "0x100455fb", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [], + "case_addr": "0x1004560b", + "id": 6, + "impl": null, + "impl_addr": "0x1004560b", + "owner": "CMC_Behaviour", + "runner": "CMC_Behaviour_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c" + ], + "case_addr": "0x10060539", + "id": 1, + "impl": "CMC_GrBuffer_Runner::create", + "impl_addr": "0x1005fd70", + "owner": "CMC_GrBuffer", + "runner": "CMC_GrBuffer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x10060550", + "id": 2, + "impl": "CMC_GrBuffer_Runner::draw", + "impl_addr": "0x1005ff20", + "owner": "CMC_GrBuffer", + "runner": "CMC_GrBuffer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x10060567", + "id": 3, + "impl": "CMC_GrBuffer_Runner::undo", + "impl_addr": "0x1005ff80", + "owner": "CMC_GrBuffer", + "runner": "CMC_GrBuffer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x34", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Bool::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1006057e", + "id": 4, + "impl": "CMC_GrBuffer_Runner::flush", + "impl_addr": "0x1005ffe0", + "owner": "CMC_GrBuffer", + "runner": "CMC_GrBuffer_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Bool::getValue" + ], + "case_addr": "0x10060595", + "id": 5, + "impl": "CMC_GrBuffer_Runner::flushAll", + "impl_addr": "0x10060060", + "owner": "CMC_GrBuffer", + "runner": "CMC_GrBuffer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0xb0", + "CMC_Integer::setValue" + ], + "case_addr": "0x100605ac", + "id": 6, + "impl": "CMC_GrBuffer_Runner::findAt", + "impl_addr": "0x100600c0", + "owner": "CMC_GrBuffer", + "runner": "CMC_GrBuffer_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x120", + "CMC_Object::flush" + ], + "case_addr": "0x1009769a", + "id": 1, + "impl": "CMC_Text_Runner::setText", + "impl_addr": "0x10095f50", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100976ce", + "id": 2, + "impl": "CMC_Text_Runner::setJustify", + "impl_addr": "0x10096150", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x7c" + ], + "case_addr": "0x100976e8", + "id": 3, + "impl": "CMC_Text_Runner::show", + "impl_addr": "0x10096400", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x7c" + ], + "case_addr": "0x10097702", + "id": 4, + "impl": "CMC_Text_Runner::hide", + "impl_addr": "0x10096420", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "vtbl+0x3c", + "CText6::getjustifyRect", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1009771c", + "id": 5, + "impl": "CMC_Text_Runner::setPosition", + "impl_addr": "0x10096440", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x6c", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10097736", + "id": 6, + "impl": "CMC_Text_Runner::move", + "impl_addr": "0x100965c0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0xb4", + "CMC_Object::flush" + ], + "case_addr": "0x10097750", + "id": 7, + "impl": "CMC_Text_Runner::load", + "impl_addr": "0x10096640", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "CGraphicsObject::SetClippingRect" + ], + "case_addr": "0x1009776a", + "id": 8, + "impl": "CMC_Text_Runner::clearClipping", + "impl_addr": "0x100966b0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x10097784", + "id": 9, + "impl": "CMC_Text_Runner::setClipping", + "impl_addr": "0x100966e0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009779e", + "id": 10, + "impl": "CMC_Text_Runner::getPositionX", + "impl_addr": "0x100968f0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100977b8", + "id": 11, + "impl": "CMC_Text_Runner::getPositionY", + "impl_addr": "0x10096940", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x100977d2", + "id": 12, + "impl": "CMC_Text_Runner::getWidth", + "impl_addr": "0x10096990", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100977ec", + "id": 13, + "impl": "CMC_Text_Runner::getHeight", + "impl_addr": "0x100969d0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_VariableFactory::allocBool", + "CMC_Integer::getValue", + "vtbl+0xf4", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10097806", + "id": 14, + "impl": "CMC_Text_Runner::isNear", + "impl_addr": "0x10096a10", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x10097820", + "id": 15, + "impl": "CMC_Text_Runner::setPriority", + "impl_addr": "0x10096db0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1009783a", + "id": 16, + "impl": "CMC_Text_Runner::setColor", + "impl_addr": "0x10096c90", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CGraphicsObject::addObject" + ], + "case_addr": "0x10097854", + "id": 17, + "impl": "CMC_Text_Runner::drawOnto", + "impl_addr": "0x10096e20", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xdc" + ], + "case_addr": "0x1009786e", + "id": 18, + "impl": "CMC_Text_Runner::setRect", + "impl_addr": "0x10096eb0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_String::getValue", + "CXString::Find", + "CXString::Left", + "CXString::operator=", + "MSVCR80.DLL::free", + "CXString::CXString", + "CMC_String::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x100976b4", + "id": 19, + "impl": "CMC_Text_Runner::setTextDouble", + "impl_addr": "0x10095fc0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c" + ], + "case_addr": "0x10097888", + "id": 20, + "impl": "CMC_Text_Runner::setOpacity", + "impl_addr": "0x10097070", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "CMC_Font::getFont", + "MSVCR80.DLL::free", + "vtbl+0x11c" + ], + "case_addr": "0x100978a2", + "id": 21, + "impl": "CMC_Text_Runner::setFont", + "impl_addr": "0x100970c0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "CMC_VariableFactory::allocString", + "CMC_Integer::getValue", + "vtbl+0x13c", + "CMC_String::setValue" + ], + "case_addr": "0x100978bc", + "id": 22, + "impl": "CMC_Text_Runner::getWordAt", + "impl_addr": "0x100971a0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x138", + "CMC_Integer::setValue" + ], + "case_addr": "0x100978d6", + "id": 23, + "impl": "CMC_Text_Runner::getWordAtXY", + "impl_addr": "0x10097210", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "vtbl+0x140", + "CMC_Integer::setValue" + ], + "case_addr": "0x100978f0", + "id": 24, + "impl": "CMC_Text_Runner::getWordPosX", + "impl_addr": "0x100972b0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "vtbl+0x140", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009790a", + "id": 25, + "impl": "CMC_Text_Runner::getWordPosY", + "impl_addr": "0x10097330", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "CMC_String::getValue", + "vtbl+0x148", + "CMC_Integer::setValue" + ], + "case_addr": "0x10097924", + "id": 26, + "impl": "CMC_Text_Runner::search", + "impl_addr": "0x10097420", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x14c" + ], + "case_addr": "0x1009793e", + "id": 27, + "impl": "CMC_Text_Runner::setWordColor", + "impl_addr": "0x100974b0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x104" + ], + "case_addr": "0x10097958", + "id": 28, + "impl": "CMC_Text_Runner::invalidate", + "impl_addr": "0x10097620", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "vtbl+0x144", + "CMC_Integer::setValue" + ], + "case_addr": "0x10097972", + "id": 29, + "impl": "CMC_Text_Runner::getWordWidth", + "impl_addr": "0x100973b0", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_Text::getText", + "CMC_VariableFactory::allocInteger", + "CMultilineText6::getNumWords", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009798c", + "id": 30, + "impl": "CMC_Text_Runner::getNumWords", + "impl_addr": "0x10097640", + "owner": "CMC_Text", + "runner": "CMC_Text_Runner" + }, + { + "calls": [ + "CMC_CanvasObserver::getCanvas", + "vtbl+0x100" + ], + "case_addr": "0x1004cdf7", + "id": 1, + "impl": "CMC_CanvasObserver_Runner::refresh", + "impl_addr": "0x1004c450", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_CanvasObserver::getCanvas", + "vtbl+0x40", + "vtbl+0x3c" + ], + "case_addr": "0x1004ce0e", + "id": 2, + "impl": "CMC_CanvasObserver_Runner::add", + "impl_addr": "0x1004c480", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_CanvasObserver::getCanvas", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CRefreshScreen::operator>>", + "CMC_Object::flush" + ], + "case_addr": "0x1004ce25", + "id": 3, + "impl": "CMC_CanvasObserver_Runner::remove", + "impl_addr": "0x1004c540", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_CanvasObserver::getCanvas", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CRefreshScreen::SetBackground" + ], + "case_addr": "0x1004ce3c", + "id": 4, + "impl": "CMC_CanvasObserver_Runner::setBackground", + "impl_addr": "0x1004c5b0", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_CanvasObserver::getCanvas", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34" + ], + "case_addr": "0x1004ce53", + "id": 5, + "impl": "CMC_CanvasObserver_Runner::getGraphicsAt", + "impl_addr": "0x1004c660", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_CanvasObserver::getCanvas", + "CRefreshScreen::getBackgroundIfc", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x6c", + "vtbl+0x100" + ], + "case_addr": "0x1004ce85", + "id": 6, + "impl": "CMC_CanvasObserver_Runner::moveBkg", + "impl_addr": "0x1004c900", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_CanvasObserver::getCanvas", + "CRefreshScreen::getBackgroundIfc", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x58", + "vtbl+0x100" + ], + "case_addr": "0x1004ce9c", + "id": 7, + "impl": "CMC_CanvasObserver_Runner::setBkgPos", + "impl_addr": "0x1004c870", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_CanvasObserver::getCanvas", + "vtbl+0x40", + "vtbl+0x38", + "CMC_Double::getValue" + ], + "case_addr": "0x1004ceb3", + "id": 8, + "impl": "CMC_CanvasObserver_Runner::save", + "impl_addr": "0x1004c990", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x1004ceca", + "id": 9, + "impl": "CMC_CanvasObserver_Runner::enableNotify", + "impl_addr": "0x1004cc40", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_CanvasObserver::getCanvas", + "vtbl+0x100", + "vtbl+0x28" + ], + "case_addr": "0x1004cee1", + "id": 10, + "impl": "CMC_CanvasObserver_Runner::redraw", + "impl_addr": "0x1004cc70", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_CanvasObserver::getCanvas", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004cef8", + "id": 11, + "impl": "CMC_CanvasObserver_Runner::getBpp", + "impl_addr": "0x1004ccb0", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xd4", + "CMC_CanvasObserver::getCanvas", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x58", + "CRefreshScreen::getBackgroundIfc", + "vtbl+0xa8", + "vtbl+0x5c" + ], + "case_addr": "0x1004cf0f", + "id": 12, + "impl": "CMC_CanvasObserver_Runner::paste", + "impl_addr": "0x1004cce0", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_CanvasObserver::getCanvas", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34" + ], + "case_addr": "0x1004ce6c", + "id": 13, + "impl": "CMC_CanvasObserver_Runner::getGraphicsAt", + "impl_addr": "0x1004c660", + "owner": "CMC_CanvasObserver", + "runner": "CMC_CanvasObserver_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1006a6d3", + "id": 1, + "impl": "CMC_Joystick_Runner::getButtonState", + "impl_addr": "0x1006a490", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_VariableFactory::allocInteger", + "BlooMooDLL::operator==" + ], + "case_addr": "0x1006a6ea", + "id": 2, + "impl": "CMC_Joystick_Runner::getPosition", + "impl_addr": "0x1006a500", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0xb0", + "CMC_Bool::setValue" + ], + "case_addr": "0x1006a701", + "id": 3, + "impl": "CMC_Joystick_Runner::isLeft", + "impl_addr": "0x1006a640", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0xb0", + "CMC_Bool::setValue" + ], + "case_addr": "0x1006a718", + "id": 4, + "impl": "CMC_Joystick_Runner::isRight", + "impl_addr": "0x1006a680", + "owner": "CMC_Joystick", + "runner": "CMC_Joystick_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "MSVCR80.DLL::operator_new", + "CXArray::CXArray", + "vtbl+0x40", + "MSVCR80.DLL::operator_new", + "CMC_String::getValue" + ], + "case_addr": "0x100e6376", + "id": -4294967039, + "impl": "CMC_NetPeer_Runner::sendCmd", + "impl_addr": "0x100e5d20", + "owner": "CMC_NetPeer", + "runner": "CMC_NetPeer_Runner" + }, + { + "calls": [ + "CXString::CXString", + "vtbl+0x40" + ], + "case_addr": "0x100e638d", + "id": -4294967038, + "impl": "CMC_NetPeer_Runner::sendVariable", + "impl_addr": "0x100e5ee0", + "owner": "CMC_NetPeer", + "runner": "CMC_NetPeer_Runner" + }, + { + "calls": [ + "CXString::CXString", + "vtbl+0x40" + ], + "case_addr": "0x100e63a4", + "id": -4294967037, + "impl": "CMC_NetPeer_Runner::sendText", + "impl_addr": "0x100e6060", + "owner": "CMC_NetPeer", + "runner": "CMC_NetPeer_Runner" + }, + { + "calls": [ + "CXString::CXString", + "vtbl+0x40" + ], + "case_addr": "0x100e63bb", + "id": -4294967036, + "impl": "CMC_NetPeer_Runner::sendBehaviour", + "impl_addr": "0x100e61a0", + "owner": "CMC_NetPeer", + "runner": "CMC_NetPeer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_NetPeer::getLatestText", + "CMC_String::setValue" + ], + "case_addr": "0x100e63d2", + "id": -4294967035, + "impl": "CMC_NetPeer_Runner::getLatestText", + "impl_addr": "0x100e6320", + "owner": "CMC_NetPeer", + "runner": "CMC_NetPeer_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Scroll::add" + ], + "case_addr": "0x100887d7", + "id": 1, + "impl": "CMC_Scroll_Runner::add", + "impl_addr": "0x10088480", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_Scroll::remove" + ], + "case_addr": "0x100887ee", + "id": 2, + "impl": "CMC_Scroll_Runner::remove", + "impl_addr": "0x100884d0", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Scroll::scrollUp" + ], + "case_addr": "0x10088805", + "id": 3, + "impl": "CMC_Scroll_Runner::scrollUp", + "impl_addr": "0x10088510", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Scroll::scrollDown" + ], + "case_addr": "0x1008881c", + "id": 4, + "impl": "CMC_Scroll_Runner::scrollDown", + "impl_addr": "0x10088540", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Scroll::scrollLeft" + ], + "case_addr": "0x10088833", + "id": 5, + "impl": "CMC_Scroll_Runner::scrollLeft", + "impl_addr": "0x10088570", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Scroll::scrollRight" + ], + "case_addr": "0x1008884a", + "id": 6, + "impl": "CMC_Scroll_Runner::scrollRight", + "impl_addr": "0x100885a0", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Scroll::setViewport", + "CWindow::Invalidate" + ], + "case_addr": "0x10088861", + "id": 7, + "impl": "CMC_Scroll_Runner::setViewport", + "impl_addr": "0x100885d0", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CXRect::operator+=", + "CMC_Scroll::invalidate", + "CWindow::Invalidate" + ], + "case_addr": "0x10088878", + "id": 8, + "impl": "CMC_Scroll_Runner::moveViewport", + "impl_addr": "0x100886a0", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Scroll::move", + "CWindow::Invalidate" + ], + "case_addr": "0x1008888f", + "id": 9, + "impl": "CMC_Scroll_Runner::move", + "impl_addr": "0x10088720", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "CMC_Scroll::invalidate", + "vtbl+0x100" + ], + "case_addr": "0x100888a6", + "id": 10, + "impl": "CMC_Scroll_Runner::invalidate", + "impl_addr": "0x10088790", + "owner": "CMC_Scroll", + "runner": "CMC_Scroll_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Font::getFontsList", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1005ebd3", + "id": 1, + "impl": "CMC_Font_Runner::setColor", + "impl_addr": "0x1005e910", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_String::getValue", + "CSimpleFont6::setFamily", + "CMC_Object::flush" + ], + "case_addr": "0x1005ec01", + "id": 2, + "impl": "CMC_Font_Runner::setStyle", + "impl_addr": "0x1005ea50", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x40", + "CMC_String::getValue", + "CSimpleFont6::setStyle", + "CMC_Object::flush" + ], + "case_addr": "0x1005ebea", + "id": 3, + "impl": "CMC_Font_Runner::setFamily", + "impl_addr": "0x1005eab0", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [ + "CMC_Font::getFont", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CSimpleFont6::setSize", + "CMC_Object::flush" + ], + "case_addr": "0x1005ec18", + "id": 4, + "impl": "CMC_Font_Runner::setSize", + "impl_addr": "0x1005eb10", + "owner": "CMC_Font", + "runner": "CMC_Font_Runner" + }, + { + "calls": [], + "case_addr": "0x1006c0d7", + "id": 1, + "impl": "CMC_Keyboard::enable", + "impl_addr": "0x1006b310", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [], + "case_addr": "0x1006c0e5", + "id": 2, + "impl": "CMC_Keyboard::disable", + "impl_addr": "0x1006b320", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CWindow::getKeyboardInterface", + "vtbl+0x34", + "CMC_Bool::getValue", + "CKeyboard::setAutoRepeat", + "CMC_Object::flush" + ], + "case_addr": "0x1006c0f3", + "id": 3, + "impl": "CMC_Keyboard_Runner::setAutoRepeat", + "impl_addr": "0x1006be00", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CWindow::getKeyboardInterface", + "CMC_VariableFactory::allocBool", + "vtbl+0x40", + "CMC_String::getValue", + "CKeyboard::isKeyPressed" + ], + "case_addr": "0x1006c10a", + "id": 4, + "impl": "CMC_Keyboard_Runner::isKeyDown", + "impl_addr": "0x1006be60", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [], + "case_addr": "0x1006c16d", + "id": 5, + "impl": null, + "impl_addr": "0x1006c16d", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0xa0", + "CMC_String::setValue" + ], + "case_addr": "0x1006c121", + "id": 6, + "impl": "CMC_Keyboard_Runner::getLatestKey", + "impl_addr": "0x1006bf20", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x1006c14f", + "id": 7, + "impl": null, + "impl_addr": "0x1006c14f", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0xa4", + "CMC_VariableFactory::allocString", + "vtbl+0x60", + "CXString::CXString", + "CMC_String::setValue", + "vtbl+0xa4" + ], + "case_addr": "0x1006c138", + "id": 8, + "impl": "CMC_Keyboard_Runner::getLatestKeys", + "impl_addr": "0x1006bf60", + "owner": "CMC_Keyboard", + "runner": "CMC_Keyboard_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_EditBox::getEditBox", + "CEditBox6::setText", + "CMC_Object::flush" + ], + "case_addr": "0x10058617", + "id": 1, + "impl": "CMC_EditBox_Runner::setText", + "impl_addr": "0x100576a0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_EditBox::getEditBox", + "CEditBox6::getText", + "CMC_String::setValue" + ], + "case_addr": "0x10058645", + "id": 2, + "impl": "CMC_EditBox_Runner::getText", + "impl_addr": "0x10057870", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "CEditBox6::activate" + ], + "case_addr": "0x1005865c", + "id": 3, + "impl": "CMC_EditBox_Runner::active", + "impl_addr": "0x100578b0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "CEditBox6::activate" + ], + "case_addr": "0x10058673", + "id": 4, + "impl": "CMC_EditBox_Runner::deactive", + "impl_addr": "0x100578d0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "CEditBox6::enable" + ], + "case_addr": "0x1005868a", + "id": 5, + "impl": "CMC_EditBox_Runner::enable", + "impl_addr": "0x100578f0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "CEditBox6::enable" + ], + "case_addr": "0x100586a1", + "id": 6, + "impl": "CMC_EditBox_Runner::disable", + "impl_addr": "0x10057910", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_EditBox::getEditBox", + "CEditBox6::getText", + "CMC_String::getValue", + "BlooMooDLL::operator+", + "CMC_EditBox::getEditBox", + "CEditBox6::setText", + "MSVCR80.DLL::free", + "CMC_Object::flush", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1005862e", + "id": 7, + "impl": "CMC_EditBox_Runner::addText", + "impl_addr": "0x10057750", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x2c" + ], + "case_addr": "0x100586b8", + "id": 8, + "impl": "CMC_EditBox_Runner::move", + "impl_addr": "0x10057a00", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x28" + ], + "case_addr": "0x100586cf", + "id": 9, + "impl": "CMC_EditBox_Runner::setPosition", + "impl_addr": "0x10057930", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CEditBox6::setPriority" + ], + "case_addr": "0x100586e6", + "id": 10, + "impl": "CMC_EditBox_Runner::setPriority", + "impl_addr": "0x10057a80", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CEditBox6::updateCursor" + ], + "case_addr": "0x100586fd", + "id": 11, + "impl": "CMC_EditBox_Runner::setCursorPos", + "impl_addr": "0x100579b0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CEditBox6::setRect" + ], + "case_addr": "0x10058714", + "id": 12, + "impl": "CMC_EditBox_Runner::setRect", + "impl_addr": "0x10057ad0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1005872b", + "id": 13, + "impl": "CMC_EditBox_Runner::setColor", + "impl_addr": "0x10057ba0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x10058742", + "id": 14, + "impl": "CMC_EditBox_Runner::setReadOnly", + "impl_addr": "0x10057c90", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_EditBox::getEditBox", + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x10058759", + "id": 15, + "impl": "CMC_EditBox_Runner::enableNewLine", + "impl_addr": "0x10057cd0", + "owner": "CMC_EditBox", + "runner": "CMC_EditBox_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x10048ed7", + "id": 1, + "impl": "CMC_Button_Runner::setRect", + "impl_addr": "0x10047d20", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x30" + ], + "case_addr": "0x10048eee", + "id": 2, + "impl": "CMC_Button_Runner::enable", + "impl_addr": "0x10047f30", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x30" + ], + "case_addr": "0x10048f05", + "id": 3, + "impl": "CMC_Button_Runner::disable", + "impl_addr": "0x10047f50", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [], + "case_addr": "0x10048f1c", + "id": 4, + "impl": "CMC_Button::getButton", + "impl_addr": "0x10046b00", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [], + "case_addr": "0x10048f31", + "id": 5, + "impl": "CMC_Button::getButton", + "impl_addr": "0x10046b00", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x80" + ], + "case_addr": "0x10048f46", + "id": 6, + "impl": "CMC_Button_Runner::disableButVisible", + "impl_addr": "0x10047fb0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x34", + "CMC_Bool::getValue", + "CButton::Accent" + ], + "case_addr": "0x10048f5d", + "id": 7, + "impl": "CMC_Button_Runner::accent", + "impl_addr": "0x10047fd0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::Set", + "CMC_Object::flush" + ], + "case_addr": "0x10048f74", + "id": 8, + "impl": "CMC_Button_Runner::setStd", + "impl_addr": "0x10048070", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::SetOnMove", + "CMC_Object::flush" + ], + "case_addr": "0x10048f8b", + "id": 9, + "impl": "CMC_Button_Runner::setOnMove", + "impl_addr": "0x10048150", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CButton::SetOnClick", + "CMC_Object::flush" + ], + "case_addr": "0x10048fa2", + "id": 10, + "impl": "CMC_Button_Runner::setOnClick", + "impl_addr": "0x100481d0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Button::getButton", + "CMC_Integer::getValue", + "vtbl+0x6c" + ], + "case_addr": "0x10048fb9", + "id": 11, + "impl": "CMC_Button_Runner::setPriority", + "impl_addr": "0x10048490", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Button::getButton", + "vtbl+0x68", + "CMC_Integer::setValue" + ], + "case_addr": "0x10048fd0", + "id": 12, + "impl": "CMC_Button_Runner::getPriority", + "impl_addr": "0x100484e0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CMC_VariableFactory::allocString", + "CMC_ObjectsContainer::getGraphicsObjectName", + "CXString::CXString", + "CMC_String::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x10048fe7", + "id": 13, + "impl": "CMC_Button_Runner::getStd", + "impl_addr": "0x10048250", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CMC_VariableFactory::allocString", + "CMC_ObjectsContainer::getGraphicsObjectName", + "CXString::CXString", + "CMC_String::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x10048ffe", + "id": 14, + "impl": "CMC_Button_Runner::getOnMove", + "impl_addr": "0x10048310", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CMC_VariableFactory::allocString", + "CMC_ObjectsContainer::getGraphicsObjectName", + "CXString::CXString", + "CMC_String::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x10049015", + "id": 15, + "impl": "CMC_Button_Runner::getOnClick", + "impl_addr": "0x100483d0", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CMC_Button::getButton", + "CButton::SYN" + ], + "case_addr": "0x1004902c", + "id": 16, + "impl": null, + "impl_addr": "0x1004902c", + "owner": "CMC_Button", + "runner": "CMC_Button_Runner" + }, + { + "calls": [ + "CWindow::ShowCursor" + ], + "case_addr": "0x1006e887", + "id": 1, + "impl": "CMC_Mouse::show", + "impl_addr": "0x1006cb80", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CWindow::HideCursor" + ], + "case_addr": "0x1006e895", + "id": 2, + "impl": "CMC_Mouse::hide", + "impl_addr": "0x1006cba0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x1006e8a3", + "id": 3, + "impl": "CMC_Mouse::enable", + "impl_addr": "0x1006cf60", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x1006e8b1", + "id": 4, + "impl": "CMC_Mouse::disable", + "impl_addr": "0x1006cf80", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Mouse::getPosX", + "CMC_Integer::setValue" + ], + "case_addr": "0x1006e8bf", + "id": 5, + "impl": "CMC_Mouse_Runner::getPosX", + "impl_addr": "0x1006d440", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Mouse::getPosY", + "CMC_Integer::setValue" + ], + "case_addr": "0x1006e8d6", + "id": 6, + "impl": "CMC_Mouse_Runner::getPosY", + "impl_addr": "0x1006d470", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Mouse::getLastClickPosX", + "CMC_Integer::setValue" + ], + "case_addr": "0x1006e8ed", + "id": 7, + "impl": "CMC_Mouse_Runner::getLastClickPosX", + "impl_addr": "0x1006d4a0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Mouse::getLastClickPosY", + "CMC_Integer::setValue" + ], + "case_addr": "0x1006e904", + "id": 8, + "impl": "CMC_Mouse_Runner::getLastClickPosY", + "impl_addr": "0x1006d4d0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CXString::CXString", + "CMC_Mouse::set", + "CMC_Object::flush", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1006e91b", + "id": 9, + "impl": "CMC_Mouse_Runner::set", + "impl_addr": "0x1006d500", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Mouse::setPosition", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x1006e932", + "id": 10, + "impl": "CMC_Mouse_Runner::setPosition", + "impl_addr": "0x1006d5c0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Mouse::getPosY", + "CMC_Integer::getValue", + "CMC_Mouse::getPosX", + "CMC_Mouse::setPosition", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x1006e949", + "id": 11, + "impl": "CMC_Mouse_Runner::move", + "impl_addr": "0x1006d630", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CXString::CXString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CXString::operator=", + "MSVCR80.DLL::free", + "BlooMooDLL::operator==", + "CWindow::OnLButtonDown" + ], + "case_addr": "0x1006e960", + "id": 12, + "impl": "CMC_Mouse_Runner::click", + "impl_addr": "0x1006d6c0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x1006e977", + "id": 13, + "impl": null, + "impl_addr": "0x1006e977", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [], + "case_addr": "0x1006e984", + "id": 14, + "impl": null, + "impl_addr": "0x1006e984", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CXString::CXString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CXString::operator=", + "MSVCR80.DLL::free", + "BlooMooDLL::operator==", + "CWindow::OnLButtonUp" + ], + "case_addr": "0x1006e990", + "id": 15, + "impl": "CMC_Mouse_Runner::mouse_release", + "impl_addr": "0x1006d8a0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Mouse::reset" + ], + "case_addr": "0x1006e9a7", + "id": 16, + "impl": "CMC_Mouse_Runner::setClipRect", + "impl_addr": "0x1006da80", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "CWindow::EndWaitCursor" + ], + "case_addr": "0x1006e9be", + "id": 17, + "impl": "CMC_Mouse_Runner::lockActiveCursor", + "impl_addr": "0x1006db50", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "USER32.DLL::GetKeyState", + "CMC_Bool::setValue" + ], + "case_addr": "0x1006e9d5", + "id": 18, + "impl": "CMC_Mouse_Runner::isLButtonDown", + "impl_addr": "0x1006db90", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "USER32.DLL::GetKeyState", + "CMC_Bool::setValue" + ], + "case_addr": "0x1006e9ec", + "id": 19, + "impl": "CMC_Mouse_Runner::isRButtonDown", + "impl_addr": "0x1006dbc0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xa8" + ], + "case_addr": "0x1006ea03", + "id": 20, + "impl": "CMC_Mouse_Runner::setActiveRect", + "impl_addr": "0x1006dbf0", + "owner": "CMC_Mouse", + "runner": "CMC_Mouse_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::operator_new[]", + "vtbl+0x30", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xa4", + "MSVCR80.DLL::operator_delete" + ], + "case_addr": "0x10070e47", + "id": 1, + "impl": "CMC_MultiArray_Runner::set", + "impl_addr": "0x10070630", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::operator_new[]", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xa8", + "CMC_VariableFactory::allocString", + "CXString::CXString", + "CMC_String::setValue" + ], + "case_addr": "0x10070e5e", + "id": 2, + "impl": "CMC_MultiArray_Runner::get", + "impl_addr": "0x100707b0", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::getValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x10070e75", + "id": 3, + "impl": "CMC_MultiArray_Runner::getSize", + "impl_addr": "0x10070700", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "CMC_VariableFactory::allocInteger", + "vtbl+0xac", + "CMC_Integer::setValue" + ], + "case_addr": "0x10070e8c", + "id": 4, + "impl": "CMC_MultiArray_Runner::count", + "impl_addr": "0x10070760", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0xc0" + ], + "case_addr": "0x10070ea3", + "id": 5, + "impl": "CMC_MultiArray_Runner::load", + "impl_addr": "0x10070940", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0xbc" + ], + "case_addr": "0x10070eba", + "id": 6, + "impl": "CMC_MultiArray_Runner::save", + "impl_addr": "0x10070990", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::operator_new[]", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xa8", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10070ed1", + "id": 7, + "impl": "CMC_MultiArray_Runner::safeGet", + "impl_addr": "0x10070880", + "owner": "CMC_MultiArray", + "runner": "CMC_MultiArray_Runner" + }, + { + "calls": [ + "vtbl+0x130" + ], + "case_addr": "0x100396e7", + "id": 1, + "impl": null, + "impl_addr": "0x100396e7", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0xf4" + ], + "case_addr": "0x100396fa", + "id": 2, + "impl": null, + "impl_addr": "0x100396fa", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x104", + "CMC_Object::flush" + ], + "case_addr": "0x1003970d", + "id": 3, + "impl": "CMC_Application_Runner::_goto", + "impl_addr": "0x10038060", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CLanguageOSVer::setLanguageFolder", + "CMC_Object::flush" + ], + "case_addr": "0x10039724", + "id": 4, + "impl": "CMC_Application_Runner::setLanguage", + "impl_addr": "0x100380c0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CLanguageOSVer::getLanguageFolder", + "CMC_String::setValue" + ], + "case_addr": "0x1003973b", + "id": 5, + "impl": "CMC_Application_Runner::getLanguage", + "impl_addr": "0x10038120", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x10039752", + "id": 6, + "impl": "CMC_Application_Runner::print", + "impl_addr": "0x10038160", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x10039769", + "id": 7, + "impl": "CWindow::MusicOn", + "impl_addr": "0x10101c90", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x1003977c", + "id": 8, + "impl": "CWindow::MusicOn", + "impl_addr": "0x10101c90", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0xcc", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Object::getType", + "CMC_RunnerFactory::getRunner", + "vtbl+0x40", + "vtbl+0x64", + "CMC_Object::getType", + "CXString::CXString" + ], + "case_addr": "0x1003978f", + "id": 9, + "impl": "CMC_Application_Runner::run", + "impl_addr": "0x10038430", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x134" + ], + "case_addr": "0x100397a6", + "id": 10, + "impl": null, + "impl_addr": "0x100397a6", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x38", + "vtbl+0x34" + ], + "case_addr": "0x100397b9", + "id": 11, + "impl": "CMC_Application_Runner::runEnv", + "impl_addr": "0x100389a0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_VariableFactory::allocBool", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free" + ], + "case_addr": "0x100397cc", + "id": 12, + "impl": "CMC_Application_Runner::existsEnv", + "impl_addr": "0x10038b00", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x1003982b", + "id": 13, + "impl": null, + "impl_addr": "0x1003982b", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x1003982b", + "id": 14, + "impl": null, + "impl_addr": "0x1003982b", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x100397df", + "id": 15, + "impl": "CMC_Application_Runner::startDraggingWindow", + "impl_addr": "0x10038c40", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [], + "case_addr": "0x100397f2", + "id": 16, + "impl": null, + "impl_addr": "0x100397f2", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x13c" + ], + "case_addr": "0x10039805", + "id": 17, + "impl": "CMC_Application_Runner::reload", + "impl_addr": "0x10038cd0", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CCommandLine6::getPlayer", + "CMC_String::setValue" + ], + "case_addr": "0x10039818", + "id": 18, + "impl": "CMC_Application_Runner::getPlayer", + "impl_addr": "0x10038d10", + "owner": "CMC_Application", + "runner": "CMC_Application_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x7c" + ], + "case_addr": "0x10067a6e", + "id": 1, + "impl": "CMC_Image_Runner::show", + "impl_addr": "0x10063be0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x7c" + ], + "case_addr": "0x10067a85", + "id": 2, + "impl": "CMC_Image_Runner::hide", + "impl_addr": "0x10063c00", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x64", + "vtbl+0x104", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10067a9c", + "id": 3, + "impl": "CMC_Image_Runner::setPosition", + "impl_addr": "0x10063c20", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x6c", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10067ae1", + "id": 4, + "impl": "CMC_Image_Runner::move", + "impl_addr": "0x10063d90", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0xa4", + "CMC_Object::flush" + ], + "case_addr": "0x10067af8", + "id": 5, + "impl": "CMC_Image_Runner::load", + "impl_addr": "0x10063e10", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "CGraphicsObject::SetClippingRect" + ], + "case_addr": "0x10067b0f", + "id": 6, + "impl": "CMC_Image_Runner::clearClipping", + "impl_addr": "0x10063ee0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x10067b26", + "id": 7, + "impl": "CMC_Image_Runner::setClipping", + "impl_addr": "0x10063f10", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067b3d", + "id": 8, + "impl": "CMC_Image_Runner::getPositionX", + "impl_addr": "0x10064120", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067b54", + "id": 9, + "impl": "CMC_Image_Runner::getPositionY", + "impl_addr": "0x10064170", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067b6b", + "id": 10, + "impl": "CMC_Image_Runner::getWidth", + "impl_addr": "0x100641c0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067b82", + "id": 11, + "impl": "CMC_Image_Runner::getHeight", + "impl_addr": "0x10064200", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Image::getImage", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xf4", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10067b99", + "id": 12, + "impl": "CMC_Image_Runner::isNear", + "impl_addr": "0x10064240", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Image::getImage", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CGraphicsObject::isInside", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10067bb0", + "id": 13, + "impl": "CMC_Image_Runner::isInside", + "impl_addr": "0x100644c0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Image::getImage", + "vtbl+0x38" + ], + "case_addr": "0x10067bc7", + "id": 14, + "impl": "CMC_Image_Runner::monitorCollision", + "impl_addr": "0x10064590", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0xa0", + "vtbl+0x34" + ], + "case_addr": "0x10067bde", + "id": 15, + "impl": "CMC_Image_Runner::removeMonitorCollision", + "impl_addr": "0x10064620", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Image::getImage", + "CMC_Integer::getValue", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x10067bf5", + "id": 16, + "impl": "CMC_Image_Runner::setPriority", + "impl_addr": "0x10064660", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Image::getImage", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xd8", + "CMC_Integer::getValue", + "vtbl+0xd8", + "vtbl+0xc4", + "CMC_Integer::getValue", + "vtbl+0xd8", + "CMC_Integer::getValue", + "vtbl+0xd8" + ], + "case_addr": "0x10067c0c", + "id": 17, + "impl": "CMC_Image_Runner::getAlpha", + "impl_addr": "0x100646c0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Image::getImage", + "vtbl+0x4c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xd8", + "CMC_Integer::getValue", + "vtbl+0xd8", + "vtbl+0xc4", + "CMC_Integer::getValue", + "vtbl+0xd8", + "CMC_Integer::getValue" + ], + "case_addr": "0x10067c23", + "id": 18, + "impl": "CMC_Image_Runner::getPixel", + "impl_addr": "0x10064880", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Image::getImage", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CGraphicsObject::mergeAlpha" + ], + "case_addr": "0x10067c3a", + "id": 19, + "impl": "CMC_Image_Runner::mergeAlpha", + "impl_addr": "0x10064a50", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x104" + ], + "case_addr": "0x10067c68", + "id": 20, + "impl": "CMC_Image_Runner::invalidate", + "impl_addr": "0x10064bf0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0xd8", + "vtbl+0xcc", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067c7f", + "id": 21, + "impl": "CMC_Image_Runner::getCenterX", + "impl_addr": "0x10064c10", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0xd8", + "vtbl+0xcc", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067c96", + "id": 22, + "impl": "CMC_Image_Runner::getCenterY", + "impl_addr": "0x10064c80", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10067cad", + "id": 23, + "impl": "CMC_Image_Runner::isVisible", + "impl_addr": "0x10064cf0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Image::getImage", + "vtbl+0xd8", + "vtbl+0x60", + "vtbl+0xcc", + "vtbl+0xd0", + "vtbl+0x4c", + "CGraphicsObject::AlphaChannel", + "vtbl+0x104" + ], + "case_addr": "0x10067cc4", + "id": 24, + "impl": "CMC_Image_Runner::link", + "impl_addr": "0x10064d30", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x10067cdb", + "id": 25, + "impl": "CMC_Image_Runner::setAsButton", + "impl_addr": "0x10064e80", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Image::getImage", + "CMC_Integer::getValue" + ], + "case_addr": "0x10067cf2", + "id": 26, + "impl": "CMC_Image_Runner::setOpacity", + "impl_addr": "0x10064ee0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0xbc", + "CMC_Object::flush" + ], + "case_addr": "0x10067d20", + "id": 27, + "impl": "CMC_Image_Runner::save", + "impl_addr": "0x10063e70", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0xd8", + "vtbl+0xcc", + "vtbl+0x40", + "CXString::CXString", + "CMC_String::getValue", + "CXString::equals", + "MSVCR80.DLL::free" + ], + "case_addr": "0x10067d37", + "id": 28, + "impl": "CMC_Image_Runner::setAnchor", + "impl_addr": "0x10064f60", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x94", + "vtbl+0x104" + ], + "case_addr": "0x10067d4e", + "id": 29, + "impl": "CMC_Image_Runner::flipH", + "impl_addr": "0x10065590", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x98", + "vtbl+0x104" + ], + "case_addr": "0x10067d65", + "id": 30, + "impl": "CMC_Image_Runner::flipV", + "impl_addr": "0x100655d0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x9c", + "vtbl+0x104" + ], + "case_addr": "0x10067d7c", + "id": 31, + "impl": "CMC_Image_Runner::resetFlip", + "impl_addr": "0x10065610", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CGraphicsObject::addObject" + ], + "case_addr": "0x10067d93", + "id": 32, + "impl": "CMC_Image_Runner::drawOnto", + "impl_addr": "0x10065650", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x104", + "vtbl+0x64", + "vtbl+0x104" + ], + "case_addr": "0x10067aca", + "id": 33, + "impl": "CMC_Image_Runner::resetPosition", + "impl_addr": "0x10063d30", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10067ab3", + "id": 34, + "impl": "CMC_Image_Runner::setResetPosition", + "impl_addr": "0x10063cc0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_VariableFactory::allocBool", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CGraphicsObject::isAt", + "CMC_Bool::setValue" + ], + "case_addr": "0x10067daa", + "id": 35, + "impl": "CMC_Image_Runner::isAt", + "impl_addr": "0x100656e0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Image::getImage", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067d09", + "id": 36, + "impl": "CMC_Image_Runner::getOpacity", + "impl_addr": "0x10064f30", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x38", + "CMC_Double::getValue", + "vtbl+0x38", + "CMC_Double::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject" + ], + "case_addr": "0x10067dc1", + "id": 37, + "impl": "CMC_Image_Runner::getSlideComps", + "impl_addr": "0x10065790", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "MSVCR80.DLL::operator_new", + "CXString::CXString", + "CMC_Integer::CMC_Integer" + ], + "case_addr": "0x10067dd8", + "id": 38, + "impl": "CMC_Image_Runner::getColorAt", + "impl_addr": "0x10065bd0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_VariableFactory::allocInteger" + ], + "case_addr": "0x10067def", + "id": 39, + "impl": "CMC_Image_Runner::getColorRAt", + "impl_addr": "0x10065d60", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_VariableFactory::allocInteger" + ], + "case_addr": "0x10067e06", + "id": 40, + "impl": "CMC_Image_Runner::getColorGAt", + "impl_addr": "0x10065db0", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_VariableFactory::allocInteger" + ], + "case_addr": "0x10067e1d", + "id": 41, + "impl": "CMC_Image_Runner::getColorBAt", + "impl_addr": "0x10065e00", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Image::getImage", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CGraphicsObject::mergeAlpha2" + ], + "case_addr": "0x10067c51", + "id": 42, + "impl": "CMC_Image_Runner::mergeAlpha2", + "impl_addr": "0x10064b00", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x10067e34", + "id": 43, + "impl": "CMC_Image_Runner::replaceColor", + "impl_addr": "0x10065e50", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Image::getImage", + "CRefreshScreen::GetPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x10067e4b", + "id": 44, + "impl": "CMC_Image_Runner::getPriority", + "impl_addr": "0x10066000", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x10067e62", + "id": 45, + "impl": null, + "impl_addr": "0x10067e62", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2c2c0100", + "id": 46, + "impl": null, + "impl_addr": "0x2c2c0100", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x5040302", + "id": 47, + "impl": null, + "impl_addr": "0x5040302", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2c2c2c06", + "id": 48, + "impl": null, + "impl_addr": "0x2c2c2c06", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x8072c2c", + "id": 49, + "impl": null, + "impl_addr": "0x8072c2c", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2c2c0a09", + "id": 50, + "impl": null, + "impl_addr": "0x2c2c0a09", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xc0b2c2c", + "id": 51, + "impl": null, + "impl_addr": "0xc0b2c2c", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2c0e0d2c", + "id": 52, + "impl": null, + "impl_addr": "0x2c0e0d2c", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xf2c2c2c", + "id": 53, + "impl": null, + "impl_addr": "0xf2c2c2c", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x122c1110", + "id": 54, + "impl": null, + "impl_addr": "0x122c1110", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x142c2c13", + "id": 55, + "impl": null, + "impl_addr": "0x142c2c13", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2c2c2c15", + "id": 56, + "impl": null, + "impl_addr": "0x2c2c2c15", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x162c2c2c", + "id": 57, + "impl": null, + "impl_addr": "0x162c2c2c", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x1a191817", + "id": 58, + "impl": null, + "impl_addr": "0x1a191817", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x1e1d1c1b", + "id": 59, + "impl": null, + "impl_addr": "0x1e1d1c1b", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2c21201f", + "id": 60, + "impl": null, + "impl_addr": "0x2c21201f", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x23222c2c", + "id": 61, + "impl": null, + "impl_addr": "0x23222c2c", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x27262524", + "id": 62, + "impl": null, + "impl_addr": "0x27262524", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0x2b2a2928", + "id": 63, + "impl": null, + "impl_addr": "0x2b2a2928", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 64, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 65, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 66, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 67, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 68, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 69, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 70, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 71, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [], + "case_addr": "0xcccccccc", + "id": 72, + "impl": null, + "impl_addr": "0xcccccccc", + "owner": "CMC_Image", + "runner": "CMC_Image_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue" + ], + "case_addr": "0x1007b857", + "id": 1, + "impl": "CMC_Pattern_Runner::add", + "impl_addr": "0x10079e30", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CPattern::setGrid" + ], + "case_addr": "0x1007b86e", + "id": 2, + "impl": "CMC_Pattern_Runner::setGrid", + "impl_addr": "0x1007a190", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CPattern::move" + ], + "case_addr": "0x1007b885", + "id": 3, + "impl": "CMC_Pattern_Runner::move", + "impl_addr": "0x1007a1f0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x34", + "vtbl+0x34", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Bool::getValue", + "CMC_Bool::getValue" + ], + "case_addr": "0x1007b8b3", + "id": 4, + "impl": "CMC_Pattern_Runner::getGraphicsAt", + "impl_addr": "0x1007a2b0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::malloc", + "vtbl+0x30", + "CMC_Object::getType", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue" + ], + "case_addr": "0x1007b8ca", + "id": 5, + "impl": "CMC_Pattern_Runner::remove", + "impl_addr": "0x10079fd0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x34", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Bool::getValue", + "CPattern::getGraphicsObjectAlias", + "CMC_VariableFactory::allocString" + ], + "case_addr": "0x1007b8e1", + "id": 6, + "impl": "CMC_Pattern_Runner::getAliasAt", + "impl_addr": "0x1007a520", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x34", + "vtbl+0x34", + "vtbl+0x3c", + "CMC_Integer::getValue" + ], + "case_addr": "0x1007b90f", + "id": 7, + "impl": "CMC_Pattern_Runner::getInfoAt", + "impl_addr": "0x1007a820", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CXString::CXString", + "CPattern::getAliasEntry", + "MSVCR80.DLL::operator_new", + "CXString::CXString", + "CMC_String::CMC_String" + ], + "case_addr": "0x1007b926", + "id": 8, + "impl": "CMC_Pattern_Runner::getAliasInfo", + "impl_addr": "0x1007abe0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_VariableFactory::allocBool", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xd8" + ], + "case_addr": "0x1007b93d", + "id": 9, + "impl": "CMC_Pattern_Runner::getCellCord", + "impl_addr": "0x1007af30", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue" + ], + "case_addr": "0x1007b8f8", + "id": 10, + "impl": "CMC_Pattern_Runner::getAliasAtCell", + "impl_addr": "0x1007a6a0", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x64" + ], + "case_addr": "0x1007b89c", + "id": 11, + "impl": "CMC_Pattern_Runner::setPosition", + "impl_addr": "0x1007a250", + "owner": "CMC_Pattern", + "runner": "CMC_Pattern_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_String::getValue", + "vtbl+0xa8" + ], + "case_addr": "0x1004b707", + "id": 1, + "impl": "CMC_Canvas_Runner::add", + "impl_addr": "0x1004a080", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x11c" + ], + "case_addr": "0x1004b71e", + "id": 2, + "impl": "CMC_Canvas_Runner::remove", + "impl_addr": "0x1004a0f0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x7c" + ], + "case_addr": "0x1004b735", + "id": 3, + "impl": null, + "impl_addr": "0x1004b735", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x7c" + ], + "case_addr": "0x1004b74a", + "id": 4, + "impl": null, + "impl_addr": "0x1004b74a", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CRefreshScreen::SetPriority", + "vtbl+0x104" + ], + "case_addr": "0x1004b75f", + "id": 5, + "impl": "CMC_Canvas_Runner::setPriority", + "impl_addr": "0x1004a190", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x58", + "vtbl+0x104" + ], + "case_addr": "0x1004b776", + "id": 6, + "impl": "CMC_Canvas_Runner::setPosition", + "impl_addr": "0x1004a1f0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x6c" + ], + "case_addr": "0x1004b78d", + "id": 7, + "impl": "CMC_Canvas_Runner::move", + "impl_addr": "0x1004a270", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x120", + "vtbl+0x124", + "vtbl+0x104" + ], + "case_addr": "0x1004b7a4", + "id": 8, + "impl": "CMC_Canvas_Runner::clear", + "impl_addr": "0x1004a2d0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0xac" + ], + "case_addr": "0x1004b7bb", + "id": 9, + "impl": "CMC_Canvas_Runner::capture", + "impl_addr": "0x1004a320", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c" + ], + "case_addr": "0x1004b7d2", + "id": 10, + "impl": "CMC_Canvas_Runner::setOpacity", + "impl_addr": "0x1004a370", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0xb0" + ], + "case_addr": "0x1004b7e9", + "id": 11, + "impl": "CMC_Canvas_Runner::setAsButton", + "impl_addr": "0x1004a3b0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x12c" + ], + "case_addr": "0x1004b800", + "id": 12, + "impl": "CMC_Canvas_Runner::erase", + "impl_addr": "0x1004a430", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x114" + ], + "case_addr": "0x1004b817", + "id": 13, + "impl": "CMC_Canvas_Runner::draw", + "impl_addr": "0x1004a590", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x38", + "CMC_Double::getValue" + ], + "case_addr": "0x1004b82e", + "id": 14, + "impl": "CMC_Canvas_Runner::save", + "impl_addr": "0x1004a640", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd4", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004b845", + "id": 15, + "impl": "CMC_Canvas_Runner::getPositionX", + "impl_addr": "0x1004a8e0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd4", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004b85c", + "id": 16, + "impl": "CMC_Canvas_Runner::getPositionY", + "impl_addr": "0x1004a930", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xcc", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004b873", + "id": 17, + "impl": "CMC_Canvas_Runner::getWidth", + "impl_addr": "0x1004a980", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xcc", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004b88a", + "id": 18, + "impl": "CMC_Canvas_Runner::getHeight", + "impl_addr": "0x1004a9d0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xe4", + "vtbl+0xe0", + "vtbl+0xe4", + "vtbl+0xe0", + "CMC_Integer::setValue" + ], + "case_addr": "0x1004b8a1", + "id": 19, + "impl": "CMC_Canvas_Runner::getNumVisiblePixels", + "impl_addr": "0x1004a4d0", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "vtbl+0x34", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Bool::getValue", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0xa4" + ], + "case_addr": "0x1004b8b8", + "id": 20, + "impl": "CMC_Canvas_Runner::recreate", + "impl_addr": "0x1004aa20", + "owner": "CMC_Canvas", + "runner": "CMC_Canvas_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Groupped::add", + "CMC_Object::flush" + ], + "case_addr": "0x10061f77", + "id": 1, + "impl": "CMC_Groupped_Runner::add", + "impl_addr": "0x10060d90", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Groupped::remove", + "CMC_Object::flush" + ], + "case_addr": "0x10061f8e", + "id": 2, + "impl": "CMC_Groupped_Runner::remove", + "impl_addr": "0x10061020", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [], + "case_addr": "0x10061fa5", + "id": 3, + "impl": "CMC_Groupped::removeAll", + "impl_addr": "0x10060a90", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_Groupped::getList", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10061fb3", + "id": 4, + "impl": "CMC_Groupped_Runner::getSize", + "impl_addr": "0x10061110", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Groupped::get", + "CMC_VariableFactory::allocString", + "CMC_Object::getName", + "CMC_String::setValue", + "CMC_Object::flush" + ], + "case_addr": "0x10061fca", + "id": 5, + "impl": "CMC_Groupped_Runner::getName", + "impl_addr": "0x10061140", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0xa0", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x1006200f", + "id": 6, + "impl": "CMC_Groupped_Runner::prev", + "impl_addr": "0x10061300", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0xa4", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x10061ff8", + "id": 7, + "impl": "CMC_Groupped_Runner::next", + "impl_addr": "0x10061390", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush" + ], + "case_addr": "0x10061fe1", + "id": 8, + "impl": "CMC_Groupped_Runner::addClones", + "impl_addr": "0x10060e90", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0xa8" + ], + "case_addr": "0x10062026", + "id": 9, + "impl": null, + "impl_addr": "0x10062026", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xac", + "CMC_Integer::setValue" + ], + "case_addr": "0x10062039", + "id": 10, + "impl": "CMC_Groupped_Runner::getMarkerPos", + "impl_addr": "0x10061470", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0xb0" + ], + "case_addr": "0x10062050", + "id": 11, + "impl": "CMC_Groupped_Runner::setMarkerPos", + "impl_addr": "0x10061420", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x4c" + ], + "case_addr": "0x10062095", + "id": 12, + "impl": "CMC_Runner::clone", + "impl_addr": "0x1007e9e0", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "CMC_Integer::setValue" + ], + "case_addr": "0x10062067", + "id": 13, + "impl": "CMC_Runner::getCloneIdx", + "impl_addr": "0x1007edd0", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0xac", + "CMC_Groupped::get", + "CMC_Object::getName", + "CXString::CXString", + "CMC_String::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1006207e", + "id": 14, + "impl": "CMC_Groupped_Runner::getNameAtMarker", + "impl_addr": "0x100614c0", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_VariableFactory::allocBool", + "CMC_Groupped::contains", + "CMC_Bool::setValue" + ], + "case_addr": "0x100620ac", + "id": 15, + "impl": "CMC_Groupped_Runner::contains", + "impl_addr": "0x10061e70", + "owner": "CMC_Groupped", + "runner": "CMC_Groupped_Runner" + }, + { + "calls": [ + "CMC_Scene::getSubId" + ], + "case_addr": "0x10059497", + "id": 1, + "impl": "CMC_Episode::next", + "impl_addr": "0x10058cd0", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_Scene::getSubId" + ], + "case_addr": "0x100594a5", + "id": 2, + "impl": "CMC_Episode::prev", + "impl_addr": "0x10058d10", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0x44" + ], + "case_addr": "0x100594b3", + "id": 3, + "impl": "CMC_Episode::back", + "impl_addr": "0x10058d50", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0xf4" + ], + "case_addr": "0x100594c1", + "id": 4, + "impl": null, + "impl_addr": "0x100594c1", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x104", + "CMC_Object::flush" + ], + "case_addr": "0x100594d4", + "id": 5, + "impl": "CMC_Episode_Runner::_goto", + "impl_addr": "0x10059370", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Episode::getLatestScene", + "CMC_String::setValue" + ], + "case_addr": "0x100594eb", + "id": 6, + "impl": "CMC_Episode_Runner::getLatestScene", + "impl_addr": "0x100593f0", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0xcc", + "CMC_Object::getName", + "CMC_String::setValue" + ], + "case_addr": "0x10059502", + "id": 7, + "impl": "CMC_Episode_Runner::getCurrentScene", + "impl_addr": "0x10059430", + "owner": "CMC_Episode", + "runner": "CMC_Episode_Runner" + }, + { + "calls": [ + "vtbl+0xa0" + ], + "case_addr": "0x1009e2a7", + "id": 1, + "impl": "CMC_Variable_Runner::set", + "impl_addr": "0x1009a890", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xa8" + ], + "case_addr": "0x1009e2be", + "id": 2, + "impl": "CMC_Variable_Runner::_switch", + "impl_addr": "0x1009ab10", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xa4" + ], + "case_addr": "0x1009e2d5", + "id": 3, + "impl": null, + "impl_addr": "0x1009e2d5", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xac" + ], + "case_addr": "0x1009e2e8", + "id": 4, + "impl": null, + "impl_addr": "0x1009e2e8", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xb0" + ], + "case_addr": "0x1009e2fb", + "id": 5, + "impl": null, + "impl_addr": "0x1009e2fb", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xc0", + "vtbl+0xa0", + "CMC_Object::flush", + "CMC_VariableFactory::copyVariable" + ], + "case_addr": "0x1009e30e", + "id": 6, + "impl": "CMC_Variable_Runner::add", + "impl_addr": "0x1009aba0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xc0", + "vtbl+0xa0", + "CMC_Object::flush" + ], + "case_addr": "0x1009e325", + "id": 7, + "impl": "CMC_Variable_Runner::mul", + "impl_addr": "0x1009ac00", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xd0" + ], + "case_addr": "0x1009e381", + "id": 8, + "impl": null, + "impl_addr": "0x1009e381", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xcc" + ], + "case_addr": "0x1009e394", + "id": 9, + "impl": "CMC_Variable_Runner::setDefault", + "impl_addr": "0x1009aee0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_String::getValue", + "CXString::Right", + "CXString::Left", + "BlooMooDLL::operator+", + "CXString::operator=", + "MSVCR80.DLL::free", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1009e33c", + "id": 10, + "impl": "CMC_Variable_Runner::sub", + "impl_addr": "0x1009ac50", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xc0", + "vtbl+0xa0", + "CMC_Object::flush" + ], + "case_addr": "0x1009e353", + "id": 11, + "impl": "CMC_Variable_Runner::div", + "impl_addr": "0x1009ae20", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0xc0", + "vtbl+0xa0", + "CMC_Object::flush" + ], + "case_addr": "0x1009e36a", + "id": 12, + "impl": "CMC_Variable_Runner::mod", + "impl_addr": "0x1009ae70", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e3ab", + "id": 13, + "impl": "CMC_Variable_Runner::abs", + "impl_addr": "0x1009af10", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e3c2", + "id": 14, + "impl": "CMC_Variable_Runner::and", + "impl_addr": "0x1009af70", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e3d9", + "id": 15, + "impl": "CMC_Variable_Runner::or", + "impl_addr": "0x1009afe0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "CMC_Integer::getValue", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e3f0", + "id": 16, + "impl": "CMC_Variable_Runner::not", + "impl_addr": "0x1009b050", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::setValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e407", + "id": 17, + "impl": "CMC_Variable_Runner::xor", + "impl_addr": "0x1009b1d0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "CMC_VariableFactory::allocInteger", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1009e41e", + "id": 18, + "impl": "CMC_Variable_Runner::power", + "impl_addr": "0x1009e120", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 19, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "CMC_Double::getValue", + "MSVCR80.DLL::_CIsqrt", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e44c", + "id": 20, + "impl": "CMC_Variable_Runner::sqrt", + "impl_addr": "0x1009b2f0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1009e47a", + "id": 21, + "impl": "CMC_Variable_Runner::clamp", + "impl_addr": "0x1009b4a0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "CMC_Object::getType", + "CMC_Object::getType", + "CMC_VariableFactory::allocInteger", + "CMC_String::getValue", + "CMC_Integer::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1009e491", + "id": 22, + "impl": "CMC_Variable_Runner::length", + "impl_addr": "0x1009b620", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "MSVCR80.DLL::_CIatan", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e4a8", + "id": 23, + "impl": "CMC_Variable_Runner::arcTan", + "impl_addr": "0x1009b7d0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "CMC_VariableFactory::allocDouble", + "CMC_Double::getValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e4d6", + "id": 24, + "impl": "CMC_Variable_Runner::get", + "impl_addr": "0x1009a8c0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e504", + "id": 25, + "impl": "CMC_Variable_Runner::mina", + "impl_addr": "0x1009bb80", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e4ed", + "id": 26, + "impl": "CMC_Variable_Runner::maxa", + "impl_addr": "0x1009bab0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "MSVCR80.DLL::_CIatan2", + "vtbl+0x38", + "CMC_Double::getValue", + "FUN_1015b1c0", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e4bf", + "id": 27, + "impl": "CMC_Variable_Runner::arcTanEX", + "impl_addr": "0x1009b850", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "MSVCR80.DLL::_CIsin", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e51b", + "id": 28, + "impl": "CMC_Variable_Runner::sind", + "impl_addr": "0x1009b970", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "MSVCR80.DLL::_CIcos", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e532", + "id": 29, + "impl": "CMC_Variable_Runner::cosd", + "impl_addr": "0x1009ba10", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0xf0" + ], + "case_addr": "0x1009e549", + "id": 30, + "impl": "CMC_Variable_Runner::upper", + "impl_addr": "0x1009bc80", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_String::getValue", + "CMC_String::getValue", + "CXString::FindSubString", + "MSVCR80.DLL::free", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e577", + "id": 31, + "impl": "CMC_Variable_Runner::find", + "impl_addr": "0x1009bcb0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_String::getValue" + ], + "case_addr": "0x1009e58e", + "id": 32, + "impl": "CMC_Variable_Runner::cut", + "impl_addr": "0x1009bde0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_String::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CXString::Right" + ], + "case_addr": "0x1009e5a5", + "id": 33, + "impl": "CMC_Variable_Runner::replaceAt", + "impl_addr": "0x1009bf70", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue" + ], + "case_addr": "0x1009e5bc", + "id": 34, + "impl": "CMC_Variable_Runner::insertAt", + "impl_addr": "0x1009c1d0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_String::getValue", + "CXString::CXString", + "CXString::CXString", + "CXString::replace", + "CMC_String::setValue", + "MSVCR80.DLL::free", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1009e5d3", + "id": 35, + "impl": "CMC_Variable_Runner::replace", + "impl_addr": "0x1009c430", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "CMC_Double::getValue", + "CMC_VariableFactory::allocInteger", + "FUN_1015b1c0", + "FUN_1015b1c0", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e5ea", + "id": 36, + "impl": "CMC_Variable_Runner::round", + "impl_addr": "0x1009c590", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Object::getType", + "vtbl+0x3c", + "CMC_String::getValue", + "CMC_Integer::getValue", + "CXString::IsUpper", + "CMC_Bool::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1009e601", + "id": 37, + "impl": "CMC_Variable_Runner::isUpperLetter", + "impl_addr": "0x1009c640", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Double::getValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009e463", + "id": 38, + "impl": "CMC_Variable_Runner::sgn", + "impl_addr": "0x1009b350", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_String::getValue", + "CXString::CXString", + "CPath::resolveFileNameEx", + "CXString::operator=", + "MSVCR80.DLL::free", + "CXString::CXString", + "CPath::resolveFileNameEx", + "CXString::operator=" + ], + "case_addr": "0x1009e618", + "id": 39, + "impl": "CMC_Variable_Runner::copyFile", + "impl_addr": "0x1009def0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::srand", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CXRandom::random" + ], + "case_addr": "0x1009e62f", + "id": 40, + "impl": "CMC_Variable_Runner::random", + "impl_addr": "0x1009b3d0", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "CMC_VariableFactory::allocDouble", + "vtbl+0x38", + "CMC_Double::getValue", + "CMC_Double::getValue", + "MSVCR80.DLL::_CIlog", + "CMC_Double::setValue", + "CMC_Double::setValue" + ], + "case_addr": "0x1009e435", + "id": 41, + "impl": "CMC_Variable_Runner::log", + "impl_addr": "0x1009b240", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 42, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 43, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 44, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 45, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 46, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [], + "case_addr": "0x1009e646", + "id": 47, + "impl": null, + "impl_addr": "0x1009e646", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CMC_Object::getType", + "vtbl+0xec" + ], + "case_addr": "0x1009e560", + "id": 48, + "impl": "CMC_Variable_Runner::lower", + "impl_addr": "0x1009bc50", + "owner": "CMC_Variable", + "runner": "CMC_Variable_Runner" + }, + { + "calls": [ + "CXTimer::reset" + ], + "case_addr": "0x1009945b", + "id": 1, + "impl": "CMC_Timer::enable", + "impl_addr": "0x10098ec0", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [], + "case_addr": "0x1009946b", + "id": 2, + "impl": "CMC_Timer::disable", + "impl_addr": "0x10098ef0", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [], + "case_addr": "0x1009947b", + "id": 3, + "impl": "CMC_Timer::pause", + "impl_addr": "0x10098f00", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [], + "case_addr": "0x1009948b", + "id": 4, + "impl": "CMC_Timer::resume", + "impl_addr": "0x10098f20", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Timer::getTick", + "CMC_Integer::setValue" + ], + "case_addr": "0x1009949b", + "id": 5, + "impl": null, + "impl_addr": "0x1009949b", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "CXTimer::reset" + ], + "case_addr": "0x100994ba", + "id": 6, + "impl": "CMC_Timer::reset", + "impl_addr": "0x10098f50", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Timer::set", + "CMC_Object::flush" + ], + "case_addr": "0x100994ca", + "id": 7, + "impl": null, + "impl_addr": "0x100994ca", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Timer::setElapse", + "CMC_Object::flush" + ], + "case_addr": "0x100994fd", + "id": 8, + "impl": null, + "impl_addr": "0x100994fd", + "owner": "CMC_Timer", + "runner": "CMC_Timer_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_Object::getName", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Database::add" + ], + "case_addr": "0x10051667", + "id": 1, + "impl": "CMC_Database_Runner::add", + "impl_addr": "0x10051220", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x30", + "CMC_String::getValue", + "CMC_Database::remove" + ], + "case_addr": "0x1005167e", + "id": 2, + "impl": "CMC_Database_Runner::remove", + "impl_addr": "0x100512e0", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_Database::load" + ], + "case_addr": "0x10051695", + "id": 3, + "impl": "CMC_Database_Runner::load", + "impl_addr": "0x10051340", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_Database::save" + ], + "case_addr": "0x100516ac", + "id": 4, + "impl": "CMC_Database_Runner::save", + "impl_addr": "0x10051380", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [], + "case_addr": "0x100516c3", + "id": 5, + "impl": "CMC_Database::removeAll", + "impl_addr": "0x10050b70", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x30", + "CMC_String::getValue", + "CMC_Database::find", + "CMC_Integer::setValue" + ], + "case_addr": "0x100516d1", + "id": 6, + "impl": "CMC_Database_Runner::find", + "impl_addr": "0x100513e0", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Database::select" + ], + "case_addr": "0x100516e8", + "id": 7, + "impl": "CMC_Database_Runner::select", + "impl_addr": "0x10051470", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [], + "case_addr": "0x100516ff", + "id": 8, + "impl": "CMC_Database::next", + "impl_addr": "0x10050d80", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [], + "case_addr": "0x1005170d", + "id": 9, + "impl": "CMC_Database::prev", + "impl_addr": "0x10050de0", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Database::getRows", + "CMC_Integer::setValue" + ], + "case_addr": "0x1005171b", + "id": 10, + "impl": "CMC_Database_Runner::getRowsNo", + "impl_addr": "0x100514e0", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Database::removeAt" + ], + "case_addr": "0x10051732", + "id": 11, + "impl": "CMC_Database_Runner::removeAt", + "impl_addr": "0x10051510", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x40", + "CMC_Object::getName", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Integer::getValue", + "CMC_Database::insertAt" + ], + "case_addr": "0x10051749", + "id": 12, + "impl": "CMC_Database_Runner::insertAt", + "impl_addr": "0x10051540", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10051760", + "id": 13, + "impl": "CMC_Database_Runner::getIndex", + "impl_addr": "0x10051620", + "owner": "CMC_Database", + "runner": "CMC_Database_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::operator_new", + "CXSocket::CXSocket" + ], + "case_addr": "0x100756da", + "id": 1, + "impl": "CNetworkServer::start", + "impl_addr": "0x100e79c0", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::operator_new", + "CNetMessage::CNetMessage" + ], + "case_addr": "0x100756f1", + "id": 2, + "impl": "CNetworkServer::stop", + "impl_addr": "0x100e7a70", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10075705", + "id": 3, + "impl": null, + "impl_addr": "0x10075705", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_NetServer::getLoggedPlayerName", + "CMC_String::setValue" + ], + "case_addr": "0x10075725", + "id": 4, + "impl": "CMC_NetServer_Runner::getLoggedPlayerName", + "impl_addr": "0x100755e0", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CNetworkServer::getPlayersNo", + "CMC_Integer::setValue" + ], + "case_addr": "0x1007573d", + "id": 5, + "impl": null, + "impl_addr": "0x1007573d", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CNetworkServer::getPlayer", + "CNetPlayerInfo::getName", + "CMC_String::setValue" + ], + "case_addr": "0x1007575e", + "id": 6, + "impl": "CMC_NetServer_Runner::getPlayerName", + "impl_addr": "0x10075650", + "owner": "CMC_NetServer", + "runner": "CMC_NetServer_Runner" + }, + { + "calls": [ + "CMC_Image::getImage", + "vtbl+0x7c" + ], + "case_addr": "0x100a2947", + "id": 1, + "impl": "CMC_VirtualGraphicsObject_Runner::show", + "impl_addr": "0x100a1340", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x7c" + ], + "case_addr": "0x100a295e", + "id": 2, + "impl": null, + "impl_addr": "0x100a295e", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x64", + "vtbl+0x104" + ], + "case_addr": "0x100a2973", + "id": 3, + "impl": "CMC_VirtualGraphicsObject_Runner::setPosition", + "impl_addr": "0x100a1380", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x6c" + ], + "case_addr": "0x100a298a", + "id": 4, + "impl": "CMC_VirtualGraphicsObject_Runner::move", + "impl_addr": "0x100a1400", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "thunk_FUN_100d3cd0" + ], + "case_addr": "0x100a29a1", + "id": 5, + "impl": "CMC_VirtualGraphicsObject_Runner::setSource", + "impl_addr": "0x100a1460", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Object::getType", + "thunk_FUN_100d3d90" + ], + "case_addr": "0x100a29b8", + "id": 6, + "impl": "CMC_VirtualGraphicsObject_Runner::setMask", + "impl_addr": "0x100a14b0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CGraphicsObject::SetClippingRect" + ], + "case_addr": "0x100a29cf", + "id": 7, + "impl": "CMC_VirtualGraphicsObject_Runner::clearClipping", + "impl_addr": "0x100a15c0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8" + ], + "case_addr": "0x100a29e6", + "id": 8, + "impl": "CMC_VirtualGraphicsObject_Runner::setClipping", + "impl_addr": "0x100a15e0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100a29fd", + "id": 9, + "impl": "CMC_VirtualGraphicsObject_Runner::getPositionX", + "impl_addr": "0x100a17b0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100a2a14", + "id": 10, + "impl": "CMC_VirtualGraphicsObject_Runner::getPositionY", + "impl_addr": "0x100a1800", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x100a2a2b", + "id": 11, + "impl": "CMC_VirtualGraphicsObject_Runner::getWidth", + "impl_addr": "0x100a1850", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100a2a42", + "id": 12, + "impl": "CMC_VirtualGraphicsObject_Runner::getHeight", + "impl_addr": "0x100a1890", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xf4" + ], + "case_addr": "0x100a2a59", + "id": 13, + "impl": "CMC_VirtualGraphicsObject_Runner::isNear", + "impl_addr": "0x100a18d0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CGraphicsObject::isInside", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100a2a70", + "id": 14, + "impl": "CMC_VirtualGraphicsObject_Runner::isInside", + "impl_addr": "0x100a1ad0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "vtbl+0x38", + "CMC_Bool::getValue", + "vtbl+0x108", + "vtbl+0x34", + "CMC_Object::flush" + ], + "case_addr": "0x100a2a87", + "id": 15, + "impl": "CMC_VirtualGraphicsObject_Runner::monitorCollision", + "impl_addr": "0x100a1ba0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0xa0", + "vtbl+0x34" + ], + "case_addr": "0x100a2a9e", + "id": 16, + "impl": "CMC_VirtualGraphicsObject_Runner::removeMonitorCollision", + "impl_addr": "0x100a1c30", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x100a2ab5", + "id": 17, + "impl": "CMC_VirtualGraphicsObject_Runner::setPriority", + "impl_addr": "0x100a1c60", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x104" + ], + "case_addr": "0x100a2acc", + "id": 18, + "impl": null, + "impl_addr": "0x100a2acc", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x100a2ae2", + "id": 19, + "impl": "CMC_VirtualGraphicsObject_Runner::isVisible", + "impl_addr": "0x100a1ce0", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x100a2af9", + "id": 20, + "impl": "CMC_VirtualGraphicsObject_Runner::setAsButton", + "impl_addr": "0x100a1d10", + "owner": "CMC_VirtualGraphicsObject", + "runner": "CMC_VirtualGraphicsObject_Runner" + }, + { + "calls": [ + "vtbl+0x34" + ], + "case_addr": "0x10052501", + "id": 1, + "impl": null, + "impl_addr": "0x10052501", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x38" + ], + "case_addr": "0x10052514", + "id": 2, + "impl": null, + "impl_addr": "0x10052514", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Object::getType", + "CMC_Image::getImage", + "vtbl+0x28" + ], + "case_addr": "0x100524d3", + "id": 3, + "impl": "CMC_Dialog_Runner::setBackground", + "impl_addr": "0x10052370", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_Object::getType", + "CMC_Button::getButton", + "vtbl+0x2c" + ], + "case_addr": "0x100524ea", + "id": 4, + "impl": "CMC_Dialog_Runner::add", + "impl_addr": "0x10052220", + "owner": "CMC_Dialog", + "runner": "CMC_Dialog_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094dd9", + "id": 1, + "impl": "CMC_System_Runner::getDate", + "impl_addr": "0x10092fc0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_System::getDateString", + "CMC_String::setValue" + ], + "case_addr": "0x10094df0", + "id": 2, + "impl": "CMC_System_Runner::getDateString", + "impl_addr": "0x10094d20", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094e07", + "id": 3, + "impl": "CMC_System_Runner::getDay", + "impl_addr": "0x10093020", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094e1e", + "id": 4, + "impl": "CMC_System_Runner::getDayOfWeek", + "impl_addr": "0x10093070", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getDayOfWeekString", + "CMC_String::setValue" + ], + "case_addr": "0x10094e35", + "id": 5, + "impl": "CMC_System_Runner::getDayOfWeekString", + "impl_addr": "0x100930c0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094e4c", + "id": 6, + "impl": "CMC_System_Runner::getMonth", + "impl_addr": "0x10093100", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getMonthString", + "CMC_String::setValue" + ], + "case_addr": "0x10094e63", + "id": 7, + "impl": "CMC_System_Runner::getMonthString", + "impl_addr": "0x10093150", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094e7a", + "id": 8, + "impl": "CMC_System_Runner::getYear", + "impl_addr": "0x10093190", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getTimeString", + "MSVCR80.DLL::malloc", + "CMC_String::setValue" + ], + "case_addr": "0x10094e91", + "id": 9, + "impl": "CMC_System_Runner::getTimeString", + "impl_addr": "0x10094d60", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094f04", + "id": 10, + "impl": "CMC_System_Runner::getHour", + "impl_addr": "0x100931e0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094ea8", + "id": 11, + "impl": "CMC_System_Runner::getMinutes", + "impl_addr": "0x10093230", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "MSVCR80.DLL::_time64", + "MSVCR80.DLL::_gmtime64", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094ebf", + "id": 12, + "impl": "CMC_System_Runner::getSeconds", + "impl_addr": "0x10093280", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "WINMM.DLL::timeGetTime", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094ed6", + "id": 13, + "impl": "CMC_System_Runner::getSystemTime", + "impl_addr": "0x100932d0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "thunk_FUN_10092660", + "CMC_Integer::setValue" + ], + "case_addr": "0x10094eed", + "id": 14, + "impl": "CMC_System_Runner::getMHz", + "impl_addr": "0x10093300", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "KERNEL32.DLL::Sleep" + ], + "case_addr": "0x10094f1b", + "id": 15, + "impl": "CMC_System_Runner::delay", + "impl_addr": "0x10093340", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_String::getValue", + "CXString::CXString", + "CPath::resolveFileName", + "CXString::operator=", + "MSVCR80.DLL::free", + "CXString::CXString", + "CPath::resolveFileName", + "CXString::operator=" + ], + "case_addr": "0x10094f32", + "id": 16, + "impl": "CMC_System_Runner::copyFile", + "impl_addr": "0x10093370", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "USER32.DLL::ShowWindow" + ], + "case_addr": "0x10094f49", + "id": 17, + "impl": "CMC_System_Runner::minimize", + "impl_addr": "0x10093520", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_VariableFactory::allocBool", + "CMC_String::getValue", + "CCommandLine6::isParameter", + "CMC_Bool::setValue" + ], + "case_addr": "0x10094f60", + "id": 18, + "impl": "CMC_System_Runner::isCmdLineParameter", + "impl_addr": "0x10093540", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_VariableFactory::allocString", + "CMC_String::getValue", + "CCommandLine6::getParameter", + "CMC_String::setValue" + ], + "case_addr": "0x10094f77", + "id": 19, + "impl": "CMC_System_Runner::getCmdLineParameter", + "impl_addr": "0x100935b0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "MSVCR80.DLL::operator_new", + "CPath::CPath", + "MSVCR80.DLL::_chdir", + "CXString::CXString", + "CMC_String::getValue", + "CMC_String::getValue", + "CBlooMooWEB::install", + "CPath::getCurrentPath", + "MSVCR80.DLL::_chdir" + ], + "case_addr": "0x10094f8e", + "id": 20, + "impl": "CMC_System_Runner::install", + "impl_addr": "0x10093620", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CBlooMooWEB::uninstall" + ], + "case_addr": "0x10094fa5", + "id": 21, + "impl": "CMC_System_Runner::uninstall", + "impl_addr": "0x10093780", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getUserName", + "CMC_String::setValue" + ], + "case_addr": "0x10094fbc", + "id": 22, + "impl": "CMC_System_Runner::getUserName", + "impl_addr": "0x100937c0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_VariableFactory::allocString", + "CMC_System::getFolderLocation", + "CMC_String::setValue" + ], + "case_addr": "0x10094fd3", + "id": 23, + "impl": "CMC_System_Runner::getFolderLocation", + "impl_addr": "0x10093800", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_System::getCommandLine", + "CMC_String::setValue" + ], + "case_addr": "0x10094fea", + "id": 24, + "impl": "CMC_System_Runner::getCommandLine", + "impl_addr": "0x10093870", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::malloc", + "vtbl+0x40", + "CMC_String::getValue", + "CXString::operator=", + "MSVCR80.DLL::free", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue", + "MSVCR80.DLL::operator_new", + "CFile::CFile" + ], + "case_addr": "0x10095001", + "id": 25, + "impl": "CMC_System_Runner::isFileExist", + "impl_addr": "0x100938b0", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [], + "case_addr": "0x1009502c", + "id": 26, + "impl": null, + "impl_addr": "0x1009502c", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [], + "case_addr": "0x1009502c", + "id": 27, + "impl": null, + "impl_addr": "0x1009502c", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [], + "case_addr": "0x1009502c", + "id": 28, + "impl": null, + "impl_addr": "0x1009502c", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [], + "case_addr": "0x1009502c", + "id": 29, + "impl": null, + "impl_addr": "0x1009502c", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [], + "case_addr": "0x1009502c", + "id": 30, + "impl": null, + "impl_addr": "0x1009502c", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [], + "case_addr": "0x1009502c", + "id": 31, + "impl": null, + "impl_addr": "0x1009502c", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "MSVCR80.DLL::malloc", + "vtbl+0x40", + "CMC_String::getValue", + "CXString::operator=", + "MSVCR80.DLL::free", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue", + "CXString::CXString", + "IMAGEHLP.DLL::MakeSureDirectoryPathExists", + "MSVCR80.DLL::free", + "CMC_Bool::setValue" + ], + "case_addr": "0x10095018", + "id": 32, + "impl": "CMC_System_Runner::createDir", + "impl_addr": "0x10093a50", + "owner": "CMC_System", + "runner": "CMC_System_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xa4" + ], + "case_addr": "0x1003fae7", + "id": 1, + "impl": "CMC_Array_Runner::add", + "impl_addr": "0x1003ba10", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003fafe", + "id": 2, + "impl": "CMC_Array_Runner::getSize", + "impl_addr": "0x1003bbf0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x30", + "vtbl+0xd8", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Object::flush" + ], + "case_addr": "0x1003fb15", + "id": 3, + "impl": "CMC_Array_Runner::insertAt", + "impl_addr": "0x1003bc20", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0xd8", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Object::flush" + ], + "case_addr": "0x1003fb2c", + "id": 4, + "impl": "CMC_Array_Runner::removeAt", + "impl_addr": "0x1003bcc0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x30", + "vtbl+0xd8", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Object::flush" + ], + "case_addr": "0x1003fb43", + "id": 5, + "impl": "CMC_Array_Runner::changeAt", + "impl_addr": "0x1003bd40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xb8" + ], + "case_addr": "0x1003fb5a", + "id": 6, + "impl": null, + "impl_addr": "0x1003fb5a", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xd8", + "vtbl+0xa0", + "CMC_VariableFactory::copyVariable", + "CMC_Object::flush" + ], + "case_addr": "0x1003fb6d", + "id": 7, + "impl": "CMC_Array_Runner::get", + "impl_addr": "0x1003be00", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30", + "vtbl+0xbc" + ], + "case_addr": "0x1003fb84", + "id": 8, + "impl": "CMC_Array_Runner::remove", + "impl_addr": "0x1003bec0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x30", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003fb9b", + "id": 9, + "impl": "CMC_Array_Runner::find", + "impl_addr": "0x1003bef0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x30", + "vtbl+0xc0", + "CMC_Bool::setValue" + ], + "case_addr": "0x1003fbe0", + "id": 10, + "impl": "CMC_Array_Runner::contains", + "impl_addr": "0x1003c3f0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xd0" + ], + "case_addr": "0x1003fbf7", + "id": 11, + "impl": null, + "impl_addr": "0x1003fbf7", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xd4" + ], + "case_addr": "0x1003fc0a", + "id": 12, + "impl": null, + "impl_addr": "0x1003fc0a", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0xdc", + "vtbl+0x18" + ], + "case_addr": "0x1003fc1d", + "id": 13, + "impl": "CMC_Array_Runner::prev", + "impl_addr": "0x1003c480", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0xe0", + "vtbl+0x18" + ], + "case_addr": "0x1003fc34", + "id": 14, + "impl": "CMC_Array_Runner::next", + "impl_addr": "0x1003c4f0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush" + ], + "case_addr": "0x1003fc4b", + "id": 15, + "impl": "CMC_Array_Runner::addClones", + "impl_addr": "0x1003ba60", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xe4" + ], + "case_addr": "0x1003fc62", + "id": 16, + "impl": null, + "impl_addr": "0x1003fc62", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xe8", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003fc75", + "id": 17, + "impl": "CMC_Array_Runner::getMarkerPos", + "impl_addr": "0x1003c5d0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::flush", + "vtbl+0xec" + ], + "case_addr": "0x1003fc8c", + "id": 18, + "impl": "CMC_Array_Runner::setMarkerPos", + "impl_addr": "0x1003c560", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30" + ], + "case_addr": "0x1003fca3", + "id": 19, + "impl": "CMC_Array_Runner::sum", + "impl_addr": "0x1003c600", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xd8", + "MSVCR80.DLL::malloc", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fcba", + "id": 20, + "impl": "CMC_Array_Runner::suma", + "impl_addr": "0x1003c640", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30" + ], + "case_addr": "0x1003fcd1", + "id": 21, + "impl": "CMC_Array_Runner::sub", + "impl_addr": "0x1003c7e0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xd8", + "MSVCR80.DLL::malloc", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fce8", + "id": 22, + "impl": "CMC_Array_Runner::suba", + "impl_addr": "0x1003c820", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30" + ], + "case_addr": "0x1003fcff", + "id": 23, + "impl": "CMC_Array_Runner::mul", + "impl_addr": "0x1003c9c0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xd8", + "MSVCR80.DLL::malloc", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fd16", + "id": 24, + "impl": "CMC_Array_Runner::mula", + "impl_addr": "0x1003ca00", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x30" + ], + "case_addr": "0x1003fd2d", + "id": 25, + "impl": "CMC_Array_Runner::div", + "impl_addr": "0x1003cba0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff76", + "id": 26, + "impl": null, + "impl_addr": "0x1003ff76", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff76", + "id": 27, + "impl": null, + "impl_addr": "0x1003ff76", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff76", + "id": 28, + "impl": null, + "impl_addr": "0x1003ff76", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff76", + "id": 29, + "impl": null, + "impl_addr": "0x1003ff76", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff76", + "id": 30, + "impl": null, + "impl_addr": "0x1003ff76", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff76", + "id": 31, + "impl": null, + "impl_addr": "0x1003ff76", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0xd8", + "MSVCR80.DLL::malloc", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fd44", + "id": 32, + "impl": "CMC_Array_Runner::diva", + "impl_addr": "0x1003cbe0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8" + ], + "case_addr": "0x1003fd5b", + "id": 33, + "impl": "CMC_Array_Runner::_min", + "impl_addr": "0x1003cfb0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8" + ], + "case_addr": "0x1003fd89", + "id": 34, + "impl": "CMC_Array_Runner::_max", + "impl_addr": "0x1003d130", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0xd8" + ], + "case_addr": "0x1003fdb7", + "id": 35, + "impl": "CMC_Array_Runner::getSumValue", + "impl_addr": "0x1003d290", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x128" + ], + "case_addr": "0x1003fdce", + "id": 36, + "impl": "CMC_Array_Runner::sort", + "impl_addr": "0x1003d430", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x12c" + ], + "case_addr": "0x1003fde5", + "id": 37, + "impl": "CMC_Array_Runner::load", + "impl_addr": "0x1003d390", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0x130" + ], + "case_addr": "0x1003fdfc", + "id": 38, + "impl": "CMC_Array_Runner::save", + "impl_addr": "0x1003d3e0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x30", + "vtbl+0xcc", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003fbb2", + "id": 39, + "impl": "CMC_Array_Runner::reversefind", + "impl_addr": "0x1003c3a0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fe41", + "id": 40, + "impl": "CMC_Array_Runner::mulat", + "impl_addr": "0x1003cdf0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fe58", + "id": 41, + "impl": "CMC_Array_Runner::divat", + "impl_addr": "0x1003cd80", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fe13", + "id": 42, + "impl": "CMC_Array_Runner::addat", + "impl_addr": "0x1003ce60", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fe2a", + "id": 43, + "impl": "CMC_Array_Runner::subat", + "impl_addr": "0x1003ced0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x38", + "vtbl+0x30", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003fe6f", + "id": 44, + "impl": "CMC_Array_Runner::modat", + "impl_addr": "0x1003cf40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::getType", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003fe86", + "id": 45, + "impl": "CMC_Array_Runner::clampAt", + "impl_addr": "0x1003d480", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x40", + "MSVCR80.DLL::operator_new", + "CPath::CPath" + ], + "case_addr": "0x1003fe9d", + "id": 46, + "impl": "CMC_Array_Runner::dir", + "impl_addr": "0x1003d620", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0x134" + ], + "case_addr": "0x1003feb4", + "id": 47, + "impl": "CMC_Array_Runner::compare", + "impl_addr": "0x1003d900", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x1003fee2", + "id": 48, + "impl": "CMC_Array_Runner::sendOnChange", + "impl_addr": "0x1003d9d0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003fef9", + "id": 49, + "impl": "CMC_Array::shiftLeft", + "impl_addr": "0x1003b660", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003ff07", + "id": 50, + "impl": "CMC_Array::shiftRight", + "impl_addr": "0x1003b7b0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "vtbl+0x38", + "CMC_Array::onChanged" + ], + "case_addr": "0x1003ff15", + "id": 51, + "impl": "CMC_Array::rotateLeft", + "impl_addr": "0x1003b8f0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x38", + "vtbl+0x38", + "CMC_Array::onChanged" + ], + "case_addr": "0x1003ff23", + "id": 52, + "impl": "CMC_Array::rotateRight", + "impl_addr": "0x1003b970", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003ff31", + "id": 53, + "impl": "CMC_Array_Runner::swap", + "impl_addr": "0x1003d330", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1003fbc9", + "id": 54, + "impl": "CMC_Array_Runner::findAll", + "impl_addr": "0x1003bf40", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [], + "case_addr": "0x1003fb68", + "id": 55, + "impl": null, + "impl_addr": "0x1003fb68", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0xd8", + "vtbl+0xa0", + "CMC_Double::getValue" + ], + "case_addr": "0x1003fda0", + "id": 56, + "impl": "CMC_Array_Runner::maxd", + "impl_addr": "0x1003d1e0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocDouble", + "vtbl+0xd8", + "vtbl+0xa0", + "CMC_Object::getType", + "CMC_Double::getValue" + ], + "case_addr": "0x1003fd72", + "id": 57, + "impl": "CMC_Array_Runner::mind", + "impl_addr": "0x1003d060", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "vtbl+0xd8", + "vtbl+0xa0", + "vtbl+0xa4", + "vtbl+0xd8" + ], + "case_addr": "0x1003fecb", + "id": 58, + "impl": "CMC_Array_Runner::copyTo", + "impl_addr": "0x1003daa0", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xb8", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x30", + "vtbl+0xa4" + ], + "case_addr": "0x1003ff48", + "id": 59, + "impl": "CMC_Array_Runner::fill", + "impl_addr": "0x1003c180", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "vtbl+0xb8", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CXRandom::random_vector", + "CMC_Integer::getValue", + "MSVCR80.DLL::operator_new" + ], + "case_addr": "0x1003ff5f", + "id": 60, + "impl": "CMC_Array_Runner::randomFill", + "impl_addr": "0x1003c200", + "owner": "CMC_Array", + "runner": "CMC_Array_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xa0" + ], + "case_addr": "0x10036077", + "id": 1, + "impl": "CMC_Animo_Runner::show", + "impl_addr": "0x10030550", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xa4" + ], + "case_addr": "0x1003608e", + "id": 2, + "impl": "CMC_Animo_Runner::hide", + "impl_addr": "0x10030580", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x4c" + ], + "case_addr": "0x100360a5", + "id": 3, + "impl": "CMC_Animo_Runner::pause", + "impl_addr": "0x100305b0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x50" + ], + "case_addr": "0x100360bc", + "id": 4, + "impl": "CMC_Animo_Runner::resume", + "impl_addr": "0x100305e0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x104", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x58", + "vtbl+0x104", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100360d3", + "id": 5, + "impl": "CMC_Animo_Runner::setPosition", + "impl_addr": "0x10030610", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "vtbl+0x6c", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100360ea", + "id": 6, + "impl": "CMC_Animo_Runner::move", + "impl_addr": "0x100306b0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "CMC_String::getValue", + "vtbl+0xa8", + "CMC_Object::flush" + ], + "case_addr": "0x10036101", + "id": 7, + "impl": "CMC_Animo_Runner::load", + "impl_addr": "0x10030730", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CGraphicsObject::SetClippingRect" + ], + "case_addr": "0x10036118", + "id": 8, + "impl": "CMC_Animo_Runner::clearClipping", + "impl_addr": "0x10030790", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0xe8", + "CMC_Object::flush" + ], + "case_addr": "0x1003612f", + "id": 9, + "impl": "CMC_Animo_Runner::setClipping", + "impl_addr": "0x100307c0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x40" + ], + "case_addr": "0x10036146", + "id": 10, + "impl": "CMC_Animo_Runner::play", + "impl_addr": "0x100309d0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x30", + "CMC_Object::getType", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003615d", + "id": 11, + "impl": "CMC_Animo_Runner::setFrame", + "impl_addr": "0x10030a90", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Object::flush", + "vtbl+0x48" + ], + "case_addr": "0x10036174", + "id": 12, + "impl": "CMC_Animo_Runner::stop", + "impl_addr": "0x10030be0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x64", + "CAnimo::GetEventName", + "vtbl+0x30", + "CMC_Object::getType", + "CMC_Integer::getValue", + "CAnimo::GetEventName", + "CXString::CXString", + "CXString::equalsIgnoreCase", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1003618b", + "id": 13, + "impl": "CMC_Animo_Runner::isPlaying", + "impl_addr": "0x10030c60", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x60", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x100361a2", + "id": 14, + "impl": "CMC_Animo_Runner::isPaused", + "impl_addr": "0x10030e20", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger" + ], + "case_addr": "0x100361b9", + "id": 15, + "impl": "CMC_Animo_Runner::getPositionX", + "impl_addr": "0x10030e70", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger" + ], + "case_addr": "0x100361d0", + "id": 16, + "impl": "CMC_Animo_Runner::getPositionY", + "impl_addr": "0x10030ee0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc4", + "CMC_Integer::setValue" + ], + "case_addr": "0x100361e7", + "id": 17, + "impl": "CMC_Animo_Runner::getWidth", + "impl_addr": "0x10030f50", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0xc8", + "CMC_Integer::setValue" + ], + "case_addr": "0x100361fe", + "id": 18, + "impl": "CMC_Animo_Runner::getHeight", + "impl_addr": "0x10030f90", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0x158", + "CMC_Integer::setValue" + ], + "case_addr": "0x10036215", + "id": 19, + "impl": "CMC_Animo_Runner::getFrame", + "impl_addr": "0x10030fd0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Animo::getAnimo", + "CXString::CXString", + "vtbl+0x30", + "vtbl+0x3c", + "CMC_Object::getType", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CAnimo::getFrameName" + ], + "case_addr": "0x1003622c", + "id": 20, + "impl": "CMC_Animo_Runner::getFrameName", + "impl_addr": "0x10031010", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x30", + "CMC_Object::getType", + "CMC_Object::getType", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CAnimo::GetFrameNo" + ], + "case_addr": "0x10036243", + "id": 21, + "impl": "CMC_Animo_Runner::getFrameNo", + "impl_addr": "0x100313c0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocString", + "CMC_Animo::getAnimo", + "CXString::CXString", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CAnimo::GetEventName", + "CXString::operator=", + "MSVCR80.DLL::free", + "CXString::CXString", + "CMC_String::setValue", + "MSVCR80.DLL::free" + ], + "case_addr": "0x1003625a", + "id": 22, + "impl": "CMC_Animo_Runner::getEventName", + "impl_addr": "0x10031580", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0xf4", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x10036288", + "id": 23, + "impl": "CMC_Animo_Runner::isNear", + "impl_addr": "0x100317a0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocBool", + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CAnimo::isInside", + "CMC_Bool::setValue", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x1003629f", + "id": 24, + "impl": "CMC_Animo_Runner::isInside", + "impl_addr": "0x10031a20", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x40", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x38", + "CMC_Animo::getAnimo" + ], + "case_addr": "0x100362b6", + "id": 25, + "impl": "CMC_Animo_Runner::playRand", + "impl_addr": "0x10031af0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Animo::getAnimo", + "vtbl+0x38" + ], + "case_addr": "0x100362cd", + "id": 26, + "impl": "CMC_Animo_Runner::monitorCollision", + "impl_addr": "0x10031c40", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xa4", + "vtbl+0x34" + ], + "case_addr": "0x100362e4", + "id": 27, + "impl": "CMC_Animo_Runner::removeMonitorCollision", + "impl_addr": "0x10031cd0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo" + ], + "case_addr": "0x100362fb", + "id": 28, + "impl": "CMC_Animo_Runner::setForward", + "impl_addr": "0x10031d10", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo" + ], + "case_addr": "0x10036312", + "id": 29, + "impl": "CMC_Animo_Runner::setBackward", + "impl_addr": "0x10031d30", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x160" + ], + "case_addr": "0x10036329", + "id": 30, + "impl": "CMC_Animo_Runner::nextFrame", + "impl_addr": "0x10031d50", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x15c" + ], + "case_addr": "0x10036340", + "id": 31, + "impl": "CMC_Animo_Runner::prevFrame", + "impl_addr": "0x10031d70", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue", + "CRefreshScreen::SetPriority", + "CMC_Object::flush" + ], + "case_addr": "0x10036357", + "id": 32, + "impl": "CMC_Animo_Runner::setPriority", + "impl_addr": "0x10031d90", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xd8", + "CMC_Integer::getValue", + "vtbl+0xd8", + "vtbl+0xc4", + "CMC_Integer::getValue", + "vtbl+0xd8", + "CMC_Integer::getValue" + ], + "case_addr": "0x1003636e", + "id": 33, + "impl": "CMC_Animo_Runner::getAlpha", + "impl_addr": "0x10031df0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "vtbl+0x4c", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xd8", + "CMC_Integer::getValue", + "vtbl+0xd8", + "vtbl+0xc4", + "CMC_Integer::getValue", + "vtbl+0xd8", + "CMC_Integer::getValue" + ], + "case_addr": "0x10036385", + "id": 34, + "impl": "CMC_Animo_Runner::getPixel", + "impl_addr": "0x10032010", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue", + "CMC_Object::flush" + ], + "case_addr": "0x1003639c", + "id": 35, + "impl": "CMC_Animo_Runner::setFPS", + "impl_addr": "0x100321e0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CGraphicsObject::mergeAlpha", + "CMC_Object::flush", + "CMC_Object::flush", + "CMC_Object::flush" + ], + "case_addr": "0x100363ca", + "id": 36, + "impl": "CMC_Animo_Runner::mergeAlpha", + "impl_addr": "0x10032280", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x104" + ], + "case_addr": "0x100363e1", + "id": 37, + "impl": "CMC_Animo_Runner::invalidate", + "impl_addr": "0x10032360", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo::getCurrFramePosition", + "CMC_Integer::setValue" + ], + "case_addr": "0x100363f8", + "id": 38, + "impl": "CMC_Animo_Runner::getCurrFramePositionX", + "impl_addr": "0x10032380", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo::getCurrFramePosition", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003640f", + "id": 39, + "impl": "CMC_Animo_Runner::getCurrFramePositionY", + "impl_addr": "0x100323d0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xd8", + "vtbl+0xcc", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x10036426", + "id": 40, + "impl": "CMC_Animo_Runner::getCenterX", + "impl_addr": "0x10032420", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xd8", + "vtbl+0xcc", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003643d", + "id": 41, + "impl": "CMC_Animo_Runner::getCenterY", + "impl_addr": "0x10032490", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003646b", + "id": 42, + "impl": "CMC_Animo_Runner::getNOE", + "impl_addr": "0x10032540", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "vtbl+0x118", + "CMC_Integer::setValue" + ], + "case_addr": "0x10036482", + "id": 43, + "impl": "CMC_Animo_Runner::getNOF", + "impl_addr": "0x10032580", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "vtbl+0x30", + "CMC_Object::getType", + "CMC_Integer::getValue", + "CAnimo::GetNOFInEvent" + ], + "case_addr": "0x10036499", + "id": 44, + "impl": "CMC_Animo_Runner::getNOFInEvent", + "impl_addr": "0x100325c0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo6::GetMaxWidth", + "CMC_Integer::setValue" + ], + "case_addr": "0x100364b0", + "id": 45, + "impl": "CMC_Animo_Runner::getMaxWidth", + "impl_addr": "0x100326e0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocInteger", + "CAnimo6::GetMaxHeight", + "CMC_Integer::setValue" + ], + "case_addr": "0x100364c7", + "id": 46, + "impl": "CMC_Animo_Runner::getMaxHeight", + "impl_addr": "0x10032720", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "CMC_VariableFactory::allocBool", + "CMC_Bool::setValue" + ], + "case_addr": "0x10036454", + "id": 47, + "impl": "CMC_Animo_Runner::isVisible", + "impl_addr": "0x10032500", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CMC_Integer::setValue" + ], + "case_addr": "0x100364de", + "id": 48, + "impl": "CMC_Animo_Runner::getCFrameInEvent", + "impl_addr": "0x10032760", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue", + "vtbl+0x34", + "CMC_Bool::getValue", + "CMC_Animo::setAsButton" + ], + "case_addr": "0x100364f5", + "id": 49, + "impl": "CMC_Animo_Runner::setAsButton", + "impl_addr": "0x10032790", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x34", + "CMC_Bool::getValue" + ], + "case_addr": "0x1003650c", + "id": 50, + "impl": "CMC_Animo_Runner::setOnFirstFrame", + "impl_addr": "0x100327e0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue" + ], + "case_addr": "0x10036523", + "id": 51, + "impl": "CMC_Animo_Runner::setOpacity", + "impl_addr": "0x10032830", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue", + "vtbl+0xb4" + ], + "case_addr": "0x10036551", + "id": 52, + "impl": "CMC_Animo_Runner::setVolume", + "impl_addr": "0x100328c0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue" + ], + "case_addr": "0x10036568", + "id": 53, + "impl": "CMC_Animo_Runner::setPanning", + "impl_addr": "0x10032950", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "vtbl+0x3c", + "CMC_Animo::getAnimo", + "CMC_Integer::getValue", + "vtbl+0xbc" + ], + "case_addr": "0x1003657f", + "id": 54, + "impl": "CMC_Animo_Runner::setFrequency", + "impl_addr": "0x100329f0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0xd8", + "vtbl+0xcc", + "vtbl+0x40", + "CXString::CXString", + "CMC_String::getValue", + "CXString::equals", + "MSVCR80.DLL::free" + ], + "case_addr": "0x10036596", + "id": 55, + "impl": "CMC_Animo_Runner::setAnchor", + "impl_addr": "0x10032a50", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x3c", + "vtbl+0x40", + "CMC_Object::getType", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CAnimo::GetEventNo", + "CMC_String::getValue" + ], + "case_addr": "0x100365ad", + "id": 56, + "impl": "CMC_Animo_Runner::setFrameName", + "impl_addr": "0x10031220", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CRefreshScreen::GetPriority", + "CMC_Integer::setValue" + ], + "case_addr": "0x100365c4", + "id": 57, + "impl": "CMC_Animo_Runner::getPriority", + "impl_addr": "0x10033080", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x94", + "vtbl+0x104" + ], + "case_addr": "0x100365f2", + "id": 58, + "impl": "CMC_Animo_Runner::flipH", + "impl_addr": "0x100330c0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x98", + "vtbl+0x104" + ], + "case_addr": "0x100365db", + "id": 59, + "impl": "CMC_Animo_Runner::flipV", + "impl_addr": "0x10033100", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x9c", + "vtbl+0x104" + ], + "case_addr": "0x10036609", + "id": 60, + "impl": "CMC_Animo_Runner::resetFlip", + "impl_addr": "0x10033140", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getGraphicsObject", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CGraphicsObject::addObject" + ], + "case_addr": "0x10036620", + "id": 61, + "impl": "CMC_Animo_Runner::drawOnto", + "impl_addr": "0x10033180", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x30", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Object::getType", + "CMC_Integer::getValue", + "CAnimo::GetEventNo", + "CAnimo::GetEventName" + ], + "case_addr": "0x10036637", + "id": 62, + "impl": "CMC_Animo_Runner::playReverse", + "impl_addr": "0x10033210", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "CMC_Integer::getValue", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CAnimo::GetEventNo", + "CAnimo::GetEventName", + "vtbl+0x13c" + ], + "case_addr": "0x1003664e", + "id": 63, + "impl": "CMC_Animo_Runner::nPlay", + "impl_addr": "0x100332f0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x34", + "CMC_VariableFactory::allocBool", + "CMC_Bool::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CAnimo6::isAt", + "CMC_Bool::setValue" + ], + "case_addr": "0x10036665", + "id": 64, + "impl": "CMC_Animo_Runner::isAt", + "impl_addr": "0x10033390", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "CMC_Integer::setValue" + ], + "case_addr": "0x1003653a", + "id": 65, + "impl": "CMC_Animo_Runner::getOpacity", + "impl_addr": "0x10032890", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x78", + "vtbl+0x40", + "CMC_String::getValue", + "CMC_ObjectsContainer::getObject", + "MSVCR80.DLL::free", + "CMC_VariableFactory::allocInteger", + "CMC_Integer::setValue", + "vtbl+0xa4", + "CMC_Integer::setValue", + "vtbl+0xa4" + ], + "case_addr": "0x1003667c", + "id": 66, + "impl": "CMC_Animo_Runner::getAnchor", + "impl_addr": "0x10033440", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "vtbl+0x40", + "CMC_String::getValue", + "CAnimo::GetEventNo", + "MSVCR80.DLL::free", + "CMC_Integer::setValue" + ], + "case_addr": "0x10036271", + "id": 67, + "impl": "CMC_Animo_Runner::getEventNumber", + "impl_addr": "0x100316b0", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo", + "vtbl+0x7c", + "CMC_Integer::setValue" + ], + "case_addr": "0x100363b3", + "id": 68, + "impl": "CMC_Animo_Runner::getFPS", + "impl_addr": "0x10032240", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_Animo::getAnimo", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "vtbl+0x3c", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue", + "CMC_Integer::getValue" + ], + "case_addr": "0x10036693", + "id": 69, + "impl": "CMC_Animo_Runner::replaceColor", + "impl_addr": "0x10033560", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo" + ], + "case_addr": "0x100366aa", + "id": 70, + "impl": "CMC_Animo_Runner::getEndX", + "impl_addr": "0x10033710", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + }, + { + "calls": [ + "CMC_VariableFactory::allocInteger", + "CMC_Animo::getAnimo" + ], + "case_addr": "0x100366c1", + "id": 71, + "impl": "CMC_Animo_Runner::getEndY", + "impl_addr": "0x10033790", + "owner": "CMC_Animo", + "runner": "CMC_Animo_Runner" + } + ], "method_inheritance": [ { "base_runner": "CMC_Runner", @@ -5642,7 +14412,7 @@ "runner": "CMC_VirtualGraphicsObject_Runner" } ], - "schema_version": 3, + "schema_version": 4, "struct_layout": [ { "confidence": "high", diff --git a/tests/test_diff.py b/tests/test_diff.py index d8c4260..41ff21e 100644 --- a/tests/test_diff.py +++ b/tests/test_diff.py @@ -72,6 +72,26 @@ def test_field_type_change_and_owner_filter(): assert d["fields"]["added"] == [] and d["fields"]["removed"] == [] +def test_method_dispatch_body_change(): + old = _snap( + methods=[{"owner": "CMC_Animo", "name": "SHOW", "id": 1}], + method_dispatch=[{"owner": "CMC_Animo", "id": 1, "impl": None, + "impl_addr": "0x1", "calls": ["CMC_Animo::getAnimo", "vtbl+0xa0"]}], + ) + new = _snap( + methods=[{"owner": "CMC_Animo", "name": "SHOW", "id": 1}], + method_dispatch=[{"owner": "CMC_Animo", "id": 1, "impl": None, + "impl_addr": "0x1", "calls": ["CMC_Animo::getAnimo", "vtbl+0xa4"]}], + ) + d = compute_diff(old, new)["method_dispatch"] + assert len(d["changed"]) == 1 + ch = d["changed"][0] + assert ch["item"]["name"] == "SHOW" # name joined from the methods axis on (owner, id) + assert ch["changes"]["calls"] == [["CMC_Animo::getAnimo", "vtbl+0xa0"], + ["CMC_Animo::getAnimo", "vtbl+0xa4"]] + assert "METHOD BODIES" in render_text(compute_diff(old, new)) + + def test_render_no_diff(): out = render_text(compute_diff(_snap(), _snap())) assert "(no differences)" in out @@ -101,3 +121,10 @@ def test_golden_pair_piklib_to_bloomoo(): # rendering must not raise and must mention the new types text = render_text(d) assert "GRBUFFER" in text and "MOUSE" in text + + # method bodies recovered cross-compiler: Animo SHOW (id 1) maps to the same vtable leaf + # despite MSVC6 inlining it and MSVC8 keeping it as a separate show() function + disp_old = {(r["owner"], r["id"]): r for r in old.method_dispatch} + disp_new = {(r["owner"], r["id"]): r for r in new.method_dispatch} + assert disp_old[("CMC_Animo", 1)]["calls"][-1] == "vtbl+0xa0" + assert disp_new[("CMC_Animo", 1)]["calls"][-1] == "vtbl+0xa0"