Lua C API doc

This commit is contained in:
Brues
2026-05-07 16:28:32 -05:00
parent 64ee72c5a7
commit 8216df4193
2 changed files with 517 additions and 0 deletions
+294
View File
@@ -0,0 +1,294 @@
# Lua 5.0 C API in vanilla 1.12.1
Catalogue of the Lua C API functions linked into the client. Vanilla WoW is
built against **Lua 5.0** (not 5.1), and the entire API plus the auxiliary
library lives in a contiguous block of `.text` from roughly `0x006F2000` to
`0x006F5100`. ~120 functions; the public C API is the core of that.
**Cross-verified against two binaries:**
* `C:\WoW\Octo\WoW.exe` — the Turtle WoW build this project hooks (4.9 MB).
* `C:\WoW\WoW 1.12.1 Tiny\origWoW.exe` — an unpatched 1.12.1 client (4.6 MB).
Both share `ImageBase 0x00400000` and identical section VAs (`.text 0x401000`,
`.rdata 0x7FF000`, `.data 0x827000`). All 60 Lua-C-API entry points listed
below are **byte-identical** in their first 32 bytes between the two binaries
— Turtle adds ~128 KB of new code at higher VAs without touching the engine.
Same goes for the DBC class infrastructure and the FrameScript registration
loop. So every offset in this doc transfers verbatim to a clean 1.12.1
client.
`L` (the `lua_State *`) is passed in `ecx` for almost every API entry — the
build uses the MSVC fastcall convention. Each `TValue` is **16 bytes** here
(tag + 12-byte value union), which is why you see a lot of `shl edx, 4` and
`add [ecx+8], 0x10` in the bodies.
## `lua_State` shape (as observed)
| Offset | Field | Notes |
|--------|-----------------|---------------------------------------------|
| `+0x08`| `top` | `TValue *` — top of stack (next free slot) |
| `+0x0C`| `base` | `TValue *` — base of the current frame |
| `+0x10`| `ci` | `CallInfo *` — current call info |
| `+0x18`| `stack` | bottom of stack array |
| `+0x24`| `gcthreshold` | bytes; `lua_setgcthreshold` writes here |
| `+0x28`| `nblocks` | live byte count (read by `lua_getgccount`) |
A `TValue` is laid out:
| Offset | Field | Notes |
|--------|---------|---------------------------------------|
| `+0x0` | `tag` | type tag (see below) |
| `+0x4` | `value` | 12-byte value union |
Tag values (Lua 5.0):
```
LUA_TNONE -1
LUA_TNIL 0
LUA_TBOOLEAN 1
LUA_TLIGHTUSERDATA 2
LUA_TNUMBER 3
LUA_TSTRING 4
LUA_TTABLE 5
LUA_TFUNCTION 6
LUA_TUSERDATA 7
LUA_TTHREAD 8
```
Pseudo-indices in this build:
```
LUA_REGISTRYINDEX -10000 (0xFFFFD8F0)
LUA_GLOBALSINDEX -10001 (0xFFFFD8EF)
LUA_UPVALUEINDEX(i) negative further down
```
You'll see `81 FA F0 D8 FF FF` (`cmp edx, -10000`) and friends in every
function that accepts a stack index.
## Public C API
Confidence column: ✓ = directly verified (CLAUDE.md or via cross-call from
`FrameScript_RegisterFunction`); ★ = high (body pattern is unambiguous —
right tag, right helper calls, matches Lua source); ◦ = inferred from
context but not byte-by-byte verified.
### State manipulation
| VA | Function | Conv. | Notes | Conf |
|--------------|-------------------------|----------|--------------------------------------------------------------|------|
| `0x006F3070` | `lua_gettop` | fastcall | `(top - base) >> 4` | ★ |
| `0x006F3080` | `lua_settop` | fastcall | | ✓ |
| `0x006F30D0` | `lua_pushvalue` | fastcall | resolves pseudo-indices (`-10000`, `-10001`) | ★ |
| `0x006F31A0` | `lua_insert` | fastcall | called as `lua_insert(L, -2)` from `FrameScript_RegisterFunction` | ✓ |
| `0x006F32B0` | `lua_remove` | fastcall | | ◦ |
| `0x006F3350` | `lua_replace` | fastcall | | ◦ |
### Access (type & conversion)
| VA | Function | Conv. | Notes | Conf |
|--------------|-------------------------|----------|-----------------------------------------------------------------------|------|
| `0x006F3400` | `lua_type` | fastcall | thin wrapper: `index2adr(L,idx)` → `*ptr` | ✓ |
| `0x006F3410` | *internal* `index2adr` | fastcall | resolves stack index (incl. pseudo-indices) to `TValue *` | ★ |
| `0x006F3480` | `lua_typename` | fastcall | string array at `0x00811CD0`; `-1` → `"no value"` at `0x00871624` | ★ |
| `0x006F34A0` | `lua_iscfunction` | fastcall | tag == 6 and func-flag at `+6` | ★ |
| `0x006F34D0` | `lua_isnumber` | fastcall | tag == 3 OR coercible (`luaV_tonumber` at `0x006F7C20`) | ✓ |
| `0x006F3510` | `lua_isstring` | fastcall | tag == 4 OR tag == 3 | ★ |
| `0x006F3530` | `lua_isuserdata` | fastcall | tag == 7 (full) OR tag == 2 (light) | ★ |
| `0x006F3550` | `lua_equal` | fastcall | calls `equalobj` at `0x006F58B0` | ★ |
| `0x006F3590` | `lua_rawequal` | fastcall | | ★ |
| `0x006F35E0` | `lua_lessthan` | fastcall | calls `luaV_lessthan` at `0x006F8190` | ★ |
| `0x006F3620` | `lua_tonumber` | fastcall | returns double in `st0` | ✓ |
| `0x006F3660` | `lua_toboolean` | fastcall | tag != nil AND not (tag==1 && value==0) | ★ |
| `0x006F3690` | `lua_tostring` | fastcall | calls `luaV_tostring` at `0x006F7C80` if number | ★ |
| `0x006F36E0` | `lua_strlen` | fastcall | reads `TString.len` from interned string | ★ |
| `0x006F3720` | `lua_tocfunction` | fastcall | returns `f` from `Closure.c.f` | ★ |
| `0x006F3740` | `lua_touserdata` | fastcall | full-userdata → `data + 0x10`; light-userdata → raw pointer; else 0 | ★ |
| `0x006F3770` | `lua_tothread` | fastcall | tag == 8 → `[+0x08]` | ★ |
| `0x006F3790` | `lua_topointer` | fastcall | jump-table on `tag-2` for indices 2..7 | ★ |
CLAUDE.md refers to `0x006F3740` as `FrameScript_GetObject` because the
client uses it to retrieve `CFrameScriptObject *` from light/full userdata
slots. It's the standard `lua_touserdata`.
### Push
| VA | Function | Conv. | Notes | Conf |
|--------------|---------------------------|----------|---------------------------------------------------------|------|
| `0x006F37F0` | `lua_pushnil` | fastcall | tag 0; copies "nil value" from `0x00CEEAC0` | ✓ |
| `0x006F3810` | `lua_pushnumber` | fastcall | tag 3; expects double on stack (8-byte arg) | ✓ |
| `0x006F3840` | `lua_pushlstring` | fastcall | tag 4; calls `luaS_newlstr` at `0x006F9D00` | ★ |
| `0x006F3890` | `lua_pushstring` | fastcall | tail-jumps to `lua_pushnil` if `s==NULL`; otherwise `strlen` then `pushlstring` | ✓ |
| `0x006F38C0` | `lua_pushvfstring` | fastcall | calls `luaO_pushvfstring` at `0x006F5990` | ★ |
| `0x006F38F0` | `lua_pushfstring` | cdecl | varargs — wraps `pushvfstring` | ★ |
| `0x006F3920` | `lua_pushcclosure` | fastcall | tag 6; called from `FrameScript_RegisterFunction` | ✓ |
| `0x006F39F0` | `lua_pushboolean` | fastcall | tag 1; normalises bool via `setnz` | ✓ |
| `0x006F3A20` | `lua_pushlightuserdata` | fastcall | tag 2; raw pointer in slot | ★ |
### Get / Set (table / metatable / fenv)
| VA | Function | Conv. | Notes | Conf |
|--------------|-------------------------|----------|-----------------------------------------------------|------|
| `0x006F3A40` | `lua_gettable` | fastcall | calls `luaV_gettable` at `0x006F7CF0` | ★ |
| `0x006F3B00` | `lua_rawget` | fastcall | calls `luaH_get` at `0x006FA7A0` | ★ |
| `0x006F3BC0` | `lua_rawgeti` | fastcall | calls `luaH_getnum` at `0x006FA700` | ★ |
| `0x006F3C90` | `lua_newtable` | fastcall | tag 5; calls `luaH_new` at `0x006FA4F0` | ★ |
| `0x006F3CF0` | `lua_getmetatable` | fastcall | returns 0 or 1 | ★ |
| `0x006F3D50` | `lua_getfenv` | fastcall | | ◦ |
| `0x006F3E20` | `lua_settable` | fastcall | tail-jumped from `FrameScript_RegisterFunction` with `edx = LUA_GLOBALSINDEX` | ✓ |
| `0x006F3EA0` | `lua_rawset` | fastcall | calls `luaH_set` at `0x006FA840` | ★ |
| `0x006F3F60` | `lua_rawseti` | fastcall | calls `luaH_setnum` at `0x006FAD80` | ★ |
| `0x006F4020` | `lua_setmetatable` | fastcall | returns 1 | ★ |
| `0x006F40D0` | `lua_setfenv` | fastcall | returns 0/1 | ◦ |
CLAUDE.md refers to `0x006F3BC0` as `FrameScript_PushObject`; it's
`lua_rawgeti` — the client uses it to read indexed userdata slots. The
behaviour the comment describes (`push 0; mov edx, 1; mov ecx, L`) is
`lua_rawgeti(L, 1, 0)` on the table-at-1 with key 0.
### Calls / errors / coroutine
| VA | Function | Conv. | Notes | Conf |
|--------------|--------------------------|----------|----------------------------------------------------------|------|
| `0x006F4180` | `lua_call` | fastcall | wrapper — calls `luaD_call` at `0x006F65A0` | ★ |
| `0x006F41A0` | `lua_pcall` | fastcall | uses pcall thunk at `0x006F6960` | ★ |
| `0x006F4250` | *internal pcall thunk* | | | ◦ |
| `0x006F4260` | `lua_cpcall` | fastcall | wraps a C function for pcall | ★ |
| `0x006F4290` | *internal CFunction trampoline* | | called via `lua_cpcall` | ★ |
| `0x006F4320` | `lua_load` | fastcall | reader / loader entry | ★ |
| `0x006F4370` | `lua_dump` | fastcall | requires tag 6 + `Closure.isC == 0` | ★ |
| `0x006F4940` | `lua_error` | cdecl | `(L, msg)` — args on stack; reaches `luaD_throw` via wrappers | ✓ |
### Misc / GC / version
| VA | Function | Conv. | Notes | Conf |
|--------------|--------------------------|----------|---------------------------------------------------|------|
| `0x006F43C0` | `lua_pushupvalues`(?) / internal | | writes `[ecx+0x60] = 1` | ◦ |
| `0x006F43D0` | *paired internal* | | writes `[ecx+0x60] = 0` | ◦ |
| `0x006F43E0` | `lua_getgcthreshold` | fastcall | `[L+0x10][+0x24] >> 10` (kibibytes) | ★ |
| `0x006F43F0` | `lua_getgccount` | fastcall | `[L+0x10][+0x28] >> 10` | ★ |
| `0x006F4400` | `lua_setgcthreshold` | fastcall | clamp / `<<10` / write `+0x24` | ★ |
| `0x006F4430` | `lua_version` | cdecl | `mov eax, 0x0087163C; ret` (returns Lua version string) | ★ |
| `0x006F4440` | `lua_atpanic` | fastcall | calls `luaG_runerror` at `0x006FC780` | ★ |
| `0x006F4450` | `lua_next` | fastcall | calls `luaH_next` at `0x006FA2A0` | ★ |
| `0x006F44E0` | `lua_concat` | fastcall | calls `luaV_concat` at `0x006F84D0` | ★ |
| `0x006F4560` | `lua_newuserdata` | fastcall | tag 7; calls `luaS_newudata` at `0x006F9E30` | ★ |
| `0x006F45B0` | `lua_getupvalue` | fastcall | reads upvalue from C closure | ◦ |
| `0x006F4660` | `lua_setupvalue` | fastcall | | ◦ |
| `0x006F46E0` | *internal upvalue helper*| | shared by get/set above | ◦ |
## Auxiliary library (`luaL_*`)
These wrap the public API and live in the same code block. Several call
back into the public API table above and into formatting helpers.
| VA | Function | Notes | Conf |
|--------------|-------------------------|-----------------------------------------------------------|------|
| `0x006F47B0` | `luaL_newmetatable` (or close) | calls upvalue helper | ◦ |
| `0x006F4810` | `luaL_argerror` | format buffer + `lua_error` | ★ |
| `0x006F48A0` | `luaL_typerror` | composes `expected X got Y` message | ★ |
| `0x006F48E0` | `luaL_where` / similar | reads call stack info into a `luaL_Buffer` | ◦ |
| `0x006F4980` | `luaL_findstring` / `optstring` | | ◦ |
| `0x006F49E0` | `luaL_check*` (entry) | composes prefix + `argerror` | ◦ |
| `0x006F4A70` | `luaL_getmetatable` (registry-keyed) | `lua_pushstring(name); lua_rawget(L, REGISTRY)` | ★ |
| `0x006F4A90` | `luaL_getmetafield` | | ◦ |
| `0x006F4B20` | `luaL_argerror` (overloaded) | wraps with check | ★ |
| `0x006F4B50` | `luaL_callmeta` / similar | | ◦ |
| `0x006F4BB0` | `luaL_buffinit` | initialises `luaL_Buffer` | ◦ |
| `0x006F4BE0` | `luaL_addlstring` / similar | | ◦ |
| `0x006F4C20` | `luaL_pushresult` | | ◦ |
## Internal helpers (called by API but not part of public surface)
These are tagged in the call lists above; recording them here for
reference. Confidence is "structural" — names match the standard `l*.c`
filenames in Lua 5.0 by behaviour.
| VA | Likely function | Notes |
|--------------|--------------------------|---------------------------------------------------|
| `0x006F3140` | `setobj` / TValue copy | 16-byte memcpy |
| `0x006F58B0` | `equalobj` | called by `lua_equal` |
| `0x006F65A0` | `luaD_call` | the actual call dispatcher |
| `0x006F6960` | `luaD_pcall` | protected call dispatcher |
| `0x006F7340` | `luaD_growstack` (or checkstack) | invoked when stack needs space |
| `0x006F7C20` | `luaV_tonumber` | string→number coercion |
| `0x006F7C80` | `luaV_tostring` | number→string coercion |
| `0x006F7CF0` | `luaV_gettable` | metamethod-aware get |
| `0x006F7F40` | `luaV_settable` | |
| `0x006F8190` | `luaV_lessthan` | |
| `0x006F8330` | (rawequal helper) | |
| `0x006F84D0` | `luaV_concat` | |
| `0x006F9D00` | `luaS_newlstr` | string interning |
| `0x006F9E30` | `luaS_newudata` | full-userdata allocator |
| `0x006F9E70` | `luaF_newCclosure` | C-closure allocator |
| `0x006FA2A0` | `luaH_next` | table iteration |
| `0x006FA4F0` | `luaH_new` | table allocator |
| `0x006FA700` | `luaH_getnum` | |
| `0x006FA7A0` | `luaH_get` | |
| `0x006FA840` | `luaH_set` | |
| `0x006FAD80` | `luaH_setnum` | |
| `0x006FBAA0` | format helper for error | used by `luaL_typerror` etc. |
| `0x006FC780` | `luaG_runerror` | reached from `lua_atpanic` |
## Calling convention quick reference
```
fastcall ecx = L edx = 2nd arg (idx, etc.) stack = rest
cdecl varargs push args RTL; explicit `add esp, n` after call
```
`lua_pushnumber` is fastcall but takes a `double` — the double sits **on
the stack** (8 bytes) immediately after the return address, so the call
site looks like:
```asm
push high32 ; second dword of double
push low32 ; first dword of double
mov ecx, L
call lua_pushnumber ; cleans up its own 8 bytes (ret 8)
```
The same trick (callee-clean of the double) shows up at the end of the
function (`5E 5D C2 08 00` = `pop esi; pop ebp; ret 8`).
## How to use this when writing a hook
If you're adding a new Lua-callable function and don't want to roll your
own typedefs, prefer the helpers already exposed in this project's
[`Game::Lua` namespace](../src/Game.h) — `RegisterGlobalFunction`,
`RegisterFrameMethods`, and the `Push*` / `To*` wrappers. Those wrap the
public API entries listed above so you don't have to import the offsets
file-by-file.
If you do need a function that isn't wrapped yet, the typedef pattern is:
```cpp
namespace Game::Lua {
using Type_t = int (__fastcall *)(void *L, int idx); // 0x006F3400
using ToString_t = const char* (__fastcall *)(void *L, int idx); // 0x006F3690
using PushNumber_t = void (__fastcall *)(void *L, double n); // 0x006F3810
using Error_t = int (__cdecl *) (void *L, const char *fmt, ...); // 0x006F4940
// pick fastcall vs cdecl per the table above
}
```
then point at the offset.
## Methodology, briefly
1. Find the registration plumbing first. `FrameScript_RegisterFunction`
(`0x00704120`) is the entry point for every global Lua function
registration; its body uses `lua_pushcclosure`, `lua_pushstring`,
`lua_insert`, and `lua_settable` — each of those gives you a verified
anchor address.
2. The reset/getter pair pattern from the DBC catalogue doesn't apply
here, but the `LUA_GLOBALSINDEX` constant `0xFFFFD8EF` is unique enough
that grepping for `81 FA EF D8 FF FF` (`cmp edx, -10001`) finds nearly
every API function that takes a stack-index argument.
3. The `TValue` tag dispatch — `8B 00; 83 F8 N; je …` — paired with the
tag values 0..8 gives you most of the `lua_isX` and `lua_toX` family.
4. Push functions are tiny and recognisable: `mov eax, [ecx+8]; mov dword
[eax], <tag>; ...; add [ecx+8], 0x10; ret`.
5. For internal helpers (`luaV_*`, `luaH_*`, `luaS_*`, `luaD_*`): walk the
call lists above. The `lua_*` public function in column 1 gives a name
to the unknown helper it dispatches to.
Raw extracted dump kept as `raw_lua_funcs.txt` for cross-checking VAs.
+223
View File
@@ -0,0 +1,223 @@
0x006F2000 sz=0x0A0: 01 00 00 00 5B 8B E5 5D C2 08 00 8B 46 08 68 FF FF FF 7F 68 C8 14 87 00 50 E8 A2 84 F5 FF 85 C0 75 4E 68 14 15 87 00 8B CE E8 C2 0C 00 00 85 C0 74 10 80 38 00 74 0B 50 E8 63 8A F5 FF 8B 55 FC
calls: 0x0064A4C0,0x0064AAA0,0x006F2CF0
0x006F20A0 sz=0x330: 55 8B EC 83 EC 08 8B 45 0C 53 56 8B 75 08 8B DA 57 C7 03 00 00 00 00 8B F9 8B 4D 10 C7 06 00 00 00 00 C7 00 00 00 00 00 C7 01 00 00 00 00 68 88 15 87 00 8B CF 89 5D FC E8 13 0C 00 00 85 C0 74
calls: 0x0041AD70,0x0041AE60,0x0064A4C0,0x0064AAA0,0x006F2CF0
0x006F23D0 sz=0x13D: 55 8B EC 83 EC 10 53 56 57 68 9C 15 87 00 8B DA 8B F9 C7 45 FC 00 00 00 00 C7 45 F8 00 00 00 00 C7 45 F4 00 00 00 00 C7 45 F0 00 00 80 3F E8 ED 08 00 00 8B F0 85 F6 74 59 80 3E 00 74 54 56 E8
calls: 0x0064AAA0,0x006F2CF0
0x006F250D sz=0x02D: 85 F5 FF D8 1D D8 F9 7F 00 DF E0 F6 C4 05 7A 0B 56 E8 7D 85 F5 FF D9 5D F4 EB 10 C7 45 F4 00 00 80 3F EB 07 C7 45 F4 00 00 00 00 68 90
calls: 0x0064AAA0
0x006F253A sz=0x0F6: 15 87 00 8B CF E8 AC 07 00 00 8B F0 85 F6 74 56 80 3E 00 74 51 56 E8 4B 85 F5 FF D8 1D D8 F9 7F 00 DF E0 F6 C4 05 7A 13 56 E8 38 85 F5 FF D8 1D 74 FD 7F 00 DF E0 F6 C4 41 75 23 56 E8 25 85 F5
calls: 0x0040A2B0,0x0064AAA0,0x006F2CF0
0x006F2630 sz=0x0C0: 55 8B EC 53 56 57 8B DA 68 E0 15 87 00 8B F9 C7 03 00 00 00 00 E8 A6 06 00 00 8B F0 85 F6 74 2C 80 3E 00 74 27 8B D3 8B CE E8 C2 F3 FF FF 85 C0 8B 5D 10 75 1A 8B 4F 08 8B 03 51 56 68 B8 15 87
calls: 0x0064A4C0,0x006F1A20,0x006F23D0,0x006F2CF0
0x006F26F0 sz=0x090: 55 8B EC 6A FF 68 F8 E9 7F 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 51 53 56 57 6A FE 68 88 65 84 00 8B F9 6A 00 B9 E0 4C CF 00 8B F2 E8 2D DD 06 00 89 45 F0 85 C0 C7 45 FC 00 00 00 00 74
calls: 0x00760450,0x0076FC40,0x0076FDF0,0x007701C0
0x006F2780 sz=0x090: 55 8B EC 6A FF 68 18 EA 7F 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 51 53 56 57 6A FE 68 44 65 84 00 8B F9 6A 00 B9 10 4D CF 00 8B F2 E8 9D DC 06 00 89 45 F0 85 C0 C7 45 FC 00 00 00 00 74
calls: 0x00760450,0x00770D30,0x00770F10,0x00771480
0x006F2810 sz=0x010: E9 0B 00 00 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F2820
0x006F2820 sz=0x010: D9 05 F4 19 81 00 DC C0 D9 1D A8 EA CE 00 C3 90
0x006F2830 sz=0x010: E9 0B 00 00 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F2840
0x006F2840 sz=0x020: D9 05 D8 F9 7F 00 D8 35 A8 EA CE 00 D9 1D 5C EA CE 00 C3 90 90 90 90 90 90 90 90 90 90 90 90 90
0x006F2860 sz=0x020: 85 C9 74 0F 6A 00 6A 00 51 B9 E0 4C CF 00 E8 7D DC 06 00 C3 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x007604F0
0x006F2880 sz=0x020: 85 C9 74 0F 6A 00 6A 00 51 B9 10 4D CF 00 E8 5D DC 06 00 C3 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x007604F0
0x006F28A0 sz=0x120: 55 8B EC 6A FF 68 41 EA 7F 00 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 08 53 56 57 6A 00 6A 15 68 EC 15 87 00 6A 20 E8 12 3A F5 FF 89 45 F0 89 45 EC 85 C0 8B 75 08 C7 45 FC 00 00 00 00
calls: 0x006462E0,0x0064A620,0x006F2B10
0x006F29C0 sz=0x070: 55 8B EC 8B 45 08 8B 48 04 8B 11 89 50 04 5D C3 55 8B EC 8B 45 08 53 8B 5D 10 85 DB 57 8B 78 04 74 40 8B 47 0C 85 C0 56 74 0A 50 E8 00 7D F5 FF 8B F0 EB 02 33 F6 8B 57 0C 6A 00 6A 48 68 EC 15
calls: 0x00646320,0x0064A6F0
0x006F2A30 sz=0x090: 55 8B EC 51 53 56 57 6A 00 8B DA 89 4D FC E8 4D 3C 0F 00 8B F0 83 C4 04 85 F6 75 07 5F 5E 5B 8B E5 5D C3 6A 00 6A 59 68 EC 15 87 00 6A 08 E8 7D 38 F5 FF 8B F8 68 C0 29 6F 00 33 C0 8B CF 89 01
calls: 0x006462E0,0x006F2AC0,0x007E6690,0x007E6F70,0x007E7010,0x007E7050,0x007E72C0
0x006F2AC0 sz=0x040: 56 57 8B F9 8B 37 85 F6 74 16 8B CE E8 9F 00 00 00 6A 00 6A FF 68 F8 E1 82 00 56 E8 50 39 F5 FF 6A 00 6A 6D 68 EC 15 87 00 57 E8 41 39 F5 FF 5F 5E C3 90 90 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x00646430,0x006F2B70
0x006F2B00 sz=0x010: 8B 01 C3 90 90 90 90 90 90 90 90 90 90 90 90 90
0x006F2B10 sz=0x060: 55 8B EC 8B 45 08 56 57 8B F1 8B 4D 0C 6A 7B 68 EC 15 87 00 33 FF 51 89 06 89 7E 04 E8 EF 7A F5 FF 89 46 08 8B 06 3B C7 89 7E 0C 89 7E 10 89 7E 14 89 7E 18 89 7E 1C 74 10 8B 40 0C 3B C7 74 09
calls: 0x0064A620,0x0064A6F0
0x006F2B70 sz=0x045: 56 8B F1 57 8B 7E 1C 85 FF 74 16 8B CF E8 EE FF FF FF 6A 00 6A FF 68 F8 E1 82 00 57 E8 9F 38 F5 FF 8B 7E 04 85 FF 74 16 8B CF E8 D1 FF FF FF 6A 00 6A FF 68 F8 E1 82 00 57 E8 82 38 F5 FF 8B 46
calls: 0x00646430,0x006F2B70
0x006F2BB5 sz=0x09B: 00 00 00 68 EC 15 87 00 50 E8 6D 38 F5 FF 8B 46 0C 85 C0 74 12 6A 00 68 92 00 00 00 68 EC 15 87 00 50 E8 54 38 F5 FF 8B 46 14 85 C0 74 5B 8B 46 10 33 FF 85 C0 7E 3D 8D 64 24 00 8B 4E 14 8B 14
calls: 0x00646430
0x006F2C50 sz=0x010: 55 8B EC 56 8B 71 04 85 F6 57 74 1E 8B 7D 08 90
0x006F2C60 sz=0x030: 8B 46 08 68 FF FF FF 7F 57 50 E8 51 78 F5 FF 85 C0 74 0F 8B 76 1C 85 F6 75 E6 5F 33 C0 5E 5D C2 04 00 5F 8B C6 5E 5D C2 04 00 90 90 90 90 90 90
calls: 0x0064A4C0
0x006F2C90 sz=0x010: E9 0B 00 00 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F2CA0
0x006F2CA0 sz=0x010: A1 28 1B 81 00 A3 AC EA CE 00 C3 90 90 90 90 90
0x006F2CB0 sz=0x020: 55 8B EC 8B 45 08 85 C0 7C 0F 3B 41 10 7D 0A 8B 49 14 8B 04 C1 5D C2 04 00 33 C0 5D C2 04 00 90
0x006F2CD0 sz=0x070: 55 8B EC 8B 45 08 85 C0 7C 10 3B 41 10 7D 0B 8B 49 14 8B 44 C1 04 5D C2 04 00 33 C0 5D C2 04 00 55 8B EC 53 56 57 8B F9 8B 47 10 33 F6 85 C0 7E 21 8B 5D 08 8B 47 14 8B 0C F0 68 FF FF FF 7F 53
calls: 0x0064A4C0
0x006F2D40 sz=0x03C: 55 8B EC 53 8B 5D 08 56 8B F1 8B 46 10 57 33 FF 85 C0 7E 1E 8B 46 14 8B 0C F8 68 FF FF FF 7F 51 53 E8 5A 77 F5 FF 85 C0 74 6F 8B 46 10 47 3B F8 7C E2 8B 46 10 8B 56 14 6A 00 68 CC
calls: 0x0064A4C0
0x006F2D7C sz=0x0A4: 00 00 00 68 EC 15 87 00 8D 0C C5 08 00 00 00 51 52 E8 8E 35 F5 FF 68 CD 00 00 00 68 EC 15 87 00 53 89 46 14 E8 7B 78 F5 FF 8B 4E 10 8B 56 14 68 CE 00 00 00 89 04 CA 8B 45 0C 68 EC 15 87 00 50
calls: 0x00646320,0x00646430,0x0064A620
0x006F2E20 sz=0x050: 8B 01 85 C0 74 3E 8B 50 04 3B D1 75 14 8B 51 1C 89 50 04 C7 41 1C 00 00 00 00 C7 01 00 00 00 00 C3 8B 42 1C 3B C1 74 09 8B D0 8B 42 1C 3B C1 75 F7 8B 41 1C 89 42 1C C7 41 1C 00 00 00 00 C7 01
0x006F2E70 sz=0x010: E9 0B 00 00 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F2E80
0x006F2E80 sz=0x010: D9 05 2C 1B 81 00 DC C0 D9 1D BC EA CE 00 C3 90
0x006F2E90 sz=0x010: E9 0B 00 00 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F2EA0
0x006F2EA0 sz=0x020: D9 05 D8 F9 7F 00 D8 35 BC EA CE 00 D9 1D B0 EA CE 00 C3 90 90 90 90 90 90 90 90 90 90 90 90 90
0x006F2EC0 sz=0x070: 53 56 8B F1 8B 46 08 57 8B CA 8B 19 8B F8 89 1F 8B 59 04 89 5F 04 8B 59 08 89 5F 08 8B 49 0C 89 4F 0C 8B 52 04 85 D2 74 11 A1 C4 EA CE 00 85 C0 74 11 89 15 C0 EA CE 00 EB 09 8B 15 C0 EA CE 00
calls: 0x006F5F60
0x006F2F30 sz=0x0F0: 56 8B F1 8B 46 08 57 8B 7E 0C 8B C8 2B CF C1 F9 04 03 CA 81 F9 00 08 00 00 7E 05 5F 33 C0 5E C3 8B 4E 18 8B FA C1 E7 04 2B C8 3B CF 7F 07 8B CE E8 FB 2F 00 00 8B 56 08 8B 76 14 8B 4E 04 8D 04
calls: 0x006F5F60
0x006F3020 sz=0x010: 8B 49 10 8B 41 2C 89 51 2C C3 90 90 90 90 90 90
0x006F3030 sz=0x040: 56 8B F1 8B 46 10 8B 48 28 3B 48 24 72 07 8B CE E8 FB 42 00 00 8B CE E8 C4 3A 00 00 8B 4E 08 C7 01 08 00 00 00 8B 15 C0 EA CE 00 89 51 04 89 41 08 83 46 08 10 5E C3 90 90 90 90 90 90 90 90 90
calls: 0x006F6B10,0x006F7340
0x006F3070 sz=0x010: 8B 41 08 2B 41 0C C1 F8 04 C3 90 90 90 90 90 90
0x006F3080 sz=0x050: 85 D2 8B 41 08 7C 38 56 8B 71 0C C1 E2 04 03 F2 3B C6 73 21 8D 70 10 89 71 08 C7 00 00 00 00 00 8B 35 C0 EA CE 00 89 70 04 8B 71 0C 8B 41 08 03 F2 3B C6 72 DF 8B 41 0C 03 C2 5E 89 41 08 C3 42
0x006F30D0 sz=0x070: 85 D2 56 7E 0C 8B 41 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 41 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 71 0C 83 EE 10 8B 76 08 B8 EF
0x006F3140 sz=0x060: 8D 50 F0 8B F0 8B 1E 8B FA 89 1F 8B 5E 04 89 5F 04 8B 5E 08 89 5F 08 8B 76 0C 89 77 0C 8B 70 04 85 F6 74 12 8B 15 C4 EA CE 00 85 D2 74 11 89 35 C0 EA CE 00 EB 09 8B 35 C0 EA CE 00 89 72 04 8B
0x006F31A0 sz=0x110: 55 8B EC 51 85 D2 56 57 89 4D FC 7E 0C 8B 41 0C C1 E2 04 8D 7C 10 F0 EB 54 81 FA F0 D8 FF FF 7E 0C 8B 41 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 71 0C
0x006F32B0 sz=0x0A0: 85 D2 8B 41 08 56 57 8D 78 F0 7E 0C 8B 41 0C C1 E2 04 8D 44 10 F0 EB 4F 81 FA F0 D8 FF FF 7E 09 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 71 0C 83 EE 10 8B
0x006F3350 sz=0x0B0: 85 D2 53 56 57 7E 0C 8B 41 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 41 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 71 0C 83 EE 10 8B 76 08
0x006F3400 sz=0x010: E8 0B 00 00 00 85 C0 75 04 83 C8 FF C3 8B 00 C3
calls: 0x006F3410
0x006F3410 sz=0x070: 85 D2 7E 12 8B 41 0C C1 E2 04 8D 54 10 F0 3B 51 08 1B C0 23 C2 C3 81 FA F0 D8 FF FF 7E 0B 8B 41 08 C1 E2 04 03 D0 8B C2 C3 81 FA EF D8 FF FF 74 30 81 FA F0 D8 FF FF 74 21 8B 49 0C 83 E9 10 8B
0x006F3480 sz=0x020: 83 FA FF B8 24 16 87 00 74 07 8B 04 95 D0 1C 81 00 C3 90 90 90 90 90 90 90 90 90 90 90 90 90 90
0x006F34A0 sz=0x030: E8 6B FF FF FF 85 C0 74 15 83 38 06 75 10 8B 40 08 8A 48 06 84 C9 74 06 B8 01 00 00 00 C3 33 C0 C3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3410
0x006F34D0 sz=0x040: 55 8B EC 83 EC 10 E8 35 FF FF FF 85 C0 74 1C 83 38 03 74 0E 8D 55 F0 8B C8 E8 32 47 00 00 85 C0 74 09 B8 01 00 00 00 8B E5 5D C3 33 C0 8B E5 5D C3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3410,0x006F7C20
0x006F3510 sz=0x020: E8 EB FE FF FF 83 F8 04 74 08 83 F8 03 74 03 33 C0 C3 B8 01 00 00 00 C3 90 90 90 90 90 90 90 90
calls: 0x006F3400
0x006F3530 sz=0x020: E8 DB FE FF FF 85 C0 74 12 8B 00 83 F8 07 74 05 83 F8 02 75 06 B8 01 00 00 00 C3 33 C0 C3 90 90
calls: 0x006F3410
0x006F3550 sz=0x040: 55 8B EC 56 57 8B F1 E8 B4 FE FF FF 8B 55 08 8B CE 8B F8 E8 A8 FE FF FF 85 FF 74 13 85 C0 74 0F 8B D0 8B CF E8 37 23 00 00 5F 5E 5D C2 04 00 5F 33 C0 5E 5D C2 04 00 90 90 90 90 90 90 90 90 90
calls: 0x006F3410,0x006F58B0
0x006F3590 sz=0x050: 55 8B EC 56 57 8B F1 E8 74 FE FF FF 8B 55 08 8B CE 8B F8 E8 68 FE FF FF 85 FF 74 23 85 C0 74 1F 8B 0F 3B 08 75 19 50 8B D7 8B CE E8 70 4D 00 00 85 C0 74 0B 5F B8 01 00 00 00 5E 5D C2 04 00 5F
calls: 0x006F3410,0x006F8330
0x006F35E0 sz=0x040: 55 8B EC 56 57 8B F1 E8 24 FE FF FF 8B 55 08 8B CE 8B F8 E8 18 FE FF FF 85 FF 74 14 85 C0 74 10 50 8B D7 8B CE E8 86 4B 00 00 5F 5E 5D C2 04 00 5F 33 C0 5E 5D C2 04 00 90 90 90 90 90 90 90 90
calls: 0x006F3410,0x006F8190
0x006F3620 sz=0x040: 55 8B EC 83 EC 10 E8 E5 FD FF FF 85 C0 74 1A 83 38 03 74 0E 8D 55 F0 8B C8 E8 E2 45 00 00 85 C0 74 07 DD 40 08 8B E5 5D C3 DD 05 70 29 80 00 8B E5 5D C3 90 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3410,0x006F7C20
0x006F3660 sz=0x030: E8 AB FD FF FF 85 C0 74 18 8B 08 85 C9 74 12 83 F9 01 75 07 8B 48 08 85 C9 74 06 B8 01 00 00 00 C3 33 C0 C3 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3410
0x006F3690 sz=0x050: 56 57 8B F9 E8 77 FD FF FF 8B F0 85 F6 75 03 5F 5E C3 83 3E 04 75 09 8B 46 08 5F 83 C0 10 5E C3 8B D6 8B CF E8 C7 45 00 00 85 C0 74 08 8B 76 08 83 C6 10 EB 02 33 F6 8B 47 10 8B 48 28 3B 48 24
calls: 0x006F3410,0x006F7340,0x006F7C80
0x006F36E0 sz=0x040: 56 57 8B F9 E8 27 FD FF FF 8B F0 85 F6 74 24 83 3E 04 75 09 8B 46 08 8B 40 0C 5F 5E C3 8B D6 8B CF E8 7A 45 00 00 85 C0 74 09 8B 4E 08 8B 41 0C 5F 5E C3 5F 33 C0 5E C3 90 90 90 90 90 90 90 90
calls: 0x006F3410,0x006F7C80
0x006F3720 sz=0x020: E8 EB FC FF FF 85 C0 74 13 83 38 06 75 0E 8B 40 08 8A 48 06 84 C9 74 04 8B 40 0C C3 33 C0 C3 90
calls: 0x006F3410
0x006F3740 sz=0x030: E8 CB FC FF FF 85 C0 75 01 C3 8B 08 83 E9 02 74 0F 83 E9 05 74 03 33 C0 C3 8B 40 08 83 C0 10 C3 8B 40 08 C3 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3410
0x006F3770 sz=0x020: E8 9B FC FF FF 85 C0 74 09 83 38 08 75 04 8B 40 08 C3 33 C0 C3 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3410
0x006F3790 sz=0x060: 56 57 8B F2 8B F9 E8 75 FC FF FF 85 C0 74 22 8B 08 83 C1 FE 83 F9 06 77 18 FF 24 8D C8 37 6F 00 8B 40 08 5F 5E C3 8B CF 5F 8B D6 5E E9 7F FF FF FF 5F 33 C0 5E C3 8B FF B6 37 6F 00 C1 37 6F 00
calls: 0x006F3410,0x006F3740
0x006F37F0 sz=0x020: 8B 41 08 C7 00 00 00 00 00 8B 15 C0 EA CE 00 89 50 04 83 41 08 10 C3 90 90 90 90 90 90 90 90 90
0x006F3810 sz=0x030: 55 8B EC 8B 41 08 C7 00 03 00 00 00 8B 15 C0 EA CE 00 89 50 04 8B 55 08 56 8B 75 0C 89 70 0C 89 50 08 83 41 08 10 5E 5D C2 08 00 90 90 90 90 90
0x006F3840 sz=0x050: 55 8B EC 53 56 8B F1 8B 46 10 8B 48 28 8B DA 3B 48 24 57 72 07 8B CE E8 E4 3A 00 00 8B 7E 08 8B 45 08 C7 07 04 00 00 00 8B 15 C0 EA CE 00 89 57 04 50 8B D3 8B CE E8 85 64 00 00 89 47 08 8B 46
calls: 0x006F7340,0x006F9D00
0x006F3890 sz=0x030: 85 D2 56 8B F1 75 06 5E E9 53 FF FF FF 57 83 C9 FF 33 C0 8B FA F2 AE F7 D1 49 51 8B CE E8 8E FF FF FF 5F 5E C3 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F37F0,0x006F3840
0x006F38C0 sz=0x030: 55 8B EC 56 8B F1 8B 46 10 8B 48 28 57 8B FA 3B 48 24 72 07 8B CE E8 65 3A 00 00 8B 55 08 52 8B D7 8B CE E8 A8 20 00 00 5F 5E 5D C2 04 00 90 90
calls: 0x006F5990,0x006F7340
0x006F38F0 sz=0x030: 55 8B EC 56 8B 75 08 8B 46 10 8B 48 28 3B 48 24 72 07 8B CE E8 37 3A 00 00 8D 55 10 52 8B 55 0C 8B CE E8 79 20 00 00 5E 5D C3 90 90 90 90 90 90
calls: 0x006F5990,0x006F7340
0x006F3920 sz=0x0D0: 55 8B EC 83 EC 08 53 56 8B F1 8B 46 10 8B 48 28 57 8B FA 3B 48 24 72 07 8B CE E8 01 3A 00 00 8B 5D 08 8B D3 8B CE E8 25 65 00 00 89 78 0C 8B 7E 08 8B CB C1 E1 04 2B F9 85 DB 89 45 F8 89 7E 08
calls: 0x006F7340,0x006F9E70
0x006F39F0 sz=0x030: 8B 41 08 C7 00 01 00 00 00 56 8B F2 8B 15 C0 EA CE 00 89 50 04 33 D2 85 F6 0F 95 C2 5E 89 50 08 83 41 08 10 C3 90 90 90 90 90 90 90 90 90 90 90
0x006F3A20 sz=0x020: 8B 41 08 C7 00 02 00 00 00 56 8B 35 C0 EA CE 00 89 70 04 89 50 08 83 41 08 10 5E C3 90 90 90 90
0x006F3A40 sz=0x0C0: 85 D2 56 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9 10 8B 49 08
calls: 0x006F7CF0
0x006F3B00 sz=0x0C0: 85 D2 56 57 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9 10 8B 49
calls: 0x006FA7A0
0x006F3BC0 sz=0x0D0: 55 8B EC 85 D2 56 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9 10
calls: 0x006FA700
0x006F3C90 sz=0x050: 56 8B F1 8B 46 10 8B 48 28 3B 48 24 57 72 07 8B CE E8 9A 36 00 00 8B 7E 08 C7 07 05 00 00 00 8B 15 C0 EA CE 00 89 57 04 6A 00 33 D2 8B CE E8 2D 68 00 00 89 47 08 8B 46 08 83 C0 10 5F 89 46 08
calls: 0x006F7340,0x006FA4F0
0x006F3CE0 sz=0x010: E9 0B 71 00 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006FADF0
0x006F3CF0 sz=0x060: 56 8B F1 E8 18 F7 FF FF 85 C0 74 46 8B 08 83 E9 05 74 0D 83 E9 02 75 3A 8B 40 08 8B 48 08 EB 06 8B 48 08 8B 49 08 85 C9 74 28 8B 56 10 3B 4A 48 74 20 8B 46 08 C7 00 05 00 00 00 8B 15 C0 EA CE
calls: 0x006F3410
0x006F3D50 sz=0x0D0: 85 D2 53 56 57 7E 0C 8B 41 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 41 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 71 0C 83 EE 10 8B 76 08
0x006F3E20 sz=0x080: 85 D2 56 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9 10 8B 49 08
calls: 0x006F7F40
0x006F3EA0 sz=0x0C0: 85 D2 56 57 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 4C 10 F0 EB 54 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9 10 8B 49
calls: 0x006FA840
0x006F3F60 sz=0x0C0: 55 8B EC 85 D2 56 57 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9
calls: 0x006FAD80
0x006F4020 sz=0x0B0: 85 D2 56 57 B8 01 00 00 00 7E 0C 8B 71 0C C1 E2 04 8D 54 16 F0 EB 52 81 FA F0 D8 FF FF 7E 0A 8B 71 08 C1 E2 04 03 D6 EB 40 81 FA EF D8 FF FF 74 35 81 FA F0 D8 FF FF 74 25 8B 79 0C 83 EF 10 8B
0x006F40D0 sz=0x0B0: 56 33 C0 85 D2 57 7E 0C 8B 71 0C C1 E2 04 8D 54 16 F0 EB 52 81 FA F0 D8 FF FF 7E 0A 8B 71 08 C1 E2 04 03 D6 EB 40 81 FA EF D8 FF FF 74 35 81 FA F0 D8 FF FF 74 25 8B 79 0C 83 EF 10 8B 7F 08 BE
0x006F4180 sz=0x020: 55 8B EC 8B 45 08 42 C1 E2 04 50 8B C2 8B 51 08 2B D0 E8 09 24 00 00 5D C2 04 00 90 90 90 90 90
calls: 0x006F65A0
0x006F41A0 sz=0x0B0: 55 8B EC 83 EC 08 8B 45 0C 85 C0 56 57 75 04 33 F6 EB 62 7E 0C 8B 71 0C C1 E0 04 8D 44 06 F0 EB 4F 3D F0 D8 FF FF 7E 0A 8B 71 08 C1 E0 04 03 C6 EB 3E 3D EF D8 FF FF 74 34 3D F0 D8 FF FF 74 25
calls: 0x006F6960
0x006F4250 sz=0x010: 8B 42 04 8B 12 50 E8 45 23 00 00 C3 90 90 90 90
calls: 0x006F65A0
0x006F4260 sz=0x030: 55 8B EC 83 EC 08 8B 45 08 89 55 F8 8B 51 08 89 45 FC 2B 51 1C 6A 00 52 8D 45 F8 50 BA 90 42 6F 00 E8 DA 26 00 00 8B E5 5D C2 04 00 90 90 90 90
calls: 0x006F6960
0x006F4290 sz=0x090: 56 57 8B FA 33 D2 8B F1 E8 D3 5B 00 00 8B 0F 89 48 0C 8B 4E 08 C7 01 06 00 00 00 8B 15 C0 EA CE 00 89 41 08 89 51 04 8B 46 18 2B 46 08 83 F8 10 7F 0C BA 01 00 00 00 8B CE E8 92 1C 00 00 8B 46
calls: 0x006F5F60,0x006F65A0,0x006F9E70
0x006F4320 sz=0x050: 55 8B EC 83 EC 14 8B 45 0C 85 C0 56 8B F1 75 05 B8 38 16 87 00 50 8B 45 08 50 8D 4D EC E8 AE 71 00 00 8D 4D EC E8 76 71 00 00 0F BE 0D 30 16 87 00 33 D2 3B C1 0F 94 C2 8B CE 52 8D 55 EC E8 9D
calls: 0x006F6A00,0x006FB4C0,0x006FB4F0
0x006F4370 sz=0x050: 55 8B EC 8B 41 08 53 83 E8 10 56 83 38 06 75 29 8B 40 08 8A 58 06 84 DB 75 1F 8A 58 07 84 DB 75 18 8B 75 08 56 52 8B 50 0C E8 62 72 00 00 5E B8 01 00 00 00 5B 5D C2 04 00 5E 33 C0 5B 5D C2 04
calls: 0x006FB600
0x006F43C0 sz=0x040: C7 41 60 01 00 00 00 C3 90 90 90 90 90 90 90 90 C7 41 60 00 00 00 00 C3 90 90 90 90 90 90 90 90 8B 41 10 8B 40 24 C1 E8 0A C3 90 90 90 90 90 90 8B 41 10 8B 40 28 C1 E8 0A C3 90 90 90 90 90 90
0x006F4400 sz=0x030: 81 FA FF FF 3F 00 8B 41 10 76 09 C7 40 24 FF FF FF FF EB 06 C1 E2 0A 89 50 24 8B 41 10 8B 50 28 3B 50 24 72 05 E9 16 2F 00 00 C3 90 90 90 90 90
calls: 0x006F7340
0x006F4430 sz=0x010: B8 3C 16 87 00 C3 90 90 90 90 90 90 90 90 90 90
0x006F4440 sz=0x010: E8 3B 83 00 00 33 C0 C3 90 90 90 90 90 90 90 90
calls: 0x006FC780
0x006F4450 sz=0x090: 85 D2 56 8B F1 7E 0C 8B 46 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 46 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 4E 0C 83 E9 10 8B 49 08
calls: 0x006FA2A0
0x006F44E0 sz=0x080: 56 8B F1 8B 46 10 8B 48 28 57 8B FA 3B 48 24 72 07 8B CE E8 48 2E 00 00 83 FF 02 7C 29 8B 56 08 2B 56 0C C1 FA 04 4A 52 8B D7 8B CE E8 BF 3F 00 00 8B 4E 08 C1 E7 04 B8 10 00 00 00 2B C7 03 C8
calls: 0x006F7340,0x006F84D0,0x006F9D00
0x006F4560 sz=0x050: 56 8B F1 8B 46 10 8B 48 28 57 8B FA 3B 48 24 72 07 8B CE E8 C8 2D 00 00 8B D7 8B CE E8 AF 58 00 00 8B 4E 08 C7 01 07 00 00 00 8B 15 C0 EA CE 00 89 41 08 89 51 04 8B 4E 08 83 C1 10 5F 89 4E 08
calls: 0x006F7340,0x006F9E30
0x006F45B0 sz=0x0B0: 55 8B EC 83 EC 08 53 56 8B F1 8B 46 0C 8B 58 F8 8B 46 08 8B 4E 18 57 0F B6 7B 07 2B C8 8D 57 14 8B C2 C1 E0 04 3B C8 89 7D F8 7F 07 8B CE E8 7D 19 00 00 85 FF 7E 67 8D 43 14 89 7D FC 8D 49 00
calls: 0x006F5F60
0x006F4660 sz=0x080: 55 8B EC 51 56 8B F1 8B 4D 08 8D 45 08 50 51 8B CE E8 6A 00 00 00 85 C0 89 45 FC 74 54 8B 4D 08 8B 56 08 57 8B 39 8B C2 89 38 8B 79 04 89 78 04 8B 79 08 89 78 08 8B 79 0C 89 78 0C 8B 49 04 85
calls: 0x006F46E0
0x006F46E0 sz=0x0D0: 55 8B EC 85 D2 7E 0C 8B 41 0C C1 E2 04 8D 44 10 F0 EB 52 81 FA F0 D8 FF FF 7E 0C 8B 41 08 C1 E2 04 03 D0 8B C2 EB 3E 81 FA EF D8 FF FF 74 33 81 FA F0 D8 FF FF 74 23 8B 49 0C 83 E9 10 8B 49 08
0x006F47B0 sz=0x060: 55 8B EC 56 8B F1 8B 4D 08 8D 45 08 50 51 8B CE E8 1B FF FF FF 85 C0 74 3D 8B 56 08 8B 4D 08 83 C2 F0 89 56 08 8B F2 57 8B 3A 89 39 8B 7A 04 89 79 04 8B 7A 08 89 79 08 8B 52 0C 89 51 0C 8B 76
calls: 0x006F46E0
0x006F4810 sz=0x090: 55 8B EC 83 EC 64 53 56 57 8D 45 9C 89 55 FC 50 33 D2 8B D9 E8 77 72 00 00 8D 4D 9C 51 BA 8C 16 87 00 8B CB E8 37 74 00 00 8B 75 A4 BF 84 16 87 00 B9 07 00 00 00 33 D2 F3 A6 75 24 FF 4D FC 75
calls: 0x006F4940,0x006FBAA0,0x006FBC70
0x006F48A0 sz=0x040: 55 8B EC 56 57 8B FA 8B F1 E8 52 EB FF FF 8B D0 8B CE E8 C9 EB FF FF 50 8B 45 08 50 68 90 16 87 00 56 E8 29 F0 FF FF 83 C4 10 50 8B D7 8B CE E8 3C FF FF FF 5F 5E 5D C2 04 00 90 90 90 90 90 90
calls: 0x006F3400,0x006F3480,0x006F38F0,0x006F4810
0x006F48E0 sz=0x060: 55 8B EC 83 EC 60 56 8D 45 A0 50 8B F1 E8 AE 71 00 00 85 C0 74 2F 8D 4D A0 51 BA AC 16 87 00 8B CE E8 6A 73 00 00 8B 45 B4 85 C0 7E 18 50 8D 55 C0 52 68 A4 16 87 00 56 E8 D3 EF FF FF 83 C4 10
calls: 0x006F3840,0x006F38F0,0x006FBAA0,0x006FBC70
0x006F4940 sz=0x040: 55 8B EC 56 8B 75 08 BA 01 00 00 00 8B CE E8 8D FF FF FF 8B 55 0C 8D 45 10 50 8B CE E8 5F EF FF FF BA 02 00 00 00 8B CE E8 73 FB FF FF 8B CE E8 CC FA FF FF 5E 5D C3 90 90 90 90 90 90 90 90 90
calls: 0x006F38C0,0x006F4440,0x006F44E0,0x006F48E0
0x006F4980 sz=0x060: 55 8B EC 51 53 56 8B 32 33 C0 85 F6 57 89 4D FC 74 39 8B 7D FC 8A 0E 8A D9 3A 0F 75 1C 84 DB 74 14 8A 4E 01 8A D9 3A 4F 01 75 0E 83 C6 02 83 C7 02 84 DB 75 E0 33 F6 EB 05 1B F6 83 DE FF 85 F6
0x006F49E0 sz=0x090: 56 57 8B FA 8B F1 E8 A5 EE FF FF BA F0 D8 FF FF 8B CE E8 09 F1 FF FF 83 CA FF 8B CE E8 FF E9 FF FF 85 C0 74 05 5F 33 C0 5E C3 BA FE FF FF FF 8B CE E8 6A E6 FF FF 8B CE E8 73 F2 FF FF 8B D7 8B
calls: 0x006F3080,0x006F3350,0x006F3400,0x006F3890,0x006F3B00,0x006F3C90,0x006F3EA0
0x006F4A70 sz=0x020: 56 8B F1 E8 18 EE FF FF 8B CE BA F0 D8 FF FF 5E E9 7B F0 FF FF 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3890,0x006F3B00
0x006F4A90 sz=0x090: 55 8B EC 53 57 8B DA 8B F9 E8 52 F2 FF FF 85 C0 74 73 BA F0 D8 FF FF 8B CF E8 52 F0 FF FF 83 CA FF 8B CF E8 D8 EB FF FF 85 C0 74 4D 56 8B 75 08 8A 10 8A CA 3A 16 75 1C 84 C9 74 14 8A 50 01 8A
calls: 0x006F3080,0x006F3690,0x006F3740,0x006F3B00,0x006F3CF0
0x006F4B20 sz=0x030: 55 8B EC 56 8B F1 E8 05 E4 FF FF 85 C0 75 12 8B 45 08 50 68 B0 16 87 00 56 E8 02 FE FF FF 83 C4 0C 5E 5D C2 04 00 90 90 90 90 90 90 90 90 90 90
calls: 0x006F2F30,0x006F4940
0x006F4B50 sz=0x030: 55 8B EC 56 57 8B F2 8B F9 E8 A2 E8 FF FF 8B 4D 08 3B C1 74 0A 51 8B D6 8B CF E8 11 00 00 00 5F 5E 5D C2 04 00 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3400,0x006F4B80
0x006F4B80 sz=0x030: 55 8B EC 56 57 8B FA 8B 55 08 8B F1 E8 EF E8 FF FF 50 8B D7 8B CE E8 05 FD FF FF 5F 5E 5D C2 04 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3480,0x006F48A0
0x006F4BB0 sz=0x030: 56 57 8B F2 8B F9 E8 45 E8 FF FF 83 F8 FF 75 0E 68 C4 16 87 00 8B D6 8B CF E8 42 FC FF FF 5F 5E C3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
calls: 0x006F3400,0x006F4810
0x006F4BE0 sz=0x040: 55 8B EC 53 56 57 8B F2 8B F9 E8 A1 EA FF FF 8B D8 85 DB 75 0B 6A 04 8B D6 8B CF E8 80 FF FF FF 8B 45 08 85 C0 74 0E 8B D6 8B CF E8 D0 EA FF FF 8B 4D 08 89 01 5F 5E 8B C3 5B 5D C2 04 00 90 90
calls: 0x006F3690,0x006F36E0,0x006F4B80
0x006F4C20 sz=0x060: 55 8B EC 56 57 8B F2 8B F9 E8 D2 E7 FF FF 85 C0 7F 30 8B 75 0C 85 F6 8B 55 08 74 1E 85 D2 74 16 83 C9 FF 33 C0 8B FA F2 AE F7 D1 49 5F 89 0E 8B C2 5E 5D C2 08 00 33 C9 89 0E 5F 8B C2 5E 5D C2
calls: 0x006F3400,0x006F4BE0
0x006F4C80 sz=0x050: 55 8B EC 83 EC 08 56 57 8B F2 8B F9 E8 8F E9 FF FF DC 15 70 29 80 00 DD 55 F8 DF E0 F6 C4 44 7A 1D 8B D6 DD D8 8B CF E8 24 E8 FF FF 85 C0 75 0B 6A 03 8B D6 8B CF E8 C5 FE FF FF DD 45 F8 5F 5E
calls: 0x006F34D0,0x006F3620,0x006F4B80
0x006F4CD0 sz=0x030: 55 8B EC 56 57 8B F2 8B F9 E8 22 E7 FF FF 85 C0 7F 09 DD 45 08 5F 5E 5D C2 08 00 8B D6 8B CF E8 8C FF FF FF 5F 5E 5D C2 08 00 90 90 90 90 90 90
calls: 0x006F3400,0x006F4C80
0x006F4D00 sz=0x060: 55 8B EC 56 8B F1 E8 E5 EF FF FF 85 C0 75 05 5E 5D C2 04 00 8B 55 08 8B CE E8 72 EB FF FF BA FE FF FF FF 8B CE E8 D6 ED FF FF 83 CA FF 8B CE E8 CC E6 FF FF 85 C0 8B CE 75 11 BA FD FF FF FF E8
calls: 0x006F3080,0x006F30D0,0x006F3400,0x006F3890,0x006F3B00,0x006F3CF0
0x006F4D60 sz=0x060: 55 8B EC 56 8B F2 85 F6 57 8B F9 7F 11 81 FE F0 D8 FF FF 7E 09 E8 F6 E2 FF FF 8D 74 06 01 8B 45 08 50 8B D6 8B CF E8 75 FF FF FF 85 C0 75 06 5F 5E 5D C2 04 00 8B D6 8B CF E8 B2 E5 FF FF 6A 01
calls: 0x006F3070,0x006F3350,0x006F4180,0x006F4D00
0x006F4DC0 sz=0x0A0: 55 8B EC 51 53 56 8B DA 85 DB 57 8B 7D 0C 8B F1 74 5F E8 B9 EA FF FF BA EF D8 FF FF 8B CE E8 5D EC FF FF 83 CA FF 8B CE E8 13 E6 FF FF 85 C0 75 34 BA FE FF FF FF 8B CE E8 83 E2 FF FF 8B CE E8
calls: 0x006F3080,0x006F31A0,0x006F3350,0x006F3400,0x006F3890,0x006F3A40,0x006F3C90,0x006F3E20
0x006F4E60 sz=0x120: 8B CE E8 E9 E4 FF FF FF 4D 0C 75 F0 8B 53 04 57 8B CE E8 A9 EA FF FF 8B 55 FC 8B CE E8 9F EF FF FF 8B 53 08 83 C3 08 85 D2 75 B9 83 CA FF 2B D7 8B CE E8 E9 E1 FF FF 5F 5E 5B 8B E5 5D C2 08 00
calls: 0x006F3070,0x006F3080,0x006F3350,0x006F3810,0x006F3840,0x006F3920,0x006F3B00,0x006F3E20,0x006F3EA0,0x006F4F80,0x006F4FC0
0x006F4F80 sz=0x040: 53 56 8B DA 57 83 CA FF 8B F9 E8 91 E6 FF FF E8 1C 53 D1 FF 8B F0 85 F6 75 11 83 CA FF 8B CF E8 2C E5 FF FF 85 C0 75 03 83 CE FF 83 CA FF 2B D3 8B CF E8 C9 E0 FF FF 5F 8B C6 5E 5B C3 90 90 90
calls: 0x0040A2B0,0x006F3080,0x006F34D0,0x006F3620
0x006F4FC0 sz=0x090: 56 6A 02 BA F0 D8 FF FF 8B F1 E8 F1 EB FF FF 83 CA FF 8B CE E8 27 E4 FF FF 85 C0 75 69 BA FE FF FF FF 8B CE E8 97 E0 FF FF 8B CE E8 A0 EC FF FF 83 CA FF 8B CE E8 56 E3 FF FF BA FE FF FF FF 8B
calls: 0x006F3080,0x006F3350,0x006F3400,0x006F3840,0x006F3BC0,0x006F3C90,0x006F3EA0,0x006F3F60,0x006F4020
0x006F5050 sz=0x100: 56 57 8B FA 85 FF 8B F1 7F 11 81 FF F0 D8 FF FF 7E 09 E8 09 E0 FF FF 8D 7C 07 01 6A 01 BA 8C 16 87 00 8B CE E8 C7 E7 FF FF 8B D7 8B CE E8 7E EA FF FF BA 01 00 00 00 8B CE E8 F2 FE FF FF 85 C0
calls: 0x006F3070,0x006F3080,0x006F3350,0x006F3400,0x006F3840,0x006F3B00,0x006F3BC0,0x006F4F80,0x006F4FC0,0x006F5140,0x006F5170