Just Some Arma2 offsets
================================================== ==================================================
ArmA 2 OA build 33930 — OFFSET DUMP,
================================================== ==================================================
File size: 13,868,976 bytes
ImageBase: 0x00400000
EntryPoint: 0x0075F485 (RVA)
Verification method — for each entry:
* String claims: literal must live inside .rdata, be null-terminated ASCII,
AND have >=1 `push imm32(str_va)` xref from .text (proves
it is used as a static literal, not a runtime pointer).
* SQF handler: a `push handler_va; push str_va; push argN` triplet in .text
ties the string to the handler. Handler bytes must also
open with a valid MSVC prolog (STDFRAME, READER, or FPO).
* Anchor slots: must live inside .data.
* Vtables: must live inside .rdata AND slot0 must point into .text.
* Worker RVAs: bytes at RVA must open with valid prolog.
SECTIONS
----------------------------------------------------------------------------------------------------
..text VA=0x00401000 RVA=0x0001000 VSize=0x80B33A ROff=0x400 RSize=0x80B400
..rdata VA=0x00C0D000 RVA=0x080D000 VSize=0x1947FC ROff=0x80B800 RSize=0x194800
..data VA=0x00DA2000 RVA=0x09A2000 VSize=0x151A44 ROff=0x9A0000 RSize=0x33200
..rsrc VA=0x00EF4000 RVA=0x0AF4000 VSize=0x2BA0B8 ROff=0x9D3200 RSize=0x2BA200
..reloc VA=0x011AF000 RVA=0x0DAF000 VSize=0xAB2B8 ROff=0xC8D400 RSize=0xAB400
================================================== ==================================================
SQF SCRIPT COMMAND HANDLERS (99 entries)
================================================== ==================================================
For each command:
string RVA (verified in .rdata)
string xref count (# of `push str_va` sites in .text)
registration triplet found (handler ↔ string ↔ argN)
handler RVA + first 6 bytes + prolog class
[VERIFIED ] addWeapon
string RVA=0x8AFF5C VA=0xCAFF5C xrefs=1
handler md RVA=0x03E0A50 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E0A50 (RVA=0x3E0A50) argN=4 site=0x7D01BB call→0xF0B0
[VERIFIED ] addMagazine
string RVA=0x8AFDB4 VA=0xCAFDB4 xrefs=2
handler md RVA=0x03E103B bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E103B (RVA=0x3E103B) argN=4 site=0x7D02E7 call→0xF0B0
triplet handler_va=0x7E110F (RVA=0x3E110F) argN=4 site=0x7D037D call→0xF0B0
[VERIFIED ] removeWeapon
string RVA=0x8AFE94 VA=0xCAFE94 xrefs=1
handler md RVA=0x03E0B25 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E0B25 (RVA=0x3E0B25) argN=4 site=0x7D0251 call→0xF0B0
[VERIFIED ] removeMagazine
string RVA=0x8AFAC0 VA=0xCAFAC0 xrefs=1
handler md RVA=0x03E1421 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E1421 (RVA=0x3E1421) argN=4 site=0x7D04A9 call→0xF0B0
[VERIFIED ] addWeaponCargo
string RVA=0x8ABFE8 VA=0xCABFE8 xrefs=1
handler md RVA=0x03CE500 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7CE500 (RVA=0x3CE500) argN=4 site=0x7D37C3 call→0xF0B0
[VERIFIED ] addMagazineCargo
string RVA=0x8ABEF4 VA=0xCABEF4 xrefs=1
handler md RVA=0x03D74A9 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7D74A9 (RVA=0x3D74A9) argN=4 site=0x7D3859 call→0xF0B0
[VERIFIED ] removeAllWeapons
string RVA=0x89ACA4 VA=0xC9ACA4 xrefs=1
handler md RVA=0x03B178B bytes=55 8B EC 56 FF 75 prolog=STDFRAME
triplet handler_va=0x7B178B (RVA=0x3B178B) argN=? site=0x7C0113 call→0xF0B0
[VERIFIED ] selectWeapon
string RVA=0x8AF664 VA=0xCAF664 xrefs=1
handler md RVA=0x03BCC0A bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7BCC0A (RVA=0x3BCC0A) argN=4 site=0x7D079B call→0xF0B0
[VERIFIED ] setPos
string RVA=0x8B0FE4 VA=0xCB0FE4 xrefs=1
handler md RVA=0x03B2FDC bytes=55 8B EC 83 EC 44 prolog=STDFRAME
triplet handler_va=0x7B2FDC (RVA=0x3B2FDC) argN=4 site=0x7CF36A call→0xF0B0
[VERIFIED ] setPosATL
string RVA=0x8B0E64 VA=0xCB0E64 xrefs=1
handler md RVA=0x03B2E84 bytes=55 8B EC 83 EC 48 prolog=STDFRAME
triplet handler_va=0x7B2E84 (RVA=0x3B2E84) argN=4 site=0x7CF49E call→0xF0B0
[VERIFIED ] setPosASL
string RVA=0x8B0F24 VA=0xCB0F24 xrefs=1
handler md RVA=0x03B2C15 bytes=55 8B EC 83 EC 48 prolog=STDFRAME
triplet handler_va=0x7B2C15 (RVA=0x3B2C15) argN=4 site=0x7CF404 call→0xF0B0
[VERIFIED ] setUnitPos
string RVA=0x8AD604 VA=0xCAD604 xrefs=1
handler md RVA=0x03BDDF2 bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x7BDDF2 (RVA=0x3BDDF2) argN=4 site=0x7D2465 call→0xF0B0
[VERIFIED ] setVelocity
string RVA=0x8B0D18 VA=0xCB0D18 xrefs=1
handler md RVA=0x03B32B5 bytes=55 8B EC 83 EC 18 prolog=STDFRAME
triplet handler_va=0x7B32B5 (RVA=0x3B32B5) argN=4 site=0x7CF660 call→0xF0B0
[VERIFIED ] setDir
string RVA=0x8B0D60 VA=0xCB0D60 xrefs=1
handler md RVA=0x03B319A bytes=55 8B EC 83 EC 24 prolog=STDFRAME
triplet handler_va=0x7B319A (RVA=0x3B319A) argN=4 site=0x7CF5CA call→0xF0B0
[VERIFIED ] setFuel
string RVA=0x8AC314 VA=0xCAC314 xrefs=1
handler md RVA=0x03B0CC7 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7B0CC7 (RVA=0x3B0CC7) argN=4 site=0x7D356B call→0xF0B0
[VERIFIED ] forceSpeed
string RVA=0x8A568C VA=0xCA568C xrefs=1
handler md RVA=0x03BA5DD bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7BA5DD (RVA=0x3BA5DD) argN=4 site=0x7D94FF call→0xF0B0
[VERIFIED ] setSpeedMode
string RVA=0x8AD67C VA=0xCAD67C xrefs=1
handler md RVA=0x03BE176 bytes=55 8B EC 51 51 56 prolog=STDFRAME
triplet handler_va=0x7BE176 (RVA=0x3BE176) argN=4 site=0x7D23CF call→0xF0B0
[VERIFIED ] setWaypointSpeed
string RVA=0x8A7600 VA=0xCA7600 xrefs=1
handler md RVA=0x03D28B5 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7D28B5 (RVA=0x3D28B5) argN=4 site=0x7D7182 call→0xF0B0
[VERIFIED ] stop
string RVA=0x861240 VA=0xC61240 xrefs=4
handler md RVA=0x03B6FCB bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B6FCB (RVA=0x3B6FCB) argN=4 site=0x7D26C9 call→0xF0B0
[VERIFIED ] getSpeed
string RVA=0x8A5624 VA=0xCA5624 xrefs=1
handler md RVA=0x03C9E3C bytes=55 8B EC 51 51 56 prolog=STDFRAME
triplet handler_va=0x7C9E3C (RVA=0x3C9E3C) argN=4 site=0x7D9595 call→0xF0B0
[VERIFIED ] setSkill
string RVA=0x8A00E8 VA=0xCA00E8 xrefs=2
handler md RVA=0x03D65B7 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7D65B7 (RVA=0x3D65B7) argN=4 site=0x7E017C call→0xF0B0
triplet handler_va=0x7B1418 (RVA=0x3B1418) argN=4 site=0x7E230D call→0xF0B0
[VERIFIED ] skill
string RVA=0x8401B4 VA=0xC401B4 xrefs=11
handler md RVA=0x03CC8B6 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7B1106 (RVA=0x3B1106) argN=? site=0x7CDDD0 call→0xF0B0
triplet handler_va=0x7CC8B6 (RVA=0x3CC8B6) argN=4 site=0x7E00DE call→0xF0B0
[VERIFIED ] setUnitRecoilCoefficient
string RVA=0x8A21D0 VA=0xCA21D0 xrefs=1
handler md RVA=0x03B5DFF bytes=55 8B EC 56 FF 75 prolog=STDFRAME
triplet handler_va=0x7B5DFF (RVA=0x3B5DFF) argN=4 site=0x7DCF25 call→0xF0B0
[VERIFIED ] setCaptive
string RVA=0x8B1888 VA=0xCB1888 xrefs=1
handler md RVA=0x03B126D bytes=55 8B EC 56 57 FF prolog=STDFRAME
triplet handler_va=0x7B126D (RVA=0x3B126D) argN=4 site=0x7CEA8E call→0xF0B0
[VERIFIED ] setVehicleAmmo
string RVA=0x8A67B0 VA=0xCA67B0 xrefs=1
handler md RVA=0x03B93FC bytes=55 8B EC 56 FF 75 prolog=STDFRAME
triplet handler_va=0x7B93FC (RVA=0x3B93FC) argN=4 site=0x7D7DAD call→0xF0B0
[VERIFIED ] setVehicleInit
string RVA=0x8A6488 VA=0xCA6488 xrefs=1
handler md RVA=0x03C86D6 bytes=55 8B EC 51 56 57 prolog=STDFRAME
triplet handler_va=0x7C86D6 (RVA=0x3C86D6) argN=4 site=0x7D81E3 call→0xF0B0
[VERIFIED ] setUnitAbility
string RVA=0x8A6600 VA=0xCA6600 xrefs=1
handler md RVA=0x03B9438 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B9438 (RVA=0x3B9438) argN=4 site=0x7D8015 call→0xF0B0
[VERIFIED ] setFace
string RVA=0x8B1734 VA=0xCB1734 xrefs=1
handler md RVA=0x03BF94F bytes=55 8B EC 51 56 57 prolog=STDFRAME
triplet handler_va=0x7BF94F (RVA=0x3BF94F) argN=4 site=0x7CEC55 call→0xF0B0
[VERIFIED ] setName
string RVA=0x84B54C VA=0xC4B54C xrefs=1
handler md RVA=0x013E218 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x53E218 (RVA=0x13E218) argN=4 site=0x7A952B call→0xF0B0
[VERIFIED ] addAction
string RVA=0x8A9C4C VA=0xCA9C4C xrefs=1
handler md RVA=0x03BED01 bytes=55 8B EC 83 EC 24 prolog=STDFRAME
triplet handler_va=0x7BED01 (RVA=0x3BED01) argN=4 site=0x7D5746 call→0xF0B0
[VERIFIED ] ammo
string RVA=0x840200 VA=0xC40200 xrefs=21
handler md RVA=0x03BD4F3 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7BD4F3 (RVA=0x3BD4F3) argN=4 site=0x7D0087 call→0xF0B0
[VERIFIED ] createVehicle
string RVA=0x8976B4 VA=0xC976B4 xrefs=2
handler md RVA=0x03D85B3 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7D9358 (RVA=0x3D9358) argN=? site=0x7C3559 call→0xF0B0
triplet handler_va=0x7D85B3 (RVA=0x3D85B3) argN=4 site=0x7D3B4F call→0xF0B0
[VERIFIED ] globalChat
string RVA=0x8AEBE4 VA=0xCAEBE4 xrefs=1
handler md RVA=0x03C0D6F bytes=55 8B EC 51 FF 75 prolog=STDFRAME
triplet handler_va=0x7C0D6F (RVA=0x3C0D6F) argN=4 site=0x7D0F59 call→0xF0B0
[VERIFIED ] sideChat
string RVA=0x8AEAD8 VA=0xCAEAD8 xrefs=1
handler md RVA=0x03C0DE9 bytes=55 8B EC 51 56 8B prolog=STDFRAME
triplet handler_va=0x7C0DE9 (RVA=0x3C0DE9) argN=4 site=0x7D0FF7 call→0xF0B0
[VERIFIED ] groupChat
string RVA=0x8AE8B8 VA=0xCAE8B8 xrefs=1
handler md RVA=0x03C1147 bytes=55 8B EC 51 FF 75 prolog=STDFRAME
triplet handler_va=0x7C1147 (RVA=0x3C1147) argN=4 site=0x7D112F call→0xF0B0
[VERIFIED ] vehicleChat
string RVA=0x8AE7A8 VA=0xCAE7A8 xrefs=1
handler md RVA=0x03C11C4 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7C11C4 (RVA=0x3C11C4) argN=4 site=0x7D11C9 call→0xF0B0
[VERIFIED ] commandChat
string RVA=0x8AE9C8 VA=0xCAE9C8 xrefs=1
handler md RVA=0x03C0F95 bytes=55 8B EC 51 56 8B prolog=STDFRAME
triplet handler_va=0x7C0F95 (RVA=0x3C0F95) argN=4 site=0x7D1095 call→0xF0B0
[VERIFIED ] directSay
string RVA=0x8AECF0 VA=0xCAECF0 xrefs=1
handler md RVA=0x03C0D1E bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7C0D1E (RVA=0x3C0D1E) argN=4 site=0x7D0EBF call→0xF0B0
[VERIFIED ] sideRadio
string RVA=0x8AEFA0 VA=0xCAEFA0 xrefs=1
handler md RVA=0x03C09BC bytes=55 8B EC 51 53 56 prolog=STDFRAME
triplet handler_va=0x7C09BC (RVA=0x3C09BC) argN=4 site=0x7D0C5B call→0xF0B0
[VERIFIED ] globalRadio
string RVA=0x8AF048 VA=0xCAF048 xrefs=1
handler md RVA=0x03C0983 bytes=55 8B EC A1 0C 49 prolog=STDFRAME
triplet handler_va=0x7C0983 (RVA=0x3C0983) argN=4 site=0x7D0BC1 call→0xF0B0
[VERIFIED ] groupRadio
string RVA=0x8AEE48 VA=0xCAEE48 xrefs=1
handler md RVA=0x03C0C97 bytes=55 8B EC 8B 45 10 prolog=STDFRAME
triplet handler_va=0x7C0C97 (RVA=0x3C0C97) argN=4 site=0x7D0D8F call→0xF0B0
[VERIFIED ] vehicleRadio
string RVA=0x8AED94 VA=0xCAED94 xrefs=1
handler md RVA=0x03C0CD4 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7C0CD4 (RVA=0x3C0CD4) argN=4 site=0x7D0E25 call→0xF0B0
[VERIFIED ] commandRadio
string RVA=0x8AEEF0 VA=0xCAEEF0 xrefs=1
handler md RVA=0x03C0B27 bytes=55 8B EC 51 53 56 prolog=STDFRAME
triplet handler_va=0x7C0B27 (RVA=0x3C0B27) argN=4 site=0x7D0CF9 call→0xF0B0
[VERIFIED ] hint
string RVA=0x840E7C VA=0xC40E7C xrefs=9
handler md RVA=0x03C2E2B bytes=55 8B EC 53 56 8B prolog=STDFRAME
triplet handler_va=0x7C2E2B (RVA=0x3C2E2B) argN=? site=0x7C0D29 call→0xF0B0
[VERIFIED ] hintC
string RVA=0x89A250 VA=0xC9A250 xrefs=4
handler md RVA=0x03D7E5D bytes=55 8B EC 81 EC B4 prolog=STDFRAME
triplet handler_va=0x7C307B (RVA=0x3C307B) argN=? site=0x7C0E3D call→0xF0B0
triplet handler_va=0x7D7E5D (RVA=0x3D7E5D) argN=4 site=0x7D7703 call→0xF0B0
[VERIFIED ] hintSilent
string RVA=0x894364 VA=0xC94364 xrefs=1
handler md RVA=0x03C2EE9 bytes=55 8B EC 56 8B 75 prolog=STDFRAME
triplet handler_va=0x7C2EE9 (RVA=0x3C2EE9) argN=? site=0x7C8175 call→0xF0B0
[VERIFIED ] hintCadet
string RVA=0x89A2F8 VA=0xC9A2F8 xrefs=1
handler md RVA=0x03C2FAA bytes=55 8B EC 51 53 56 prolog=STDFRAME
triplet handler_va=0x7C2FAA (RVA=0x3C2FAA) argN=? site=0x7C0DB3 call→0xF0B0
[VERIFIED ] systemChat
string RVA=0x892FEC VA=0xC92FEC xrefs=1
handler md RVA=0x03C123A bytes=6A 01 6A 00 51 8B prolog=UNKNOWN
triplet handler_va=0x7C123A (RVA=0x3C123A) argN=? site=0x7C9A12 call→0xF0B0
[VERIFIED ] titleText
string RVA=0x89B4D8 VA=0xC9B4D8 xrefs=1
handler md RVA=0x03C1BC8 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7C1BC8 (RVA=0x3C1BC8) argN=? site=0x7BF929 call→0xF0B0
[VERIFIED ] titleObj
string RVA=0x89B308 VA=0xC9B308 xrefs=1
handler md RVA=0x03C1FA5 bytes=55 8B EC 83 EC 10 prolog=STDFRAME
triplet handler_va=0x7C1FA5 (RVA=0x3C1FA5) argN=? site=0x7BFA35 call→0xF0B0
[VERIFIED ] titleRsc
string RVA=0x89B3F4 VA=0xC9B3F4 xrefs=1
handler md RVA=0x03C1EB7 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7C1EB7 (RVA=0x3C1EB7) argN=? site=0x7BF9AF call→0xF0B0
[VERIFIED ] moveInDriver
string RVA=0x8ACE18 VA=0xCACE18 xrefs=1
handler md RVA=0x03B74D4 bytes=55 8B EC 83 EC 10 prolog=STDFRAME
triplet handler_va=0x7B74D4 (RVA=0x3B74D4) argN=4 site=0x7D2C8D call→0xF0B0
[VERIFIED ] moveInGunner
string RVA=0x8ACD90 VA=0xCACD90 xrefs=1
handler md RVA=0x03B7636 bytes=55 8B EC 83 EC 10 prolog=STDFRAME
triplet handler_va=0x7B7636 (RVA=0x3B7636) argN=4 site=0x7D2D1F call→0xF0B0
[VERIFIED ] moveInCargo
string RVA=0x8ACD08 VA=0xCACD08 xrefs=2
handler md RVA=0x03B7795 bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x7B7795 (RVA=0x3B7795) argN=4 site=0x7D2DB1 call→0xF0B0
triplet handler_va=0x7B7795 (RVA=0x3B7795) argN=4 site=0x7D2E47 call→0xF0B0
[VERIFIED ] moveInCommander
string RVA=0x8ACEA0 VA=0xCACEA0 xrefs=1
handler md RVA=0x03B739C bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B739C (RVA=0x3B739C) argN=4 site=0x7D2BFB call→0xF0B0
[VERIFIED ] moveInTurret
string RVA=0x8ACBF0 VA=0xCACBF0 xrefs=1
handler md RVA=0x03CFC95 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7CFC95 (RVA=0x3CFC95) argN=4 site=0x7D2EDD call→0xF0B0
[VERIFIED ] assignAsDriver
string RVA=0x8AD0C8 VA=0xCAD0C8 xrefs=1
handler md RVA=0x03B7188 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B7188 (RVA=0x3B7188) argN=4 site=0x7D291D call→0xF0B0
[VERIFIED ] setHit
string RVA=0x8A357C VA=0xCA357C xrefs=1
handler md RVA=0x03BF379 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7BF379 (RVA=0x3BF379) argN=4 site=0x7DB535 call→0xF0B0
[VERIFIED ] commandFire
string RVA=0x8A9FAC VA=0xCA9FAC xrefs=1
handler md RVA=0x03DC58A bytes=55 8B EC 6A 00 FF prolog=STDFRAME
triplet handler_va=0x7DC58A (RVA=0x3DC58A) argN=4 site=0x7D5580 call→0xF0B0
[VERIFIED ] fireAtTarget
string RVA=0x8A2C30 VA=0xCA2C30 xrefs=1
handler md RVA=0x03C7FAD bytes=55 8B EC 83 EC 24 prolog=STDFRAME
triplet handler_va=0x7C7FAD (RVA=0x3C7FAD) argN=4 site=0x7DC1DE call→0xF0B0
[VERIFIED ] doFire
string RVA=0x8A9EC4 VA=0xCA9EC4 xrefs=1
handler md RVA=0x03DC56C bytes=55 8B EC 6A 01 FF prolog=STDFRAME
triplet handler_va=0x7DC56C (RVA=0x3DC56C) argN=4 site=0x7D5616 call→0xF0B0
[VERIFIED ] doWatch
string RVA=0x8AA2DC VA=0xCAA2DC xrefs=2
handler md RVA=0x03DCB44 bytes=55 8B EC 6A 01 FF prolog=STDFRAME
triplet handler_va=0x7DCB44 (RVA=0x3DCB44) argN=4 site=0x7D5166 call→0xF0B0
triplet handler_va=0x7DCB44 (RVA=0x3DCB44) argN=4 site=0x7D5292 call→0xF0B0
[VERIFIED ] doMove
string RVA=0x8AA410 VA=0xCAA410 xrefs=1
handler md RVA=0x03DC463 bytes=55 8B EC 6A 01 FF prolog=STDFRAME
triplet handler_va=0x7DC463 (RVA=0x3DC463) argN=4 site=0x7D5032 call→0xF0B0
[VERIFIED ] setFriend
string RVA=0x8A954C VA=0xCA954C xrefs=1
handler md RVA=0x03D0FC5 bytes=55 8B EC 8B 45 14 prolog=STDFRAME
triplet handler_va=0x7D0FC5 (RVA=0x3D0FC5) argN=4 site=0x7D5DEC call→0xF0B0
[VERIFIED ] setUnitRank
string RVA=0x8A6688 VA=0xCA6688 xrefs=1
handler md RVA=0x03C859C bytes=55 8B EC 51 FF 75 prolog=STDFRAME
triplet handler_va=0x7C859C (RVA=0x3C859C) argN=4 site=0x7D7EE1 call→0xF0B0
[VERIFIED ] setIdentity
string RVA=0x8B17F4 VA=0xCB17F4 xrefs=1
handler md RVA=0x03BF632 bytes=55 8B EC 83 EC 18 prolog=STDFRAME
triplet handler_va=0x7BF632 (RVA=0x3BF632) argN=4 site=0x7CEB29 call→0xF0B0
[VERIFIED ] publicVariableClient
string RVA=0x8A1F74 VA=0xCA1F74 xrefs=1
handler md RVA=0x03C31D7 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C31D7 (RVA=0x3C31D7) argN=4 site=0x7DD196 call→0xF0B0
[VERIFIED ] setOwner
string RVA=0x8A209C VA=0xCA209C xrefs=1
handler md RVA=0x03B7F90 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7B7F90 (RVA=0x3B7F90) argN=4 site=0x7DD0F4 call→0xF0B0
[VERIFIED ] setVariable
string RVA=0x84B408 VA=0xC4B408 xrefs=7
handler md RVA=0x013E2B0 bytes=55 8B EC 51 51 53 prolog=STDFRAME
triplet handler_va=0x53E2B0 (RVA=0x13E2B0) argN=4 site=0x7A97FB call→0xF0B0
triplet handler_va=0x5A6CD5 (RVA=0x1A6CD5) argN=4 site=0x7AC2E5 call→0xF0B0
[VERIFIED ] getVariable
string RVA=0x84B3B0 VA=0xC4B3B0 xrefs=11
handler md RVA=0x013E3BB bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x53E3BB (RVA=0x13E3BB) argN=4 site=0x7A988B call→0xF0B0
triplet handler_va=0x5A6BEB (RVA=0x1A6BEB) argN=4 site=0x7AC255 call→0xF0B0
[VERIFIED ] spawn
string RVA=0x8AC6A4 VA=0xCAC6A4 xrefs=1
handler md RVA=0x03AE23E bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7AE23E (RVA=0x3AE23E) argN=4 site=0x7D3308 call→0xF0B0
[VERIFIED ] exec
string RVA=0x841AAC VA=0xC41AAC xrefs=1
handler md RVA=0x03CC989 bytes=55 8B EC 8B 0D A0 prolog=STDFRAME
triplet handler_va=0x7CC989 (RVA=0x3CC989) argN=4 site=0x7D326E call→0xF0B0
[VERIFIED ] execFSM
string RVA=0x8962A0 VA=0xC962A0 xrefs=2
handler md RVA=0x03E63F5 bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7E62D7 (RVA=0x3E62D7) argN=? site=0x7C5453 call→0xF0B0
triplet handler_va=0x7E63F5 (RVA=0x3E63F5) argN=4 site=0x7DA109 call→0xF0B0
[VERIFIED ] execVM
string RVA=0x892540 VA=0xC92540 xrefs=2
handler md RVA=0x03CC6D9 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7CC618 (RVA=0x3CC618) argN=? site=0x7CA7F4 call→0xF0B0
triplet handler_va=0x7CC6D9 (RVA=0x3CC6D9) argN=4 site=0x7E0040 call→0xF0B0
[VERIFIED ] call
string RVA=0x8E8540 VA=0xCE8540 xrefs=2
handler md RVA=0x0653B7B bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0xA53B7B (RVA=0x653B7B) argN=4 site=0x7F24CE call→0xF0B0
triplet handler_va=0xA53C3E (RVA=0x653C3E) argN=? site=0x7F3932 call→0xF0B0
[VERIFIED ] publicVariable
string RVA=0x89A42C VA=0xC9A42C xrefs=1
handler md RVA=0x03C31A7 bytes=56 57 E8 8E 7B CE prolog=FPO_PUSH_ESI_EDI_CALL
triplet handler_va=0x7C31A7 (RVA=0x3C31A7) argN=? site=0x7C0C9F call→0xF0B0
[VERIFIED ] publicVariableServer
string RVA=0x893108 VA=0xC93108 xrefs=1
handler md RVA=0x03C324C bytes=56 57 E8 E9 7A CE prolog=FPO_PUSH_ESI_EDI_CALL
triplet handler_va=0x7C324C (RVA=0x3C324C) argN=? site=0x7C9984 call→0xF0B0
[VERIFIED ] isMultiplayer
string RVA=0x88D030 VA=0xC8D030 xrefs=1
handler md RVA=0x03AB41F bytes=A1 0C 49 E8 00 83 prolog=READER
triplet handler_va=0x7AB41F (RVA=0x3AB41F) argN=? site=0x7BC554 call→0xF0B0
[VERIFIED ] isPlayer
string RVA=0x896E5C VA=0xC96E5C xrefs=1
handler md RVA=0x03B9BF4 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B9BF4 (RVA=0x3B9BF4) argN=? site=0x7C420D call→0xF0B0
[VERIFIED ] name
string RVA=0x83B22C VA=0xC3B22C xrefs=228
handler md RVA=0x013E1B8 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x53E1B8 (RVA=0x13E1B8) argN=? site=0x7A8EB1 call→0xF0B0
triplet handler_va=0x7B6D32 (RVA=0x3B6D32) argN=? site=0x7BF46B call→0xF0B0
[VERIFIED ] player
string RVA=0x83F194 VA=0xC3F194 xrefs=31
handler md RVA=0x03AEFB8 bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7AEFB8 (RVA=0x3AEFB8) argN=? site=0x7B9E01 call→0xF0B0
[VERIFIED ] side
string RVA=0x83B85C VA=0xC3B85C xrefs=69
handler md RVA=0x013CC34 bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x53CC34 (RVA=0x13CC34) argN=? site=0x7A90A1 call→0xF0B0
triplet handler_va=0x7B6CCB (RVA=0x3B6CCB) argN=? site=0x7BF3E5 call→0xF0B0
[VERIFIED ] rank
string RVA=0x8401AC VA=0xC401AC xrefs=14
handler md RVA=0x03C84F0 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7C84F0 (RVA=0x3C84F0) argN=? site=0x7C4319 call→0xF0B0
[VERIFIED ] owner
string RVA=0x83F254 VA=0xC3F254 xrefs=26
handler md RVA=0x03B7F3B bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x7B7F3B (RVA=0x3B7F3B) argN=? site=0x7C6E31 call→0xF0B0
[VERIFIED ] netId
string RVA=0x88EBEC VA=0xC8EBEC xrefs=2
handler md RVA=0x03BFC23 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7BFC23 (RVA=0x3BFC23) argN=? site=0x7CE196 call→0xF0B0
triplet handler_va=0x7BFC53 (RVA=0x3BFC53) argN=? site=0x7CE224 call→0xF0B0
[VERIFIED ] objectFromNetId
string RVA=0x88EB64 VA=0xC8EB64 xrefs=1
handler md RVA=0x03BFC82 bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7BFC82 (RVA=0x3BFC82) argN=? site=0x7CE2B2 call→0xF0B0
[VERIFIED ] serverCommand
string RVA=0x897EDC VA=0xC97EDC xrefs=1
handler md RVA=0x03C4705 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C4705 (RVA=0x3C4705) argN=? site=0x7C3001 call→0xF0B0
[VERIFIED ] serverCommandAvailable
string RVA=0x897E38 VA=0xC97E38 xrefs=1
handler md RVA=0x03C46A0 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C46A0 (RVA=0x3C46A0) argN=? site=0x7C308B call→0xF0B0
[VERIFIED ] kick
string RVA=0x841AEC VA=0xC41AEC xrefs=1
handler md RVA=0x010B2C6 bytes=55 8B EC 51 A1 24 prolog=STDFRAME
triplet handler_va=0x50B2C6 (RVA=0x10B2C6) argN=? site=0x7A618C call→0xF0B0
[VERIFIED ] ban
string RVA=0x8495F0 VA=0xC495F0 xrefs=1
handler md RVA=0x010D548 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x50D548 (RVA=0x10D548) argN=? site=0x7A610B call→0xF0B0
[VERIFIED ] endMission
string RVA=0x888004 VA=0xC88004 xrefs=2
handler md RVA=0x03C5D7D bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C5D7D (RVA=0x3C5D7D) argN=? site=0x7C63BD call→0xF0B0
[VERIFIED ] failMission
string RVA=0x895644 VA=0xC95644 xrefs=1
handler md RVA=0x03C5E17 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C5E17 (RVA=0x3C5E17) argN=? site=0x7C6447 call→0xF0B0
[VERIFIED ] compile
string RVA=0x8E97E8 VA=0xCE97E8 xrefs=1
handler md RVA=0x064D4DB bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0xA4D4DB (RVA=0x64D4DB) argN=? site=0x7F4465 call→0xF0B0
[VERIFIED ] missionNamespace
string RVA=0x88D1EC VA=0xC8D1EC xrefs=1
handler md RVA=0x03A79B7 bytes=A1 0C 49 E8 00 FF prolog=READER
triplet handler_va=0x7A79B7 (RVA=0x3A79B7) argN=? site=0x7BC2CC call→0xF0B0
[VERIFIED ] setObjectTexture
string RVA=0x89E2F8 VA=0xC9E2F8 xrefs=1
handler md RVA=0x03E198D bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7E198D (RVA=0x3E198D) argN=4 site=0x7E239F call→0xF0B0
[VERIFIED ] setSoundEffect
string RVA=0x8A8118 VA=0xCA8118 xrefs=1
handler md RVA=0x03D1946 bytes=55 8B EC 8B 45 14 prolog=STDFRAME
triplet handler_va=0x7D1946 (RVA=0x3D1946) argN=4 site=0x7D68D6 call→0xF0B0
[VERIFIED ] setMusicEffect
string RVA=0x8A8050 VA=0xCA8050 xrefs=1
handler md RVA=0x03D1AC5 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7D1AC5 (RVA=0x3D1AC5) argN=4 site=0x7D6974 call→0xF0B0
[VERIFIED ] setFog
string RVA=0x8AC494 VA=0xCAC494 xrefs=1
handler md RVA=0x03A82B6 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7A82B6 (RVA=0x3A82B6) argN=4 site=0x7D343A call→0xF0B0
[VERIFIED ] setVehicleLock
string RVA=0x8A652C VA=0xCA652C xrefs=1
handler md RVA=0x03C8658 bytes=55 8B EC 51 57 FF prolog=STDFRAME
triplet handler_va=0x7C8658 (RVA=0x3C8658) argN=4 site=0x7D8149 call→0xF0B0
================================================== ==================================================
ANCHOR POINTER SLOTS
================================================== ==================================================
[VERIFIED ] Modbase::World slot RVA=0xA8490C section=..data (pointer-slot in .data holding *World)
file-off=0xA8290C static-file value: currently *slot=0xFF83593A (runtime writes here at load)
[VERIFIED ] NetworkClientGlobal slot RVA=0x9FBC24 section=..data (pointer-slot in .data holding *NetContext)
file-off=0x9F9C24 static-file value: currently *slot=0xFFF6C186 (runtime writes here at load)
================================================== ==================================================
VTABLE RVAs
================================================== ==================================================
[VERIFIED ] Soldier RVA=0x86FB7C sec=..rdata slot0=0x0063B94B (RVA=0x23B94B, in-text=True)
[VERIFIED ] ManVS RVA=0x86D74C sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] CarVS RVA=0x850744 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] TankVS RVA=0x870F24 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] MotorcycleVS RVA=0x85C80C sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] ShipVS RVA=0x861E88 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] HelicopterVS RVA=0x854824 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] AirplaneVS RVA=0x84D5A4 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] ParachuteVS RVA=0x85D4CC sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] TankOrCarVS RVA=0x8507E0 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] TransportVS RVA=0x84D600 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] EntityVS RVA=0x84D244 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] Muzzle RVA=0x86D43C sec=..rdata slot0=0x00608449 (RVA=0x208449, in-text=True)
[VERIFIED ] MagazineType RVA=0x886D9C sec=..rdata slot0=0x00725D82 (RVA=0x325D82, in-text=True)
[VERIFIED ] WeaponType RVA=0x886978 sec=..rdata slot0=0x007264E0 (RVA=0x3264E0, in-text=True)
[VERIFIED ] WeaponTypeSub RVA=0x8870E4 sec=..rdata slot0=0x00729E3F (RVA=0x329E3F, in-text=True)
[VERIFIED ] cMagazine RVA=0x8862F0 sec=..rdata slot0=0x00720536 (RVA=0x320536, in-text=True)
================================================== ==================================================
__thiscall / __cdecl UNIT WORKER RVAs
================================================== ==================================================
Memory md was written with mixed ImageBase (some 0x00C40000 rather than 0x00400000).
Correct RVA (base 0x00400000) is shown; md-claim RVA reported as SUSPECT if broken.
[VERIFIED ] Unit_addWeapon_impl
md-claim RVA=0x002A85E bytes=10 3D 34 E0 D5 00 prolog=UNKNOWN
corrected RVA=0x02AA85E bytes=55 8B EC 51 8B 45 prolog=STDFRAME (delta 0x280000)
[VERIFIED ] Unit_addMagazine_impl
md-claim RVA=0x002AA27 bytes=F3 0F 58 F7 F3 0F prolog=UNKNOWN
corrected RVA=0x02AAA27 bytes=55 8B EC 51 51 8B prolog=STDFRAME (delta 0x280000)
[VERIFIED ] Unit_removeWeapon_impl
md-claim RVA=0x002A8C8 bytes=01 00 00 8B 84 24 prolog=UNKNOWN
corrected RVA=0x02AA8C8 bytes=55 8B EC 51 51 53 prolog=STDFRAME (delta 0x280000)
[VERIFIED ] Unit_removeMagazine_impl
md-claim RVA=0x002AC6B bytes=24 70 01 00 00 03 prolog=UNKNOWN
corrected RVA=0x02AAC6B bytes=55 8B EC 51 53 56 prolog=STDFRAME (delta 0x280000)
[VERIFIED ] InventorySlot::add
md-claim RVA=0x0093CAA bytes=55 8B EC 51 83 21 prolog=STDFRAME
corrected RVA=0x0093CAA bytes=55 8B EC 51 83 21 prolog=STDFRAME (SAME)
[VERIFIED ] Vehicle_addCargo_forwarder
md-claim RVA=0x00D330A bytes=55 8B EC 83 EC 0C prolog=STDFRAME
corrected RVA=0x00D330A bytes=55 8B EC 83 EC 0C prolog=STDFRAME (SAME)
[VERIFIED ] Vehicles_create
md-claim RVA=0x0418050 bytes=51 8B 44 24 08 53 prolog=PUSH_ECX_FPO
corrected RVA=0x0418050 bytes=51 8B 44 24 08 53 prolog=PUSH_ECX_FPO (SAME)
[VERIFIED ] Object_setPositionSetter
md-claim RVA=0x03E6F3E bytes=D8 00 00 00 0F 28 prolog=UNKNOWN
corrected RVA=0x03A6F3E bytes=55 8B EC 51 51 56 prolog=STDFRAME (delta 0x-40000)
[VERIFIED ] setPosATL_delegate
md-claim RVA=0x03A7A6B bytes=55 8B EC 51 51 8B prolog=STDFRAME
corrected RVA=0x03A7A6B bytes=55 8B EC 51 51 8B prolog=STDFRAME (SAME)
================================================== ==================================================
STRUCT OFFSET ACCESS EVIDENCE
================================================== ==================================================
For each claimed offset, count occurrences of `mov/lea/cmp/movss [reg+off]` in .text
using disp8 form for off<0x80 and disp32 form for off>=0x80.
Offsets < 0x08 are noise-dominated by prolog code (marked 'small').
An offset with hits >= 1 is CONFIRMED as an actual struct member the game reads/writes.
--- World ---
[CONFIRMED ] +0xE4 type=ptr disp32-hits=336 RenderCamera*
[CONFIRMED ] +0x5FC type=ptr disp32-hits=88 EntityTablePointer*
[CONFIRMED ] +0x13A8 type=ptr disp32-hits=407 CameraOn (spectated Unit*)
[CONFIRMED ] +0x13B4 type=ptr disp32-hits=13 RealPlayer struct*
[CONFIRMED ] +0x1490 type=ptr disp32-hits=24 ChatSystem substruct*
--- Camera ---
[CONFIRMED ] +0x28 type=vec3 disp32-hits=8280 world eye position
[CONFIRMED ] +0x6C type=float disp32-hits=5790 proj._11 (~1.019)
[CONFIRMED ] +0x7C type=float disp32-hits=4655 proj._22 (~1.905)
--- Unit ---
[CONFIRMED ] +0x18 type=ptr disp32-hits=13193 EntityVisualState*
[CONFIRMED ] +0x3C type=ptr disp32-hits=6054 CfgVehicle*
[CONFIRMED ] +0x15C type=i32 disp32-hits=171 Side
[CONFIRMED ] +0x168 type=ptr disp32-hits=156 BoardingState*
[CONFIRMED ] +0x20C type=u8 disp32-hits=151 IsDead
[CONFIRMED ] +0x694 type=ptr disp32-hits=20 WeaponTable
[CONFIRMED ] +0x6A0 type=ptr disp32-hits=3 InventoryMagTable
[CONFIRMED ] +0x6E0 type=ptr disp32-hits=222 Weapon inline array (20*0x24)
[CONFIRMED ] +0x72C type=u32 disp32-hits=17 active muzzle index
[CONFIRMED ] +0xAC8 type=i32 disp32-hits=18 PlayerID
[CONFIRMED ] +0xB00 type=float disp32-hits=34 HeadDirectionX
[CONFIRMED ] +0xB14 type=float disp32-hits=51 HeadDirectionY
[CONFIRMED ] +0xB44 type=float disp32-hits=32 Zoom
[CONFIRMED ] +0xB64 type=float disp32-hits=35 Lean
[CONFIRMED ] +0xCB0 type=float disp32-hits=23 aim-shake X (primary sway)
[CONFIRMED ] +0xCB4 type=float disp32-hits=19 aim-shake Y (primary sway)
--- VS ---
[CONFIRMED ] +0x28 type=vec3 disp32-hits=8280 Coordinates
[CONFIRMED ] +0x48 type=vec3 disp32-hits=4615 Velocity
[CONFIRMED ] +0x10C type=vec3 disp32-hits=295 HeadCoords
[CONFIRMED ] +0x118 type=vec3 disp32-hits=273 TorsoCoords
--- Vehicle ---
[CONFIRMED ] +0xB4C type=i32 disp32-hits=137 CrewMax
[SUSPECT ] +0x12E0 type=ptr disp32-hits=0 weaponsCargo
[CONFIRMED ] +0x12EC type=ptr disp32-hits=1 magazinesCargo
--- Muzzle ---
[SMALL ] +0x4 type=ptr disp32-hits=n/a InventoryMag*
[CONFIRMED ] +0xC type=ptr disp32-hits=49256 WeaponType* (loadout slot)
--- MagazineType ---
[CONFIRMED ] +0xC type=ptr disp32-hits=49256 ConfigEntry* → +4 → RString classname
[CONFIRMED ] +0x34 type=float disp32-hits=4017 initSpeed (muzzle velocity)
[CONFIRMED ] +0x200 type=ptr disp32-hits=218 Ammunition* (CfgAmmo)
[CONFIRMED ] +0x204 type=i32 disp32-hits=142 TracersEvery
--- WeaponType ---
[CONFIRMED ] +0x48 type=ptr disp32-hits=4615 ConfigEntry* → +4 → RString classname
--- Ammo ---
[CONFIRMED ] +0x140 type=float disp32-hits=190 DirectDamage (`hit` config)
[CONFIRMED ] +0x144 type=float disp32-hits=230 IndirectDamage
[CONFIRMED ] +0x148 type=float disp32-hits=490 IndirectHitRange
[CONFIRMED ] +0x19C type=float disp32-hits=145 AirFriction
--- CfgVehicle ---
[CONFIRMED ] +0x30 type=ptr disp32-hits=5453 EntityName ArmaString*
[CONFIRMED ] +0x6C type=ptr disp32-hits=5790 ObjectType ArmaString*
--- RString ---
[SMALL ] +0x0 type=u32 disp32-hits=n/a refcount
[SMALL ] +0x4 type=u32 disp32-hits=n/a length
[CONFIRMED ] +0x8 type=u8[] disp32-hits=73246 char data inline
--- InvMag ---
[CONFIRMED ] +0x8 type=ptr disp32-hits=73246 slot0 MagazineType* (+S*0x38)
================================================== ==================================================
REJECTED / MISSING CLAIMS (grouped)
================================================== ==================================================
none — all SQF-claim strings verified with at least prolog-match.
================================================== ==================================================
SUMMARY
================================================== ==================================================
SQF handlers claimed: 99
* fully verified (triplet ties): 99
* plausible (prolog-only or triplet→other handler): 0
* rejected / missing string: 0
FULLY VERIFIED (registration triplet ties handler to string):
✓ addAction
✓ addMagazine
✓ addMagazineCargo
✓ addWeapon
✓ addWeaponCargo
✓ ammo
✓ assignAsDriver
✓ ban
✓ call
✓ commandChat
✓ commandFire
✓ commandRadio
✓ compile
✓ createVehicle
✓ directSay
✓ doFire
✓ doMove
✓ doWatch
✓ endMission
✓ exec
✓ execFSM
✓ execVM
✓ failMission
✓ fireAtTarget
✓ forceSpeed
✓ getSpeed
✓ getVariable
✓ globalChat
✓ globalRadio
✓ groupChat
✓ groupRadio
✓ hint
✓ hintC
✓ hintCadet
✓ hintSilent
✓ isMultiplayer
✓ isPlayer
✓ kick
✓ missionNamespace
✓ moveInCargo
✓ moveInCommander
✓ moveInDriver
✓ moveInGunner
✓ moveInTurret
✓ name
✓ netId
✓ objectFromNetId
✓ owner
✓ player
✓ publicVariable
✓ publicVariableClient
✓ publicVariableServer
✓ rank
✓ removeAllWeapons
✓ removeMagazine
✓ removeWeapon
✓ selectWeapon
✓ serverCommand
✓ serverCommandAvailable
✓ setCaptive
✓ setDir
✓ setFace
✓ setFog
✓ setFriend
✓ setFuel
✓ setHit
✓ setIdentity
✓ setMusicEffect
✓ setName
✓ setObjectTexture
✓ setOwner
✓ setPos
✓ setPosASL
✓ setPosATL
✓ setSkill
✓ setSoundEffect
✓ setSpeedMode
✓ setUnitAbility
✓ setUnitPos
✓ setUnitRank
✓ setUnitRecoilCoefficient
✓ setVariable
✓ setVehicleAmmo
✓ setVehicleInit
✓ setVehicleLock
✓ setVelocity
✓ setWaypointSpeed
✓ side
✓ sideChat
✓ sideRadio
✓ skill
✓ spawn
✓ stop
✓ systemChat
✓ titleObj
✓ titleRsc
✓ titleText
✓ vehicleChat
✓ vehicleRadio
PLAUSIBLE (handler prolog OK, or triplet exists but points to a different site):
Vtables verified: 17/17
Anchors verified: 2/2
CORRECTIONS TO MEMORY MD (backpatch candidates):
1. `createVehicle` string RVA in memory md is 0x008C76B4 — TYPO.
Real RVA: 0x008976B4 (verified via .rdata scan + xref).
2. Memory md section "Server-only auth commands NOT in ArmA2OA.exe" is
INCORRECT. Strings "serverCommand" (RVA 0x897EDC) and
"serverCommandAvailable" (RVA 0x897E38) ARE present, and their handlers
at 0x003C4705 / 0x003C46A0 have STDFRAME prolog and full triplet ties.
3. Memory md worker table (Unit_addMagazine_impl / Unit_addWeapon_impl / etc)
was captured with the wrong ImageBase (0x00C40000 assumed).
Correct RVAs (ImageBase 0x00400000):
Unit_addWeapon_impl 0x002AA85E
Unit_addMagazine_impl 0x002AAA27
Unit_removeWeapon_impl 0x002AA8C8
Unit_removeMagazine_impl 0x002AAC6B
Same base error for Object_setPositionSetter — worker table lists 0x003E6F3E
but real function start is 0x003A6F3E (also matches md's own delegate-chain).
4. Memory md's rule 'subtract 0x30000 from archive RVA to get live RVA' is
approximate. For addWeaponCargo/addMagazineCargo the true delta is 0x40000:
addWeaponCargo archive 0x0040E500 → live 0x003CE500 (delta 0x40000)
addMagazineCargo archive 0x004174A9 → live 0x003D74A9 (delta 0x40000)
5. `setAnimSpeedCoef` string genuinely absent — A3-only, memory md acknowledges.
6. `publicVariable` (0x003C31A7) and `publicVariableServer` (0x003C324C) use
MSVC frame-pointer omission (/Oy) — prolog begins `56 57 E8 ...` not
`55 8B EC`. The byte immediately before each is a `C3` RET terminating the
previous function, so the RVA IS the correct handler start.
7. Handler `systemChat` (0x003C123A) prolog is `6A 01 6A 00 51 8B` — pushes
initial args before setting up frame; still legal. Triplet: str_va=0xC92FEC,
argN not detected in expected slot (may be pushed after the string).
8. Vehicle+0x12E0 weaponsCargo — the disp32 pattern occurs in .text but
survived-check disassembly shows both raw hits are false positives
(jmp target, imm32 value). Offset unconfirmed as a struct-member access.
Vehicle+0x12EC magazinesCargo has one confirmed SIB-form `lea` reference.
These are pool-arrays touched only by cargo-add code paths, low frequency.
================================================== ==================================================
END OF VERIFIED DUMP
================================================== ==================================================
ArmA 2 OA build 33930 — OFFSET DUMP,
================================================== ==================================================
File size: 13,868,976 bytes
ImageBase: 0x00400000
EntryPoint: 0x0075F485 (RVA)
Verification method — for each entry:
* String claims: literal must live inside .rdata, be null-terminated ASCII,
AND have >=1 `push imm32(str_va)` xref from .text (proves
it is used as a static literal, not a runtime pointer).
* SQF handler: a `push handler_va; push str_va; push argN` triplet in .text
ties the string to the handler. Handler bytes must also
open with a valid MSVC prolog (STDFRAME, READER, or FPO).
* Anchor slots: must live inside .data.
* Vtables: must live inside .rdata AND slot0 must point into .text.
* Worker RVAs: bytes at RVA must open with valid prolog.
SECTIONS
----------------------------------------------------------------------------------------------------
..text VA=0x00401000 RVA=0x0001000 VSize=0x80B33A ROff=0x400 RSize=0x80B400
..rdata VA=0x00C0D000 RVA=0x080D000 VSize=0x1947FC ROff=0x80B800 RSize=0x194800
..data VA=0x00DA2000 RVA=0x09A2000 VSize=0x151A44 ROff=0x9A0000 RSize=0x33200
..rsrc VA=0x00EF4000 RVA=0x0AF4000 VSize=0x2BA0B8 ROff=0x9D3200 RSize=0x2BA200
..reloc VA=0x011AF000 RVA=0x0DAF000 VSize=0xAB2B8 ROff=0xC8D400 RSize=0xAB400
================================================== ==================================================
SQF SCRIPT COMMAND HANDLERS (99 entries)
================================================== ==================================================
For each command:
string RVA (verified in .rdata)
string xref count (# of `push str_va` sites in .text)
registration triplet found (handler ↔ string ↔ argN)
handler RVA + first 6 bytes + prolog class
[VERIFIED ] addWeapon
string RVA=0x8AFF5C VA=0xCAFF5C xrefs=1
handler md RVA=0x03E0A50 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E0A50 (RVA=0x3E0A50) argN=4 site=0x7D01BB call→0xF0B0
[VERIFIED ] addMagazine
string RVA=0x8AFDB4 VA=0xCAFDB4 xrefs=2
handler md RVA=0x03E103B bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E103B (RVA=0x3E103B) argN=4 site=0x7D02E7 call→0xF0B0
triplet handler_va=0x7E110F (RVA=0x3E110F) argN=4 site=0x7D037D call→0xF0B0
[VERIFIED ] removeWeapon
string RVA=0x8AFE94 VA=0xCAFE94 xrefs=1
handler md RVA=0x03E0B25 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E0B25 (RVA=0x3E0B25) argN=4 site=0x7D0251 call→0xF0B0
[VERIFIED ] removeMagazine
string RVA=0x8AFAC0 VA=0xCAFAC0 xrefs=1
handler md RVA=0x03E1421 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7E1421 (RVA=0x3E1421) argN=4 site=0x7D04A9 call→0xF0B0
[VERIFIED ] addWeaponCargo
string RVA=0x8ABFE8 VA=0xCABFE8 xrefs=1
handler md RVA=0x03CE500 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7CE500 (RVA=0x3CE500) argN=4 site=0x7D37C3 call→0xF0B0
[VERIFIED ] addMagazineCargo
string RVA=0x8ABEF4 VA=0xCABEF4 xrefs=1
handler md RVA=0x03D74A9 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7D74A9 (RVA=0x3D74A9) argN=4 site=0x7D3859 call→0xF0B0
[VERIFIED ] removeAllWeapons
string RVA=0x89ACA4 VA=0xC9ACA4 xrefs=1
handler md RVA=0x03B178B bytes=55 8B EC 56 FF 75 prolog=STDFRAME
triplet handler_va=0x7B178B (RVA=0x3B178B) argN=? site=0x7C0113 call→0xF0B0
[VERIFIED ] selectWeapon
string RVA=0x8AF664 VA=0xCAF664 xrefs=1
handler md RVA=0x03BCC0A bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7BCC0A (RVA=0x3BCC0A) argN=4 site=0x7D079B call→0xF0B0
[VERIFIED ] setPos
string RVA=0x8B0FE4 VA=0xCB0FE4 xrefs=1
handler md RVA=0x03B2FDC bytes=55 8B EC 83 EC 44 prolog=STDFRAME
triplet handler_va=0x7B2FDC (RVA=0x3B2FDC) argN=4 site=0x7CF36A call→0xF0B0
[VERIFIED ] setPosATL
string RVA=0x8B0E64 VA=0xCB0E64 xrefs=1
handler md RVA=0x03B2E84 bytes=55 8B EC 83 EC 48 prolog=STDFRAME
triplet handler_va=0x7B2E84 (RVA=0x3B2E84) argN=4 site=0x7CF49E call→0xF0B0
[VERIFIED ] setPosASL
string RVA=0x8B0F24 VA=0xCB0F24 xrefs=1
handler md RVA=0x03B2C15 bytes=55 8B EC 83 EC 48 prolog=STDFRAME
triplet handler_va=0x7B2C15 (RVA=0x3B2C15) argN=4 site=0x7CF404 call→0xF0B0
[VERIFIED ] setUnitPos
string RVA=0x8AD604 VA=0xCAD604 xrefs=1
handler md RVA=0x03BDDF2 bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x7BDDF2 (RVA=0x3BDDF2) argN=4 site=0x7D2465 call→0xF0B0
[VERIFIED ] setVelocity
string RVA=0x8B0D18 VA=0xCB0D18 xrefs=1
handler md RVA=0x03B32B5 bytes=55 8B EC 83 EC 18 prolog=STDFRAME
triplet handler_va=0x7B32B5 (RVA=0x3B32B5) argN=4 site=0x7CF660 call→0xF0B0
[VERIFIED ] setDir
string RVA=0x8B0D60 VA=0xCB0D60 xrefs=1
handler md RVA=0x03B319A bytes=55 8B EC 83 EC 24 prolog=STDFRAME
triplet handler_va=0x7B319A (RVA=0x3B319A) argN=4 site=0x7CF5CA call→0xF0B0
[VERIFIED ] setFuel
string RVA=0x8AC314 VA=0xCAC314 xrefs=1
handler md RVA=0x03B0CC7 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7B0CC7 (RVA=0x3B0CC7) argN=4 site=0x7D356B call→0xF0B0
[VERIFIED ] forceSpeed
string RVA=0x8A568C VA=0xCA568C xrefs=1
handler md RVA=0x03BA5DD bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7BA5DD (RVA=0x3BA5DD) argN=4 site=0x7D94FF call→0xF0B0
[VERIFIED ] setSpeedMode
string RVA=0x8AD67C VA=0xCAD67C xrefs=1
handler md RVA=0x03BE176 bytes=55 8B EC 51 51 56 prolog=STDFRAME
triplet handler_va=0x7BE176 (RVA=0x3BE176) argN=4 site=0x7D23CF call→0xF0B0
[VERIFIED ] setWaypointSpeed
string RVA=0x8A7600 VA=0xCA7600 xrefs=1
handler md RVA=0x03D28B5 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7D28B5 (RVA=0x3D28B5) argN=4 site=0x7D7182 call→0xF0B0
[VERIFIED ] stop
string RVA=0x861240 VA=0xC61240 xrefs=4
handler md RVA=0x03B6FCB bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B6FCB (RVA=0x3B6FCB) argN=4 site=0x7D26C9 call→0xF0B0
[VERIFIED ] getSpeed
string RVA=0x8A5624 VA=0xCA5624 xrefs=1
handler md RVA=0x03C9E3C bytes=55 8B EC 51 51 56 prolog=STDFRAME
triplet handler_va=0x7C9E3C (RVA=0x3C9E3C) argN=4 site=0x7D9595 call→0xF0B0
[VERIFIED ] setSkill
string RVA=0x8A00E8 VA=0xCA00E8 xrefs=2
handler md RVA=0x03D65B7 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7D65B7 (RVA=0x3D65B7) argN=4 site=0x7E017C call→0xF0B0
triplet handler_va=0x7B1418 (RVA=0x3B1418) argN=4 site=0x7E230D call→0xF0B0
[VERIFIED ] skill
string RVA=0x8401B4 VA=0xC401B4 xrefs=11
handler md RVA=0x03CC8B6 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7B1106 (RVA=0x3B1106) argN=? site=0x7CDDD0 call→0xF0B0
triplet handler_va=0x7CC8B6 (RVA=0x3CC8B6) argN=4 site=0x7E00DE call→0xF0B0
[VERIFIED ] setUnitRecoilCoefficient
string RVA=0x8A21D0 VA=0xCA21D0 xrefs=1
handler md RVA=0x03B5DFF bytes=55 8B EC 56 FF 75 prolog=STDFRAME
triplet handler_va=0x7B5DFF (RVA=0x3B5DFF) argN=4 site=0x7DCF25 call→0xF0B0
[VERIFIED ] setCaptive
string RVA=0x8B1888 VA=0xCB1888 xrefs=1
handler md RVA=0x03B126D bytes=55 8B EC 56 57 FF prolog=STDFRAME
triplet handler_va=0x7B126D (RVA=0x3B126D) argN=4 site=0x7CEA8E call→0xF0B0
[VERIFIED ] setVehicleAmmo
string RVA=0x8A67B0 VA=0xCA67B0 xrefs=1
handler md RVA=0x03B93FC bytes=55 8B EC 56 FF 75 prolog=STDFRAME
triplet handler_va=0x7B93FC (RVA=0x3B93FC) argN=4 site=0x7D7DAD call→0xF0B0
[VERIFIED ] setVehicleInit
string RVA=0x8A6488 VA=0xCA6488 xrefs=1
handler md RVA=0x03C86D6 bytes=55 8B EC 51 56 57 prolog=STDFRAME
triplet handler_va=0x7C86D6 (RVA=0x3C86D6) argN=4 site=0x7D81E3 call→0xF0B0
[VERIFIED ] setUnitAbility
string RVA=0x8A6600 VA=0xCA6600 xrefs=1
handler md RVA=0x03B9438 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B9438 (RVA=0x3B9438) argN=4 site=0x7D8015 call→0xF0B0
[VERIFIED ] setFace
string RVA=0x8B1734 VA=0xCB1734 xrefs=1
handler md RVA=0x03BF94F bytes=55 8B EC 51 56 57 prolog=STDFRAME
triplet handler_va=0x7BF94F (RVA=0x3BF94F) argN=4 site=0x7CEC55 call→0xF0B0
[VERIFIED ] setName
string RVA=0x84B54C VA=0xC4B54C xrefs=1
handler md RVA=0x013E218 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x53E218 (RVA=0x13E218) argN=4 site=0x7A952B call→0xF0B0
[VERIFIED ] addAction
string RVA=0x8A9C4C VA=0xCA9C4C xrefs=1
handler md RVA=0x03BED01 bytes=55 8B EC 83 EC 24 prolog=STDFRAME
triplet handler_va=0x7BED01 (RVA=0x3BED01) argN=4 site=0x7D5746 call→0xF0B0
[VERIFIED ] ammo
string RVA=0x840200 VA=0xC40200 xrefs=21
handler md RVA=0x03BD4F3 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7BD4F3 (RVA=0x3BD4F3) argN=4 site=0x7D0087 call→0xF0B0
[VERIFIED ] createVehicle
string RVA=0x8976B4 VA=0xC976B4 xrefs=2
handler md RVA=0x03D85B3 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7D9358 (RVA=0x3D9358) argN=? site=0x7C3559 call→0xF0B0
triplet handler_va=0x7D85B3 (RVA=0x3D85B3) argN=4 site=0x7D3B4F call→0xF0B0
[VERIFIED ] globalChat
string RVA=0x8AEBE4 VA=0xCAEBE4 xrefs=1
handler md RVA=0x03C0D6F bytes=55 8B EC 51 FF 75 prolog=STDFRAME
triplet handler_va=0x7C0D6F (RVA=0x3C0D6F) argN=4 site=0x7D0F59 call→0xF0B0
[VERIFIED ] sideChat
string RVA=0x8AEAD8 VA=0xCAEAD8 xrefs=1
handler md RVA=0x03C0DE9 bytes=55 8B EC 51 56 8B prolog=STDFRAME
triplet handler_va=0x7C0DE9 (RVA=0x3C0DE9) argN=4 site=0x7D0FF7 call→0xF0B0
[VERIFIED ] groupChat
string RVA=0x8AE8B8 VA=0xCAE8B8 xrefs=1
handler md RVA=0x03C1147 bytes=55 8B EC 51 FF 75 prolog=STDFRAME
triplet handler_va=0x7C1147 (RVA=0x3C1147) argN=4 site=0x7D112F call→0xF0B0
[VERIFIED ] vehicleChat
string RVA=0x8AE7A8 VA=0xCAE7A8 xrefs=1
handler md RVA=0x03C11C4 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7C11C4 (RVA=0x3C11C4) argN=4 site=0x7D11C9 call→0xF0B0
[VERIFIED ] commandChat
string RVA=0x8AE9C8 VA=0xCAE9C8 xrefs=1
handler md RVA=0x03C0F95 bytes=55 8B EC 51 56 8B prolog=STDFRAME
triplet handler_va=0x7C0F95 (RVA=0x3C0F95) argN=4 site=0x7D1095 call→0xF0B0
[VERIFIED ] directSay
string RVA=0x8AECF0 VA=0xCAECF0 xrefs=1
handler md RVA=0x03C0D1E bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7C0D1E (RVA=0x3C0D1E) argN=4 site=0x7D0EBF call→0xF0B0
[VERIFIED ] sideRadio
string RVA=0x8AEFA0 VA=0xCAEFA0 xrefs=1
handler md RVA=0x03C09BC bytes=55 8B EC 51 53 56 prolog=STDFRAME
triplet handler_va=0x7C09BC (RVA=0x3C09BC) argN=4 site=0x7D0C5B call→0xF0B0
[VERIFIED ] globalRadio
string RVA=0x8AF048 VA=0xCAF048 xrefs=1
handler md RVA=0x03C0983 bytes=55 8B EC A1 0C 49 prolog=STDFRAME
triplet handler_va=0x7C0983 (RVA=0x3C0983) argN=4 site=0x7D0BC1 call→0xF0B0
[VERIFIED ] groupRadio
string RVA=0x8AEE48 VA=0xCAEE48 xrefs=1
handler md RVA=0x03C0C97 bytes=55 8B EC 8B 45 10 prolog=STDFRAME
triplet handler_va=0x7C0C97 (RVA=0x3C0C97) argN=4 site=0x7D0D8F call→0xF0B0
[VERIFIED ] vehicleRadio
string RVA=0x8AED94 VA=0xCAED94 xrefs=1
handler md RVA=0x03C0CD4 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7C0CD4 (RVA=0x3C0CD4) argN=4 site=0x7D0E25 call→0xF0B0
[VERIFIED ] commandRadio
string RVA=0x8AEEF0 VA=0xCAEEF0 xrefs=1
handler md RVA=0x03C0B27 bytes=55 8B EC 51 53 56 prolog=STDFRAME
triplet handler_va=0x7C0B27 (RVA=0x3C0B27) argN=4 site=0x7D0CF9 call→0xF0B0
[VERIFIED ] hint
string RVA=0x840E7C VA=0xC40E7C xrefs=9
handler md RVA=0x03C2E2B bytes=55 8B EC 53 56 8B prolog=STDFRAME
triplet handler_va=0x7C2E2B (RVA=0x3C2E2B) argN=? site=0x7C0D29 call→0xF0B0
[VERIFIED ] hintC
string RVA=0x89A250 VA=0xC9A250 xrefs=4
handler md RVA=0x03D7E5D bytes=55 8B EC 81 EC B4 prolog=STDFRAME
triplet handler_va=0x7C307B (RVA=0x3C307B) argN=? site=0x7C0E3D call→0xF0B0
triplet handler_va=0x7D7E5D (RVA=0x3D7E5D) argN=4 site=0x7D7703 call→0xF0B0
[VERIFIED ] hintSilent
string RVA=0x894364 VA=0xC94364 xrefs=1
handler md RVA=0x03C2EE9 bytes=55 8B EC 56 8B 75 prolog=STDFRAME
triplet handler_va=0x7C2EE9 (RVA=0x3C2EE9) argN=? site=0x7C8175 call→0xF0B0
[VERIFIED ] hintCadet
string RVA=0x89A2F8 VA=0xC9A2F8 xrefs=1
handler md RVA=0x03C2FAA bytes=55 8B EC 51 53 56 prolog=STDFRAME
triplet handler_va=0x7C2FAA (RVA=0x3C2FAA) argN=? site=0x7C0DB3 call→0xF0B0
[VERIFIED ] systemChat
string RVA=0x892FEC VA=0xC92FEC xrefs=1
handler md RVA=0x03C123A bytes=6A 01 6A 00 51 8B prolog=UNKNOWN
triplet handler_va=0x7C123A (RVA=0x3C123A) argN=? site=0x7C9A12 call→0xF0B0
[VERIFIED ] titleText
string RVA=0x89B4D8 VA=0xC9B4D8 xrefs=1
handler md RVA=0x03C1BC8 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7C1BC8 (RVA=0x3C1BC8) argN=? site=0x7BF929 call→0xF0B0
[VERIFIED ] titleObj
string RVA=0x89B308 VA=0xC9B308 xrefs=1
handler md RVA=0x03C1FA5 bytes=55 8B EC 83 EC 10 prolog=STDFRAME
triplet handler_va=0x7C1FA5 (RVA=0x3C1FA5) argN=? site=0x7BFA35 call→0xF0B0
[VERIFIED ] titleRsc
string RVA=0x89B3F4 VA=0xC9B3F4 xrefs=1
handler md RVA=0x03C1EB7 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7C1EB7 (RVA=0x3C1EB7) argN=? site=0x7BF9AF call→0xF0B0
[VERIFIED ] moveInDriver
string RVA=0x8ACE18 VA=0xCACE18 xrefs=1
handler md RVA=0x03B74D4 bytes=55 8B EC 83 EC 10 prolog=STDFRAME
triplet handler_va=0x7B74D4 (RVA=0x3B74D4) argN=4 site=0x7D2C8D call→0xF0B0
[VERIFIED ] moveInGunner
string RVA=0x8ACD90 VA=0xCACD90 xrefs=1
handler md RVA=0x03B7636 bytes=55 8B EC 83 EC 10 prolog=STDFRAME
triplet handler_va=0x7B7636 (RVA=0x3B7636) argN=4 site=0x7D2D1F call→0xF0B0
[VERIFIED ] moveInCargo
string RVA=0x8ACD08 VA=0xCACD08 xrefs=2
handler md RVA=0x03B7795 bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x7B7795 (RVA=0x3B7795) argN=4 site=0x7D2DB1 call→0xF0B0
triplet handler_va=0x7B7795 (RVA=0x3B7795) argN=4 site=0x7D2E47 call→0xF0B0
[VERIFIED ] moveInCommander
string RVA=0x8ACEA0 VA=0xCACEA0 xrefs=1
handler md RVA=0x03B739C bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B739C (RVA=0x3B739C) argN=4 site=0x7D2BFB call→0xF0B0
[VERIFIED ] moveInTurret
string RVA=0x8ACBF0 VA=0xCACBF0 xrefs=1
handler md RVA=0x03CFC95 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x7CFC95 (RVA=0x3CFC95) argN=4 site=0x7D2EDD call→0xF0B0
[VERIFIED ] assignAsDriver
string RVA=0x8AD0C8 VA=0xCAD0C8 xrefs=1
handler md RVA=0x03B7188 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B7188 (RVA=0x3B7188) argN=4 site=0x7D291D call→0xF0B0
[VERIFIED ] setHit
string RVA=0x8A357C VA=0xCA357C xrefs=1
handler md RVA=0x03BF379 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7BF379 (RVA=0x3BF379) argN=4 site=0x7DB535 call→0xF0B0
[VERIFIED ] commandFire
string RVA=0x8A9FAC VA=0xCA9FAC xrefs=1
handler md RVA=0x03DC58A bytes=55 8B EC 6A 00 FF prolog=STDFRAME
triplet handler_va=0x7DC58A (RVA=0x3DC58A) argN=4 site=0x7D5580 call→0xF0B0
[VERIFIED ] fireAtTarget
string RVA=0x8A2C30 VA=0xCA2C30 xrefs=1
handler md RVA=0x03C7FAD bytes=55 8B EC 83 EC 24 prolog=STDFRAME
triplet handler_va=0x7C7FAD (RVA=0x3C7FAD) argN=4 site=0x7DC1DE call→0xF0B0
[VERIFIED ] doFire
string RVA=0x8A9EC4 VA=0xCA9EC4 xrefs=1
handler md RVA=0x03DC56C bytes=55 8B EC 6A 01 FF prolog=STDFRAME
triplet handler_va=0x7DC56C (RVA=0x3DC56C) argN=4 site=0x7D5616 call→0xF0B0
[VERIFIED ] doWatch
string RVA=0x8AA2DC VA=0xCAA2DC xrefs=2
handler md RVA=0x03DCB44 bytes=55 8B EC 6A 01 FF prolog=STDFRAME
triplet handler_va=0x7DCB44 (RVA=0x3DCB44) argN=4 site=0x7D5166 call→0xF0B0
triplet handler_va=0x7DCB44 (RVA=0x3DCB44) argN=4 site=0x7D5292 call→0xF0B0
[VERIFIED ] doMove
string RVA=0x8AA410 VA=0xCAA410 xrefs=1
handler md RVA=0x03DC463 bytes=55 8B EC 6A 01 FF prolog=STDFRAME
triplet handler_va=0x7DC463 (RVA=0x3DC463) argN=4 site=0x7D5032 call→0xF0B0
[VERIFIED ] setFriend
string RVA=0x8A954C VA=0xCA954C xrefs=1
handler md RVA=0x03D0FC5 bytes=55 8B EC 8B 45 14 prolog=STDFRAME
triplet handler_va=0x7D0FC5 (RVA=0x3D0FC5) argN=4 site=0x7D5DEC call→0xF0B0
[VERIFIED ] setUnitRank
string RVA=0x8A6688 VA=0xCA6688 xrefs=1
handler md RVA=0x03C859C bytes=55 8B EC 51 FF 75 prolog=STDFRAME
triplet handler_va=0x7C859C (RVA=0x3C859C) argN=4 site=0x7D7EE1 call→0xF0B0
[VERIFIED ] setIdentity
string RVA=0x8B17F4 VA=0xCB17F4 xrefs=1
handler md RVA=0x03BF632 bytes=55 8B EC 83 EC 18 prolog=STDFRAME
triplet handler_va=0x7BF632 (RVA=0x3BF632) argN=4 site=0x7CEB29 call→0xF0B0
[VERIFIED ] publicVariableClient
string RVA=0x8A1F74 VA=0xCA1F74 xrefs=1
handler md RVA=0x03C31D7 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C31D7 (RVA=0x3C31D7) argN=4 site=0x7DD196 call→0xF0B0
[VERIFIED ] setOwner
string RVA=0x8A209C VA=0xCA209C xrefs=1
handler md RVA=0x03B7F90 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7B7F90 (RVA=0x3B7F90) argN=4 site=0x7DD0F4 call→0xF0B0
[VERIFIED ] setVariable
string RVA=0x84B408 VA=0xC4B408 xrefs=7
handler md RVA=0x013E2B0 bytes=55 8B EC 51 51 53 prolog=STDFRAME
triplet handler_va=0x53E2B0 (RVA=0x13E2B0) argN=4 site=0x7A97FB call→0xF0B0
triplet handler_va=0x5A6CD5 (RVA=0x1A6CD5) argN=4 site=0x7AC2E5 call→0xF0B0
[VERIFIED ] getVariable
string RVA=0x84B3B0 VA=0xC4B3B0 xrefs=11
handler md RVA=0x013E3BB bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x53E3BB (RVA=0x13E3BB) argN=4 site=0x7A988B call→0xF0B0
triplet handler_va=0x5A6BEB (RVA=0x1A6BEB) argN=4 site=0x7AC255 call→0xF0B0
[VERIFIED ] spawn
string RVA=0x8AC6A4 VA=0xCAC6A4 xrefs=1
handler md RVA=0x03AE23E bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7AE23E (RVA=0x3AE23E) argN=4 site=0x7D3308 call→0xF0B0
[VERIFIED ] exec
string RVA=0x841AAC VA=0xC41AAC xrefs=1
handler md RVA=0x03CC989 bytes=55 8B EC 8B 0D A0 prolog=STDFRAME
triplet handler_va=0x7CC989 (RVA=0x3CC989) argN=4 site=0x7D326E call→0xF0B0
[VERIFIED ] execFSM
string RVA=0x8962A0 VA=0xC962A0 xrefs=2
handler md RVA=0x03E63F5 bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7E62D7 (RVA=0x3E62D7) argN=? site=0x7C5453 call→0xF0B0
triplet handler_va=0x7E63F5 (RVA=0x3E63F5) argN=4 site=0x7DA109 call→0xF0B0
[VERIFIED ] execVM
string RVA=0x892540 VA=0xC92540 xrefs=2
handler md RVA=0x03CC6D9 bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0x7CC618 (RVA=0x3CC618) argN=? site=0x7CA7F4 call→0xF0B0
triplet handler_va=0x7CC6D9 (RVA=0x3CC6D9) argN=4 site=0x7E0040 call→0xF0B0
[VERIFIED ] call
string RVA=0x8E8540 VA=0xCE8540 xrefs=2
handler md RVA=0x0653B7B bytes=55 8B EC 83 EC 0C prolog=STDFRAME
triplet handler_va=0xA53B7B (RVA=0x653B7B) argN=4 site=0x7F24CE call→0xF0B0
triplet handler_va=0xA53C3E (RVA=0x653C3E) argN=? site=0x7F3932 call→0xF0B0
[VERIFIED ] publicVariable
string RVA=0x89A42C VA=0xC9A42C xrefs=1
handler md RVA=0x03C31A7 bytes=56 57 E8 8E 7B CE prolog=FPO_PUSH_ESI_EDI_CALL
triplet handler_va=0x7C31A7 (RVA=0x3C31A7) argN=? site=0x7C0C9F call→0xF0B0
[VERIFIED ] publicVariableServer
string RVA=0x893108 VA=0xC93108 xrefs=1
handler md RVA=0x03C324C bytes=56 57 E8 E9 7A CE prolog=FPO_PUSH_ESI_EDI_CALL
triplet handler_va=0x7C324C (RVA=0x3C324C) argN=? site=0x7C9984 call→0xF0B0
[VERIFIED ] isMultiplayer
string RVA=0x88D030 VA=0xC8D030 xrefs=1
handler md RVA=0x03AB41F bytes=A1 0C 49 E8 00 83 prolog=READER
triplet handler_va=0x7AB41F (RVA=0x3AB41F) argN=? site=0x7BC554 call→0xF0B0
[VERIFIED ] isPlayer
string RVA=0x896E5C VA=0xC96E5C xrefs=1
handler md RVA=0x03B9BF4 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7B9BF4 (RVA=0x3B9BF4) argN=? site=0x7C420D call→0xF0B0
[VERIFIED ] name
string RVA=0x83B22C VA=0xC3B22C xrefs=228
handler md RVA=0x013E1B8 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x53E1B8 (RVA=0x13E1B8) argN=? site=0x7A8EB1 call→0xF0B0
triplet handler_va=0x7B6D32 (RVA=0x3B6D32) argN=? site=0x7BF46B call→0xF0B0
[VERIFIED ] player
string RVA=0x83F194 VA=0xC3F194 xrefs=31
handler md RVA=0x03AEFB8 bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7AEFB8 (RVA=0x3AEFB8) argN=? site=0x7B9E01 call→0xF0B0
[VERIFIED ] side
string RVA=0x83B85C VA=0xC3B85C xrefs=69
handler md RVA=0x013CC34 bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x53CC34 (RVA=0x13CC34) argN=? site=0x7A90A1 call→0xF0B0
triplet handler_va=0x7B6CCB (RVA=0x3B6CCB) argN=? site=0x7BF3E5 call→0xF0B0
[VERIFIED ] rank
string RVA=0x8401AC VA=0xC401AC xrefs=14
handler md RVA=0x03C84F0 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7C84F0 (RVA=0x3C84F0) argN=? site=0x7C4319 call→0xF0B0
[VERIFIED ] owner
string RVA=0x83F254 VA=0xC3F254 xrefs=26
handler md RVA=0x03B7F3B bytes=55 8B EC 51 51 FF prolog=STDFRAME
triplet handler_va=0x7B7F3B (RVA=0x3B7F3B) argN=? site=0x7C6E31 call→0xF0B0
[VERIFIED ] netId
string RVA=0x88EBEC VA=0xC8EBEC xrefs=2
handler md RVA=0x03BFC23 bytes=55 8B EC FF 75 10 prolog=STDFRAME
triplet handler_va=0x7BFC23 (RVA=0x3BFC23) argN=? site=0x7CE196 call→0xF0B0
triplet handler_va=0x7BFC53 (RVA=0x3BFC53) argN=? site=0x7CE224 call→0xF0B0
[VERIFIED ] objectFromNetId
string RVA=0x88EB64 VA=0xC8EB64 xrefs=1
handler md RVA=0x03BFC82 bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7BFC82 (RVA=0x3BFC82) argN=? site=0x7CE2B2 call→0xF0B0
[VERIFIED ] serverCommand
string RVA=0x897EDC VA=0xC97EDC xrefs=1
handler md RVA=0x03C4705 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C4705 (RVA=0x3C4705) argN=? site=0x7C3001 call→0xF0B0
[VERIFIED ] serverCommandAvailable
string RVA=0x897E38 VA=0xC97E38 xrefs=1
handler md RVA=0x03C46A0 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C46A0 (RVA=0x3C46A0) argN=? site=0x7C308B call→0xF0B0
[VERIFIED ] kick
string RVA=0x841AEC VA=0xC41AEC xrefs=1
handler md RVA=0x010B2C6 bytes=55 8B EC 51 A1 24 prolog=STDFRAME
triplet handler_va=0x50B2C6 (RVA=0x10B2C6) argN=? site=0x7A618C call→0xF0B0
[VERIFIED ] ban
string RVA=0x8495F0 VA=0xC495F0 xrefs=1
handler md RVA=0x010D548 bytes=55 8B EC 83 EC 14 prolog=STDFRAME
triplet handler_va=0x50D548 (RVA=0x10D548) argN=? site=0x7A610B call→0xF0B0
[VERIFIED ] endMission
string RVA=0x888004 VA=0xC88004 xrefs=2
handler md RVA=0x03C5D7D bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C5D7D (RVA=0x3C5D7D) argN=? site=0x7C63BD call→0xF0B0
[VERIFIED ] failMission
string RVA=0x895644 VA=0xC95644 xrefs=1
handler md RVA=0x03C5E17 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7C5E17 (RVA=0x3C5E17) argN=? site=0x7C6447 call→0xF0B0
[VERIFIED ] compile
string RVA=0x8E97E8 VA=0xCE97E8 xrefs=1
handler md RVA=0x064D4DB bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0xA4D4DB (RVA=0x64D4DB) argN=? site=0x7F4465 call→0xF0B0
[VERIFIED ] missionNamespace
string RVA=0x88D1EC VA=0xC8D1EC xrefs=1
handler md RVA=0x03A79B7 bytes=A1 0C 49 E8 00 FF prolog=READER
triplet handler_va=0x7A79B7 (RVA=0x3A79B7) argN=? site=0x7BC2CC call→0xF0B0
[VERIFIED ] setObjectTexture
string RVA=0x89E2F8 VA=0xC9E2F8 xrefs=1
handler md RVA=0x03E198D bytes=55 8B EC 51 51 8B prolog=STDFRAME
triplet handler_va=0x7E198D (RVA=0x3E198D) argN=4 site=0x7E239F call→0xF0B0
[VERIFIED ] setSoundEffect
string RVA=0x8A8118 VA=0xCA8118 xrefs=1
handler md RVA=0x03D1946 bytes=55 8B EC 8B 45 14 prolog=STDFRAME
triplet handler_va=0x7D1946 (RVA=0x3D1946) argN=4 site=0x7D68D6 call→0xF0B0
[VERIFIED ] setMusicEffect
string RVA=0x8A8050 VA=0xCA8050 xrefs=1
handler md RVA=0x03D1AC5 bytes=55 8B EC 51 56 FF prolog=STDFRAME
triplet handler_va=0x7D1AC5 (RVA=0x3D1AC5) argN=4 site=0x7D6974 call→0xF0B0
[VERIFIED ] setFog
string RVA=0x8AC494 VA=0xCAC494 xrefs=1
handler md RVA=0x03A82B6 bytes=55 8B EC 51 8B 4D prolog=STDFRAME
triplet handler_va=0x7A82B6 (RVA=0x3A82B6) argN=4 site=0x7D343A call→0xF0B0
[VERIFIED ] setVehicleLock
string RVA=0x8A652C VA=0xCA652C xrefs=1
handler md RVA=0x03C8658 bytes=55 8B EC 51 57 FF prolog=STDFRAME
triplet handler_va=0x7C8658 (RVA=0x3C8658) argN=4 site=0x7D8149 call→0xF0B0
================================================== ==================================================
ANCHOR POINTER SLOTS
================================================== ==================================================
[VERIFIED ] Modbase::World slot RVA=0xA8490C section=..data (pointer-slot in .data holding *World)
file-off=0xA8290C static-file value: currently *slot=0xFF83593A (runtime writes here at load)
[VERIFIED ] NetworkClientGlobal slot RVA=0x9FBC24 section=..data (pointer-slot in .data holding *NetContext)
file-off=0x9F9C24 static-file value: currently *slot=0xFFF6C186 (runtime writes here at load)
================================================== ==================================================
VTABLE RVAs
================================================== ==================================================
[VERIFIED ] Soldier RVA=0x86FB7C sec=..rdata slot0=0x0063B94B (RVA=0x23B94B, in-text=True)
[VERIFIED ] ManVS RVA=0x86D74C sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] CarVS RVA=0x850744 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] TankVS RVA=0x870F24 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] MotorcycleVS RVA=0x85C80C sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] ShipVS RVA=0x861E88 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] HelicopterVS RVA=0x854824 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] AirplaneVS RVA=0x84D5A4 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] ParachuteVS RVA=0x85D4CC sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] TankOrCarVS RVA=0x8507E0 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] TransportVS RVA=0x84D600 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] EntityVS RVA=0x84D244 sec=..rdata slot0=0x005DB808 (RVA=0x1DB808, in-text=True)
[VERIFIED ] Muzzle RVA=0x86D43C sec=..rdata slot0=0x00608449 (RVA=0x208449, in-text=True)
[VERIFIED ] MagazineType RVA=0x886D9C sec=..rdata slot0=0x00725D82 (RVA=0x325D82, in-text=True)
[VERIFIED ] WeaponType RVA=0x886978 sec=..rdata slot0=0x007264E0 (RVA=0x3264E0, in-text=True)
[VERIFIED ] WeaponTypeSub RVA=0x8870E4 sec=..rdata slot0=0x00729E3F (RVA=0x329E3F, in-text=True)
[VERIFIED ] cMagazine RVA=0x8862F0 sec=..rdata slot0=0x00720536 (RVA=0x320536, in-text=True)
================================================== ==================================================
__thiscall / __cdecl UNIT WORKER RVAs
================================================== ==================================================
Memory md was written with mixed ImageBase (some 0x00C40000 rather than 0x00400000).
Correct RVA (base 0x00400000) is shown; md-claim RVA reported as SUSPECT if broken.
[VERIFIED ] Unit_addWeapon_impl
md-claim RVA=0x002A85E bytes=10 3D 34 E0 D5 00 prolog=UNKNOWN
corrected RVA=0x02AA85E bytes=55 8B EC 51 8B 45 prolog=STDFRAME (delta 0x280000)
[VERIFIED ] Unit_addMagazine_impl
md-claim RVA=0x002AA27 bytes=F3 0F 58 F7 F3 0F prolog=UNKNOWN
corrected RVA=0x02AAA27 bytes=55 8B EC 51 51 8B prolog=STDFRAME (delta 0x280000)
[VERIFIED ] Unit_removeWeapon_impl
md-claim RVA=0x002A8C8 bytes=01 00 00 8B 84 24 prolog=UNKNOWN
corrected RVA=0x02AA8C8 bytes=55 8B EC 51 51 53 prolog=STDFRAME (delta 0x280000)
[VERIFIED ] Unit_removeMagazine_impl
md-claim RVA=0x002AC6B bytes=24 70 01 00 00 03 prolog=UNKNOWN
corrected RVA=0x02AAC6B bytes=55 8B EC 51 53 56 prolog=STDFRAME (delta 0x280000)
[VERIFIED ] InventorySlot::add
md-claim RVA=0x0093CAA bytes=55 8B EC 51 83 21 prolog=STDFRAME
corrected RVA=0x0093CAA bytes=55 8B EC 51 83 21 prolog=STDFRAME (SAME)
[VERIFIED ] Vehicle_addCargo_forwarder
md-claim RVA=0x00D330A bytes=55 8B EC 83 EC 0C prolog=STDFRAME
corrected RVA=0x00D330A bytes=55 8B EC 83 EC 0C prolog=STDFRAME (SAME)
[VERIFIED ] Vehicles_create
md-claim RVA=0x0418050 bytes=51 8B 44 24 08 53 prolog=PUSH_ECX_FPO
corrected RVA=0x0418050 bytes=51 8B 44 24 08 53 prolog=PUSH_ECX_FPO (SAME)
[VERIFIED ] Object_setPositionSetter
md-claim RVA=0x03E6F3E bytes=D8 00 00 00 0F 28 prolog=UNKNOWN
corrected RVA=0x03A6F3E bytes=55 8B EC 51 51 56 prolog=STDFRAME (delta 0x-40000)
[VERIFIED ] setPosATL_delegate
md-claim RVA=0x03A7A6B bytes=55 8B EC 51 51 8B prolog=STDFRAME
corrected RVA=0x03A7A6B bytes=55 8B EC 51 51 8B prolog=STDFRAME (SAME)
================================================== ==================================================
STRUCT OFFSET ACCESS EVIDENCE
================================================== ==================================================
For each claimed offset, count occurrences of `mov/lea/cmp/movss [reg+off]` in .text
using disp8 form for off<0x80 and disp32 form for off>=0x80.
Offsets < 0x08 are noise-dominated by prolog code (marked 'small').
An offset with hits >= 1 is CONFIRMED as an actual struct member the game reads/writes.
--- World ---
[CONFIRMED ] +0xE4 type=ptr disp32-hits=336 RenderCamera*
[CONFIRMED ] +0x5FC type=ptr disp32-hits=88 EntityTablePointer*
[CONFIRMED ] +0x13A8 type=ptr disp32-hits=407 CameraOn (spectated Unit*)
[CONFIRMED ] +0x13B4 type=ptr disp32-hits=13 RealPlayer struct*
[CONFIRMED ] +0x1490 type=ptr disp32-hits=24 ChatSystem substruct*
--- Camera ---
[CONFIRMED ] +0x28 type=vec3 disp32-hits=8280 world eye position
[CONFIRMED ] +0x6C type=float disp32-hits=5790 proj._11 (~1.019)
[CONFIRMED ] +0x7C type=float disp32-hits=4655 proj._22 (~1.905)
--- Unit ---
[CONFIRMED ] +0x18 type=ptr disp32-hits=13193 EntityVisualState*
[CONFIRMED ] +0x3C type=ptr disp32-hits=6054 CfgVehicle*
[CONFIRMED ] +0x15C type=i32 disp32-hits=171 Side
[CONFIRMED ] +0x168 type=ptr disp32-hits=156 BoardingState*
[CONFIRMED ] +0x20C type=u8 disp32-hits=151 IsDead
[CONFIRMED ] +0x694 type=ptr disp32-hits=20 WeaponTable
[CONFIRMED ] +0x6A0 type=ptr disp32-hits=3 InventoryMagTable
[CONFIRMED ] +0x6E0 type=ptr disp32-hits=222 Weapon inline array (20*0x24)
[CONFIRMED ] +0x72C type=u32 disp32-hits=17 active muzzle index
[CONFIRMED ] +0xAC8 type=i32 disp32-hits=18 PlayerID
[CONFIRMED ] +0xB00 type=float disp32-hits=34 HeadDirectionX
[CONFIRMED ] +0xB14 type=float disp32-hits=51 HeadDirectionY
[CONFIRMED ] +0xB44 type=float disp32-hits=32 Zoom
[CONFIRMED ] +0xB64 type=float disp32-hits=35 Lean
[CONFIRMED ] +0xCB0 type=float disp32-hits=23 aim-shake X (primary sway)
[CONFIRMED ] +0xCB4 type=float disp32-hits=19 aim-shake Y (primary sway)
--- VS ---
[CONFIRMED ] +0x28 type=vec3 disp32-hits=8280 Coordinates
[CONFIRMED ] +0x48 type=vec3 disp32-hits=4615 Velocity
[CONFIRMED ] +0x10C type=vec3 disp32-hits=295 HeadCoords
[CONFIRMED ] +0x118 type=vec3 disp32-hits=273 TorsoCoords
--- Vehicle ---
[CONFIRMED ] +0xB4C type=i32 disp32-hits=137 CrewMax
[SUSPECT ] +0x12E0 type=ptr disp32-hits=0 weaponsCargo
[CONFIRMED ] +0x12EC type=ptr disp32-hits=1 magazinesCargo
--- Muzzle ---
[SMALL ] +0x4 type=ptr disp32-hits=n/a InventoryMag*
[CONFIRMED ] +0xC type=ptr disp32-hits=49256 WeaponType* (loadout slot)
--- MagazineType ---
[CONFIRMED ] +0xC type=ptr disp32-hits=49256 ConfigEntry* → +4 → RString classname
[CONFIRMED ] +0x34 type=float disp32-hits=4017 initSpeed (muzzle velocity)
[CONFIRMED ] +0x200 type=ptr disp32-hits=218 Ammunition* (CfgAmmo)
[CONFIRMED ] +0x204 type=i32 disp32-hits=142 TracersEvery
--- WeaponType ---
[CONFIRMED ] +0x48 type=ptr disp32-hits=4615 ConfigEntry* → +4 → RString classname
--- Ammo ---
[CONFIRMED ] +0x140 type=float disp32-hits=190 DirectDamage (`hit` config)
[CONFIRMED ] +0x144 type=float disp32-hits=230 IndirectDamage
[CONFIRMED ] +0x148 type=float disp32-hits=490 IndirectHitRange
[CONFIRMED ] +0x19C type=float disp32-hits=145 AirFriction
--- CfgVehicle ---
[CONFIRMED ] +0x30 type=ptr disp32-hits=5453 EntityName ArmaString*
[CONFIRMED ] +0x6C type=ptr disp32-hits=5790 ObjectType ArmaString*
--- RString ---
[SMALL ] +0x0 type=u32 disp32-hits=n/a refcount
[SMALL ] +0x4 type=u32 disp32-hits=n/a length
[CONFIRMED ] +0x8 type=u8[] disp32-hits=73246 char data inline
--- InvMag ---
[CONFIRMED ] +0x8 type=ptr disp32-hits=73246 slot0 MagazineType* (+S*0x38)
================================================== ==================================================
REJECTED / MISSING CLAIMS (grouped)
================================================== ==================================================
none — all SQF-claim strings verified with at least prolog-match.
================================================== ==================================================
SUMMARY
================================================== ==================================================
SQF handlers claimed: 99
* fully verified (triplet ties): 99
* plausible (prolog-only or triplet→other handler): 0
* rejected / missing string: 0
FULLY VERIFIED (registration triplet ties handler to string):
✓ addAction
✓ addMagazine
✓ addMagazineCargo
✓ addWeapon
✓ addWeaponCargo
✓ ammo
✓ assignAsDriver
✓ ban
✓ call
✓ commandChat
✓ commandFire
✓ commandRadio
✓ compile
✓ createVehicle
✓ directSay
✓ doFire
✓ doMove
✓ doWatch
✓ endMission
✓ exec
✓ execFSM
✓ execVM
✓ failMission
✓ fireAtTarget
✓ forceSpeed
✓ getSpeed
✓ getVariable
✓ globalChat
✓ globalRadio
✓ groupChat
✓ groupRadio
✓ hint
✓ hintC
✓ hintCadet
✓ hintSilent
✓ isMultiplayer
✓ isPlayer
✓ kick
✓ missionNamespace
✓ moveInCargo
✓ moveInCommander
✓ moveInDriver
✓ moveInGunner
✓ moveInTurret
✓ name
✓ netId
✓ objectFromNetId
✓ owner
✓ player
✓ publicVariable
✓ publicVariableClient
✓ publicVariableServer
✓ rank
✓ removeAllWeapons
✓ removeMagazine
✓ removeWeapon
✓ selectWeapon
✓ serverCommand
✓ serverCommandAvailable
✓ setCaptive
✓ setDir
✓ setFace
✓ setFog
✓ setFriend
✓ setFuel
✓ setHit
✓ setIdentity
✓ setMusicEffect
✓ setName
✓ setObjectTexture
✓ setOwner
✓ setPos
✓ setPosASL
✓ setPosATL
✓ setSkill
✓ setSoundEffect
✓ setSpeedMode
✓ setUnitAbility
✓ setUnitPos
✓ setUnitRank
✓ setUnitRecoilCoefficient
✓ setVariable
✓ setVehicleAmmo
✓ setVehicleInit
✓ setVehicleLock
✓ setVelocity
✓ setWaypointSpeed
✓ side
✓ sideChat
✓ sideRadio
✓ skill
✓ spawn
✓ stop
✓ systemChat
✓ titleObj
✓ titleRsc
✓ titleText
✓ vehicleChat
✓ vehicleRadio
PLAUSIBLE (handler prolog OK, or triplet exists but points to a different site):
Vtables verified: 17/17
Anchors verified: 2/2
CORRECTIONS TO MEMORY MD (backpatch candidates):
1. `createVehicle` string RVA in memory md is 0x008C76B4 — TYPO.
Real RVA: 0x008976B4 (verified via .rdata scan + xref).
2. Memory md section "Server-only auth commands NOT in ArmA2OA.exe" is
INCORRECT. Strings "serverCommand" (RVA 0x897EDC) and
"serverCommandAvailable" (RVA 0x897E38) ARE present, and their handlers
at 0x003C4705 / 0x003C46A0 have STDFRAME prolog and full triplet ties.
3. Memory md worker table (Unit_addMagazine_impl / Unit_addWeapon_impl / etc)
was captured with the wrong ImageBase (0x00C40000 assumed).
Correct RVAs (ImageBase 0x00400000):
Unit_addWeapon_impl 0x002AA85E
Unit_addMagazine_impl 0x002AAA27
Unit_removeWeapon_impl 0x002AA8C8
Unit_removeMagazine_impl 0x002AAC6B
Same base error for Object_setPositionSetter — worker table lists 0x003E6F3E
but real function start is 0x003A6F3E (also matches md's own delegate-chain).
4. Memory md's rule 'subtract 0x30000 from archive RVA to get live RVA' is
approximate. For addWeaponCargo/addMagazineCargo the true delta is 0x40000:
addWeaponCargo archive 0x0040E500 → live 0x003CE500 (delta 0x40000)
addMagazineCargo archive 0x004174A9 → live 0x003D74A9 (delta 0x40000)
5. `setAnimSpeedCoef` string genuinely absent — A3-only, memory md acknowledges.
6. `publicVariable` (0x003C31A7) and `publicVariableServer` (0x003C324C) use
MSVC frame-pointer omission (/Oy) — prolog begins `56 57 E8 ...` not
`55 8B EC`. The byte immediately before each is a `C3` RET terminating the
previous function, so the RVA IS the correct handler start.
7. Handler `systemChat` (0x003C123A) prolog is `6A 01 6A 00 51 8B` — pushes
initial args before setting up frame; still legal. Triplet: str_va=0xC92FEC,
argN not detected in expected slot (may be pushed after the string).
8. Vehicle+0x12E0 weaponsCargo — the disp32 pattern occurs in .text but
survived-check disassembly shows both raw hits are false positives
(jmp target, imm32 value). Offset unconfirmed as a struct-member access.
Vehicle+0x12EC magazinesCargo has one confirmed SIB-form `lea` reference.
These are pool-arrays touched only by cargo-add code paths, low frequency.
================================================== ==================================================
END OF VERIFIED DUMP
================================================== ==================================================