re: invalidate zeroed TurnEvents assumption

This commit is contained in:
alex 2026-09-10 00:22:06 -04:00
parent 7a780b7f22
commit be66fdde2c
39 changed files with 22428 additions and 113 deletions

View file

@ -21,121 +21,14 @@
"path": "/home/alex/sots-re"
}
},
"checkpoint": "campaign/runtime/checkpoints/research-completion-abi-d2e4078886c66df34ee00b24.json",
"checkpoint": "campaign/runtime/checkpoints/research-completion-abi-34e545ce9e774117dec97cf0.json",
"dependencies": [
"controls-bootstrap"
],
"effects": [
"Evidence-backed RE handoff and raw static captures; no game or shared database state changes"
],
"evidence": [
{
"axis": "static-recovery",
"binaries": [
{
"path": "dumps/sots.exe",
"sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841"
}
],
"id": "research-completion-abi-static-run-79357a65226f61d6a86c042d",
"inputs": [
{
"path": "verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/report.md",
"sha256": "d5a28f01002f1711cf8575ffd817a8f0998b413c6280d656e6cdad5a90a04477"
}
],
"integrated": true,
"outcomes": [
{
"artifact": {
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json",
"sha256": "4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c"
},
"criterion": "ownership-recovered",
"status": "pass"
}
],
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json",
"sha256": "4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c",
"source": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re"
}
},
"source_binding": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine",
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re",
"sha256": "e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4"
}
}
},
{
"axis": "validation",
"binaries": [
{
"path": "dumps/sots.exe",
"sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841"
}
],
"id": "research-completion-abi-validation-run-735fcb8f4876c10285b03fad",
"inputs": [
{
"path": "verify/results/saves/turn3-state.sav",
"sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921"
},
{
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json",
"sha256": "4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c"
}
],
"integrated": true,
"outcomes": [
{
"artifact": {
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json",
"sha256": "6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433"
},
"criterion": "independent-cross-check",
"status": "pass"
}
],
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json",
"sha256": "6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433",
"source": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re"
}
},
"source_binding": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine",
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re",
"sha256": "e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4"
}
}
}
],
"evidence": [],
"id": "research-completion-abi",
"inputs": [
"Existing binary fingerprint/address contract and private RE findings",
@ -161,7 +54,7 @@
"Start with findings/subsystems/{events,observedtech-append,research-replace}.md and campaign/pilots/research-replacement.md; cross-check binary bytes/decompilation rather than merely repeat notes. Anchors: RecordObservedTech 0x007ba1a0, EventStorage::PostEvent 0x008862b0, PlayerEvent constructor 0x0084ee30. Addresses are hypotheses to validate against fingerprint and actual tools.",
"Produce recovered signatures, ownership/lifetime rules, short/long string and empty/full-capacity container paths, and exact unresolved dependencies with minimum next probe. Store raw tool outputs and a hash/provenance index in your owned RE results directory. Keep code-derived material out of engine repo."
],
"status": "accepted",
"status": "needs-revision",
"stop_conditions": [
"Stop affected interpretation on binary fingerprint mismatch, contradictory ownership/ABI evidence, unavailable original data, or any scope-changing surprise; record and escalate to Astra",
"Checkpoint every 20 calls/15 minutes and before compaction/stopping; return exact next RE action within 40 steps",

View file

@ -41,7 +41,7 @@
"path": "/home/alex/sots-re"
}
},
"checkpoint": "campaign/runtime/checkpoints/research-live-record-bridge-7b7432a9c65bd530392291c3.json",
"checkpoint": "campaign/runtime/checkpoints/research-live-record-bridge-646a5ada115eaf0a3924db19.json",
"dependencies": [
"research-completion-abi"
],

View file

@ -0,0 +1,27 @@
{
"actor": "live-record surprise resolver",
"artifacts": [
{
"path": "campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json",
"sha256": "d01550dd8874160d05378f6183d780c444a5285a4ebc5d3c6049fbda8e342957"
},
{
"path": "campaign/runtime/decisions/d-6f4134237e68860fb02e8684.json",
"sha256": "7d4cac7b55de6bec11f7d32261a3ce9da946e937f2924032423b65a97799fb48"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/manifest.json",
"sha256": "ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b"
}
],
"basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0",
"contract": "research-completion-abi",
"id": "34e545ce9e774117dec97cf0",
"model": "openai/gpt-6-astra",
"next_action": "Lead assigns a fresh bounded research-completion-abi analyst repair quantum to rehash binary/tool, reproduce the four named static windows and correct the interpretation per d-b51f3f76803e852ed250846a before independent integrated reacceptance.",
"role": "resolver",
"schema": "sots-checkpoint/1",
"session": "run-f63d1e050a7ee3fac7b44885",
"summary": "RESOLVER HANDOFF. Observation: recovered-static.md zero-temporary-turn assertion conflicts with hash-checked raw get/create and append captures. Decision d-b51f3f76803e852ed250846a supplies exact claim domains, corrected generated wording, cheapest probe and invalidation; dependency status needs-revision, two evidence records withdrawn and verifier verdict invalidated. No source changes. Assigned engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23/common /home/alex/sots-engine/.git and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7/common /home/alex/sots-re/.git checked, both already dirty. Historical source digests ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly rehashed. Capture binary 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and tool 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are historical bindings, not current executable reproduction. Checkpoint artifact hashes matched manifest; no game execution or live safety test. Shell scope prevents binary/tool rerun; fresh analyst reproduction remains required. No VM/build/Ghidra access or mutation, no lease acquired, no delegation, commits or staging. Lead must assign repair through normal campaign controls; bridge and replacement readiness cannot use revoked acceptance. Integrator publication pending corrected integration; do not edit board history.",
"timestamp": "2026-09-10T04:19:56.187035+00:00"
}

View file

@ -0,0 +1,47 @@
{
"actor": "live-record bridge architect",
"artifacts": [
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/manifest.json",
"sha256": "ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-get-create.stdout.txt",
"sha256": "f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-append.stdout.txt",
"sha256": "57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-grow.stdout.txt",
"sha256": "eb887fbef7b4686530d2fc1c0caf2c2ee78c761aa3706cebcf3c146a22480b2e"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/nested-copy.stdout.txt",
"sha256": "e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/nested-dtor.stdout.txt",
"sha256": "3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-dtor.stdout.txt",
"sha256": "67777b4a5f658d4629a24770929979494739b6b3bcb0075fb8af17c782d080be"
},
{
"path": "campaign/runtime/surprises/s-5a78d3a0a10c1f8545df8eb1.json",
"sha256": "db60a0f8cb666707b422960873b905d4f8a449f7b288a612c8d48c604dc1d379"
}
],
"basis": "6fbcc78291fc02d5e549106bbd3affe29c5f458d742017c91e8d5c9272165cd8",
"contract": "research-live-record-bridge",
"id": "3374a5a2a8d056e7b4dc261c",
"model": "openai/gpt-5.6-sol",
"next_action": "Launch one fresh bounded openai/gpt-6-astra resolver quantum for open surprise s-5a78d3a0a10c1f8545df8eb1, using this contract, canonical state root and the same paired worktrees, and execute the surprise probe before any TurnEvents architecture editing resumes.",
"role": "architecture-review",
"schema": "sots-checkpoint/1",
"session": "run-472955e277202c411388c66b",
"summary": "QUANTUM-END CHECKPOINT. OBSERVATIONS: requested model openai/gpt-5.6-sol was available and matched the role registry. Assigned paired identities remained engine HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23/common-dir /home/alex/sots-engine/.git/source digest ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and RE HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7/common-dir /home/alex/sots-re/.git/source digest 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Binary and objdump identities remained SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd. Read-only capture run-472955e277202c411388c66b produced nine zero-return, nonempty-stdout, empty-stderr windows for get/create, append, growth, nested copy/destruction, TurnEvents destruction/allocation/range copy and vtable. Manifest SHA256 is ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b. Fresh bytes show local TurnEvents at EBP-0x24 receives vptr and zero nested header but no EvTurn write at EBP-0x20 before append; append copies that indeterminate word, then get/create overwrites stored EvTurn with requested turn after temporary nested-vector cleanup. This contradicts the accepted dependency prose claiming a zero temporary turn. DECISIONS: recorded open surprise s-5a78d3a0a10c1f8545df8eb1, enumerated surviving/qualified/overturned claims there, and paused all affected TurnEvents architecture encoding. Contract is blocked pending Astra; no JSON/architecture interpretation was amended behind a caveat. TESTS: independent manifest hash/returncode/stdout/stderr validator passed for all 9 windows; campaign validate passed; campaign status exposes the open surprise and blocked state. RESOURCES/BLOCKERS: VM144 lease remained released and no VM, Ghidra, build host, game, allocator or engine operation ran. No delegation, commit, stage or push occurred. Sole blocker is Astra resolution of transient EvTurn initialization and acceptance impact.",
"timestamp": "2026-09-10T04:15:45.749898+00:00"
}

View file

@ -0,0 +1,39 @@
{
"actor": "live-record surprise resolver",
"artifacts": [
{
"path": "campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json",
"sha256": "d01550dd8874160d05378f6183d780c444a5285a4ebc5d3c6049fbda8e342957"
},
{
"path": "campaign/runtime/decisions/d-6f4134237e68860fb02e8684.json",
"sha256": "7d4cac7b55de6bec11f7d32261a3ce9da946e937f2924032423b65a97799fb48"
},
{
"path": "campaign/runtime/checkpoints/research-completion-abi-34e545ce9e774117dec97cf0.json",
"sha256": "f209b48701f3ada32863022115038297740557310ecca2c6a7ddb0e73a4eeec6"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/manifest.json",
"sha256": "ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-get-create.stdout.txt",
"sha256": "f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-append.stdout.txt",
"sha256": "57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15"
}
],
"basis": "6fbcc78291fc02d5e549106bbd3affe29c5f458d742017c91e8d5c9272165cd8",
"contract": "research-live-record-bridge",
"id": "646a5ada115eaf0a3924db19",
"model": "openai/gpt-6-astra",
"next_action": "Lead assigns one fresh bounded research-completion-abi analyst repair quantum to freshly hash binary/tool and reproduce get/create, append, nested empty-copy and cleanup windows, then correct interpretation exactly per d-b51f3f76803e852ed250846a for subsequent independent integrated reacceptance.",
"role": "resolver",
"schema": "sots-checkpoint/1",
"session": "run-f63d1e050a7ee3fac7b44885",
"summary": "QUANTUM END, resolution only. OBSERVATIONS: inspected complete get/create, append, nested copy and destructor raw text; no EBP-0x20 write before append, scalar copied before final requested-turn store, temporary cleanup precedes that store. Initial checkpoint rehashed manifest and two decisive stdout artifacts to recorded identities. Captures report positive static execution only; no game/allocator experiment. Assigned paired HEAD/common directories verified engine 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 /home/alex/sots-engine/.git; RE 3bfde5a70d874a723e797a695bbd847fd82c0aa7 /home/alex/sots-re/.git. Both trees pre-existing dirty, no source edits. Historical source digests ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 not freshly recomputed. Historical binary 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841/tool 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd are manifest bindings, not fresh binary verification; shell denied source-binding/executable reproduction, no bypass. DECISIONS: d-b51f3f76803e852ed250846a and d-6f4134237e68860fb02e8684 overturn zero temporary EvTurn only in captured miss path, preserve scoped normal-return facts and qualify all transient/failure/live claims. Propagated dependency surprise s-c6786945b302de2a0b629960 and original bridge surprise both resolved through controls. ABI two evidence records withdrawn and verdict invalidated; ABI and bridge needs-revision, no acceptance. research-replacement remains proposed; readiness gated by reaccepted ABI, accepted live bridge and all original criteria. Corrected generated-row wording, invalidation scope and cheapest authorized analyst reproduction are in actual decisions; no board edits. TESTS: campaign validate passed after resolutions and dependency checkpoint. No live tests, unit tests or fresh objdump run claimed. BLOCKERS: fresh binary/tool/source identity, static repair, independent integrated reacceptance and all bridge readiness/runtime requirements remain. RESOURCES: VM144 local lease released; no guest access verification, no lease acquired, no VM/build/Ghidra mutation or cleanup required. No delegation, implementation/architecture edits, stage, commit or push. Lead/integrator must assign repair and later link decisions/regenerate projections after integration.",
"timestamp": "2026-09-10T04:20:32.577219+00:00"
}

View file

@ -0,0 +1,27 @@
{
"actor": "live-record bridge architect",
"artifacts": [
{
"path": "campaign/research/research-live-record-bridge.md",
"sha256": "07f096d4ef2bc0104f52ab7e17727e9bd856393557084bfbd98b455930a00df6"
},
{
"path": "campaign/research/research-live-record-addresses.json",
"sha256": "1bb9364fcb8cda6c3339165ff3f35ab4a6e23ad5355358200465e5fb19c746a1"
},
{
"path": "verify/results/research-live-record-bridge/run-e21ce0d2909d8647e6a99a7b/manifest.json",
"sha256": "b60b5c956968477b6c2a0422115b3bf92942c474af0254a21723e47e45020bf3"
}
],
"basis": "6fbcc78291fc02d5e549106bbd3affe29c5f458d742017c91e8d5c9272165cd8",
"contract": "research-live-record-bridge",
"id": "6bbfc33bf92bea8f03b42aaf",
"model": "openai/gpt-5.6-sol",
"next_action": "Run pinned /usr/bin/objdump read-only captures for 0x00885380 and each directly invoked TurnEvents helper into verify/results/research-live-record-bridge/run-472955e277202c411388c66b/, recording exact argv, stdout/stderr hashes and return codes.",
"role": "architecture-review",
"schema": "sots-checkpoint/1",
"session": "run-472955e277202c411388c66b",
"summary": "PRE-EXPERIMENT CHECKPOINT. OBSERVATIONS: canonical contract is needs-revision with dependency research-completion-abi accepted and no open surprises. Requested model openai/gpt-5.6-sol is present in opencode models and matches campaign/models.json. Assigned engine worktree HEAD 7741d42fc5e4e761e6449bdaf0e4a61d00036a23, git common dir /home/alex/sots-engine/.git, source digest ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd. Assigned RE worktree HEAD 3bfde5a70d874a723e797a695bbd847fd82c0aa7, git common dir /home/alex/sots-re/.git, source digest 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8. Both match contract baseline and recorded paired paths; dirty manifests are pre-existing and source-bound. Canonical RE HEAD is 7a780b7f22912a5f835e512f30ca3790c0193b1d and differs from baseline as expected for campaign state. Binary SHA256 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and /usr/bin/objdump SHA256 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd match the planning package. VM144 lease is released; no lab resource will be touched. Campaign validation passes. DECISION: perform only the checkpoint-directed read-only local-binary capture of EventStorage get/create TurnEvents 0x00885380 and directly invoked helper windows into a new immutable run directory, then update only owned architecture artifacts. No engine implementation, VM, Ghidra, build-host, commit, stage, push or delegation.",
"timestamp": "2026-09-10T04:10:11.274733+00:00"
}

View file

@ -0,0 +1,27 @@
{
"actor": "live-record surprise resolver",
"artifacts": [
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/manifest.json",
"sha256": "ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-get-create.stdout.txt",
"sha256": "f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3"
},
{
"path": "verify/results/research-live-record-bridge/run-472955e277202c411388c66b/turn-append.stdout.txt",
"sha256": "57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15"
}
],
"basis": "6fbcc78291fc02d5e549106bbd3affe29c5f458d742017c91e8d5c9272165cd8",
"contract": "research-live-record-bridge",
"id": "d08b4bbf364f3305ee2fef98",
"model": "openai/gpt-6-astra",
"next_action": "Inspect affected accepted interpretation and campaign resolve semantics to record a scoped decision and invalidate the false zero-initialization acceptance.",
"role": "resolver",
"schema": "sots-checkpoint/1",
"session": "run-f63d1e050a7ee3fac7b44885",
"summary": "OBSERVATIONS: read canonical policy, contract, supplied checkpoint, sole open surprise s-5a78d3a0a10c1f8545df8eb1, affected accepted research-completion-abi contract/checkpoint and raw get/create/append windows. Raw entry contains no store to EBP-0x20 before append. Assigned HEAD/common-dir verified: engine 7741d42fc5e4e761e6449bdaf0e4a61d00036a23 /home/alex/sots-engine/.git; RE 3bfde5a70d874a723e797a695bbd847fd82c0aa7 /home/alex/sots-re/.git. Both trees have pre-existing dirty/untracked files; no edits. Historical source digests ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd and 6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8 are not freshly rehashed. Shell overlay denied combined source-binding/status command; no workaround. Manifest records binary 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841, objdump 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd and 9 successful static captures, not game execution. DECISION pending further dependency/provenance review; no acceptance. VM144 local lease released; no live access checked, no resources acquired/mutated, no experiment, delegation or source edit. BLOCKER: affected architecture remains blocked; fresh executable rehash/reproduction unavailable in resolver shell scope.",
"timestamp": "2026-09-10T04:17:49.453904+00:00"
}

View file

@ -0,0 +1,14 @@
{
"actor": "live-record surprise resolver",
"contract": "research-live-record-bridge",
"explanation": "Resolution session run-f63d1e050a7ee3fac7b44885. Governing claim-by-claim analysis, exact generated-row wording, provenance limitations and dependency invalidation are in campaign/runtime/decisions/d-b51f3f76803e852ed250846a.json, not an alternate board history. Direct review of hash-checked complete get/create and append captures confirms no temporary EvTurn initialization before append; cleanup occurs before final requested-turn store. OVERTURNED: zero temporary turn and necessarily zero copied scalar in captured miss path. SURVIVES: captured normal-return ABI, last-match hit scan, vptr/empty nested header, scalar-copy plus nested deep-copy structure, temporary nested cleanup and final returned bucket with requested turn. QUALIFIED: incoming stack word is unspecified by this routine, not measured randomness/nonzero; final equivalence requires valid containers and successful helpers. Transient observers, padding, full-capacity/failure/unwind and live allocation remain untested. Unrelated observed-name, event equality and string ownership hypotheses are not falsified or newly certified. Manifest records positive static tool execution, not game execution; no instrument ran in game, no stale-build conclusion. Current binary/tool rehash and executable reproduction were not permitted in resolver shell; historical binding is not fresh acceptance.\nAffected dependency research-completion-abi is now needs-revision, both evidence records withdrawn and verdict invalidated by d-b51f3f76803e852ed250846a. Bridge had no evidence to invalidate; prior checkpoint is superseded, and zero-default-derived readiness/architecture assertions cannot be used. Bridge acceptance criteria ALL remain mandatory. This resolution permits only lead-assigned static correction/reproduction planning; it does not authorize bridge implementation, runtime fixtures or replacement wiring. Do not reproduce an uninitialized C++ read or silently declare zero initialization byte-exact: explicitly separate semantic normal-return fields from transient/padding behavior and retain complete write accounting. Lead must repair/reaccept ABI first; then assigned architect may encode the decision through documented generated channels and fill all missing readiness inputs. research-replacement remains proposed and unable to advance on withdrawn ABI acceptance; its other W1 claims are unchanged, not accepted. Integrator links actual decisions and regenerates projections only after integration. No implementation, architecture source, lab or publication edits performed.",
"id": "d-6f4134237e68860fb02e8684",
"invalidated_checkpoint": "campaign/runtime/checkpoints/research-live-record-bridge-d08b4bbf364f3305ee2fef98.json",
"invalidated_evidence": [],
"model": "openai/gpt-6-astra",
"probe": "Cheapest discriminator: complete-window stack def/use inspection of 0x885380..0x88544a and 0x884cb0..0x884d8f, already performed on checkpoint-hashed raw text; no EBP-0x20 write before append. Next authorized analyst quantum must freshly hash binary/tool and rerun those manifest commands plus nested empty-copy/cleanup, correct the dependency interpretation using d-b51f3f76803e852ed250846a wording, then obtain independent integrated reproduction. No VM needed for this correction. Any later transient sentinel experiment requires separate explicit lease/authority, positive execution and instrument-neutral controls; existing live runtime-matrix and negative-control requirements are not waived.",
"role": "resolver",
"schema": "sots-decision/1",
"surprise": "s-5a78d3a0a10c1f8545df8eb1",
"timestamp": "2026-09-10T04:19:28.345551+00:00"
}

View file

@ -0,0 +1,121 @@
{
"actor": "live-record surprise resolver",
"contract": "research-completion-abi",
"explanation": "Astra resolution, session run-f63d1e050a7ee3fac7b44885. OBSERVATION/PROVENANCE: reviewed complete raw get/create and append windows in verify/results/research-live-record-bridge/run-472955e277202c411388c66b; checkpoint d08b4bbf364f3305ee2fef98 rehashed manifest ae16b4b500db5b84bea27c659e254842ab0c67c040ca782c016381384338773b and both stdout artifacts to their recorded hashes. Historical capture manifest binds sots.exe 970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841 and objdump 1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd with positive nonempty exit-zero static execution. Current binary/tool were not rehashed or rerun: resolver shell denies that operation. Worktree HEAD/common directories match baselines; dirty content is not inferred from HEAD. No game or hook ran; read-only disassembly introduces no runtime instrument effects. No stale-build or game-mechanism diagnosis is justified.\nOVERTURNED, exact captured normal miss-path domain: temporary EvTurn is initialized to zero, and append necessarily copies zero (recovered-static.md lines 68-69). Complete entry has no call before append and no store to EBP-0x20: prologue writes SEH at -4/-8/-c, stack reservation does not initialize locals, saved registers/cookie are below -24; miss stores vptr at -24, nested pointers at -1c/-18/-14 and EH state at -4. ECX names receiver+4. Append external-source branch loads source+4 at 0x884d62 and stores destination+4 at 0x884d6c, then nested-copy, then advances last at 0x884d78. Temporary nested cleanup at 0x885422 precedes requested-turn store to last-0x14 at 0x88542d.\nSURVIVES in those static windows for valid containers and normally returning helpers: ECX receiver/one stack argument/ret4/EAX bucket ABI; full last-match scan; vptr and empty nested-header initialization; scalar EvTurn copy distinct from nested deep-copy; cleanup of temporary nested vector; final new bucket turn equals requested turn and EAX=last-0x18. Existing unrelated ObservedTech, PlayerEvent equality and archived-state measurements are not falsified by this finding.\nQUALIFIED: transient EvTurn is an incoming stack word not initialized by this routine, not a measured random value or necessarily nonzero. Post-return semantics are statically usable only on successful normal paths with valid allocations; no conclusion about failure, reentrancy, transient observers, live allocator safety or all-byte/padding equivalence. Deep-copy/unwind outside inspected empty nested path retain prior static-only scope, not newly reproduced runtime coverage. Complete 0x18 layout must distinguish semantic fields from uninitialized/padding bytes, not invent defaults.\nINVALIDATION: controls withdraw both current integrated evidence records research-completion-abi-static-run-79357a65226f61d6a86c042d and research-completion-abi-validation-run-735fcb8f4876c10285b03fad and their verdict/checkpoint as acceptance, retaining raw historical measurements. ownership-recovered and independent-cross-check must be re-established against corrected interpretation; archived-state byte claims themselves are not overturned. No silent criterion waiver.\nREVISED SCOPE/NEXT: lead assigns the ABI owner a read-only identity/reproduction-and-correction quantum, then independent integrated verification and normal reacceptance. Generated row wording: On miss, initializes TurnEvents vptr and three nested-vector pointers; temporary EvTurn at +4 is not initialized by this routine. Append copies that incoming word, deep-copies nested vector and advances last. After temporary nested-vector cleanup, get/create writes requested turn into stored last element and returns it. Normal-return static semantics only; transient word, padding and failure effects are not runtime-certified. No source edits made by resolver. Bridge and replacement readiness remain gated by reaccepted ABI and all existing runtime criteria. Integrator must link this decision and regenerate projections after integration, not copy another history onto board.",
"id": "d-b51f3f76803e852ed250846a",
"invalidated_checkpoint": "campaign/runtime/checkpoints/research-completion-abi-d2e4078886c66df34ee00b24.json",
"invalidated_evidence": [
{
"axis": "static-recovery",
"binaries": [
{
"path": "dumps/sots.exe",
"sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841"
}
],
"id": "research-completion-abi-static-run-79357a65226f61d6a86c042d",
"inputs": [
{
"path": "verify/results/research-completion-abi/run-79357a65226f61d6a86c042d/report.md",
"sha256": "d5a28f01002f1711cf8575ffd817a8f0998b413c6280d656e6cdad5a90a04477"
}
],
"integrated": true,
"outcomes": [
{
"artifact": {
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json",
"sha256": "4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c"
},
"criterion": "ownership-recovered",
"status": "pass"
}
],
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json",
"sha256": "4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c",
"source": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re"
}
},
"source_binding": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine",
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re",
"sha256": "e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4"
}
}
},
{
"axis": "validation",
"binaries": [
{
"path": "dumps/sots.exe",
"sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841"
}
],
"id": "research-completion-abi-validation-run-735fcb8f4876c10285b03fad",
"inputs": [
{
"path": "verify/results/saves/turn3-state.sav",
"sha256": "978041acd168b56ed8eb3f5e42e78d5e70eae6e6517d75e659a5eb7ca3d60921"
},
{
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/manifest.json",
"sha256": "4fdf2cbf02f0f3dd53c4ccfd1787a2fb8012d0de76dad63e97c2b5cfbdc6c46c"
}
],
"integrated": true,
"outcomes": [
{
"artifact": {
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json",
"sha256": "6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433"
},
"criterion": "independent-cross-check",
"status": "pass"
}
],
"path": "verify/results/research-completion-abi-independent/integration-lead-20260910/independent-state.json",
"sha256": "6463816f322803b2b7b479e1fc116c4ffa33fb2772a3005d492422a00acea433",
"source": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re"
}
},
"source_binding": {
"engine": {
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"path": "/home/alex/sots-engine",
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd"
},
"re": {
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"path": "/home/alex/sots-re",
"sha256": "e74ef6cff202ee35a6fdc38d63842b4826a074e34502dfc2981a33ffea912bd4"
}
}
}
],
"model": "openai/gpt-6-astra",
"probe": "Cheapest discriminator is read-only complete-window def/use review, performed on hash-checked archived get/create and append text here; no pre-append EBP-0x20 store exists. Before corrected acceptance, authorized analyst freshly hashes binary/tool and repeats manifest argv for those two windows plus nested empty-copy/cleanup, explicitly checks prologue stack offsets and cleanup-before-final-store order; independent verifier reproduces the corrected integrated package. No VM is needed for this interpretation repair. If transient runtime equivalence is later required, separately approve a leased fixture with two deliberately distinct initialized stack sentinels and spare/full capacity, pre/post-store observations and neutral controls; it is not authorized or executed here.",
"role": "resolver",
"schema": "sots-decision/1",
"surprise": "s-c6786945b302de2a0b629960",
"timestamp": "2026-09-10T04:19:02.935461+00:00"
}

View file

@ -1,5 +1,5 @@
{
"contract": "research-live-record-bridge",
"run": "run-e21ce0d2909d8647e6a99a7b",
"run": "run-f63d1e050a7ee3fac7b44885",
"status": "complete"
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,13 @@
{
"actor": "live-record bridge architect",
"contract": "research-live-record-bridge",
"decision": "d-6f4134237e68860fb02e8684",
"id": "s-5a78d3a0a10c1f8545df8eb1",
"model": "openai/gpt-5.6-sol",
"probe": "Astra must inspect the complete 0x00885380..0x0088544a entry window and 0x00884cb0..0x00884d8f append window from verify/results/research-live-record-bridge/run-472955e277202c411388c66b, enumerate every write to [EBP-0x20] before the append call, and decide whether the transient EvTurn is indeterminate and whether final post-publication semantics remain usable. Revise/invalidate the accepted dependency interpretation and prescribe the exact generated-row wording before TurnEvents planning continues.",
"role": "architecture-review",
"schema": "sots-surprise/1",
"status": "resolved",
"summary": "Session run-472955e277202c411388c66b fresh pinned-binary capture contradicts the accepted dependency interpretation that EventStorage get/create initializes a miss-path temporary TurnEvents EvTurn to zero before append. In 0x00885380, local TurnEvents begins at [EBP-0x24]: 0x008853fc writes vptr, and 0x00885403/06/09 zero only nested-vector pointers at +0x08/+0x0c/+0x10. No instruction writes temporary EvTurn at [EBP-0x20] before 0x00885413 calls append. Append 0x00884d62 copies source+0x04 into destination+0x04, so the newly appended element transiently receives the uninitialized stack word; 0x0088542d overwrites the stored element EvTurn with the requested turn after temporary nested-vector destruction. SURVIVES: exact get/create ABI, full last-match scan, final returned bucket pointer, final requested-turn publication, deep nested-vector copy, and temporary nested-vector cleanup. QUALIFIED: miss-path append lifetime and unwind remain static-only. OVERTURNED: research-completion-abi/recovered-static.md statement that the temporary starts with turn zero and append deep-copies zero. No live behavior, VM, Ghidra or engine code ran. Pause affected TurnEvents architecture encoding and readiness.",
"timestamp": "2026-09-10T04:14:21.422536+00:00"
}

View file

@ -0,0 +1,13 @@
{
"actor": "live-record surprise resolver",
"contract": "research-completion-abi",
"decision": "d-b51f3f76803e852ed250846a",
"id": "s-c6786945b302de2a0b629960",
"model": "openai/gpt-6-astra",
"probe": "Enumerate all stack writes from 0x885380 through 0x885413 and map append source+4 and final last-0x14 store; freshly rehash binary/tool and reproduce these complete windows under an authorized read-only analyst session before corrected evidence acceptance.",
"role": "resolver",
"schema": "sots-surprise/1",
"status": "resolved",
"summary": "Propagated affected acceptance from bridge surprise s-5a78d3a0a10c1f8545df8eb1, resolver session run-f63d1e050a7ee3fac7b44885. recovered-static.md lines 68-69 asserts temporary EvTurn zero and copy of zero. Hash-bound raw get/create and append captures run-472955e277202c411388c66b contradict that assertion: no write to EBP-0x20 before call; source+4 copied at 0x884d62/6c; stored requested turn written only at 0x88542d after temporary nested cleanup. This is static interpretation falsification, not observed runtime nondeterminism. Both integrated evidence records and independent verdict must lose current acceptance pending corrected source-bound reproduction; raw captures and archived saves are retained as historical measurements.",
"timestamp": "2026-09-10T04:18:25.950030+00:00"
}

View file

@ -2,6 +2,7 @@
"actor": "research-abi-independent",
"basis": "aaddeb76f74bbd1a43671f882770ec84a7d690b4060d060ef1a68f918e8edbb0",
"contract": "research-completion-abi",
"decision": "d-b51f3f76803e852ed250846a",
"evidence_digest": "e5073be0f1187ee65c203eb9ad20adc64d18ff2d3314d554f58bd8487dafa931",
"explanation": "Scoped integrated PASS over the current two-record integrated evidence array. Fresh handoff reproduction executed 22 nonempty static windows plus strict archived save parse/checksum: 24 positive subprocesses, empty stderr, no skips; manifest matches the integrated artifact except session and state is byte-identical. Seven narrow/wide boundaries reproduce complete ret 4/ret 8 bytes. Held-out direct-PE ablation confirmed each exact return and rejected all minus-one/plus-one shifted starts; static inspection exposed distinct 0x2c/0x74 strides, deep-copy calls, three guarded long-string deletes, description inequality and three unordered-or-unequal float branches. Actual state inspection found EvNxID 4, turn-3 count 2, event ID 3 fields/defaults, exact 609080-byte rebuild, and a 2503-byte RNG leaf with digest 0978fdf34ff7962f76c2de810dc93e0a. Integrated source/input/binary/outcome hashes remain bound and campaign tests/validation pass. Scope is independent static reproduction plus one archived state only: no live allocator safety, original differential, replacement or replay acceptance; runtime branch residuals remain. Historical failed provenance/description predictions remain failures resolved by Astra.",
"model": "openai/gpt-5.6-sol",
@ -10,5 +11,5 @@
"session": "run-d94d4516b9d898793318805e",
"source_bindings_digest": "bea3fe491275d544850c432ddcae2473a8fb226b5c97ec8151d3b75f7add7f73",
"timestamp": "2026-09-10T01:39:48.486681+00:00",
"verdict": "pass"
"verdict": "invalidated"
}

View file

@ -0,0 +1,102 @@
#!/usr/bin/env python3
"""Capture the TurnEvents get/create bridge boundary from the pinned executable."""
import hashlib
import json
import pathlib
import subprocess
ROOT = pathlib.Path("/home/alex/sots-re")
OUT = ROOT / "verify/results/research-live-record-bridge/run-472955e277202c411388c66b"
EXE = ROOT / "dumps/sots.exe"
OBJDUMP = pathlib.Path("/usr/bin/objdump")
SESSION = "run-472955e277202c411388c66b"
WINDOWS = [
("turn-get-create", "D", 0x00885380, 0x0088544A),
("turn-append", "D", 0x00884CB0, 0x00884D8F),
("turn-grow", "D", 0x008841A0, 0x00884440),
("nested-copy", "D", 0x00779850, 0x00779A20),
("nested-dtor", "D", 0x00629580, 0x006295CA),
("turn-dtor", "D", 0x0062E120, 0x0062E190),
("turn-alloc", "D", 0x006E8F50, 0x006E8FB0),
("turn-range-copy", "D", 0x0077FED0, 0x00780040),
("turn-vtable", "s", 0x00A0F070, 0x00A0F0A0),
]
def sha256(data: bytes) -> str:
return hashlib.sha256(data).hexdigest()
records = []
for name, mode, start, stop in WINDOWS:
argv = [str(OBJDUMP), f"-{mode}"]
if mode == "D":
argv.append("-Mintel")
argv += [
f"--start-address=0x{start:08x}",
f"--stop-address=0x{stop:08x}",
str(EXE),
]
proc = subprocess.run(
argv, cwd=ROOT, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=False
)
(OUT / f"{name}.stdout.txt").write_bytes(proc.stdout)
(OUT / f"{name}.stderr.txt").write_bytes(proc.stderr)
records.append(
{
"name": name,
"argv": argv,
"start": f"0x{start:08x}",
"stop": f"0x{stop:08x}",
"returncode": proc.returncode,
"stdout_bytes": len(proc.stdout),
"stdout_sha256": sha256(proc.stdout),
"stderr_bytes": len(proc.stderr),
"stderr_sha256": sha256(proc.stderr),
"instruction_lines": sum(
1
for line in proc.stdout.splitlines()
if line.lstrip()[:1].isdigit() and b":" in line
),
}
)
manifest = {
"schema": "sots-live-record-static-capture/1",
"session": SESSION,
"scope": "Read-only TurnEvents get/create and directly required lifetime helpers; static planning evidence only.",
"cwd": str(ROOT),
"source_identity": {
"engine": {
"path": "/tmp/opencode/sots-final-research-engine",
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd",
},
"re": {
"path": "/tmp/opencode/sots-final-research-re",
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"sha256": "6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8",
},
},
"input": {"path": str(EXE), "sha256": sha256(EXE.read_bytes())},
"tool": {
"path": str(OBJDUMP),
"version": "GNU Binutils 2.38",
"sha256": sha256(OBJDUMP.read_bytes()),
},
"windows": records,
}
(OUT / "manifest.json").write_text(
json.dumps(manifest, indent=2) + "\n", encoding="utf-8"
)
if any(
record["returncode"] != 0
or record["stdout_bytes"] == 0
or record["stderr_bytes"] != 0
for record in records
):
raise SystemExit(1)

View file

@ -0,0 +1,199 @@
{
"schema": "sots-live-record-static-capture/1",
"session": "run-472955e277202c411388c66b",
"scope": "Read-only TurnEvents get/create and directly required lifetime helpers; static planning evidence only.",
"cwd": "/home/alex/sots-re",
"source_identity": {
"engine": {
"path": "/tmp/opencode/sots-final-research-engine",
"commit": "7741d42fc5e4e761e6449bdaf0e4a61d00036a23",
"sha256": "ccd8e02083e8d2e2b3e97976ace2273c8f924dfc02a39e919004eaf3544c50fd"
},
"re": {
"path": "/tmp/opencode/sots-final-research-re",
"commit": "3bfde5a70d874a723e797a695bbd847fd82c0aa7",
"sha256": "6696fd5201e144843617cbf6d78b41b5287ad5dcc9fa1e8aaa861d52b64e72e8"
}
},
"input": {
"path": "/home/alex/sots-re/dumps/sots.exe",
"sha256": "970b7de729956a53094c7eb98aba4270aee98e2fed5daf0d39e290013c90c841"
},
"tool": {
"path": "/usr/bin/objdump",
"version": "GNU Binutils 2.38",
"sha256": "1eaaef2e7f57c4c7f69115c495e2466f5a8c8e5f3bc42221d092382f30f9d4cd"
},
"windows": [
{
"name": "turn-get-create",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x00885380",
"--stop-address=0x0088544a",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x00885380",
"stop": "0x0088544a",
"returncode": 0,
"stdout_bytes": 3974,
"stdout_sha256": "f6e72ba9b08fdf48d70f39379b2fb30a5adbe796072485f70c5795c10ab45ca3",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 77
},
{
"name": "turn-append",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x00884cb0",
"--stop-address=0x00884d8f",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x00884cb0",
"stop": "0x00884d8f",
"returncode": 0,
"stdout_bytes": 4179,
"stdout_sha256": "57d6655feed0fc137bb2b7eee4bfcb09536b5a715603c917ee142770f1d52a15",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 79
},
{
"name": "turn-grow",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x008841a0",
"--stop-address=0x00884440",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x008841a0",
"stop": "0x00884440",
"returncode": 0,
"stdout_bytes": 12599,
"stdout_sha256": "eb887fbef7b4686530d2fc1c0caf2c2ee78c761aa3706cebcf3c146a22480b2e",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 245
},
{
"name": "nested-copy",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x00779850",
"--stop-address=0x00779a20",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x00779850",
"stop": "0x00779a20",
"returncode": 0,
"stdout_bytes": 8469,
"stdout_sha256": "e3988aa615066dce65ec16de0d61051ffc5deafe8c8eef4aeb0bbfbe931204a1",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 169
},
{
"name": "nested-dtor",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x00629580",
"--stop-address=0x006295ca",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x00629580",
"stop": "0x006295ca",
"returncode": 0,
"stdout_bytes": 1727,
"stdout_sha256": "3c38887e60d009ab904772b13be93ac1eedd9bee85024e37110160a625db3a83",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 33
},
{
"name": "turn-dtor",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x0062e120",
"--stop-address=0x0062e190",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x0062e120",
"stop": "0x0062e190",
"returncode": 0,
"stdout_bytes": 2312,
"stdout_sha256": "67777b4a5f658d4629a24770929979494739b6b3bcb0075fb8af17c782d080be",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 48
},
{
"name": "turn-alloc",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x006e8f50",
"--stop-address=0x006e8fb0",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x006e8f50",
"stop": "0x006e8fb0",
"returncode": 0,
"stdout_bytes": 1819,
"stdout_sha256": "a00efc52c0c259edeab80178eb3e11eb921b215ccac4882afc71b59b7e8da1c1",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 36
},
{
"name": "turn-range-copy",
"argv": [
"/usr/bin/objdump",
"-D",
"-Mintel",
"--start-address=0x0077fed0",
"--stop-address=0x00780040",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x0077fed0",
"stop": "0x00780040",
"returncode": 0,
"stdout_bytes": 7128,
"stdout_sha256": "b937abaeed9a4bd44e5736b8474262119fa6d78c96b5cf89e0a1d50f4c58b44d",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 136
},
{
"name": "turn-vtable",
"argv": [
"/usr/bin/objdump",
"-s",
"--start-address=0x00a0f070",
"--stop-address=0x00a0f0a0",
"/home/alex/sots-re/dumps/sots.exe"
],
"start": "0x00a0f070",
"stop": "0x00a0f0a0",
"returncode": 0,
"stdout_bytes": 276,
"stdout_sha256": "4ccf38cea420e0051b781513031ac0e83841c3828851e7198a8724e592912df9",
"stderr_bytes": 0,
"stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"instruction_lines": 0
}
]
}

View file

@ -0,0 +1,175 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
00779850 <.text+0x378850>:
779850: 55 push ebp
779851: 8b ec mov ebp,esp
779853: 6a ff push 0xffffffff
779855: 68 10 7b 98 00 push 0x987b10
77985a: 64 a1 00 00 00 00 mov eax,fs:0x0
779860: 50 push eax
779861: 83 ec 08 sub esp,0x8
779864: 53 push ebx
779865: 56 push esi
779866: 57 push edi
779867: a1 78 8b af 00 mov eax,ds:0xaf8b78
77986c: 33 c5 xor eax,ebp
77986e: 50 push eax
77986f: 8d 45 f4 lea eax,[ebp-0xc]
779872: 64 a3 00 00 00 00 mov fs:0x0,eax
779878: 89 65 f0 mov DWORD PTR [ebp-0x10],esp
77987b: 8b f1 mov esi,ecx
77987d: 89 75 ec mov DWORD PTR [ebp-0x14],esi
779880: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8]
779883: 33 c0 xor eax,eax
779885: 89 06 mov DWORD PTR [esi],eax
779887: 89 46 04 mov DWORD PTR [esi+0x4],eax
77988a: 89 46 08 mov DWORD PTR [esi+0x8],eax
77988d: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4]
779890: 2b 0b sub ecx,DWORD PTR [ebx]
779892: b8 09 cb 3d 8d mov eax,0x8d3dcb09
779897: f7 e9 imul ecx
779899: 03 d1 add edx,ecx
77989b: c1 fa 06 sar edx,0x6
77989e: 8b fa mov edi,edx
7798a0: b8 00 00 00 00 mov eax,0x0
7798a5: c1 ef 1f shr edi,0x1f
7798a8: 03 fa add edi,edx
7798aa: 89 06 mov DWORD PTR [esi],eax
7798ac: 89 46 04 mov DWORD PTR [esi+0x4],eax
7798af: 89 46 08 mov DWORD PTR [esi+0x8],eax
7798b2: 74 4b je 0x7798ff
7798b4: 81 ff 2c f7 34 02 cmp edi,0x234f72c
7798ba: 76 0b jbe 0x7798c7
7798bc: 68 90 1f 9e 00 push 0x9e1f90
7798c1: ff 15 50 d1 9d 00 call DWORD PTR ds:0x9dd150
7798c7: 8d 4e 0c lea ecx,[esi+0xc]
7798ca: 57 push edi
7798cb: e8 70 16 01 00 call 0x78af40
7798d0: 6b ff 74 imul edi,edi,0x74
7798d3: 8b 55 08 mov edx,DWORD PTR [ebp+0x8]
7798d6: 52 push edx
7798d7: 8d 56 0c lea edx,[esi+0xc]
7798da: 52 push edx
7798db: 03 f8 add edi,eax
7798dd: 89 06 mov DWORD PTR [esi],eax
7798df: 89 46 04 mov DWORD PTR [esi+0x4],eax
7798e2: 89 7e 08 mov DWORD PTR [esi+0x8],edi
7798e5: 8b 4b 04 mov ecx,DWORD PTR [ebx+0x4]
7798e8: 8b 1b mov ebx,DWORD PTR [ebx]
7798ea: 50 push eax
7798eb: 51 push ecx
7798ec: 53 push ebx
7798ed: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
7798f4: e8 a7 8c ff ff call 0x7725a0
7798f9: 83 c4 14 add esp,0x14
7798fc: 89 46 04 mov DWORD PTR [esi+0x4],eax
7798ff: 8b c6 mov eax,esi
779901: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
779904: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
77990b: 59 pop ecx
77990c: 5f pop edi
77990d: 5e pop esi
77990e: 5b pop ebx
77990f: 8b e5 mov esp,ebp
779911: 5d pop ebp
779912: c2 04 00 ret 0x4
779915: 8b 4d ec mov ecx,DWORD PTR [ebp-0x14]
779918: e8 63 fc ea ff call 0x629580
77991d: 6a 00 push 0x0
77991f: 6a 00 push 0x0
779921: e8 96 b6 1a 00 call 0x924fbc
779926: cc int3
779927: cc int3
779928: cc int3
779929: cc int3
77992a: cc int3
77992b: cc int3
77992c: cc int3
77992d: cc int3
77992e: cc int3
77992f: cc int3
779930: 55 push ebp
779931: 8b ec mov ebp,esp
779933: 6a ff push 0xffffffff
779935: 68 38 06 97 00 push 0x970638
77993a: 64 a1 00 00 00 00 mov eax,fs:0x0
779940: 50 push eax
779941: 83 ec 20 sub esp,0x20
779944: a1 78 8b af 00 mov eax,ds:0xaf8b78
779949: 33 c5 xor eax,ebp
77994b: 89 45 f0 mov DWORD PTR [ebp-0x10],eax
77994e: 56 push esi
77994f: 50 push eax
779950: 8d 45 f4 lea eax,[ebp-0xc]
779953: 64 a3 00 00 00 00 mov fs:0x0,eax
779959: 8b f1 mov esi,ecx
77995b: 8b 86 8c 00 00 00 mov eax,DWORD PTR [esi+0x8c]
779961: 85 c0 test eax,eax
779963: 75 0c jne 0x779971
779965: 68 34 24 a2 00 push 0xa22434
77996a: e8 e1 05 14 00 call 0x8b9f50
77996f: eb 7e jmp 0x7799ef
779971: 50 push eax
779972: e8 09 cc c9 ff call 0x416580
779977: 83 c4 04 add esp,0x4
77997a: 85 c0 test eax,eax
77997c: 74 0c je 0x77998a
77997e: 68 f8 23 a2 00 push 0xa223f8
779983: e8 58 08 14 00 call 0x8ba1e0
779988: eb 65 jmp 0x7799ef
77998a: e8 d1 58 dc ff call 0x53f260
77998f: c7 45 e8 0f 00 00 00 mov DWORD PTR [ebp-0x18],0xf
779996: c7 45 e4 00 00 00 00 mov DWORD PTR [ebp-0x1c],0x0
77999d: c6 45 d4 00 mov BYTE PTR [ebp-0x2c],0x0
7799a1: 8d 4d d4 lea ecx,[ebp-0x2c]
7799a4: 51 push ecx
7799a5: 50 push eax
7799a6: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
7799ad: e8 fe 52 dc ff call 0x53ecb0
7799b2: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c]
7799b5: 83 c4 08 add esp,0x8
7799b8: 83 7d e8 10 cmp DWORD PTR [ebp-0x18],0x10
7799bc: 73 03 jae 0x7799c1
7799be: 8d 45 d4 lea eax,[ebp-0x2c]
7799c1: 8b 96 8c 00 00 00 mov edx,DWORD PTR [esi+0x8c]
7799c7: 6a 00 push 0x0
7799c9: 56 push esi
7799ca: 68 a0 8d 77 00 push 0x778da0
7799cf: 68 e0 ea 76 00 push 0x76eae0
7799d4: 6a 00 push 0x0
7799d6: 50 push eax
7799d7: 52 push edx
7799d8: e8 f3 d7 c9 ff call 0x4171d0
7799dd: 83 c4 1c add esp,0x1c
7799e0: 83 7d e8 10 cmp DWORD PTR [ebp-0x18],0x10
7799e4: 72 0c jb 0x7799f2
7799e6: 8b 45 d4 mov eax,DWORD PTR [ebp-0x2c]
7799e9: 50 push eax
7799ea: e8 bb b5 1a 00 call 0x924faa
7799ef: 83 c4 04 add esp,0x4
7799f2: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
7799f5: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
7799fc: 59 pop ecx
7799fd: 5e pop esi
7799fe: 8b 4d f0 mov ecx,DWORD PTR [ebp-0x10]
779a01: 33 cd xor ecx,ebp
779a03: e8 7a b3 1a 00 call 0x924d82
779a08: 8b e5 mov esp,ebp
779a0a: 5d pop ebp
779a0b: c3 ret
779a0c: cc int3
779a0d: cc int3
779a0e: cc int3
779a0f: cc int3
779a10: 53 push ebx
779a11: 56 push esi
779a12: 8b f1 mov esi,ecx
779a14: 57 push edi
779a15: 8b be 24 01 00 00 mov edi,DWORD PTR [esi+0x124]
779a1b: 33 db xor ebx,ebx
779a1d: 3b fb cmp edi,ebx
779a1f: 74 je 0x779a31

View file

@ -0,0 +1,39 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
00629580 <.text+0x228580>:
629580: 57 push edi
629581: 8b f9 mov edi,ecx
629583: 83 3f 00 cmp DWORD PTR [edi],0x0
629586: 74 36 je 0x6295be
629588: 53 push ebx
629589: 56 push esi
62958a: ff 15 2c d1 9d 00 call DWORD PTR ds:0x9dd12c
629590: 8b 5f 04 mov ebx,DWORD PTR [edi+0x4]
629593: 8b 37 mov esi,DWORD PTR [edi]
629595: 3b f3 cmp esi,ebx
629597: 74 18 je 0x6295b1
629599: 8d a4 24 00 00 00 00 lea esp,[esp+0x0]
6295a0: 8b 06 mov eax,DWORD PTR [esi]
6295a2: 8b 10 mov edx,DWORD PTR [eax]
6295a4: 6a 00 push 0x0
6295a6: 8b ce mov ecx,esi
6295a8: ff d2 call edx
6295aa: 83 c6 74 add esi,0x74
6295ad: 3b f3 cmp esi,ebx
6295af: 75 ef jne 0x6295a0
6295b1: 8b 07 mov eax,DWORD PTR [edi]
6295b3: 50 push eax
6295b4: e8 f1 b9 2f 00 call 0x924faa
6295b9: 83 c4 04 add esp,0x4
6295bc: 5e pop esi
6295bd: 5b pop ebx
6295be: 33 c0 xor eax,eax
6295c0: 89 07 mov DWORD PTR [edi],eax
6295c2: 89 47 04 mov DWORD PTR [edi+0x4],eax
6295c5: 89 47 08 mov DWORD PTR [edi+0x8],eax
6295c8: 5f pop edi
6295c9: c3 ret

View file

@ -0,0 +1,42 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
006e8f50 <.text+0x2e7f50>:
6e8f50: 55 push ebp
6e8f51: 8b ec mov ebp,esp
6e8f53: 8b 4d 08 mov ecx,DWORD PTR [ebp+0x8]
6e8f56: 83 ec 0c sub esp,0xc
6e8f59: 33 c0 xor eax,eax
6e8f5b: 85 c9 test ecx,ecx
6e8f5d: 74 47 je 0x6e8fa6
6e8f5f: 81 f9 aa aa aa 0a cmp ecx,0xaaaaaaa
6e8f65: 77 16 ja 0x6e8f7d
6e8f67: 8d 04 49 lea eax,[ecx+ecx*2]
6e8f6a: 03 c0 add eax,eax
6e8f6c: 03 c0 add eax,eax
6e8f6e: 03 c0 add eax,eax
6e8f70: 50 push eax
6e8f71: e8 40 c0 23 00 call 0x924fb6
6e8f76: 83 c4 04 add esp,0x4
6e8f79: 85 c0 test eax,eax
6e8f7b: 75 29 jne 0x6e8fa6
6e8f7d: 8d 4d 08 lea ecx,[ebp+0x8]
6e8f80: 51 push ecx
6e8f81: 8d 4d f4 lea ecx,[ebp-0xc]
6e8f84: c7 45 08 00 00 00 00 mov DWORD PTR [ebp+0x8],0x0
6e8f8b: ff 15 bc d1 9d 00 call DWORD PTR ds:0x9dd1bc
6e8f91: 68 90 d1 a8 00 push 0xa8d190
6e8f96: 8d 55 f4 lea edx,[ebp-0xc]
6e8f99: 52 push edx
6e8f9a: c7 45 f4 00 1f 9e 00 mov DWORD PTR [ebp-0xc],0x9e1f00
6e8fa1: e8 16 c0 23 00 call 0x924fbc
6e8fa6: 8b e5 mov esp,ebp
6e8fa8: 5d pop ebp
6e8fa9: c2 04 00 ret 0x4
6e8fac: cc int3
6e8fad: cc int3
6e8fae: cc int3
6e8faf: cc int3

View file

@ -0,0 +1,85 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
00884cb0 <.text+0x483cb0>:
884cb0: 55 push ebp
884cb1: 8b ec mov ebp,esp
884cb3: 6a ff push 0xffffffff
884cb5: 68 72 0b 98 00 push 0x980b72
884cba: 64 a1 00 00 00 00 mov eax,fs:0x0
884cc0: 50 push eax
884cc1: 51 push ecx
884cc2: 56 push esi
884cc3: 57 push edi
884cc4: a1 78 8b af 00 mov eax,ds:0xaf8b78
884cc9: 33 c5 xor eax,ebp
884ccb: 50 push eax
884ccc: 8d 45 f4 lea eax,[ebp-0xc]
884ccf: 64 a3 00 00 00 00 mov fs:0x0,eax
884cd5: 8b f9 mov edi,ecx
884cd7: 8b 4f 04 mov ecx,DWORD PTR [edi+0x4]
884cda: 8b 75 08 mov esi,DWORD PTR [ebp+0x8]
884cdd: 3b f1 cmp esi,ecx
884cdf: 73 59 jae 0x884d3a
884ce1: 8b 07 mov eax,DWORD PTR [edi]
884ce3: 3b c6 cmp eax,esi
884ce5: 77 53 ja 0x884d3a
884ce7: 2b f0 sub esi,eax
884ce9: b8 ab aa aa 2a mov eax,0x2aaaaaab
884cee: f7 ee imul esi
884cf0: c1 fa 02 sar edx,0x2
884cf3: 8b f2 mov esi,edx
884cf5: c1 ee 1f shr esi,0x1f
884cf8: 03 f2 add esi,edx
884cfa: 3b 4f 08 cmp ecx,DWORD PTR [edi+0x8]
884cfd: 75 09 jne 0x884d08
884cff: 6a 01 push 0x1
884d01: 8b cf mov ecx,edi
884d03: e8 98 f4 ff ff call 0x8841a0
884d08: 8b 0f mov ecx,DWORD PTR [edi]
884d0a: 8d 04 76 lea eax,[esi+esi*2]
884d0d: 8d 0c c1 lea ecx,[ecx+eax*8]
884d10: 8b 47 04 mov eax,DWORD PTR [edi+0x4]
884d13: 89 45 08 mov DWORD PTR [ebp+0x8],eax
884d16: 89 45 f0 mov DWORD PTR [ebp-0x10],eax
884d19: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
884d20: 85 c0 test eax,eax
884d22: 74 54 je 0x884d78
884d24: c7 00 7c f0 a0 00 mov DWORD PTR [eax],0xa0f07c
884d2a: 8b 51 04 mov edx,DWORD PTR [ecx+0x4]
884d2d: 83 c1 08 add ecx,0x8
884d30: c6 45 fc 01 mov BYTE PTR [ebp-0x4],0x1
884d34: 89 50 04 mov DWORD PTR [eax+0x4],edx
884d37: 51 push ecx
884d38: eb 36 jmp 0x884d70
884d3a: 3b 4f 08 cmp ecx,DWORD PTR [edi+0x8]
884d3d: 75 09 jne 0x884d48
884d3f: 6a 01 push 0x1
884d41: 8b cf mov ecx,edi
884d43: e8 58 f4 ff ff call 0x8841a0
884d48: 8b 47 04 mov eax,DWORD PTR [edi+0x4]
884d4b: 89 45 08 mov DWORD PTR [ebp+0x8],eax
884d4e: 89 45 f0 mov DWORD PTR [ebp-0x10],eax
884d51: c7 45 fc 02 00 00 00 mov DWORD PTR [ebp-0x4],0x2
884d58: 85 c0 test eax,eax
884d5a: 74 1c je 0x884d78
884d5c: c7 00 7c f0 a0 00 mov DWORD PTR [eax],0xa0f07c
884d62: 8b 4e 04 mov ecx,DWORD PTR [esi+0x4]
884d65: 83 c6 08 add esi,0x8
884d68: c6 45 fc 03 mov BYTE PTR [ebp-0x4],0x3
884d6c: 89 48 04 mov DWORD PTR [eax+0x4],ecx
884d6f: 56 push esi
884d70: 8d 48 08 lea ecx,[eax+0x8]
884d73: e8 d8 4a ef ff call 0x779850
884d78: 83 47 04 18 add DWORD PTR [edi+0x4],0x18
884d7c: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
884d7f: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
884d86: 59 pop ecx
884d87: 5f pop edi
884d88: 5e pop esi
884d89: 8b e5 mov esp,ebp
884d8b: 5d pop ebp
884d8c: c2 04 00 ret 0x4

View file

@ -0,0 +1,54 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
0062e120 <.text+0x22d120>:
62e120: 55 push ebp
62e121: 8b ec mov ebp,esp
62e123: 6a ff push 0xffffffff
62e125: 68 08 92 98 00 push 0x989208
62e12a: 64 a1 00 00 00 00 mov eax,fs:0x0
62e130: 50 push eax
62e131: 51 push ecx
62e132: 56 push esi
62e133: a1 78 8b af 00 mov eax,ds:0xaf8b78
62e138: 33 c5 xor eax,ebp
62e13a: 50 push eax
62e13b: 8d 45 f4 lea eax,[ebp-0xc]
62e13e: 64 a3 00 00 00 00 mov fs:0x0,eax
62e144: 8b f1 mov esi,ecx
62e146: 89 75 f0 mov DWORD PTR [ebp-0x10],esi
62e149: 8d 4e 08 lea ecx,[esi+0x8]
62e14c: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
62e153: e8 28 b4 ff ff call 0x629580
62e158: f6 45 08 01 test BYTE PTR [ebp+0x8],0x1
62e15c: c7 06 bc 22 9e 00 mov DWORD PTR [esi],0x9e22bc
62e162: 74 09 je 0x62e16d
62e164: 56 push esi
62e165: e8 40 6e 2f 00 call 0x924faa
62e16a: 83 c4 04 add esp,0x4
62e16d: 8b c6 mov eax,esi
62e16f: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
62e172: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
62e179: 59 pop ecx
62e17a: 5e pop esi
62e17b: 8b e5 mov esp,ebp
62e17d: 5d pop ebp
62e17e: c2 04 00 ret 0x4
62e181: cc int3
62e182: cc int3
62e183: cc int3
62e184: cc int3
62e185: cc int3
62e186: cc int3
62e187: cc int3
62e188: cc int3
62e189: cc int3
62e18a: cc int3
62e18b: cc int3
62e18c: cc int3
62e18d: cc int3
62e18e: cc int3
62e18f: cc int3

View file

@ -0,0 +1,83 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
00885380 <.text+0x484380>:
885380: 55 push ebp
885381: 8b ec mov ebp,esp
885383: 6a ff push 0xffffffff
885385: 68 30 af 99 00 push 0x99af30
88538a: 64 a1 00 00 00 00 mov eax,fs:0x0
885390: 50 push eax
885391: 83 ec 18 sub esp,0x18
885394: 53 push ebx
885395: 56 push esi
885396: 57 push edi
885397: a1 78 8b af 00 mov eax,ds:0xaf8b78
88539c: 33 c5 xor eax,ebp
88539e: 50 push eax
88539f: 8d 45 f4 lea eax,[ebp-0xc]
8853a2: 64 a3 00 00 00 00 mov fs:0x0,eax
8853a8: 8b f1 mov esi,ecx
8853aa: 8b 56 08 mov edx,DWORD PTR [esi+0x8]
8853ad: 2b 56 04 sub edx,DWORD PTR [esi+0x4]
8853b0: 8d 4e 04 lea ecx,[esi+0x4]
8853b3: b8 ab aa aa 2a mov eax,0x2aaaaaab
8853b8: f7 ea imul edx
8853ba: c1 fa 02 sar edx,0x2
8853bd: 8b c2 mov eax,edx
8853bf: c1 e8 1f shr eax,0x1f
8853c2: 33 db xor ebx,ebx
8853c4: 03 c2 add eax,edx
8853c6: 33 ff xor edi,edi
8853c8: 3b c3 cmp eax,ebx
8853ca: 7e 30 jle 0x8853fc
8853cc: 8b 11 mov edx,DWORD PTR [ecx]
8853ce: 8b ff mov edi,edi
8853d0: 8b 5d 08 mov ebx,DWORD PTR [ebp+0x8]
8853d3: 39 5a 04 cmp DWORD PTR [edx+0x4],ebx
8853d6: 75 02 jne 0x8853da
8853d8: 8b fa mov edi,edx
8853da: 83 c2 18 add edx,0x18
8853dd: 48 dec eax
8853de: 75 f0 jne 0x8853d0
8853e0: 33 db xor ebx,ebx
8853e2: 3b fb cmp edi,ebx
8853e4: 74 16 je 0x8853fc
8853e6: 8b c7 mov eax,edi
8853e8: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
8853eb: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
8853f2: 59 pop ecx
8853f3: 5f pop edi
8853f4: 5e pop esi
8853f5: 5b pop ebx
8853f6: 8b e5 mov esp,ebp
8853f8: 5d pop ebp
8853f9: c2 04 00 ret 0x4
8853fc: c7 45 dc 7c f0 a0 00 mov DWORD PTR [ebp-0x24],0xa0f07c
885403: 89 5d e4 mov DWORD PTR [ebp-0x1c],ebx
885406: 89 5d e8 mov DWORD PTR [ebp-0x18],ebx
885409: 89 5d ec mov DWORD PTR [ebp-0x14],ebx
88540c: 8d 45 dc lea eax,[ebp-0x24]
88540f: 50 push eax
885410: 89 5d fc mov DWORD PTR [ebp-0x4],ebx
885413: e8 98 f8 ff ff call 0x884cb0
885418: 8d 4d e4 lea ecx,[ebp-0x1c]
88541b: c7 45 fc 01 00 00 00 mov DWORD PTR [ebp-0x4],0x1
885422: e8 59 41 da ff call 0x629580
885427: 8b 46 08 mov eax,DWORD PTR [esi+0x8]
88542a: 8b 4d 08 mov ecx,DWORD PTR [ebp+0x8]
88542d: 89 48 ec mov DWORD PTR [eax-0x14],ecx
885430: 8b 46 08 mov eax,DWORD PTR [esi+0x8]
885433: 83 e8 18 sub eax,0x18
885436: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
885439: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
885440: 59 pop ecx
885441: 5f pop edi
885442: 5e pop esi
885443: 5b pop ebx
885444: 8b e5 mov esp,ebp
885446: 5d pop ebp
885447: c2 04 00 ret 0x4

View file

@ -0,0 +1,251 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
008841a0 <.text+0x4831a0>:
8841a0: 55 push ebp
8841a1: 8b ec mov ebp,esp
8841a3: 8b 51 04 mov edx,DWORD PTR [ecx+0x4]
8841a6: 56 push esi
8841a7: 57 push edi
8841a8: 8b 39 mov edi,DWORD PTR [ecx]
8841aa: 2b d7 sub edx,edi
8841ac: b8 ab aa aa 2a mov eax,0x2aaaaaab
8841b1: f7 ea imul edx
8841b3: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
8841b6: c1 fa 02 sar edx,0x2
8841b9: 8b f2 mov esi,edx
8841bb: c1 ee 1f shr esi,0x1f
8841be: 03 f2 add esi,edx
8841c0: ba aa aa aa 0a mov edx,0xaaaaaaa
8841c5: 2b d0 sub edx,eax
8841c7: 3b d6 cmp edx,esi
8841c9: 73 0b jae 0x8841d6
8841cb: 68 90 1f 9e 00 push 0x9e1f90
8841d0: ff 15 50 d1 9d 00 call DWORD PTR ds:0x9dd150
8841d6: 8b 51 08 mov edx,DWORD PTR [ecx+0x8]
8841d9: 03 f0 add esi,eax
8841db: 2b d7 sub edx,edi
8841dd: b8 ab aa aa 2a mov eax,0x2aaaaaab
8841e2: f7 ea imul edx
8841e4: c1 fa 02 sar edx,0x2
8841e7: 8b c2 mov eax,edx
8841e9: c1 e8 1f shr eax,0x1f
8841ec: 03 c2 add eax,edx
8841ee: 3b f0 cmp esi,eax
8841f0: 76 21 jbe 0x884213
8841f2: 8b d0 mov edx,eax
8841f4: d1 ea shr edx,1
8841f6: bf aa aa aa 0a mov edi,0xaaaaaaa
8841fb: 2b fa sub edi,edx
8841fd: 3b f8 cmp edi,eax
8841ff: 73 04 jae 0x884205
884201: 33 c0 xor eax,eax
884203: eb 02 jmp 0x884207
884205: 03 c2 add eax,edx
884207: 3b c6 cmp eax,esi
884209: 73 02 jae 0x88420d
88420b: 8b c6 mov eax,esi
88420d: 50 push eax
88420e: e8 4d f8 ff ff call 0x883a60
884213: 5f pop edi
884214: 5e pop esi
884215: 5d pop ebp
884216: c2 04 00 ret 0x4
884219: cc int3
88421a: cc int3
88421b: cc int3
88421c: cc int3
88421d: cc int3
88421e: cc int3
88421f: cc int3
884220: 55 push ebp
884221: 8b ec mov ebp,esp
884223: 6a ff push 0xffffffff
884225: 68 10 ad 99 00 push 0x99ad10
88422a: 64 a1 00 00 00 00 mov eax,fs:0x0
884230: 50 push eax
884231: 83 ec 0c sub esp,0xc
884234: 53 push ebx
884235: 56 push esi
884236: 57 push edi
884237: a1 78 8b af 00 mov eax,ds:0xaf8b78
88423c: 33 c5 xor eax,ebp
88423e: 50 push eax
88423f: 8d 45 f4 lea eax,[ebp-0xc]
884242: 64 a3 00 00 00 00 mov fs:0x0,eax
884248: 89 65 f0 mov DWORD PTR [ebp-0x10],esp
88424b: 8b d9 mov ebx,ecx
88424d: 89 5d e8 mov DWORD PTR [ebp-0x18],ebx
884250: 8b 7d 08 mov edi,DWORD PTR [ebp+0x8]
884253: 80 bf 89 00 00 00 00 cmp BYTE PTR [edi+0x89],0x0
88425a: 8b 43 04 mov eax,DWORD PTR [ebx+0x4]
88425d: 89 45 ec mov DWORD PTR [ebp-0x14],eax
884260: 75 51 jne 0x8842b3
884262: 8d 4f 10 lea ecx,[edi+0x10]
884265: 51 push ecx
884266: 8b cb mov ecx,ebx
884268: e8 23 f9 ff ff call 0x883b90
88426d: 8b 55 0c mov edx,DWORD PTR [ebp+0xc]
884270: 8b 4d ec mov ecx,DWORD PTR [ebp-0x14]
884273: 8b f0 mov esi,eax
884275: 89 56 04 mov DWORD PTR [esi+0x4],edx
884278: 8a 87 88 00 00 00 mov al,BYTE PTR [edi+0x88]
88427e: 88 86 88 00 00 00 mov BYTE PTR [esi+0x88],al
884284: 80 b9 89 00 00 00 00 cmp BYTE PTR [ecx+0x89],0x0
88428b: 74 03 je 0x884290
88428d: 89 75 ec mov DWORD PTR [ebp-0x14],esi
884290: 8b 17 mov edx,DWORD PTR [edi]
884292: 56 push esi
884293: 52 push edx
884294: 8b cb mov ecx,ebx
884296: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
88429d: e8 7e ff ff ff call 0x884220
8842a2: 89 06 mov DWORD PTR [esi],eax
8842a4: 8b 47 08 mov eax,DWORD PTR [edi+0x8]
8842a7: 56 push esi
8842a8: 50 push eax
8842a9: 8b cb mov ecx,ebx
8842ab: e8 70 ff ff ff call 0x884220
8842b0: 89 46 08 mov DWORD PTR [esi+0x8],eax
8842b3: 8b 45 ec mov eax,DWORD PTR [ebp-0x14]
8842b6: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
8842b9: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
8842c0: 59 pop ecx
8842c1: 5f pop edi
8842c2: 5e pop esi
8842c3: 5b pop ebx
8842c4: 8b e5 mov esp,ebp
8842c6: 5d pop ebp
8842c7: c2 08 00 ret 0x8
8842ca: 8b 4d ec mov ecx,DWORD PTR [ebp-0x14]
8842cd: 51 push ecx
8842ce: 8b 4d e8 mov ecx,DWORD PTR [ebp-0x18]
8842d1: e8 5a f5 fe ff call 0x873830
8842d6: 6a 00 push 0x0
8842d8: 6a 00 push 0x0
8842da: e8 dd 0c 0a 00 call 0x924fbc
8842df: cc int3
8842e0: 55 push ebp
8842e1: 8b ec mov ebp,esp
8842e3: 6a ff push 0xffffffff
8842e5: 68 6c ad 99 00 push 0x99ad6c
8842ea: 64 a1 00 00 00 00 mov eax,fs:0x0
8842f0: 50 push eax
8842f1: 83 ec 78 sub esp,0x78
8842f4: 56 push esi
8842f5: a1 78 8b af 00 mov eax,ds:0xaf8b78
8842fa: 33 c5 xor eax,ebp
8842fc: 50 push eax
8842fd: 8d 45 f4 lea eax,[ebp-0xc]
884300: 64 a3 00 00 00 00 mov fs:0x0,eax
884306: 8b f1 mov esi,ecx
884308: 89 75 f0 mov DWORD PTR [ebp-0x10],esi
88430b: 33 c0 xor eax,eax
88430d: 89 46 28 mov DWORD PTR [esi+0x28],eax
884310: 89 46 2c mov DWORD PTR [esi+0x2c],eax
884313: 89 46 30 mov DWORD PTR [esi+0x30],eax
884316: 89 45 fc mov DWORD PTR [ebp-0x4],eax
884319: 89 46 40 mov DWORD PTR [esi+0x40],eax
88431c: 89 46 44 mov DWORD PTR [esi+0x44],eax
88431f: 89 46 48 mov DWORD PTR [esi+0x48],eax
884322: 89 46 64 mov DWORD PTR [esi+0x64],eax
884325: 89 46 68 mov DWORD PTR [esi+0x68],eax
884328: 89 46 6c mov DWORD PTR [esi+0x6c],eax
88432b: d9 ee fldz
88432d: 83 c9 ff or ecx,0xffffffff
884330: d9 5d 90 fstp DWORD PTR [ebp-0x70]
884333: 89 4d 80 mov DWORD PTR [ebp-0x80],ecx
884336: 89 45 88 mov DWORD PTR [ebp-0x78],eax
884339: 89 45 8c mov DWORD PTR [ebp-0x74],eax
88433c: 66 c7 45 94 01 00 mov WORD PTR [ebp-0x6c],0x1
884342: 89 45 a4 mov DWORD PTR [ebp-0x5c],eax
884345: 89 45 a8 mov DWORD PTR [ebp-0x58],eax
884348: 89 45 ac mov DWORD PTR [ebp-0x54],eax
88434b: 89 45 b4 mov DWORD PTR [ebp-0x4c],eax
88434e: 88 45 b8 mov BYTE PTR [ebp-0x48],al
884351: 89 45 bc mov DWORD PTR [ebp-0x44],eax
884354: 89 45 c0 mov DWORD PTR [ebp-0x40],eax
884357: 89 45 c4 mov DWORD PTR [ebp-0x3c],eax
88435a: 89 45 dc mov DWORD PTR [ebp-0x24],eax
88435d: 89 45 e0 mov DWORD PTR [ebp-0x20],eax
884360: 89 45 e4 mov DWORD PTR [ebp-0x1c],eax
884363: 89 45 e8 mov DWORD PTR [ebp-0x18],eax
884366: 89 45 cc mov DWORD PTR [ebp-0x34],eax
884369: 89 45 d0 mov DWORD PTR [ebp-0x30],eax
88436c: 89 4d d4 mov DWORD PTR [ebp-0x2c],ecx
88436f: 89 4d d8 mov DWORD PTR [ebp-0x28],ecx
884372: 8d 85 7c ff ff ff lea eax,[ebp-0x84]
884378: 50 push eax
884379: 8b ce mov ecx,esi
88437b: c6 45 fc 03 mov BYTE PTR [ebp-0x4],0x3
88437f: e8 8c d3 ef ff call 0x781710
884384: 8d 4d e0 lea ecx,[ebp-0x20]
884387: c6 45 fc 05 mov BYTE PTR [ebp-0x4],0x5
88438b: e8 80 cb c8 ff call 0x510f10
884390: 8d 4d bc lea ecx,[ebp-0x44]
884393: c6 45 fc 04 mov BYTE PTR [ebp-0x4],0x4
884397: e8 04 1c f1 ff call 0x795fa0
88439c: 8d 4d a4 lea ecx,[ebp-0x5c]
88439f: c6 45 fc 02 mov BYTE PTR [ebp-0x4],0x2
8843a3: e8 38 11 de ff call 0x6654e0
8843a8: 8b 4d 08 mov ecx,DWORD PTR [ebp+0x8]
8843ab: 89 4e 60 mov DWORD PTR [esi+0x60],ecx
8843ae: 8b c6 mov eax,esi
8843b0: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
8843b3: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
8843ba: 59 pop ecx
8843bb: 5e pop esi
8843bc: 8b e5 mov esp,ebp
8843be: 5d pop ebp
8843bf: c2 04 00 ret 0x4
8843c2: cc int3
8843c3: cc int3
8843c4: cc int3
8843c5: cc int3
8843c6: cc int3
8843c7: cc int3
8843c8: cc int3
8843c9: cc int3
8843ca: cc int3
8843cb: cc int3
8843cc: cc int3
8843cd: cc int3
8843ce: cc int3
8843cf: cc int3
8843d0: 55 push ebp
8843d1: 8b ec mov ebp,esp
8843d3: 6a ff push 0xffffffff
8843d5: 68 f6 ad 99 00 push 0x99adf6
8843da: 64 a1 00 00 00 00 mov eax,fs:0x0
8843e0: 50 push eax
8843e1: 81 ec a0 00 00 00 sub esp,0xa0
8843e7: 53 push ebx
8843e8: 56 push esi
8843e9: 57 push edi
8843ea: a1 78 8b af 00 mov eax,ds:0xaf8b78
8843ef: 33 c5 xor eax,ebp
8843f1: 50 push eax
8843f2: 8d 45 f4 lea eax,[ebp-0xc]
8843f5: 64 a3 00 00 00 00 mov fs:0x0,eax
8843fb: 89 4d ec mov DWORD PTR [ebp-0x14],ecx
8843fe: 8b 75 08 mov esi,DWORD PTR [ebp+0x8]
884401: 6a ff push 0xffffffff
884403: 8d 45 b4 lea eax,[ebp-0x4c]
884406: 50 push eax
884407: 68 2c bb a2 00 push 0xa2bb2c
88440c: 33 db xor ebx,ebx
88440e: 56 push esi
88440f: 89 5d b4 mov DWORD PTR [ebp-0x4c],ebx
884412: e8 09 59 03 00 call 0x8b9d20
884417: 83 c4 10 add esp,0x10
88441a: 89 5d 08 mov DWORD PTR [ebp+0x8],ebx
88441d: 39 5d b4 cmp DWORD PTR [ebp-0x4c],ebx
884420: 0f 8e 0e 01 00 00 jle 0x884534
884426: c7 85 54 ff ff ff e8 mov DWORD PTR [ebp-0xac],0xa313e8
88442d: 13 a3 00
884430: c7 85 5c ff ff ff b8 mov DWORD PTR [ebp-0xa4],0xa313b8
884437: 13 a3 00
88443a: 89 9d 68 ff ff ff mov DWORD PTR [ebp-0x98],ebx

View file

@ -0,0 +1,142 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Disassembly of section .text:
0077fed0 <.text+0x37eed0>:
77fed0: 55 push ebp
77fed1: 8b ec mov ebp,esp
77fed3: 6a ff push 0xffffffff
77fed5: 68 39 86 98 00 push 0x988639
77feda: 64 a1 00 00 00 00 mov eax,fs:0x0
77fee0: 50 push eax
77fee1: 83 ec 08 sub esp,0x8
77fee4: 53 push ebx
77fee5: 56 push esi
77fee6: 57 push edi
77fee7: a1 78 8b af 00 mov eax,ds:0xaf8b78
77feec: 33 c5 xor eax,ebp
77feee: 50 push eax
77feef: 8d 45 f4 lea eax,[ebp-0xc]
77fef2: 64 a3 00 00 00 00 mov fs:0x0,eax
77fef8: 89 65 f0 mov DWORD PTR [ebp-0x10],esp
77fefb: 8b 75 10 mov esi,DWORD PTR [ebp+0x10]
77fefe: 8b 7d 08 mov edi,DWORD PTR [ebp+0x8]
77ff01: 89 75 ec mov DWORD PTR [ebp-0x14],esi
77ff04: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
77ff0b: b3 02 mov bl,0x2
77ff0d: 8d 49 00 lea ecx,[ecx+0x0]
77ff10: 3b 7d 0c cmp edi,DWORD PTR [ebp+0xc]
77ff13: 74 55 je 0x77ff6a
77ff15: 89 75 08 mov DWORD PTR [ebp+0x8],esi
77ff18: 85 f6 test esi,esi
77ff1a: 74 1b je 0x77ff37
77ff1c: 8d 4f 08 lea ecx,[edi+0x8]
77ff1f: c7 06 7c f0 a0 00 mov DWORD PTR [esi],0xa0f07c
77ff25: 8b 47 04 mov eax,DWORD PTR [edi+0x4]
77ff28: 51 push ecx
77ff29: 8d 4e 08 lea ecx,[esi+0x8]
77ff2c: 88 5d fc mov BYTE PTR [ebp-0x4],bl
77ff2f: 89 46 04 mov DWORD PTR [esi+0x4],eax
77ff32: e8 19 99 ff ff call 0x779850
77ff37: 83 c6 18 add esi,0x18
77ff3a: c6 45 fc 00 mov BYTE PTR [ebp-0x4],0x0
77ff3e: 89 75 10 mov DWORD PTR [ebp+0x10],esi
77ff41: 83 c7 18 add edi,0x18
77ff44: eb ca jmp 0x77ff10
77ff46: 8b 75 ec mov esi,DWORD PTR [ebp-0x14]
77ff49: 8b 7d 10 mov edi,DWORD PTR [ebp+0x10]
77ff4c: 3b f7 cmp esi,edi
77ff4e: 74 11 je 0x77ff61
77ff50: 8b 16 mov edx,DWORD PTR [esi]
77ff52: 8b 02 mov eax,DWORD PTR [edx]
77ff54: 6a 00 push 0x0
77ff56: 8b ce mov ecx,esi
77ff58: ff d0 call eax
77ff5a: 83 c6 18 add esi,0x18
77ff5d: 3b f7 cmp esi,edi
77ff5f: 75 ef jne 0x77ff50
77ff61: 6a 00 push 0x0
77ff63: 6a 00 push 0x0
77ff65: e8 52 50 1a 00 call 0x924fbc
77ff6a: 8b c6 mov eax,esi
77ff6c: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
77ff6f: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx
77ff76: 59 pop ecx
77ff77: 5f pop edi
77ff78: 5e pop esi
77ff79: 5b pop ebx
77ff7a: 8b e5 mov esp,ebp
77ff7c: 5d pop ebp
77ff7d: c3 ret
77ff7e: cc int3
77ff7f: cc int3
77ff80: 55 push ebp
77ff81: 8b ec mov ebp,esp
77ff83: 6a ff push 0xffffffff
77ff85: 68 60 86 98 00 push 0x988660
77ff8a: 64 a1 00 00 00 00 mov eax,fs:0x0
77ff90: 50 push eax
77ff91: 83 ec 0c sub esp,0xc
77ff94: 53 push ebx
77ff95: 56 push esi
77ff96: 57 push edi
77ff97: a1 78 8b af 00 mov eax,ds:0xaf8b78
77ff9c: 33 c5 xor eax,ebp
77ff9e: 50 push eax
77ff9f: 8d 45 f4 lea eax,[ebp-0xc]
77ffa2: 64 a3 00 00 00 00 mov fs:0x0,eax
77ffa8: 89 65 f0 mov DWORD PTR [ebp-0x10],esp
77ffab: 8b f9 mov edi,ecx
77ffad: 89 7d e8 mov DWORD PTR [ebp-0x18],edi
77ffb0: 8b 45 0c mov eax,DWORD PTR [ebp+0xc]
77ffb3: 89 45 ec mov DWORD PTR [ebp-0x14],eax
77ffb6: c7 45 fc 00 00 00 00 mov DWORD PTR [ebp-0x4],0x0
77ffbd: 8d 49 00 lea ecx,[ecx+0x0]
77ffc0: 3b 45 10 cmp eax,DWORD PTR [ebp+0x10]
77ffc3: 74 71 je 0x780036
77ffc5: 8b 4d 08 mov ecx,DWORD PTR [ebp+0x8]
77ffc8: 83 c0 08 add eax,0x8
77ffcb: 8d 71 04 lea esi,[ecx+0x4]
77ffce: 50 push eax
77ffcf: 8b 06 mov eax,DWORD PTR [esi]
77ffd1: 50 push eax
77ffd2: 51 push ecx
77ffd3: 8b cf mov ecx,edi
77ffd5: e8 c6 c0 ff ff call 0x77c0a0
77ffda: 8b 4f 04 mov ecx,DWORD PTR [edi+0x4]
77ffdd: ba a9 aa aa 0a mov edx,0xaaaaaa9
77ffe2: 2b d1 sub edx,ecx
77ffe4: 83 fa 01 cmp edx,0x1
77ffe7: 73 0b jae 0x77fff4
77ffe9: 68 b0 20 9e 00 push 0x9e20b0
77ffee: ff 15 50 d1 9d 00 call DWORD PTR ds:0x9dd150
77fff4: 41 inc ecx
77fff5: 89 4f 04 mov DWORD PTR [edi+0x4],ecx
77fff8: 89 06 mov DWORD PTR [esi],eax
77fffa: 8b 48 04 mov ecx,DWORD PTR [eax+0x4]
77fffd: 89 01 mov DWORD PTR [ecx],eax
77ffff: 8b 55 0c mov edx,DWORD PTR [ebp+0xc]
780002: 8b 02 mov eax,DWORD PTR [edx]
780004: 89 45 0c mov DWORD PTR [ebp+0xc],eax
780007: eb b7 jmp 0x77ffc0
780009: 8b 75 ec mov esi,DWORD PTR [ebp-0x14]
78000c: 3b 75 0c cmp esi,DWORD PTR [ebp+0xc]
78000f: 74 1c je 0x78002d
780011: 8b 7d e8 mov edi,DWORD PTR [ebp-0x18]
780014: 8b 45 08 mov eax,DWORD PTR [ebp+0x8]
780017: 8b 40 04 mov eax,DWORD PTR [eax+0x4]
78001a: 50 push eax
78001b: 8d 4d e8 lea ecx,[ebp-0x18]
78001e: 51 push ecx
78001f: 8b cf mov ecx,edi
780021: e8 ea bf ff ff call 0x77c010
780026: 8b 36 mov esi,DWORD PTR [esi]
780028: 3b 75 0c cmp esi,DWORD PTR [ebp+0xc]
78002b: 75 e7 jne 0x780014
78002d: 6a 00 push 0x0
78002f: 6a 00 push 0x0
780031: e8 86 4f 1a 00 call 0x924fbc
780036: 8b 4d f4 mov ecx,DWORD PTR [ebp-0xc]
780039: 64 89 0d 00 00 00 00 mov DWORD PTR fs:0x0,ecx

View file

@ -0,0 +1,7 @@
/home/alex/sots-re/dumps/sots.exe: file format pei-i386
Contents of section .rdata:
a0f070 701e6100 90b28500 14b5a700 20e16200 p.a......... .b.
a0f080 b05b8200 405c8200 60b5a700 d0e26200 .[..@\..`.....b.
a0f090 c08a5f00 107a6100 d0764900 c08a5f00 .._..za..vI..._.