unittests for mapfile reading

This commit is contained in:
Partouf
2019-08-21 01:26:16 +02:00
parent e9caf5c27f
commit ec2c3128bd
8 changed files with 1430 additions and 0 deletions

145
lib/map-file-delphi.js Normal file
View File

@@ -0,0 +1,145 @@
// Copyright (c) 2017, Compiler Explorer Authors
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
"use strict";
const MapFileReader = require("./map-file").MapFileReader;
class MapFileReaderDelphi extends MapFileReader {
/**
* constructor
* @param {string} mapFilename
*/
constructor(mapFilename) {
super(mapFilename);
this.regexDelphiCodeSegmentOffset = /^\s([0-9a-f]*):([0-9a-f]*)\s*([0-9a-f]*)H\s*(\.[a-z$]*)\s*([a-z]*)$/i;
this.regexDelphiCodeSegment = /^\s([0-9a-f]*):([0-9a-f]*)\s*([0-9a-f]*)\s*C=CODE\s*S=.text\s*G=.*M=([\w\d.]*)\s.*/i;
this.regexDelphiICodeSegment = /^\s([0-9a-f]*):([0-9a-f]*)\s*([0-9a-f]*)\s*C=ICODE\s*S=.itext\s*G=.*M=([\w\d.]*)\s.*/i;
this.regexDelphiNames = /^\s([0-9a-f]*):([0-9a-f]*)\s*([a-z0-9_@$.<>{}]*)$/i;
this.regexDelphiLineNumbersStart = /Line numbers for (.*)\(.*\) segment \.text/i;
this.regexDelphiLineNumber = /^([0-9]*)\s([0-9a-f]*):([0-9a-f]*)/i;
this.regexDelphiLineNumbersStartIText = /Line numbers for (.*)\(.*\) segment \.itext/i;
}
/**
* Tries to match the given line to code segment information
* Matches in order:
* 1. segment offset info
* 2. code segment delphi map
* 3. icode segment delphi map
* 4. code segment vs map
* @param {string} line
*/
tryReadingCodeSegmentInfo(line) {
let codesegmentObject = false;
let matches = line.match(this.regexDelphiCodeSegmentOffset);
if (matches && !matches[4].includes('$') && (parseInt(matches[2], 16) >= this.preferredLoadAddress)) {
const addressWithOffset = parseInt(matches[2], 16);
this.segmentOffsets.push({
segment: matches[1],
addressInt: addressWithOffset,
address: addressWithOffset.toString(16),
segmentLength: parseInt(matches[3], 16)
});
} else {
matches = line.match(this.regexDelphiCodeSegment);
if (matches) {
codesegmentObject = this.addressToObject(matches[1], matches[2]);
codesegmentObject.id = this.segments.length + 1;
codesegmentObject.segmentLength = parseInt(matches[3], 16);
codesegmentObject.unitName = matches[4];
this.segments.push(codesegmentObject);
} else {
matches = line.match(this.regexDelphiICodeSegment);
if (matches) {
codesegmentObject = this.addressToObject(matches[1], matches[2]);
codesegmentObject.id = this.isegments.length + 1;
codesegmentObject.segmentLength = parseInt(matches[3], 16);
codesegmentObject.unitName = matches[4];
this.isegments.push(codesegmentObject);
}
}
}
}
/**
* Try to match information about the address where a symbol is
* @param {string} line
*/
tryReadingNamedAddress(line) {
let symbolObject = false;
const matches = line.match(this.regexDelphiNames);
if (matches) {
if (!this.getSymbolInfoByName(matches[3])) {
symbolObject = this.addressToObject(matches[1], matches[2]);
symbolObject.displayName = matches[3];
this.namedAddresses.push(symbolObject);
}
}
}
/**
*
* @param {string} line
*/
isStartOfLineNumbers(line) {
const matches = line.match(this.regexDelphiLineNumbersStart);
if (matches) {
return true;
}
return false;
}
/**
* Retreives line number references from supplied Map line
* @param {string} line
* @returns {boolean}
*/
tryReadingLineNumbers(line) {
let hasLineNumbers = false;
const references = line.split(" "); // 4 spaces
for (let refIdx = 0; refIdx < references.length; refIdx++) {
const matches = references[refIdx].match(this.regexDelphiLineNumber);
if (matches) {
const lineObject = this.addressToObject(matches[2], matches[3]);
lineObject.lineNumber = parseInt(matches[1], 10);
this.lineNumbers.push(lineObject);
hasLineNumbers = true;
}
}
return hasLineNumbers;
}
}
exports.MapFileReader = MapFileReaderDelphi;

272
test/map-file-tests.js Normal file
View File

@@ -0,0 +1,272 @@
// Copyright (c) 2017, Compiler Explorer Authors
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
"use strict";
const chai = require('chai'),
should = chai.should(),
assert = chai.assert,
VSMapFileReader = require('../lib/map-file-vs').MapFileReader,
DelphiMapFileReader = require('../lib/map-file-delphi').MapFileReader;
describe('Map setup', function () {
it('VS-map preferred load address', function () {
const reader = new VSMapFileReader();
reader.preferredLoadAddress.should.equal(0x400000, "default load address");
reader.tryReadingPreferredAddress(" Preferred load address is 00400000");
reader.preferredLoadAddress.should.equal(0x400000);
reader.tryReadingPreferredAddress(" Preferred load address is 00410000");
reader.preferredLoadAddress.should.equal(0x410000);
});
});
describe('Code Segments', function () {
it('One normal Delphi-Map segment', function () {
const reader = new DelphiMapFileReader();
reader.tryReadingCodeSegmentInfo(" 0001:00002838 00000080 C=CODE S=.text G=(none) M=output ACBP=A9");
reader.segments.length.should.equal(1);
let info = reader.getSegmentInfoByStartingAddress("0001", 0x2838);
info.unitName.should.equal("output");
info = reader.getSegmentInfoByStartingAddress(false, reader.getSegmentOffset("0001") + 0x2838);
info.unitName.should.equal("output");
info = reader.getSegmentInfoByStartingAddress("0001", "2838");
assert(info === false, "Address should not be a Start for any segment");
info = reader.getSegmentInfoAddressIsIn("0001", 0x2838 + 0x10);
info.unitName.should.equal("output");
info = reader.getSegmentInfoAddressIsIn(false, reader.getSegmentOffset("0001") + 0x2838 + 0x10);
info.unitName.should.equal("output");
info = reader.getSegmentInfoAddressIsIn("0001", reader.getSegmentOffset("0001") + 0x2838 + 0x80 + 1);
assert(info === false, "Address should not be in any segment");
info = reader.getSegmentInfoByUnitName("output");
info.unitName.should.equal("output");
info.addressInt.should.equal(reader.getSegmentOffset("0001") + 0x2838);
});
it('Not include this segment', function () {
const reader = new DelphiMapFileReader();
reader.tryReadingCodeSegmentInfo(" 0002:000000B0 00000023 C=ICODE S=.itext G=(none) M=output ACBP=A9");
reader.segments.length.should.equal(0);
});
it('ICode/IText segments', function () {
const reader = new DelphiMapFileReader();
reader.tryReadingCodeSegmentInfo(" 0002:000000B0 00000023 C=ICODE S=.itext G=(none) M=output ACBP=A9");
reader.isegments.length.should.equal(1);
});
it('One normal VS-Map segment', function () {
const reader = new VSMapFileReader();
reader.tryReadingCodeSegmentInfo(" 0001:00002838 00000080H .text$mn CODE");
reader.segments.length.should.equal(1);
let info = reader.getSegmentInfoByStartingAddress("0001", 0x2838);
info.addressInt.should.equal(reader.getSegmentOffset("0001") + 0x2838);
info = reader.getSegmentInfoByStartingAddress(false, 0x403838);
info.addressInt.should.equal(reader.getSegmentOffset("0001") + 0x2838);
info = reader.getSegmentInfoAddressIsIn(false, reader.getSegmentOffset("0001") + 0x2838 + 0x10);
info.addressInt.should.equal(reader.getSegmentOffset("0001") + 0x2838);
info = reader.getSegmentInfoAddressIsIn("0001", reader.getSegmentOffset("0001") + 0x2837);
assert(info === false);
});
it('Repair VS-Map code segment info', function () {
const reader = new VSMapFileReader();
reader.tryReadingCodeSegmentInfo(" 0002:00000000 00004c73H .text$mn CODE");
reader.tryReadingNamedAddress(" 0002:000007f0 _main 004117f0 f ConsoleApplication1.obj");
let info = reader.getSegmentInfoByStartingAddress("0002", 0);
info.unitName.should.equal("ConsoleApplication1.obj");
reader.getSegmentOffset("0002").should.equal(0x411000);
info = reader.getSegmentInfoByStartingAddress(false, 0x411000);
info.unitName.should.equal("ConsoleApplication1.obj");
});
});
describe('Symbol info', function () {
it('Delphi-Map symbol test', function () {
const reader = new DelphiMapFileReader();
reader.tryReadingNamedAddress(" 0001:00002838 Square");
reader.namedAddresses.length.should.equal(1);
let info = reader.getSymbolAt("0001", 0x2838);
assert(info !== false, "Symbol Square should have been returned 1");
info.displayName.should.equal("Square");
info = reader.getSymbolAt(false, reader.getSegmentOffset("0001") + 0x2838);
assert(info !== false, "Symbol Square should have been returned 2");
info.displayName.should.equal("Square");
});
it('Delphi-Map D2009 symbol test', function () {
const reader = new DelphiMapFileReader();
reader.tryReadingNamedAddress(" 0001:00002C4C output.MaxArray");
reader.namedAddresses.length.should.equal(1);
let info = reader.getSymbolAt("0001", 0x2C4C);
assert(info !== false, "Symbol MaxArray should have been returned");
info.displayName.should.equal("output.MaxArray");
info = reader.getSymbolAt(false, reader.getSegmentOffset("0001") + 0x2C4C);
assert(info !== false, "Symbol MaxArray should have been returned");
info.displayName.should.equal("output.MaxArray");
});
it('VS-Map symbol test', function () {
const reader = new VSMapFileReader();
reader.tryReadingNamedAddress(" 0002:000006b0 ??$__vcrt_va_start_verify_argument_type@QBD@@YAXXZ 004116b0 f i ConsoleApplication1.obj");
reader.namedAddresses.length.should.equal(1);
let info = reader.getSymbolAt("0002", 0x6b0);
assert(info !== false, "Symbol start_verify_argument should have been returned 1");
info.displayName.should.equal("??$__vcrt_va_start_verify_argument_type@QBD@@YAXXZ");
info = reader.getSymbolAt(false, 0x4116b0);
assert(info !== false, "Symbol start_verify_argument should have been returned 2");
info.displayName.should.equal("??$__vcrt_va_start_verify_argument_type@QBD@@YAXXZ");
});
it('Delphi-Map Duplication prevention', function () {
const reader = new DelphiMapFileReader();
reader.tryReadingNamedAddress(" 0001:00002838 Square");
reader.namedAddresses.length.should.equal(1);
reader.tryReadingNamedAddress(" 0001:00002838 Square");
reader.namedAddresses.length.should.equal(1);
});
});
describe('Delphi-Map Line number info', function () {
it('No line', function () {
const reader = new DelphiMapFileReader();
assert(reader.tryReadingLineNumbers("") === false);
});
it('One line', function () {
const reader = new DelphiMapFileReader();
assert(reader.tryReadingLineNumbers(" 17 0001:000028A4") === true);
let lineInfo = reader.getLineInfoByAddress("0001", 0x28A4);
lineInfo.lineNumber.should.equal(17);
lineInfo = reader.getLineInfoByAddress(false, reader.getSegmentOffset("0001") + 0x28A4);
lineInfo.lineNumber.should.equal(17);
});
it('Multiple lines', function () {
const reader = new DelphiMapFileReader();
assert(reader.tryReadingLineNumbers(" 12 0001:00002838 13 0001:0000283B 14 0001:00002854 15 0001:00002858") === true);
let lineInfo = reader.getLineInfoByAddress("0001", 0x2838);
lineInfo.lineNumber.should.equal(12);
lineInfo = reader.getLineInfoByAddress("0001", 0x2858);
lineInfo.lineNumber.should.equal(15);
lineInfo = reader.getLineInfoByAddress("0001", 0x2854);
lineInfo.lineNumber.should.equal(14);
lineInfo = reader.getLineInfoByAddress("0001", 0x283B);
lineInfo.lineNumber.should.equal(13);
});
});
describe('Delphi-Map load test', function () {
it('Minimal map', function () {
const reader = new DelphiMapFileReader("test/maps/minimal-delphi.map");
reader.run();
reader.segments.length.should.equal(4);
reader.lineNumbers.length.should.equal(7);
reader.namedAddresses.length.should.equal(11);
let info = reader.getSegmentInfoByUnitName("output");
info.addressInt.should.equal(reader.getSegmentOffset("0001") + 0x2C4C);
info = reader.getICodeSegmentInfoByUnitName("output");
info.segment.should.equal("0002");
info.addressWithoutOffset.should.equal(0xB0);
info.addressInt.should.equal(0x4040B0);
});
});
describe('VS-Map load test', function () {
it('Minimal map', function () {
const reader = new VSMapFileReader("test/maps/minimal-vs15.map");
reader.run();
reader.segments.length.should.equal(1);
reader.getSegmentInfoByUnitName("ConsoleApplication1.obj").addressInt.should.equal(0x411000);
reader.getSegmentOffset("0001").should.equal(0x401000, "offset 1");
reader.getSegmentOffset("0002").should.equal(0x411000, "offset 2");
reader.getSegmentOffset("0003").should.equal(0x416000, "offset 3");
reader.getSegmentOffset("0004").should.equal(0x419000, "offset 4");
reader.getSegmentOffset("0005").should.equal(0x41a000, "offset 5");
reader.getSegmentOffset("0007").should.equal(0x41c000, "offset 7");
});
});
describe('VS-Map address checking', function () {
it('Normal defined spaces', function () {
const reader = new VSMapFileReader();
const mainAddresses = [
{startAddress: 1, startAddressHex: '00000001', endAddress: 10, endAddressHex: '0000000A'},
{startAddress: 16, startAddressHex: '00000010', endAddress: 255, endAddressHex: '000000FF'},
];
reader.isWithinAddressSpace(mainAddresses, 3, 5).should.equal(true);
reader.isWithinAddressSpace(mainAddresses, 10, 5).should.equal(false);
reader.isWithinAddressSpace(mainAddresses, 11, 4).should.equal(false);
reader.isWithinAddressSpace(mainAddresses, 16, 10).should.equal(true);
reader.isWithinAddressSpace(mainAddresses, 32, 10).should.equal(true);
});
it('Overlapping regions', function () {
const reader = new VSMapFileReader();
const mainAddresses = [
{startAddress: 1, startAddressHex: '00000001', endAddress: 10, endAddressHex: '0000000A'},
{startAddress: 16, startAddressHex: '00000010', endAddress: 255, endAddressHex: '000000FF'},
];
reader.isWithinAddressSpace(mainAddresses, 0, 5).should.equal(true);
reader.isWithinAddressSpace(mainAddresses, 11, 5).should.equal(true);
reader.isWithinAddressSpace(mainAddresses, 11, 6).should.equal(true);
reader.isWithinAddressSpace(mainAddresses, 11, 258).should.equal(true);
});
});

View File

@@ -0,0 +1,66 @@
Start Length Name Class
0001:00401000 00002D08H .text CODE
0002:00404000 000000F0H .itext ICODE
0003:00405000 000007ACH .data DATA
0004:00406000 0000318CH .bss BSS
0005:00000000 00000008H .tls TLS
Detailed map of segments
0001:00000000 00002B43 C=CODE S=.text G=(none) M=System ACBP=A9
0001:00002B44 00000105 C=CODE S=.text G=(none) M=SysInit ACBP=A9
0001:00002C4C 0000006A C=CODE S=.text G=(none) M=output ACBP=A9
0001:00002CB8 00000050 C=CODE S=.text G=(none) M=prog ACBP=A9
0002:00000000 000000AE C=ICODE S=.itext G=(none) M=System ACBP=A9
0002:000000B0 00000020 C=ICODE S=.itext G=(none) M=output ACBP=A9
0002:000000D0 0000001D C=ICODE S=.itext G=(none) M=prog ACBP=A9
Address Publics by Name
0004:00002B38 output..1
0004:00002B3C output.A
0004:00002E64 output.B
0001:00002C88 output.Finalization
0001:00002C4C output.MaxArray
0002:000000B0 output.output
0001:00002CB8 prog.Finalization
0002:000000D0 prog.prog
0001:00002BBC SysInit.@GetTls
0001:00002ADC System.Finalization
Address Publics by Value
0001:000025B4 System.FinalizeUnits
0001:00002C4C output.MaxArray
0001:00002C88 output.Finalization
0001:00002CB8 prog.Finalization
0002:000000B0 output.output
0002:000000D0 prog.prog
0004:00002B38 output..1
0004:00002B3C output.A
0004:00002E64 output.B
Line numbers for output(Z:\tmp\compiler-explorer-compiler1171110-10390-19q384o\output.pas) segment .text
12 0001:00002C4C 13 0001:00002C57 15 0001:00002C61 16 0001:00002C6B
17 0001:00002C75 13 0001:00002C7B 18 0001:00002C7E
Line numbers for output(Z:\tmp\compiler-explorer-compiler1171110-10390-19q384o\output.pas) segment .itext
23 0002:000000B0 24 0002:000000B9 25 0002:000000CF
Line numbers for prog(Z:\tmp\compiler-explorer-compiler1171110-10390-19q384o\prog.dpr) segment .itext
1 0002:000000D0 1 0002:000000E8
Bound resource files
C:\users\partouf\Temp\dtfaa23.tmp
Program entry point at 0002:000000D0

371
test/maps/minimal-vs15.map Normal file
View File

@@ -0,0 +1,371 @@
ConsoleApplication1
Timestamp is 5a2b9e20 (Sat Dec 9 09:26:08 2017)
Preferred load address is 00400000
Start Length Name Class
0001:00000000 00010000H .textbss DATA
0002:00000000 00004c73H .text$mn CODE
0003:00000000 00000104H .CRT$XCA DATA
0003:00000104 00000104H .CRT$XCAA DATA
0003:00000208 00000104H .CRT$XCZ DATA
0003:0000030c 00000104H .CRT$XIA DATA
0003:00000410 00000104H .CRT$XIAA DATA
0003:00000514 00000104H .CRT$XIAC DATA
0003:00000618 00000104H .CRT$XIZ DATA
0003:0000071c 00000104H .CRT$XPA DATA
0003:00000820 00000104H .CRT$XPZ DATA
0003:00000924 00000104H .CRT$XTA DATA
0003:00000a28 00000108H .CRT$XTZ DATA
0003:00000b30 00000b9cH .rdata DATA
0003:000016cc 0000019cH .rdata$zzzdbg DATA
0003:00001868 00000104H .rtc$IAA DATA
0003:0000196c 00000104H .rtc$IMZ DATA
0003:00001a70 00000104H .rtc$IZZ DATA
0003:00001b74 00000104H .rtc$TAA DATA
0003:00001c78 00000104H .rtc$TMZ DATA
0003:00001d7c 00000104H .rtc$TZZ DATA
0003:00001e80 0000018dH .xdata$x DATA
0003:0000200d 00000000H .edata DATA
0004:00000000 00000138H .data DATA
0004:00000138 00000454H .bss DATA
0005:00000000 000001b4H .idata$5 DATA
0005:000001b4 0000003cH .idata$2 DATA
0005:000001f0 00000014H .idata$3 DATA
0005:00000204 000001b4H .idata$4 DATA
0005:000003b8 000006b2H .idata$6 DATA
0006:00000000 0000013aH .gfids$y DATA
0007:00000000 00000104H .00cfg DATA
0008:00000000 00000170H .rsrc$01 DATA
0008:00000170 000002ccH .rsrc$02 DATA
Address Publics by Value Rva+Base Lib:Object
0000:00000000 ___guard_longjmp_count 00000000 <absolute>
0000:00000000 ___guard_longjmp_table 00000000 <absolute>
0000:00000000 ___safe_se_handler_count 00000000 <absolute>
0000:00000000 ___guard_fids_count 00000000 <absolute>
0000:00000000 ___guard_iat_table 00000000 <absolute>
0000:00000000 ___dynamic_value_reloc_table 00000000 <absolute>
0000:00000000 ___guard_iat_count 00000000 <absolute>
0000:00000000 ___safe_se_handler_table 00000000 <absolute>
0000:00000000 ___guard_fids_table 00000000 <absolute>
0000:00000100 ___guard_flags 00000100 <absolute>
0000:00000000 ___ImageBase 00400000 <linker-defined>
0001:00000000 __enc$textbss$begin 00401000 <linker-defined>
0001:00010000 __enc$textbss$end 00411000 <linker-defined>
0002:000006b0 ??$__vcrt_va_start_verify_argument_type@QBD@@YAXXZ 004116b0 f i ConsoleApplication1.obj
0002:000006e0 ?Hello@@YAXXZ 004116e0 f ConsoleApplication1.obj
0002:00000730 ___local_stdio_printf_options 00411730 f i ConsoleApplication1.obj
0002:00000770 __vfprintf_l 00411770 f i ConsoleApplication1.obj
0002:000007f0 _main 004117f0 f ConsoleApplication1.obj
0002:00000840 _printf 00411840 f i ConsoleApplication1.obj
0002:000008d0 @_RTC_AllocaHelper@12 004118d0 f MSVCRTD:_stack_.obj
0002:00000910 @_RTC_CheckStackVars2@12 00411910 f MSVCRTD:_stack_.obj
0002:00000a20 @_RTC_CheckStackVars@8 00411a20 f MSVCRTD:_stack_.obj
0002:00000a90 __RTC_CheckEsp 00411a90 f MSVCRTD:_stack_.obj
0002:00000ad0 __CRT_RTC_INIT 00411ad0 f MSVCRTD:_init_.obj
0002:00000ae0 __CRT_RTC_INITW 00411ae0 f MSVCRTD:_init_.obj
0002:00000af0 __RTC_InitBase 00411af0 f MSVCRTD:_init_.obj
0002:00000b30 __RTC_Shutdown 00411b30 f MSVCRTD:_init_.obj
0002:00000f20 ?configure_argv@__scrt_narrow_argv_policy@@SAHXZ 00411f20 f i MSVCRTD:exe_main.obj
0002:00000f40 ?get_app_type@__scrt_main_policy@@SA?AW4_crt_app_type@@XZ 00411f40 f i MSVCRTD:exe_main.obj
0002:00000f90 _mainCRTStartup 00411f90 f MSVCRTD:exe_main.obj
0002:00001140 ?_RTC_AllocaFailure@@YAXPAXPAU_RTC_ALLOCA_NODE@@H@Z 00412140 f MSVCRTD:_error_.obj
0002:000012b0 ?_RTC_Failure@@YAXPAXH@Z 004122b0 f MSVCRTD:_error_.obj
0002:00001320 ?_RTC_StackFailure@@YAXPAXPBD@Z 00412320 f MSVCRTD:_error_.obj
0002:000017a0 __RTC_UninitUse 004127a0 f MSVCRTD:_error_.obj
0002:000018d0 __vsprintf_s_l 004128d0 f i MSVCRTD:_error_.obj
0002:00001910 _sprintf_s 00412910 f i MSVCRTD:_error_.obj
0002:00001940 ?_RTC_GetErrorFunc@@YAP6AHHPBDH00ZZPBX@Z 00412940 f MSVCRTD:_userapi_.obj
0002:00001950 ?_RTC_GetErrorFuncW@@YAP6AHHPB_WH00ZZPBX@Z 00412950 f MSVCRTD:_userapi_.obj
0002:00001960 __RTC_GetErrDesc 00412960 f MSVCRTD:_userapi_.obj
0002:00001980 __RTC_NumErrors 00412980 f MSVCRTD:_userapi_.obj
0002:00001990 __RTC_SetErrorFunc 00412990 f MSVCRTD:_userapi_.obj
0002:000019c0 __RTC_SetErrorFuncW 004129c0 f MSVCRTD:_userapi_.obj
0002:000019f0 __RTC_SetErrorType 004129f0 f MSVCRTD:_userapi_.obj
0002:00001a20 ??$__crt_fast_decode_pointer@PAP6AXXZ@@YAPAP6AXXZQAP6AXXZ@Z 00412a20 f i MSVCRTD:utility.obj
0002:00001a50 ??$__crt_fast_encode_pointer@PAP6AXXZ@@YAPAP6AXXZQAP6AXXZ@Z 00412a50 f i MSVCRTD:utility.obj
0002:00001a90 ?__crt_rotate_pointer_value@@YAIIH@Z 00412a90 f i MSVCRTD:utility.obj
0002:00001be0 _NtCurrentTeb 00412be0 f i MSVCRTD:utility.obj
0002:00001bf0 ___scrt_acquire_startup_lock 00412bf0 f MSVCRTD:utility.obj
0002:00001c50 ___scrt_dllmain_after_initialize_c 00412c50 f MSVCRTD:utility.obj
0002:00001c90 ___scrt_dllmain_before_initialize_c 00412c90 f MSVCRTD:utility.obj
0002:00001cc0 ___scrt_dllmain_crt_thread_attach 00412cc0 f MSVCRTD:utility.obj
0002:00001d00 ___scrt_dllmain_crt_thread_detach 00412d00 f MSVCRTD:utility.obj
0002:00001d20 ___scrt_dllmain_exception_filter 00412d20 f MSVCRTD:utility.obj
0002:00001d80 ___scrt_dllmain_uninitialize_c 00412d80 f MSVCRTD:utility.obj
0002:00001dc0 ___scrt_dllmain_uninitialize_critical 00412dc0 f MSVCRTD:utility.obj
0002:00001de0 ___scrt_initialize_crt 00412de0 f MSVCRTD:utility.obj
0002:00001e40 ___scrt_initialize_onexit_tables 00412e40 f MSVCRTD:utility.obj
0002:00001f40 ___scrt_is_nonwritable_in_current_image 00412f40 f MSVCRTD:utility.obj
0002:000020c0 ___scrt_release_startup_lock 004130c0 f MSVCRTD:utility.obj
0002:000020f0 ___scrt_uninitialize_crt 004130f0 f MSVCRTD:utility.obj
0002:00002140 __onexit 00413140 f MSVCRTD:utility.obj
0002:000021d0 _at_quick_exit 004131d0 f MSVCRTD:utility.obj
0002:00002230 _atexit 00413230 f MSVCRTD:utility.obj
0002:00002270 ___security_init_cookie 00413270 f MSVCRTD:gs_support.obj
0002:00002390 __matherr 00413390 f MSVCRTD:matherr.obj
0002:000023a0 __get_startup_argv_mode 004133a0 f MSVCRTD:argv_mode.obj
0002:000023b0 __get_startup_commit_mode 004133b0 f MSVCRTD:commit_mode.obj
0002:000023c0 __get_startup_file_mode 004133c0 f MSVCRTD:file_mode.obj
0002:000023d0 __get_startup_new_mode 004133d0 f MSVCRTD:new_mode.obj
0002:000023e0 __get_startup_thread_locale_mode 004133e0 f MSVCRTD:thread_locale.obj
0002:000023f0 ?__scrt_initialize_type_info@@YAXXZ 004133f0 f MSVCRTD:tncleanup.obj
0002:00002410 ?__scrt_uninitialize_type_info@@YAXXZ 00413410 f MSVCRTD:tncleanup.obj
0002:00002430 __should_initialize_environment 00413430 f MSVCRTD:env_mode.obj
0002:00002440 __initialize_default_precision 00413440 f MSVCRTD:default_precision.obj
0002:00002470 __initialize_invalid_parameter_handler 00413470 f MSVCRTD:invalid_parameter_handler.obj
0002:00002480 __initialize_denormal_control 00413480 f MSVCRTD:denormal_control.obj
0002:00002490 ___local_stdio_scanf_options 00413490 f i MSVCRTD:default_local_stdio_options.obj
0002:000024a0 ___scrt_initialize_default_local_stdio_options 004134a0 f MSVCRTD:default_local_stdio_options.obj
0002:000024f0 ___scrt_is_user_matherr_present 004134f0 f MSVCRTD:matherr_detection.obj
0002:00002520 ___scrt_get_dyn_tls_init_callback 00413520 f MSVCRTD:dyn_tls_init.obj
0002:00002530 ___scrt_get_dyn_tls_dtor_callback 00413530 f MSVCRTD:dyn_tls_dtor.obj
0002:00002540 ___scrt_fastfail 00413540 f MSVCRTD:utility_desktop.obj
0002:000026d0 ___scrt_get_show_window_mode 004136d0 f MSVCRTD:utility_desktop.obj
0002:00002720 ___scrt_initialize_winrt 00413720 f MSVCRTD:utility_desktop.obj
0002:00002730 ___scrt_is_managed_app 00413730 f MSVCRTD:utility_desktop.obj
0002:000027e0 ___scrt_set_unhandled_exception_filter 004137e0 f MSVCRTD:utility_desktop.obj
0002:00002800 ___scrt_unhandled_exception_filter@4 00413800 f MSVCRTD:utility_desktop.obj
0002:00002880 __crt_debugger_hook 00413880 f MSVCRTD:utility_desktop.obj
0002:000028a0 __RTC_Initialize 004138a0 f MSVCRTD:_initsect_.obj
0002:000028e0 __RTC_Terminate 004138e0 f MSVCRTD:_initsect_.obj
0002:00002920 @_guard_check_icall@4 00413920 f i MSVCRTD:checkcfg.obj
0002:00002940 __except_handler4 00413940 f MSVCRTD:_chandler4gs_.obj
0002:00002f30 ?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z 00413f30 f MSVCRTD:_pdblkup_.obj
0002:00003360 @__security_check_cookie@4 00414360 f MSVCRTD:_secchk_.obj
0002:00003380 ___isa_available_init 00414380 f MSVCRTD:_cpu_disp_.obj
0002:00003710 ___scrt_is_ucrt_dll_in_use 00414710 f MSVCRTD:ucrt_detection.obj
0002:00003740 @_guard_check_icall_nop@4 00414740 f i MSVCRTD:guard_support.obj
0002:00003750 __guard_icall_checks_enforced 00414750 f i MSVCRTD:guard_support.obj
0002:00003780 ___raise_securityfailure 00414780 f MSVCRTD:gs_report.obj
0002:000037c0 ___report_gsfailure 004147c0 f MSVCRTD:gs_report.obj
0002:00003910 ___report_rangecheckfailure 00414910 f MSVCRTD:gs_report.obj
0002:00003920 ___report_securityfailure 00414920 f MSVCRTD:gs_report.obj
0002:00003a30 ___report_securityfailureEx 00414a30 f MSVCRTD:gs_report.obj
0002:00003b9e ___std_type_info_destroy_list 00414b9e f vcruntimed:VCRUNTIME140D.dll
0002:00003ba4 _memset 00414ba4 f vcruntimed:VCRUNTIME140D.dll
0002:00003baa __except_handler4_common 00414baa f vcruntimed:VCRUNTIME140D.dll
0002:00003bb0 ___vcrt_GetModuleFileNameW 00414bb0 f vcruntimed:VCRUNTIME140D.dll
0002:00003bb6 ___vcrt_GetModuleHandleW 00414bb6 f vcruntimed:VCRUNTIME140D.dll
0002:00003bbc ___vcrt_LoadLibraryExW 00414bbc f vcruntimed:VCRUNTIME140D.dll
0002:00003bc2 ___acrt_iob_func 00414bc2 f ucrtd:ucrtbased.dll
0002:00003bc8 ___stdio_common_vfprintf 00414bc8 f ucrtd:ucrtbased.dll
0002:00003bce __CrtDbgReport 00414bce f ucrtd:ucrtbased.dll
0002:00003bd4 __CrtDbgReportW 00414bd4 f ucrtd:ucrtbased.dll
0002:00003bda __seh_filter_exe 00414bda f ucrtd:ucrtbased.dll
0002:00003be0 __set_app_type 00414be0 f ucrtd:ucrtbased.dll
0002:00003be6 ___setusermatherr 00414be6 f ucrtd:ucrtbased.dll
0002:00003bec __configure_narrow_argv 00414bec f ucrtd:ucrtbased.dll
0002:00003bf2 __initialize_narrow_environment 00414bf2 f ucrtd:ucrtbased.dll
0002:00003bf8 __get_initial_narrow_environment 00414bf8 f ucrtd:ucrtbased.dll
0002:00003bfe __initterm 00414bfe f ucrtd:ucrtbased.dll
0002:00003c04 __initterm_e 00414c04 f ucrtd:ucrtbased.dll
0002:00003c0a _exit 00414c0a f ucrtd:ucrtbased.dll
0002:00003c10 __exit 00414c10 f ucrtd:ucrtbased.dll
0002:00003c16 __set_fmode 00414c16 f ucrtd:ucrtbased.dll
0002:00003c1c ___p___argc 00414c1c f ucrtd:ucrtbased.dll
0002:00003c22 ___p___argv 00414c22 f ucrtd:ucrtbased.dll
0002:00003c28 __cexit 00414c28 f ucrtd:ucrtbased.dll
0002:00003c2e __c_exit 00414c2e f ucrtd:ucrtbased.dll
0002:00003c34 __register_thread_local_exe_atexit_callback 00414c34 f ucrtd:ucrtbased.dll
0002:00003c3a __configthreadlocale 00414c3a f ucrtd:ucrtbased.dll
0002:00003c40 __set_new_mode 00414c40 f ucrtd:ucrtbased.dll
0002:00003c46 ___p__commode 00414c46 f ucrtd:ucrtbased.dll
0002:00003c4c ___stdio_common_vsprintf_s 00414c4c f ucrtd:ucrtbased.dll
0002:00003c52 __seh_filter_dll 00414c52 f ucrtd:ucrtbased.dll
0002:00003c58 __initialize_onexit_table 00414c58 f ucrtd:ucrtbased.dll
0002:00003c5e __register_onexit_function 00414c5e f ucrtd:ucrtbased.dll
0002:00003c64 __execute_onexit_table 00414c64 f ucrtd:ucrtbased.dll
0002:00003c6a __crt_atexit 00414c6a f ucrtd:ucrtbased.dll
0002:00003c70 __crt_at_quick_exit 00414c70 f ucrtd:ucrtbased.dll
0002:00003c76 __controlfp_s 00414c76 f ucrtd:ucrtbased.dll
0002:00003c7c _terminate 00414c7c f ucrtd:ucrtbased.dll
0002:00003c82 __wmakepath_s 00414c82 f ucrtd:ucrtbased.dll
0002:00003c88 __wsplitpath_s 00414c88 f ucrtd:ucrtbased.dll
0002:00003c8e _wcscpy_s 00414c8e f ucrtd:ucrtbased.dll
0002:00003c94 _IsDebuggerPresent@0 00414c94 f kernel32:KERNEL32.dll
0002:00003c9a _RaiseException@16 00414c9a f kernel32:KERNEL32.dll
0002:00003ca0 _MultiByteToWideChar@24 00414ca0 f kernel32:KERNEL32.dll
0002:00003ca6 _WideCharToMultiByte@32 00414ca6 f kernel32:KERNEL32.dll
0002:00003cac _QueryPerformanceCounter@4 00414cac f kernel32:KERNEL32.dll
0002:00003cb2 _GetCurrentProcessId@0 00414cb2 f kernel32:KERNEL32.dll
0002:00003cb8 _GetCurrentThreadId@0 00414cb8 f kernel32:KERNEL32.dll
0002:00003cbe _GetSystemTimeAsFileTime@4 00414cbe f kernel32:KERNEL32.dll
0002:00003cc4 _InitializeSListHead@4 00414cc4 f kernel32:KERNEL32.dll
0002:00003cca _UnhandledExceptionFilter@4 00414cca f kernel32:KERNEL32.dll
0002:00003cd0 _SetUnhandledExceptionFilter@4 00414cd0 f kernel32:KERNEL32.dll
0002:00003cd6 _GetStartupInfoW@4 00414cd6 f kernel32:KERNEL32.dll
0002:00003cdc _IsProcessorFeaturePresent@4 00414cdc f kernel32:KERNEL32.dll
0002:00003ce2 _GetModuleHandleW@4 00414ce2 f kernel32:KERNEL32.dll
0002:00003ce8 _GetLastError@0 00414ce8 f kernel32:KERNEL32.dll
0002:00003cee _HeapAlloc@12 00414cee f kernel32:KERNEL32.dll
0002:00003cf4 _HeapFree@12 00414cf4 f kernel32:KERNEL32.dll
0002:00003cfa _GetProcessHeap@0 00414cfa f kernel32:KERNEL32.dll
0002:00003d00 _VirtualQuery@12 00414d00 f kernel32:KERNEL32.dll
0002:00003d06 _FreeLibrary@4 00414d06 f kernel32:KERNEL32.dll
0002:00003d0c _GetProcAddress@8 00414d0c f kernel32:KERNEL32.dll
0002:00003d12 _GetCurrentProcess@0 00414d12 f kernel32:KERNEL32.dll
0002:00003d18 _TerminateProcess@8 00414d18 f kernel32:KERNEL32.dll
0002:00003d20 ___vcrt_initialize 00414d20 f MSVCRTD:ucrt_stubs.obj
0002:00003d20 ___acrt_initialize 00414d20 f MSVCRTD:ucrt_stubs.obj
0002:00003d20 ___scrt_stub_for_acrt_initialize 00414d20 f MSVCRTD:ucrt_stubs.obj
0002:00003d30 ___scrt_stub_for_acrt_thread_attach 00414d30 f MSVCRTD:ucrt_stubs.obj
0002:00003d30 ___vcrt_thread_attach 00414d30 f MSVCRTD:ucrt_stubs.obj
0002:00003d30 ___acrt_thread_attach 00414d30 f MSVCRTD:ucrt_stubs.obj
0002:00003d40 ___vcrt_thread_detach 00414d40 f MSVCRTD:ucrt_stubs.obj
0002:00003d40 ___acrt_thread_detach 00414d40 f MSVCRTD:ucrt_stubs.obj
0002:00003d40 ___scrt_stub_for_acrt_thread_detach 00414d40 f MSVCRTD:ucrt_stubs.obj
0002:00003d50 ___vcrt_uninitialize 00414d50 f MSVCRTD:ucrt_stubs.obj
0002:00003d50 ___acrt_uninitialize 00414d50 f MSVCRTD:ucrt_stubs.obj
0002:00003d50 ___scrt_stub_for_acrt_uninitialize 00414d50 f MSVCRTD:ucrt_stubs.obj
0002:00003d60 ___vcrt_uninitialize_critical 00414d60 f MSVCRTD:ucrt_stubs.obj
0002:00003d60 ___scrt_stub_for_acrt_uninitialize_critical 00414d60 f MSVCRTD:ucrt_stubs.obj
0002:00003d60 ___acrt_uninitialize_critical 00414d60 f MSVCRTD:ucrt_stubs.obj
0002:00003d70 ___scrt_stub_for_is_c_termination_complete 00414d70 f MSVCRTD:ucrt_stubs.obj
0002:00003d70 __is_c_termination_complete 00414d70 f MSVCRTD:ucrt_stubs.obj
0003:00000000 ___xc_a 00416000 MSVCRTD:initializers.obj
0003:00000208 ___xc_z 00416208 MSVCRTD:initializers.obj
0003:0000030c ___xi_a 0041630c MSVCRTD:initializers.obj
0003:00000618 ___xi_z 00416618 MSVCRTD:initializers.obj
0003:0000071c ___xp_a 0041671c MSVCRTD:initializers.obj
0003:00000820 ___xp_z 00416820 MSVCRTD:initializers.obj
0003:00000924 ___xt_a 00416924 MSVCRTD:initializers.obj
0003:00000a28 ___xt_z 00416a28 MSVCRTD:initializers.obj
0003:00000b30 ??_C@_04OFFCAMCD@Test?$AA@ 00416b30 ConsoleApplication1.obj
0003:00000bf8 ??_C@_0NN@NGPKDKPD@The?5value?5of?5ESP?5was?5not?5properl@ 00416bf8 MSVCRTD:_error_.obj
0003:00000d08 ??_C@_0BBN@GPMLNJCF@A?5cast?5to?5a?5smaller?5data?5type?5ha@ 00416d08 MSVCRTD:_error_.obj
0003:00000e60 ??_C@_0BN@FFOINMNJ@Stack?5memory?5was?5corrupted?6?$AN?$AA@ 00416e60 MSVCRTD:_error_.obj
0003:00000e84 ??_C@_0DG@HKJMLLLP@A?5local?5variable?5was?5used?5before@ 00416e84 MSVCRTD:_error_.obj
0003:00000ec4 ??_C@_0CM@NGINOKPC@Stack?5memory?5around?5_alloca?5was?5@ 00416ec4 MSVCRTD:_error_.obj
0003:00000ef8 ??_C@_0BO@GNIAFIKK@Unknown?5Runtime?5Check?5Error?6?$AN?$AA@ 00416ef8 MSVCRTD:_error_.obj
0003:00000f20 ??_C@_1GM@OLMCBDMB@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?4?$AA?6?$AA?$AN?$AA?5?$AAU?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo@ 00416f20 MSVCRTD:_error_.obj
0003:00000fa8 ??_C@_1EA@NFKNIFJP@?$AAR?$AAu?$AAn?$AA?9?$AAT?$AAi?$AAm?$AAe?$AA?5?$AAC?$AAh?$AAe?$AAc?$AAk?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAu?$AAr?$AAe?$AA?5?$AA?$CD?$AA?$CF?$AAd?$AA?5?$AA?9?$AA?5?$AA?$CF?$AAs?$AA?$AA@ 00416fa8 MSVCRTD:_error_.obj
0003:00000ff4 ??_C@_0BB@PFFGGCJP@Unknown?5Filename?$AA@ 00416ff4 MSVCRTD:_error_.obj
0003:00001008 ??_C@_0BE@GNBOBNCK@Unknown?5Module?5Name?$AA@ 00417008 MSVCRTD:_error_.obj
0003:00001020 ??_C@_0CA@IODNCDPG@Run?9Time?5Check?5Failure?5?$CD?$CFd?5?9?5?$CFs?$AA@ 00417020 MSVCRTD:_error_.obj
0003:00001048 ??_C@_0CG@IAFNJNEE@Stack?5corrupted?5near?5unknown?5var@ 00417048 MSVCRTD:_error_.obj
0003:00001078 ??_C@_05MKKEDADM@?$CF?42X?5?$AA@ 00417078 MSVCRTD:_error_.obj
0003:00001080 ??_C@_0EJ@LJKNEOLN@Stack?5area?5around?5_alloca?5memory@ 00417080 MSVCRTD:_error_.obj
0003:000010d8 ??_C@_08OMAHNMHJ@?6Data?3?5?$DM?$AA@ 004170d8 MSVCRTD:_error_.obj
0003:000010e4 ??_C@_0CK@DKGBICFE@?6Allocation?5number?5within?5this?5f@ 004170e4 MSVCRTD:_error_.obj
0003:00001118 ??_C@_07DFDJCKFN@?6Size?3?5?$AA@ 00417118 MSVCRTD:_error_.obj
0003:00001124 ??_C@_0N@MHFFIMFG@?6Address?3?50x?$AA@ 00417124 MSVCRTD:_error_.obj
0003:00001138 ??_C@_0EI@CLEPFNGI@Stack?5area?5around?5_alloca?5memory@ 00417138 MSVCRTD:_error_.obj
0003:00001190 ??_C@_0BC@HHMKLAND@?$CFs?$CFs?$CFp?$CFs?$CFzd?$CFs?$CFd?$CFs?$AA@ 00417190 MSVCRTD:_error_.obj
0003:000011a8 ??_C@_01EEMJAFIK@?6?$AA@ 004171a8 MSVCRTD:_error_.obj
0003:000011ac ??_C@_02LLMPMKNF@?$DO?5?$AA@ 004171ac MSVCRTD:_error_.obj
0003:000011b0 ??_C@_08KJEDNCKC@?$CFs?$CFs?$CFs?$CFs?$AA@ 004171b0 MSVCRTD:_error_.obj
0003:000011bc ??_C@_0DE@OHJBPMBP@A?5variable?5is?5being?5used?5without@ 004171bc MSVCRTD:_error_.obj
0003:00001214 ??_C@_0BJ@HEGAHDFO@Stack?5pointer?5corruption?$AA@ 00417214 MSVCRTD:_userapi_.obj
0003:00001234 ??_C@_0CK@FEGOIOPB@Cast?5to?5smaller?5type?5causing?5los@ 00417234 MSVCRTD:_userapi_.obj
0003:00001268 ??_C@_0BI@CIGMDCBH@Stack?5memory?5corruption?$AA@ 00417268 MSVCRTD:_userapi_.obj
0003:00001284 ??_C@_0CK@CNLNOEPB@Local?5variable?5used?5before?5initi@ 00417284 MSVCRTD:_userapi_.obj
0003:000012b8 ??_C@_0BP@OGBCLIBO@Stack?5around?5_alloca?5corrupted?$AA@ 004172b8 MSVCRTD:_userapi_.obj
0003:00001338 ??_C@_1EI@MLPKHBGE@?$AAa?$AAp?$AAi?$AA?9?$AAm?$AAs?$AA?9?$AAw?$AAi?$AAn?$AA?9?$AAc?$AAo?$AAr?$AAe?$AA?9?$AAr?$AAe?$AAg?$AAi?$AAs?$AAt?$AAr?$AAy?$AA?9?$AAl?$AA1?$AA?9?$AA1?$AA?9?$AA0?$AA?4@ 00417338 MSVCRTD:_pdblkup_.obj
0003:00001390 ??_C@_1BK@JHLNAEJL@?$AAa?$AAd?$AAv?$AAa?$AAp?$AAi?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 00417390 MSVCRTD:_pdblkup_.obj
0003:000013b0 ??_C@_0O@COHOBMLB@RegOpenKeyExW?$AA@ 004173b0 MSVCRTD:_pdblkup_.obj
0003:000013c0 ??_C@_0BB@GLNAEDBD@RegQueryValueExW?$AA@ 004173c0 MSVCRTD:_pdblkup_.obj
0003:000013d4 ??_C@_0M@HLOHPNFA@RegCloseKey?$AA@ 004173d4 MSVCRTD:_pdblkup_.obj
0003:000013e8 ??_C@_1HE@EBEAGLFB@?$AAS?$AAO?$AAF?$AAT?$AAW?$AAA?$AAR?$AAE?$AA?2?$AAW?$AAo?$AAw?$AA6?$AA4?$AA3?$AA2?$AAN?$AAo?$AAd?$AAe?$AA?2?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?2?$AAV@ 004173e8 MSVCRTD:_pdblkup_.obj
0003:00001474 ??_C@_1BG@EABPBLLF@?$AAP?$AAr?$AAo?$AAd?$AAu?$AAc?$AAt?$AAD?$AAi?$AAr?$AA?$AA@ 00417474 MSVCRTD:_pdblkup_.obj
0003:000014b4 ??_C@_1BC@JINFINNJ@?$AAM?$AAS?$AAP?$AAD?$AAB?$AA1?$AA4?$AA0?$AA?$AA@ 004174b4 MSVCRTD:_pdblkup_.obj
0003:000014cc ??_C@_0BB@KCIACLNC@PDBOpenValidate5?$AA@ 004174cc MSVCRTD:_pdblkup_.obj
0003:000014e0 ??_C@_01KDCPPGHE@r?$AA@ 004174e0 MSVCRTD:_pdblkup_.obj
0003:00001528 __load_config_used 00417528 MSVCRTD:loadcfg.obj
0003:00001868 ___rtc_iaa 00417868 MSVCRTD:_initsect_.obj
0003:00001a70 ___rtc_izz 00417a70 MSVCRTD:_initsect_.obj
0003:00001b74 ___rtc_taa 00417b74 MSVCRTD:_initsect_.obj
0003:00001d7c ___rtc_tzz 00417d7c MSVCRTD:_initsect_.obj
0004:00000000 ?_RTC_ErrorLevels@@3PAHA 00419000 MSVCRTD:_error_.obj
0004:00000018 ___scrt_native_dllmain_reason 00419018 MSVCRTD:utility.obj
0004:0000001c ___scrt_default_matherr 0041901c MSVCRTD:matherr.obj
0004:00000020 ___security_cookie_complement 00419020 MSVCRTD:gs_cookie.obj
0004:00000024 ___security_cookie 00419024 MSVCRTD:gs_cookie.obj
0004:0000002c ___isa_enabled 0041902c MSVCRTD:_cpu_disp_.obj
0004:00000030 ___scrt_ucrt_dll_is_in_use 00419030 MSVCRTD:ucrt_stubs.obj
0004:00000138 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA 00419138 ConsoleApplication1.obj
0004:00000144 ___@@_PchSym_@00@UfhvihUkzgirxpUwlxfnvmghUtrgsfyUxlmhlovzkkorxzgrlmBUxlmhlovzkkorxzgrlmBUwvyftUhgwzucOlyq@58EB7FF75EFF052 00419144 stdafx.obj
0004:00000158 ___scrt_current_native_startup_state 00419158 MSVCRTD:utility.obj
0004:0000015c ___scrt_native_startup_lock 0041915c MSVCRTD:utility.obj
0004:00000180 ?__type_info_root_node@@3U__type_info_node@@A 00419180 MSVCRTD:tncleanup.obj
0004:00000190 ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA 00419190 MSVCRTD:default_local_stdio_options.obj
0004:0000019c ___scrt_debugger_hook_flag 0041919c MSVCRTD:utility_desktop.obj
0004:000001a8 ___isa_available 004191a8 MSVCRTD:_cpu_disp_.obj
0004:000001ac ___favor 004191ac MSVCRTD:_cpu_disp_.obj
0004:00000574 ___dyn_tls_dtor_callback 00419574 <common>
0004:00000580 ___dyn_tls_init_callback 00419580 <common>
0005:00000000 __imp__RaiseException@16 0041a000 kernel32:KERNEL32.dll
0005:00000004 __imp__MultiByteToWideChar@24 0041a004 kernel32:KERNEL32.dll
0005:00000008 __imp__WideCharToMultiByte@32 0041a008 kernel32:KERNEL32.dll
0005:0000000c __imp__QueryPerformanceCounter@4 0041a00c kernel32:KERNEL32.dll
0005:00000010 __imp__GetCurrentProcessId@0 0041a010 kernel32:KERNEL32.dll
0005:00000014 __imp__GetCurrentThreadId@0 0041a014 kernel32:KERNEL32.dll
0005:00000018 __imp__TerminateProcess@8 0041a018 kernel32:KERNEL32.dll
0005:0000001c __imp__GetCurrentProcess@0 0041a01c kernel32:KERNEL32.dll
0005:00000020 __imp__GetProcAddress@8 0041a020 kernel32:KERNEL32.dll
0005:00000024 __imp__FreeLibrary@4 0041a024 kernel32:KERNEL32.dll
0005:00000028 __imp__VirtualQuery@12 0041a028 kernel32:KERNEL32.dll
0005:0000002c __imp__GetProcessHeap@0 0041a02c kernel32:KERNEL32.dll
0005:00000030 __imp__HeapFree@12 0041a030 kernel32:KERNEL32.dll
0005:00000034 __imp__HeapAlloc@12 0041a034 kernel32:KERNEL32.dll
0005:00000038 __imp__GetLastError@0 0041a038 kernel32:KERNEL32.dll
0005:0000003c __imp__GetModuleHandleW@4 0041a03c kernel32:KERNEL32.dll
0005:00000040 __imp__IsProcessorFeaturePresent@4 0041a040 kernel32:KERNEL32.dll
0005:00000044 __imp__GetStartupInfoW@4 0041a044 kernel32:KERNEL32.dll
0005:00000048 __imp__SetUnhandledExceptionFilter@4 0041a048 kernel32:KERNEL32.dll
0005:0000004c __imp__UnhandledExceptionFilter@4 0041a04c kernel32:KERNEL32.dll
0005:00000050 __imp__InitializeSListHead@4 0041a050 kernel32:KERNEL32.dll
0005:00000054 __imp__GetSystemTimeAsFileTime@4 0041a054 kernel32:KERNEL32.dll
0005:00000058 __imp__IsDebuggerPresent@0 0041a058 kernel32:KERNEL32.dll
0005:0000005c \177KERNEL32_NULL_THUNK_DATA 0041a05c kernel32:KERNEL32.dll
0005:00000098 __imp____vcrt_GetModuleHandleW 0041a098 vcruntimed:VCRUNTIME140D.dll
0005:0000009c __imp____vcrt_GetModuleFileNameW 0041a09c vcruntimed:VCRUNTIME140D.dll
0005:000000a0 __imp___except_handler4_common 0041a0a0 vcruntimed:VCRUNTIME140D.dll
0005:000000a4 __imp__memset 0041a0a4 vcruntimed:VCRUNTIME140D.dll
0005:000000a8 __imp____vcrt_LoadLibraryExW 0041a0a8 vcruntimed:VCRUNTIME140D.dll
0005:000000ac __imp____std_type_info_destroy_list 0041a0ac vcruntimed:VCRUNTIME140D.dll
0005:000000b0 \177VCRUNTIME140D_NULL_THUNK_DATA 0041a0b0 vcruntimed:VCRUNTIME140D.dll
0005:000000e0 __imp___seh_filter_dll 0041a0e0 ucrtd:ucrtbased.dll
0005:000000e4 __imp___initialize_onexit_table 0041a0e4 ucrtd:ucrtbased.dll
0005:000000e8 __imp____stdio_common_vsprintf_s 0041a0e8 ucrtd:ucrtbased.dll
0005:000000ec __imp___execute_onexit_table 0041a0ec ucrtd:ucrtbased.dll
0005:000000f0 __imp___crt_atexit 0041a0f0 ucrtd:ucrtbased.dll
0005:000000f4 __imp___crt_at_quick_exit 0041a0f4 ucrtd:ucrtbased.dll
0005:000000f8 __imp___controlfp_s 0041a0f8 ucrtd:ucrtbased.dll
0005:000000fc __imp__terminate 0041a0fc ucrtd:ucrtbased.dll
0005:00000100 __imp___wmakepath_s 0041a100 ucrtd:ucrtbased.dll
0005:00000104 __imp___wsplitpath_s 0041a104 ucrtd:ucrtbased.dll
0005:00000108 __imp__wcscpy_s 0041a108 ucrtd:ucrtbased.dll
0005:0000010c __imp____p__commode 0041a10c ucrtd:ucrtbased.dll
0005:00000110 __imp___set_new_mode 0041a110 ucrtd:ucrtbased.dll
0005:00000114 __imp___configthreadlocale 0041a114 ucrtd:ucrtbased.dll
0005:00000118 __imp___register_thread_local_exe_atexit_callback 0041a118 ucrtd:ucrtbased.dll
0005:0000011c __imp___c_exit 0041a11c ucrtd:ucrtbased.dll
0005:00000120 __imp___cexit 0041a120 ucrtd:ucrtbased.dll
0005:00000124 __imp____p___argv 0041a124 ucrtd:ucrtbased.dll
0005:00000128 __imp____p___argc 0041a128 ucrtd:ucrtbased.dll
0005:0000012c __imp___set_fmode 0041a12c ucrtd:ucrtbased.dll
0005:00000130 __imp___exit 0041a130 ucrtd:ucrtbased.dll
0005:00000134 __imp__exit 0041a134 ucrtd:ucrtbased.dll
0005:00000138 __imp___initterm_e 0041a138 ucrtd:ucrtbased.dll
0005:0000013c __imp___initterm 0041a13c ucrtd:ucrtbased.dll
0005:00000140 __imp___get_initial_narrow_environment 0041a140 ucrtd:ucrtbased.dll
0005:00000144 __imp___initialize_narrow_environment 0041a144 ucrtd:ucrtbased.dll
0005:00000148 __imp___configure_narrow_argv 0041a148 ucrtd:ucrtbased.dll
0005:0000014c __imp____setusermatherr 0041a14c ucrtd:ucrtbased.dll
0005:00000150 __imp___set_app_type 0041a150 ucrtd:ucrtbased.dll
0005:00000154 __imp___seh_filter_exe 0041a154 ucrtd:ucrtbased.dll
0005:00000158 __imp___CrtDbgReportW 0041a158 ucrtd:ucrtbased.dll
0005:0000015c __imp___CrtDbgReport 0041a15c ucrtd:ucrtbased.dll
0005:00000160 __imp____stdio_common_vfprintf 0041a160 ucrtd:ucrtbased.dll
0005:00000164 __imp____acrt_iob_func 0041a164 ucrtd:ucrtbased.dll
0005:00000168 __imp___register_onexit_function 0041a168 ucrtd:ucrtbased.dll
0005:0000016c \177ucrtbased_NULL_THUNK_DATA 0041a16c ucrtd:ucrtbased.dll
0005:000001b4 __IMPORT_DESCRIPTOR_VCRUNTIME140D 0041a1b4 vcruntimed:VCRUNTIME140D.dll
0005:000001c8 __IMPORT_DESCRIPTOR_ucrtbased 0041a1c8 ucrtd:ucrtbased.dll
0005:000001dc __IMPORT_DESCRIPTOR_KERNEL32 0041a1dc kernel32:KERNEL32.dll
0005:000001f0 __NULL_IMPORT_DESCRIPTOR 0041a1f0 vcruntimed:VCRUNTIME140D.dll
0007:00000000 ___guard_check_icall_fptr 0041c000 MSVCRTD:guard_support.obj

Binary file not shown.

View File

@@ -0,0 +1,16 @@
#include <Groundfloor/Molecules/String.h>
int square(int num) {
Groundfloor::String s("Hello, world!");
s.append_ansi("\n");
printf(s.getValue());
return num * num;
}
int main(int argc) {
return square(argc);
}

View File

@@ -0,0 +1,523 @@
output.s
Timestamp is 5b5a5760 (Fri Jul 27 01:21:04 2018)
Preferred load address is 0000000140000000
Start Length Name Class
0001:00000000 00001740H .text$mn CODE
0001:00001740 00000020H .text$mn$00 CODE
0001:00001760 00000036H .text$x CODE
0002:00000000 000001b8H .idata$5 DATA
0002:000001b8 00000010H .00cfg DATA
0002:000001c8 00000008H .CRT$XCA DATA
0002:000001d0 00000008H .CRT$XCAA DATA
0002:000001d8 00000008H .CRT$XCZ DATA
0002:000001e0 00000008H .CRT$XIA DATA
0002:000001e8 00000008H .CRT$XIAA DATA
0002:000001f0 00000008H .CRT$XIAC DATA
0002:000001f8 00000008H .CRT$XIC DATA
0002:00000200 00000008H .CRT$XIZ DATA
0002:00000208 00000008H .CRT$XPA DATA
0002:00000210 00000008H .CRT$XPZ DATA
0002:00000218 00000008H .CRT$XTA DATA
0002:00000220 00000010H .CRT$XTZ DATA
0002:00000228 00000000H .gfids$y DATA
0002:00000230 00001420H .rdata DATA
0002:00001650 0000016cH .rdata$r DATA
0002:000017bc 0000027cH .rdata$zzzdbg DATA
0002:00001a38 00000008H .rtc$IAA DATA
0002:00001a40 00000008H .rtc$IZZ DATA
0002:00001a48 00000008H .rtc$TAA DATA
0002:00001a50 00000008H .rtc$TZZ DATA
0002:00001a58 00000158H .xdata DATA
0002:00001bb0 00000000H .xdata$x DATA
0002:00001bb0 00000000H .edata DATA
0002:00001bb0 0000008cH .idata$2 DATA
0002:00001c3c 00000014H .idata$3 DATA
0002:00001c50 000001b8H .idata$4 DATA
0002:00001e08 00000474H .idata$6 DATA
0003:00000000 00000038H .data DATA
0003:00000038 00000088H .data$r DATA
0003:000000c0 00000738H .bss DATA
0004:00000000 0000021cH .pdata DATA
Address Publics by Value Rva+Base Lib:Object
0000:00000000 __guard_iat_table 0000000000000000 <absolute>
0000:00000000 __dynamic_value_reloc_table 0000000000000000 <absolute>
0000:00000000 __hybrid_code_map 0000000000000000 <absolute>
0000:00000000 __hybrid_code_map_count 0000000000000000 <absolute>
0000:00000000 __guard_iat_count 0000000000000000 <absolute>
0000:00000000 __hybrid_auxiliary_iat 0000000000000000 <absolute>
0000:00000000 __guard_longjmp_table 0000000000000000 <absolute>
0000:00000000 __guard_longjmp_count 0000000000000000 <absolute>
0000:00000000 __guard_fids_count 0000000000000000 <absolute>
0000:00000000 __enclave_config 0000000000000000 <absolute>
0000:00000000 ___safe_se_handler_table 0000000000000000 <absolute>
0000:00000000 ___safe_se_handler_count 0000000000000000 <absolute>
0000:00000000 __guard_fids_table 0000000000000000 <absolute>
0000:00000100 __guard_flags 0000000000000100 <absolute>
0000:00000000 __ImageBase 0000000140000000 <linker-defined>
0001:00000000 __local_stdio_printf_options 0000000140001000 f i output.s.obj
0001:00000010 _vfprintf_l 0000000140001010 f i output.s.obj
0001:00000060 printf 0000000140001060 f i output.s.obj
0001:000000c0 ?classname@Freeable@Groundfloor@@MEAAPEBDXZ 00000001400010c0 f i libGroundfloor:String.obj
0001:000000d0 ??_GFreeable@Groundfloor@@UEAAPEAXI@Z 00000001400010d0 f i libGroundfloor:String.obj
0001:000000d0 ??_EFreeable@Groundfloor@@UEAAPEAXI@Z 00000001400010d0 f i * CIL library *:* CIL module *
0001:00000100 ?classname@String@Groundfloor@@MEAAPEBDXZ 0000000140001100 f i libGroundfloor:String.obj
0001:00000110 ??_GString@Groundfloor@@UEAAPEAXI@Z 0000000140001110 f i libGroundfloor:String.obj
0001:00000110 ??_EString@Groundfloor@@UEAAPEAXI@Z 0000000140001110 f i * CIL library *:* CIL module *
0001:00000170 ??0String@Groundfloor@@QEAA@PEBD@Z 0000000140001170 f libGroundfloor:String.obj
0001:000001b0 ??1String@Groundfloor@@UEAA@XZ 00000001400011b0 f libGroundfloor:String.obj
0001:000001f0 ?getValue@String@Groundfloor@@QEBAPEADXZ 00000001400011f0 f libGroundfloor:String.obj
0001:00000200 ?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140001200 f libGroundfloor:String.obj
0001:000002a0 ?append@String@Groundfloor@@QEAA_NPEBDI@Z 00000001400012a0 f libGroundfloor:String.obj
0001:00000340 ?append_ansi@String@Groundfloor@@QEAA_NPEBD@Z 0000000140001340 f libGroundfloor:String.obj
0001:00000360 ?setSize@String@Groundfloor@@QEAA_NI@Z 0000000140001360 f libGroundfloor:String.obj
0001:00000400 sprintf 0000000140001400 f i libGroundfloor:Freeable.obj
0001:00000460 ?DebugString@Freeable@Groundfloor@@UEAAHPEADJ@Z 0000000140001460 f libGroundfloor:Freeable.obj
0001:000004f0 __security_check_cookie 00000001400014f0 f msvcrt:_amdsecgs_.obj
0001:0000076c mainCRTStartup 000000014000176c f msvcrt:exe_main.obj
0001:00000780 ??3@YAXPEAX_K@Z 0000000140001780 f msvcrt:delete_scalar_size.obj
0001:00000788 ??_Gtype_info@@UEAAPEAXI@Z 0000000140001788 f i msvcrt:std_type_info_static.obj
0001:00000788 ??_Etype_info@@UEAAPEAXI@Z 0000000140001788 f i msvcrt:std_type_info_static.obj
0001:000007b4 __raise_securityfailure 00000001400017b4 f msvcrt:gs_report.obj
0001:000007e8 __report_gsfailure 00000001400017e8 f msvcrt:gs_report.obj
0001:00000930 __scrt_acquire_startup_lock 0000000140001930 f msvcrt:utility.obj
0001:0000096c __scrt_initialize_crt 000000014000196c f msvcrt:utility.obj
0001:000009b8 __scrt_initialize_onexit_tables 00000001400019b8 f msvcrt:utility.obj
0001:00000a94 __scrt_is_nonwritable_in_current_image 0000000140001a94 f msvcrt:utility.obj
0001:00000b30 __scrt_release_startup_lock 0000000140001b30 f msvcrt:utility.obj
0001:00000b54 __scrt_uninitialize_crt 0000000140001b54 f msvcrt:utility.obj
0001:00000b80 _onexit 0000000140001b80 f msvcrt:utility.obj
0001:00000bd0 atexit 0000000140001bd0 f msvcrt:utility.obj
0001:00000be8 __security_init_cookie 0000000140001be8 f msvcrt:gs_support.obj
0001:00000c98 _get_startup_thread_locale_mode 0000000140001c98 f msvcrt:thread_locale.obj
0001:00000c98 _get_startup_commit_mode 0000000140001c98 f msvcrt:commit_mode.obj
0001:00000c98 __scrt_initialize_winrt 0000000140001c98 f msvcrt:utility_desktop.obj
0001:00000c98 _get_startup_new_mode 0000000140001c98 f msvcrt:new_mode.obj
0001:00000c98 _matherr 0000000140001c98 f msvcrt:matherr.obj
0001:00000c9c _get_startup_argv_mode 0000000140001c9c f msvcrt:argv_mode.obj
0001:00000ca4 _get_startup_file_mode 0000000140001ca4 f msvcrt:file_mode.obj
0001:00000cac ?__scrt_initialize_type_info@@YAXXZ 0000000140001cac f msvcrt:tncleanup.obj
0001:00000cbc __scrt_stub_for_acrt_initialize 0000000140001cbc f msvcrt:ucrt_stubs.obj
0001:00000cbc __acrt_initialize 0000000140001cbc f msvcrt:ucrt_stubs.obj
0001:00000cbc __acrt_uninitialize 0000000140001cbc f msvcrt:ucrt_stubs.obj
0001:00000cbc __vcrt_uninitialize 0000000140001cbc f msvcrt:ucrt_stubs.obj
0001:00000cbc _should_initialize_environment 0000000140001cbc f msvcrt:env_mode.obj
0001:00000cbc __vcrt_initialize 0000000140001cbc f msvcrt:ucrt_stubs.obj
0001:00000cbc __scrt_stub_for_acrt_uninitialize 0000000140001cbc f msvcrt:ucrt_stubs.obj
0001:00000cc0 _initialize_denormal_control 0000000140001cc0 f msvcrt:denormal_control.obj
0001:00000cc0 _initialize_invalid_parameter_handler 0000000140001cc0 f msvcrt:invalid_parameter_handler.obj
0001:00000cc0 _guard_check_icall_nop 0000000140001cc0 f msvcrt:guard_support.obj
0001:00000cc4 __local_stdio_scanf_options 0000000140001cc4 f i msvcrt:default_local_stdio_options.obj
0001:00000ccc __scrt_initialize_default_local_stdio_options 0000000140001ccc f msvcrt:default_local_stdio_options.obj
0001:00000ce8 __scrt_is_user_matherr_present 0000000140001ce8 f msvcrt:matherr_detection.obj
0001:00000cf4 __scrt_get_dyn_tls_init_callback 0000000140001cf4 f msvcrt:dyn_tls_init.obj
0001:00000cfc __scrt_get_dyn_tls_dtor_callback 0000000140001cfc f msvcrt:dyn_tls_dtor.obj
0001:00000d04 __crt_debugger_hook 0000000140001d04 f msvcrt:utility_desktop.obj
0001:00000d0c __scrt_fastfail 0000000140001d0c f msvcrt:utility_desktop.obj
0001:00000e58 __scrt_is_managed_app 0000000140001e58 f msvcrt:utility_desktop.obj
0001:00000eac __scrt_set_unhandled_exception_filter 0000000140001eac f msvcrt:utility_desktop.obj
0001:00000ebc __scrt_unhandled_exception_filter 0000000140001ebc f msvcrt:utility_desktop.obj
0001:00000ef4 _RTC_Initialize 0000000140001ef4 f msvcrt:_initsect_.obj
0001:00000f30 _RTC_Terminate 0000000140001f30 f msvcrt:_initsect_.obj
0001:00000f6c ??3@YAXPEAX@Z 0000000140001f6c f msvcrt:delete_scalar.obj
0001:00000f74 __isa_available_init 0000000140001f74 f msvcrt:_cpu_disp_.obj
0001:00001130 __scrt_is_ucrt_dll_in_use 0000000140002130 f msvcrt:ucrt_detection.obj
0001:0000160e IsProcessorFeaturePresent 000000014000260e f kernel32:KERNEL32.dll
0001:00001614 __C_specific_handler 0000000140002614 f vcruntime:VCRUNTIME140.dll
0001:0000161a memset 000000014000261a f vcruntime:VCRUNTIME140.dll
0001:00001620 memcpy 0000000140002620 f vcruntime:VCRUNTIME140.dll
0001:00001626 terminate 0000000140002626 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000162c free 000000014000262c f ucrt:api-ms-win-crt-heap-l1-1-0.dll
0001:00001632 _seh_filter_exe 0000000140002632 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001638 _set_app_type 0000000140002638 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000163e __setusermatherr 000000014000263e f ucrt:api-ms-win-crt-math-l1-1-0.dll
0001:00001644 _configure_narrow_argv 0000000140002644 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000164a _initialize_narrow_environment 000000014000264a f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001650 _get_initial_narrow_environment 0000000140002650 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001656 _initterm 0000000140002656 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000165c _initterm_e 000000014000265c f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001662 exit 0000000140002662 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001668 _exit 0000000140002668 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000166e _set_fmode 000000014000266e f ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0001:00001674 __p___argc 0000000140002674 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000167a __p___argv 000000014000267a f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001680 _cexit 0000000140002680 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001686 _c_exit 0000000140002686 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:0000168c _register_thread_local_exe_atexit_callback 000000014000268c f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:00001692 _configthreadlocale 0000000140002692 f ucrt:api-ms-win-crt-locale-l1-1-0.dll
0001:00001698 _set_new_mode 0000000140002698 f ucrt:api-ms-win-crt-heap-l1-1-0.dll
0001:0000169e __p__commode 000000014000269e f ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0001:000016a4 _initialize_onexit_table 00000001400026a4 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:000016aa _register_onexit_function 00000001400026aa f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:000016b0 _crt_atexit 00000001400026b0 f ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0001:000016c0 main 00000001400026c0 f output.s.obj
0001:000016e0 ?square@@YAHH@Z 00000001400026e0 f output.s.obj
0001:00001750 _guard_dispatch_icall_nop 0000000140002750 f msvcrt:_guard_dispatch_.obj
0002:00000000 __imp_RtlCaptureContext 0000000140003000 kernel32:KERNEL32.dll
0002:00000008 __imp_RtlLookupFunctionEntry 0000000140003008 kernel32:KERNEL32.dll
0002:00000010 __imp_RtlVirtualUnwind 0000000140003010 kernel32:KERNEL32.dll
0002:00000018 __imp_UnhandledExceptionFilter 0000000140003018 kernel32:KERNEL32.dll
0002:00000020 __imp_SetUnhandledExceptionFilter 0000000140003020 kernel32:KERNEL32.dll
0002:00000028 __imp_GetCurrentProcess 0000000140003028 kernel32:KERNEL32.dll
0002:00000030 __imp_TerminateProcess 0000000140003030 kernel32:KERNEL32.dll
0002:00000038 __imp_IsProcessorFeaturePresent 0000000140003038 kernel32:KERNEL32.dll
0002:00000040 __imp_QueryPerformanceCounter 0000000140003040 kernel32:KERNEL32.dll
0002:00000048 __imp_GetCurrentProcessId 0000000140003048 kernel32:KERNEL32.dll
0002:00000050 __imp_GetCurrentThreadId 0000000140003050 kernel32:KERNEL32.dll
0002:00000058 __imp_GetSystemTimeAsFileTime 0000000140003058 kernel32:KERNEL32.dll
0002:00000060 __imp_InitializeSListHead 0000000140003060 kernel32:KERNEL32.dll
0002:00000068 __imp_IsDebuggerPresent 0000000140003068 kernel32:KERNEL32.dll
0002:00000070 __imp_GetModuleHandleW 0000000140003070 kernel32:KERNEL32.dll
0002:00000078 __imp_GetProcAddress 0000000140003078 kernel32:KERNEL32.dll
0002:00000080 \177KERNEL32_NULL_THUNK_DATA 0000000140003080 kernel32:KERNEL32.dll
0002:00000088 __imp___C_specific_handler 0000000140003088 vcruntime:VCRUNTIME140.dll
0002:00000090 __imp_memset 0000000140003090 vcruntime:VCRUNTIME140.dll
0002:00000098 __imp_memcpy 0000000140003098 vcruntime:VCRUNTIME140.dll
0002:000000a0 \177VCRUNTIME140_NULL_THUNK_DATA 00000001400030a0 vcruntime:VCRUNTIME140.dll
0002:000000a8 __imp_malloc 00000001400030a8 ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:000000b0 __imp__set_new_mode 00000001400030b0 ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:000000b8 __imp_free 00000001400030b8 ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:000000c0 __imp_realloc 00000001400030c0 ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:000000c8 \177api-ms-win-crt-heap-l1-1-0_NULL_THUNK_DATA 00000001400030c8 ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:000000d0 __imp__configthreadlocale 00000001400030d0 ucrt:api-ms-win-crt-locale-l1-1-0.dll
0002:000000d8 \177api-ms-win-crt-locale-l1-1-0_NULL_THUNK_DATA 00000001400030d8 ucrt:api-ms-win-crt-locale-l1-1-0.dll
0002:000000e0 __imp___setusermatherr 00000001400030e0 ucrt:api-ms-win-crt-math-l1-1-0.dll
0002:000000e8 \177api-ms-win-crt-math-l1-1-0_NULL_THUNK_DATA 00000001400030e8 ucrt:api-ms-win-crt-math-l1-1-0.dll
0002:000000f0 __imp__set_app_type 00000001400030f0 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:000000f8 __imp__seh_filter_exe 00000001400030f8 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000100 __imp__configure_narrow_argv 0000000140003100 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000108 __imp__initialize_narrow_environment 0000000140003108 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000110 __imp__get_initial_narrow_environment 0000000140003110 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000118 __imp__initterm 0000000140003118 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000120 __imp__initterm_e 0000000140003120 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000128 __imp_exit 0000000140003128 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000130 __imp__exit 0000000140003130 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000138 __imp___p___argc 0000000140003138 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000140 __imp___p___argv 0000000140003140 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000148 __imp__cexit 0000000140003148 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000150 __imp__c_exit 0000000140003150 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000158 __imp__register_thread_local_exe_atexit_callback 0000000140003158 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000160 __imp_terminate 0000000140003160 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000168 __imp__crt_atexit 0000000140003168 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000170 __imp__register_onexit_function 0000000140003170 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000178 __imp__initialize_onexit_table 0000000140003178 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000180 \177api-ms-win-crt-runtime-l1-1-0_NULL_THUNK_DATA 0000000140003180 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00000188 __imp___p__commode 0000000140003188 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:00000190 __imp___stdio_common_vfprintf 0000000140003190 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:00000198 __imp__set_fmode 0000000140003198 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:000001a0 __imp___acrt_iob_func 00000001400031a0 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:000001a8 __imp___stdio_common_vsprintf 00000001400031a8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:000001b0 \177api-ms-win-crt-stdio-l1-1-0_NULL_THUNK_DATA 00000001400031b0 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:000001b8 __guard_check_icall_fptr 00000001400031b8 msvcrt:guard_support.obj
0002:000001c0 __guard_dispatch_icall_fptr 00000001400031c0 msvcrt:guard_support.obj
0002:000001c8 __xc_a 00000001400031c8 msvcrt:initializers.obj
0002:000001d8 __xc_z 00000001400031d8 msvcrt:initializers.obj
0002:000001e0 __xi_a 00000001400031e0 msvcrt:initializers.obj
0002:00000200 __xi_z 0000000140003200 msvcrt:initializers.obj
0002:00000208 __xp_a 0000000140003208 msvcrt:initializers.obj
0002:00000210 __xp_z 0000000140003210 msvcrt:initializers.obj
0002:00000218 __xt_a 0000000140003218 msvcrt:initializers.obj
0002:00000220 __xt_z 0000000140003220 msvcrt:initializers.obj
0002:00000238 ??_7type_info@@6B@ 0000000140003238 msvcrt:std_type_info_static.obj
0002:00000998 ??_C@_0BN@LKKBCCDB@address?5family?5not?5supported?$AA@ 0000000140003998 libcpmt:syserror.obj
0002:000009b8 ??_C@_0P@LDMLAFHI@address?5in?5use?$AA@ 00000001400039b8 libcpmt:syserror.obj
0002:000009c8 ??_C@_0BG@DHPCNBJB@address?5not?5available?$AA@ 00000001400039c8 libcpmt:syserror.obj
0002:000009e0 ??_C@_0BC@DFIBIBIL@already?5connected?$AA@ 00000001400039e0 libcpmt:syserror.obj
0002:000009f8 ??_C@_0BH@CAKOHOMI@argument?5list?5too?5long?$AA@ 00000001400039f8 libcpmt:syserror.obj
0002:00000a10 ??_C@_0BH@CGIMPKIM@argument?5out?5of?5domain?$AA@ 0000000140003a10 libcpmt:syserror.obj
0002:00000a28 ??_C@_0M@KGHGGJGL@bad?5address?$AA@ 0000000140003a28 libcpmt:syserror.obj
0002:00000a38 ??_C@_0BE@MPJPGCEO@bad?5file?5descriptor?$AA@ 0000000140003a38 libcpmt:syserror.obj
0002:00000a50 ??_C@_0M@PMMIEFCP@bad?5message?$AA@ 0000000140003a50 libcpmt:syserror.obj
0002:00000a60 ??_C@_0M@KPHOFDBE@broken?5pipe?$AA@ 0000000140003a60 libcpmt:syserror.obj
0002:00000a70 ??_C@_0BD@MGNDDEGM@connection?5aborted?$AA@ 0000000140003a70 libcpmt:syserror.obj
0002:00000a88 ??_C@_0BP@KAIHPOGN@connection?5already?5in?5progress?$AA@ 0000000140003a88 libcpmt:syserror.obj
0002:00000aa8 ??_C@_0BD@PJLIIJEL@connection?5refused?$AA@ 0000000140003aa8 libcpmt:syserror.obj
0002:00000ac0 ??_C@_0BB@IECNJNOI@connection?5reset?$AA@ 0000000140003ac0 libcpmt:syserror.obj
0002:00000ad8 ??_C@_0BC@PPHBOELF@cross?5device?5link?$AA@ 0000000140003ad8 libcpmt:syserror.obj
0002:00000af0 ??_C@_0BN@KDMIFEIP@destination?5address?5required?$AA@ 0000000140003af0 libcpmt:syserror.obj
0002:00000b10 ??_C@_0BI@NGCEHDD@device?5or?5resource?5busy?$AA@ 0000000140003b10 libcpmt:syserror.obj
0002:00000b28 ??_C@_0BE@JIDOCPHM@directory?5not?5empty?$AA@ 0000000140003b28 libcpmt:syserror.obj
0002:00000b40 ??_C@_0BI@BNCLIGPB@executable?5format?5error?$AA@ 0000000140003b40 libcpmt:syserror.obj
0002:00000b58 ??_C@_0M@MIDIAGJP@file?5exists?$AA@ 0000000140003b58 libcpmt:syserror.obj
0002:00000b68 ??_C@_0P@DNAJLBJK@file?5too?5large?$AA@ 0000000140003b68 libcpmt:syserror.obj
0002:00000b78 ??_C@_0BC@EJHOMAAK@filename?5too?5long?$AA@ 0000000140003b78 libcpmt:syserror.obj
0002:00000b90 ??_C@_0BH@KEFGLDAF@function?5not?5supported?$AA@ 0000000140003b90 libcpmt:syserror.obj
0002:00000ba8 ??_C@_0BB@DHFDFGDM@host?5unreachable?$AA@ 0000000140003ba8 libcpmt:syserror.obj
0002:00000bc0 ??_C@_0BD@JPHBMONG@identifier?5removed?$AA@ 0000000140003bc0 libcpmt:syserror.obj
0002:00000bd8 ??_C@_0BG@CDNPAGJK@illegal?5byte?5sequence?$AA@ 0000000140003bd8 libcpmt:syserror.obj
0002:00000bf0 ??_C@_0CD@BNPLBMNA@inappropriate?5io?5control?5operati@ 0000000140003bf0 libcpmt:syserror.obj
0002:00000c18 ??_C@_0M@EGEKIIMP@interrupted?$AA@ 0000000140003c18 libcpmt:syserror.obj
0002:00000c28 ??_C@_0BB@FCMFBGOM@invalid?5argument?$AA@ 0000000140003c28 libcpmt:syserror.obj
0002:00000c40 ??_C@_0N@OHAFKDEK@invalid?5seek?$AA@ 0000000140003c40 libcpmt:syserror.obj
0002:00000c50 ??_C@_08GLNPIFBN@io?5error?$AA@ 0000000140003c50 libcpmt:syserror.obj
0002:00000c60 ??_C@_0P@FLLDBIDK@is?5a?5directory?$AA@ 0000000140003c60 libcpmt:syserror.obj
0002:00000c70 ??_C@_0N@IFLPBIOP@message?5size?$AA@ 0000000140003c70 libcpmt:syserror.obj
0002:00000c80 ??_C@_0N@KIIEAAIO@network?5down?$AA@ 0000000140003c80 libcpmt:syserror.obj
0002:00000c90 ??_C@_0O@FNPDBHEE@network?5reset?$AA@ 0000000140003c90 libcpmt:syserror.obj
0002:00000ca0 ??_C@_0BE@IFNCKGE@network?5unreachable?$AA@ 0000000140003ca0 libcpmt:syserror.obj
0002:00000cb8 ??_C@_0BA@PFFCAOFK@no?5buffer?5space?$AA@ 0000000140003cb8 libcpmt:syserror.obj
0002:00000cc8 ??_C@_0BB@IEPBLJHK@no?5child?5process?$AA@ 0000000140003cc8 libcpmt:syserror.obj
0002:00000ce0 ??_C@_07PLECNNKG@no?5link?$AA@ 0000000140003ce0 libcpmt:syserror.obj
0002:00000ce8 ??_C@_0BC@NJECKMKE@no?5lock?5available?$AA@ 0000000140003ce8 libcpmt:syserror.obj
0002:00000d00 ??_C@_0BF@PBGGPKKE@no?5message?5available?$AA@ 0000000140003d00 libcpmt:syserror.obj
0002:00000d18 ??_C@_0L@EDOLMPAK@no?5message?$AA@ 0000000140003d18 libcpmt:syserror.obj
0002:00000d28 ??_C@_0BD@EAMBFIDF@no?5protocol?5option?$AA@ 0000000140003d28 libcpmt:syserror.obj
0002:00000d40 ??_C@_0BD@IJDJKDEA@no?5space?5on?5device?$AA@ 0000000140003d40 libcpmt:syserror.obj
0002:00000d58 ??_C@_0BE@MKFDAFMP@no?5stream?5resources?$AA@ 0000000140003d58 libcpmt:syserror.obj
0002:00000d70 ??_C@_0BK@IMCPHCBI@no?5such?5device?5or?5address?$AA@ 0000000140003d70 libcpmt:syserror.obj
0002:00000d90 ??_C@_0P@FDINDDOK@no?5such?5device?$AA@ 0000000140003d90 libcpmt:syserror.obj
0002:00000da0 ??_C@_0BK@NDOCBPGE@no?5such?5file?5or?5directory?$AA@ 0000000140003da0 libcpmt:syserror.obj
0002:00000dc0 ??_C@_0BA@ENLPPKBN@no?5such?5process?$AA@ 0000000140003dc0 libcpmt:syserror.obj
0002:00000dd0 ??_C@_0BA@DOCPFFJG@not?5a?5directory?$AA@ 0000000140003dd0 libcpmt:syserror.obj
0002:00000de0 ??_C@_0N@POEIPGGF@not?5a?5socket?$AA@ 0000000140003de0 libcpmt:syserror.obj
0002:00000df0 ??_C@_0N@LGAPMMPI@not?5a?5stream?$AA@ 0000000140003df0 libcpmt:syserror.obj
0002:00000e00 ??_C@_0O@GLMIBBEG@not?5connected?$AA@ 0000000140003e00 libcpmt:syserror.obj
0002:00000e10 ??_C@_0BC@ENOOLCNF@not?5enough?5memory?$AA@ 0000000140003e10 libcpmt:syserror.obj
0002:00000e28 ??_C@_0O@NHEDABJP@not?5supported?$AA@ 0000000140003e28 libcpmt:syserror.obj
0002:00000e38 ??_C@_0BD@MOLBPMEA@operation?5canceled?$AA@ 0000000140003e38 libcpmt:syserror.obj
0002:00000e50 ??_C@_0BG@KDKHOPCO@operation?5in?5progress?$AA@ 0000000140003e50 libcpmt:syserror.obj
0002:00000e68 ??_C@_0BI@OHIEJAAB@operation?5not?5permitted?$AA@ 0000000140003e68 libcpmt:syserror.obj
0002:00000e80 ??_C@_0BI@LNEGIFLN@operation?5not?5supported?$AA@ 0000000140003e80 libcpmt:syserror.obj
0002:00000e98 ??_C@_0BG@OEMDKMEE@operation?5would?5block?$AA@ 0000000140003e98 libcpmt:syserror.obj
0002:00000eb0 ??_C@_0L@BLPOFLNJ@owner?5dead?$AA@ 0000000140003eb0 libcpmt:syserror.obj
0002:00000ec0 ??_C@_0BC@CIJDGCDI@permission?5denied?$AA@ 0000000140003ec0 libcpmt:syserror.obj
0002:00000ed8 ??_C@_0P@FNPOCJBE@protocol?5error?$AA@ 0000000140003ed8 libcpmt:syserror.obj
0002:00000ee8 ??_C@_0BH@JPPPLHJB@protocol?5not?5supported?$AA@ 0000000140003ee8 libcpmt:syserror.obj
0002:00000f00 ??_C@_0BG@EICBIHDP@read?5only?5file?5system?$AA@ 0000000140003f00 libcpmt:syserror.obj
0002:00000f18 ??_C@_0BO@BJBOMOEJ@resource?5deadlock?5would?5occur?$AA@ 0000000140003f18 libcpmt:syserror.obj
0002:00000f38 ??_C@_0BP@LKNGHENJ@resource?5unavailable?5try?5again?$AA@ 0000000140003f38 libcpmt:syserror.obj
0002:00000f58 ??_C@_0BE@GOIPJJHG@result?5out?5of?5range?$AA@ 0000000140003f58 libcpmt:syserror.obj
0002:00000f70 ??_C@_0BG@MPLKFPAE@state?5not?5recoverable?$AA@ 0000000140003f70 libcpmt:syserror.obj
0002:00000f88 ??_C@_0P@DIIFGFCG@stream?5timeout?$AA@ 0000000140003f88 libcpmt:syserror.obj
0002:00000f98 ??_C@_0P@IPFDMIFL@text?5file?5busy?$AA@ 0000000140003f98 libcpmt:syserror.obj
0002:00000fa8 ??_C@_09KJPPMAOI@timed?5out?$AA@ 0000000140003fa8 libcpmt:syserror.obj
0002:00000fb8 ??_C@_0BO@HACHBEKI@too?5many?5files?5open?5in?5system?$AA@ 0000000140003fb8 libcpmt:syserror.obj
0002:00000fd8 ??_C@_0BE@GHAFMPAH@too?5many?5files?5open?$AA@ 0000000140003fd8 libcpmt:syserror.obj
0002:00000ff0 ??_C@_0P@HCOMKFCC@too?5many?5links?$AA@ 0000000140003ff0 libcpmt:syserror.obj
0002:00001000 ??_C@_0BO@EFGOJEF@too?5many?5symbolic?5link?5levels?$AA@ 0000000140004000 libcpmt:syserror.obj
0002:00001020 ??_C@_0BA@KGKGOOJA@value?5too?5large?$AA@ 0000000140004020 libcpmt:syserror.obj
0002:00001030 ??_C@_0BE@MIEJDDNH@wrong?5protocol?5type?$AA@ 0000000140004030 libcpmt:syserror.obj
0002:00001048 ??_C@_1BK@MGMFAEKH@?$AAk?$AAe?$AAr?$AAn?$AAe?$AAl?$AA3?$AA2?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 0000000140004048 libcpmt:winapisupp.obj
0002:00001068 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 0000000140004068 libcpmt:winapisupp.obj
0002:00001078 ??_C@_07PEJMOBNF@FlsFree?$AA@ 0000000140004078 libcpmt:winapisupp.obj
0002:00001080 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 0000000140004080 libcpmt:winapisupp.obj
0002:00001090 ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 0000000140004090 libcpmt:winapisupp.obj
0002:000010a0 ??_C@_0BM@HCFOFFN@InitializeCriticalSectionEx?$AA@ 00000001400040a0 libcpmt:winapisupp.obj
0002:000010c0 ??_C@_0BE@GPLMMCMH@InitOnceExecuteOnce?$AA@ 00000001400040c0 libcpmt:winapisupp.obj
0002:000010d8 ??_C@_0P@DLHPPCNH@CreateEventExW?$AA@ 00000001400040d8 libcpmt:winapisupp.obj
0002:000010e8 ??_C@_0BB@MEFPJLHN@CreateSemaphoreW?$AA@ 00000001400040e8 libcpmt:winapisupp.obj
0002:00001100 ??_C@_0BD@KIEEOEEH@CreateSemaphoreExW?$AA@ 0000000140004100 libcpmt:winapisupp.obj
0002:00001118 ??_C@_0BG@OGFAJCKC@CreateThreadpoolTimer?$AA@ 0000000140004118 libcpmt:winapisupp.obj
0002:00001130 ??_C@_0BD@LPLEMMDI@SetThreadpoolTimer?$AA@ 0000000140004130 libcpmt:winapisupp.obj
0002:00001148 ??_C@_0CA@FMNJENH@WaitForThreadpoolTimerCallbacks?$AA@ 0000000140004148 libcpmt:winapisupp.obj
0002:00001168 ??_C@_0BF@DCFCCNOC@CloseThreadpoolTimer?$AA@ 0000000140004168 libcpmt:winapisupp.obj
0002:00001180 ??_C@_0BF@FLABGKKM@CreateThreadpoolWait?$AA@ 0000000140004180 libcpmt:winapisupp.obj
0002:00001198 ??_C@_0BC@MGCOHNA@SetThreadpoolWait?$AA@ 0000000140004198 libcpmt:winapisupp.obj
0002:000011b0 ??_C@_0BE@OCIOMIMP@CloseThreadpoolWait?$AA@ 00000001400041b0 libcpmt:winapisupp.obj
0002:000011c8 ??_C@_0BJ@LKGHFHBO@FlushProcessWriteBuffers?$AA@ 00000001400041c8 libcpmt:winapisupp.obj
0002:000011e8 ??_C@_0BP@KALKKPMO@FreeLibraryWhenCallbackReturns?$AA@ 00000001400041e8 libcpmt:winapisupp.obj
0002:00001208 ??_C@_0BK@DFNBACLA@GetCurrentProcessorNumber?$AA@ 0000000140004208 libcpmt:winapisupp.obj
0002:00001228 ??_C@_0BE@FKKLLFLM@CreateSymbolicLinkW?$AA@ 0000000140004228 libcpmt:winapisupp.obj
0002:00001240 ??_C@_0BE@JOGNEJCI@GetCurrentPackageId?$AA@ 0000000140004240 libcpmt:winapisupp.obj
0002:00001258 ??_C@_0P@CDHHOHKP@GetTickCount64?$AA@ 0000000140004258 libcpmt:winapisupp.obj
0002:00001268 ??_C@_0BN@NEEHBBPO@GetFileInformationByHandleEx?$AA@ 0000000140004268 libcpmt:winapisupp.obj
0002:00001288 ??_C@_0BL@KBBHGKCM@SetFileInformationByHandle?$AA@ 0000000140004288 libcpmt:winapisupp.obj
0002:000012a8 ??_C@_0BP@FPNJPEJC@GetSystemTimePreciseAsFileTime?$AA@ 00000001400042a8 libcpmt:winapisupp.obj
0002:000012c8 ??_C@_0BM@HLJJNPAH@InitializeConditionVariable?$AA@ 00000001400042c8 libcpmt:winapisupp.obj
0002:000012e8 ??_C@_0BG@BFNILBLN@WakeConditionVariable?$AA@ 00000001400042e8 libcpmt:winapisupp.obj
0002:00001300 ??_C@_0BJ@PGPPEPCC@WakeAllConditionVariable?$AA@ 0000000140004300 libcpmt:winapisupp.obj
0002:00001320 ??_C@_0BJ@JEBJOJFJ@SleepConditionVariableCS?$AA@ 0000000140004320 libcpmt:winapisupp.obj
0002:00001340 ??_C@_0BC@MMLHEBPB@InitializeSRWLock?$AA@ 0000000140004340 libcpmt:winapisupp.obj
0002:00001358 ??_C@_0BI@OMNLIJDB@AcquireSRWLockExclusive?$AA@ 0000000140004358 libcpmt:winapisupp.obj
0002:00001370 ??_C@_0BL@OGHFEMNA@TryAcquireSRWLockExclusive?$AA@ 0000000140004370 libcpmt:winapisupp.obj
0002:00001390 ??_C@_0BI@HMIEPCNJ@ReleaseSRWLockExclusive?$AA@ 0000000140004390 libcpmt:winapisupp.obj
0002:000013a8 ??_C@_0BK@LGACAGIC@SleepConditionVariableSRW?$AA@ 00000001400043a8 libcpmt:winapisupp.obj
0002:000013c8 ??_C@_0BF@GGPHFPJA@CreateThreadpoolWork?$AA@ 00000001400043c8 libcpmt:winapisupp.obj
0002:000013e0 ??_C@_0BF@NHDAIMMO@SubmitThreadpoolWork?$AA@ 00000001400043e0 libcpmt:winapisupp.obj
0002:000013f8 ??_C@_0BE@NPHIPNPD@CloseThreadpoolWork?$AA@ 00000001400043f8 libcpmt:winapisupp.obj
0002:00001410 ??_C@_0BA@IHGNDAEB@CompareStringEx?$AA@ 0000000140004410 libcpmt:winapisupp.obj
0002:00001420 ??_C@_0BA@ONOKGCMP@GetLocaleInfoEx?$AA@ 0000000140004420 libcpmt:winapisupp.obj
0002:00001430 ??_C@_0O@KKBNKAPF@LCMapStringEx?$AA@ 0000000140004430 libcpmt:winapisupp.obj
0002:00001458 ??_C@_08LHIGDGEJ@Freeable?$AA@ 0000000140004458 libGroundfloor:String.obj
0002:00001464 ??_C@_06ENNEIMBA@String?$AA@ 0000000140004464 libGroundfloor:String.obj
0002:00001470 ??_C@_0GJ@MODPPMLB@Groundfloor?3?3String?5Warning?3?5Mem@ 0000000140004470 libGroundfloor:String.obj
0002:000014e8 ??_7Freeable@Groundfloor@@6B@ 00000001400044e8 libGroundfloor:String.obj
0002:00001508 ??_7String@Groundfloor@@6B@ 0000000140004508 libGroundfloor:String.obj
0002:00001520 ??_C@_09NPKOHMNF@?$CFs?$EA?$CF016x?$AA?$AA@ 0000000140004520 libGroundfloor:Freeable.obj
0002:00001550 _load_config_used 0000000140004550 msvcrt:loadcfg.obj
0002:00001650 ??_R4type_info@@6B@ 0000000140004650 msvcrt:std_type_info_static.obj
0002:00001678 ??_R3type_info@@8 0000000140004678 msvcrt:std_type_info_static.obj
0002:00001690 ??_R2type_info@@8 0000000140004690 msvcrt:std_type_info_static.obj
0002:000016a0 ??_R1A@?0A@EA@type_info@@8 00000001400046a0 msvcrt:std_type_info_static.obj
0002:000016c8 ??_R2String@Groundfloor@@8 00000001400046c8 libGroundfloor:String.obj
0002:000016e0 ??_R3Freeable@Groundfloor@@8 00000001400046e0 libGroundfloor:String.obj
0002:000016f8 ??_R4Freeable@Groundfloor@@6B@ 00000001400046f8 libGroundfloor:String.obj
0002:00001720 ??_R2Freeable@Groundfloor@@8 0000000140004720 libGroundfloor:String.obj
0002:00001730 ??_R3String@Groundfloor@@8 0000000140004730 libGroundfloor:String.obj
0002:00001748 ??_R1A@?0A@EA@Freeable@Groundfloor@@8 0000000140004748 libGroundfloor:String.obj
0002:00001770 ??_R4String@Groundfloor@@6B@ 0000000140004770 libGroundfloor:String.obj
0002:00001798 ??_R1A@?0A@EA@String@Groundfloor@@8 0000000140004798 libGroundfloor:String.obj
0002:00001a38 __rtc_iaa 0000000140004a38 msvcrt:_initsect_.obj
0002:00001a40 __rtc_izz 0000000140004a40 msvcrt:_initsect_.obj
0002:00001a48 __rtc_taa 0000000140004a48 msvcrt:_initsect_.obj
0002:00001a50 __rtc_tzz 0000000140004a50 msvcrt:_initsect_.obj
0002:00001bb0 __IMPORT_DESCRIPTOR_KERNEL32 0000000140004bb0 kernel32:KERNEL32.dll
0002:00001bc4 __IMPORT_DESCRIPTOR_VCRUNTIME140 0000000140004bc4 vcruntime:VCRUNTIME140.dll
0002:00001bd8 __IMPORT_DESCRIPTOR_api-ms-win-crt-stdio-l1-1-0 0000000140004bd8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:00001bec __IMPORT_DESCRIPTOR_api-ms-win-crt-heap-l1-1-0 0000000140004bec ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:00001c00 __IMPORT_DESCRIPTOR_api-ms-win-crt-runtime-l1-1-0 0000000140004c00 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:00001c14 __IMPORT_DESCRIPTOR_api-ms-win-crt-math-l1-1-0 0000000140004c14 ucrt:api-ms-win-crt-math-l1-1-0.dll
0002:00001c28 __IMPORT_DESCRIPTOR_api-ms-win-crt-locale-l1-1-0 0000000140004c28 ucrt:api-ms-win-crt-locale-l1-1-0.dll
0002:00001c3c __NULL_IMPORT_DESCRIPTOR 0000000140004c3c kernel32:KERNEL32.dll
0003:00000000 __security_cookie 0000000140006000 msvcrt:gs_cookie.obj
0003:00000008 __security_cookie_complement 0000000140006008 msvcrt:gs_cookie.obj
0003:00000010 __scrt_native_dllmain_reason 0000000140006010 msvcrt:utility.obj
0003:00000014 __scrt_default_matherr 0000000140006014 msvcrt:matherr.obj
0003:00000018 __isa_available 0000000140006018 msvcrt:_cpu_disp_.obj
0003:0000001c __isa_enabled 000000014000601c msvcrt:_cpu_disp_.obj
0003:00000020 __memcpy_nt_iters 0000000140006020 msvcrt:_cpu_disp_.obj
0003:00000030 __scrt_ucrt_dll_is_in_use 0000000140006030 msvcrt:ucrt_stubs.obj
0003:00000038 ??_R0?AVtype_info@@@8 0000000140006038 msvcrt:std_type_info_static.obj
0003:00000058 ??_R0?AVFreeable@Groundfloor@@@8 0000000140006058 libGroundfloor:String.obj
0003:00000088 ??_R0?AVString@Groundfloor@@@8 0000000140006088 libGroundfloor:String.obj
0003:00000630 __scrt_current_native_startup_state 0000000140006630 msvcrt:utility.obj
0003:00000638 __scrt_native_startup_lock 0000000140006638 msvcrt:utility.obj
0003:00000680 ?__type_info_root_node@@3U__type_info_node@@A 0000000140006680 msvcrt:tncleanup.obj
0003:00000690 ?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA 0000000140006690 msvcrt:default_local_stdio_options.obj
0003:00000698 __scrt_debugger_hook_flag 0000000140006698 msvcrt:utility_desktop.obj
0003:0000069c __favor 000000014000669c msvcrt:_cpu_disp_.obj
0003:000006a0 __encodedKERNEL32Functions 00000001400066a0 libcpmt:winapisupp.obj
0003:000007e0 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA 00000001400067e0 output.s.obj
0003:000007e8 __dyn_tls_dtor_callback 00000001400067e8 <common>
0003:000007f0 __dyn_tls_init_callback 00000001400067f0 <common>
entry point at 0001:0000076c
Static symbols
0002:ffffd000 .idata$6 0000000140000000 ucrt:api-ms-win-crt-string-l1-1-0.dll
0002:ffffd000 .idata$6 0000000140000000 ucrt:api-ms-win-crt-convert-l1-1-0.dll
0001:000004e0 $$000000 00000001400014e0 msvcrt:_amdsecgs_.obj
0001:00000514 ?pre_c_initialization@@YAHXZ 0000000140001514 f msvcrt:exe_main.obj
0001:000005c4 ?post_pgo_initialization@@YAHXZ 00000001400015c4 f msvcrt:exe_main.obj
0001:000005d4 ?pre_cpp_initialization@@YAXXZ 00000001400015d4 f msvcrt:exe_main.obj
0001:000005f0 ?__scrt_common_main_seh@@YAHXZ 00000001400015f0 f msvcrt:exe_main.obj
0001:000008bc capture_previous_context 00000001400018bc f msvcrt:gs_report.obj
0001:00001140 ?initialize_pointers@@YAHXZ 0000000140002140 f libcpmt:winapisupp.obj
0001:00001740 $$000000 0000000140002740 msvcrt:_guard_dispatch_.obj
0001:00001760 ?filt$0@?0??__scrt_common_main_seh@@YAHXZ@4HA 0000000140002760 f msvcrt:exe_main.obj
0001:0000177e __scrt_is_nonwritable_in_current_image$filt$0 000000014000277e f msvcrt:utility.obj
0002:000001d0 ?pre_cpp_initializer@@3P6AXXZEA 00000001400031d0 msvcrt:exe_main.obj
0002:000001e8 ?pre_c_initializer@@3P6AHXZEA 00000001400031e8 msvcrt:exe_main.obj
0002:000001f0 ?post_pgo_initializer@@3P6AHXZEA 00000001400031f0 msvcrt:exe_main.obj
0002:000001f8 ?pinit@@3P6AHXZEA 00000001400031f8 libcpmt:winapisupp.obj
0002:00000240 GS_ExceptionPointers 0000000140003240 msvcrt:gs_report.obj
0002:00000250 ?_Sys_errtab@std@@3QBU_Sys_errtab_t@1@B 0000000140003250 libcpmt:syserror.obj
0002:00000730 ?_Win_errtab@std@@3QBU_Win_errtab_t@1@B 0000000140003730 libcpmt:syserror.obj
0002:00001440 $SG4294967234 0000000140004440 output.s.obj
0002:00001450 $SG4294967233 0000000140004450 output.s.obj
0002:00001a58 $unwind$_vfprintf_l 0000000140004a58 output.s.obj
0002:00001a58 $unwind$printf 0000000140004a58 output.s.obj
0002:00001a60 $unwind$??0String@Groundfloor@@QEAA@PEBD@Z 0000000140004a60 libGroundfloor:String.obj
0002:00001a60 $unwind$??_GFreeable@Groundfloor@@UEAAPEAXI@Z 0000000140004a60 libGroundfloor:String.obj
0002:00001a60 $unwind$?pre_c_initialization@@YAHXZ 0000000140004a60 msvcrt:exe_main.obj
0002:00001a60 $unwind$__scrt_initialize_crt 0000000140004a60 msvcrt:utility.obj
0002:00001a60 $unwind$?initialize_pointers@@YAHXZ 0000000140004a60 libcpmt:winapisupp.obj
0002:00001a60 $unwind$??1String@Groundfloor@@UEAA@XZ 0000000140004a60 libGroundfloor:String.obj
0002:00001a60 $unwind$__scrt_release_startup_lock 0000000140004a60 msvcrt:utility.obj
0002:00001a60 $unwind$__raise_securityfailure 0000000140004a60 msvcrt:gs_report.obj
0002:00001a60 $unwind$__scrt_uninitialize_crt 0000000140004a60 msvcrt:utility.obj
0002:00001a60 $unwind$??_Gtype_info@@UEAAPEAXI@Z 0000000140004a60 msvcrt:std_type_info_static.obj
0002:00001a60 $unwind$_onexit 0000000140004a60 msvcrt:utility.obj
0002:00001a68 $unwind$_RTC_Terminate 0000000140004a68 msvcrt:_initsect_.obj
0002:00001a68 $unwind$_RTC_Initialize 0000000140004a68 msvcrt:_initsect_.obj
0002:00001a68 $unwind$?setSize@String@Groundfloor@@QEAA_NI@Z 0000000140004a68 libGroundfloor:String.obj
0002:00001a68 $unwind$?DebugString@Freeable@Groundfloor@@UEAAHPEADJ@Z 0000000140004a68 libGroundfloor:Freeable.obj
0002:00001a68 $unwind$??_GString@Groundfloor@@UEAAPEAXI@Z 0000000140004a68 libGroundfloor:String.obj
0002:00001a74 $unwind$?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140004a74 libGroundfloor:String.obj
0002:00001a88 $chain$0$?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140004a88 libGroundfloor:String.obj
0002:00001a9c $chain$1$?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140004a9c libGroundfloor:String.obj
0002:00001aac $unwind$?append@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140004aac libGroundfloor:String.obj
0002:00001ac0 $unwind$sprintf 0000000140004ac0 libGroundfloor:Freeable.obj
0002:00001ad0 $xdatasym 0000000140004ad0 msvcrt:_amdsecgs_.obj
0002:00001ad4 $unwind$?pre_cpp_initialization@@YAXXZ 0000000140004ad4 msvcrt:exe_main.obj
0002:00001ad4 $unwind$__scrt_is_managed_app 0000000140004ad4 msvcrt:utility_desktop.obj
0002:00001ad4 $unwind$atexit 0000000140004ad4 msvcrt:utility.obj
0002:00001ad4 $unwind$__scrt_acquire_startup_lock 0000000140004ad4 msvcrt:utility.obj
0002:00001ad4 $unwind$mainCRTStartup 0000000140004ad4 msvcrt:exe_main.obj
0002:00001ad4 $unwind$__scrt_initialize_default_local_stdio_options 0000000140004ad4 msvcrt:default_local_stdio_options.obj
0002:00001ad4 $unwind$__scrt_unhandled_exception_filter 0000000140004ad4 msvcrt:utility_desktop.obj
0002:00001ad4 $unwind$?post_pgo_initialization@@YAHXZ 0000000140004ad4 msvcrt:exe_main.obj
0002:00001adc $unwind$?__scrt_common_main_seh@@YAHXZ 0000000140004adc msvcrt:exe_main.obj
0002:00001b14 $unwind$?filt$0@?0??__scrt_common_main_seh@@YAHXZ@4HA 0000000140004b14 msvcrt:exe_main.obj
0002:00001b1c $unwind$__report_gsfailure 0000000140004b1c msvcrt:gs_report.obj
0002:00001b24 $unwind$capture_previous_context 0000000140004b24 msvcrt:gs_report.obj
0002:00001b30 $unwind$__scrt_is_nonwritable_in_current_image 0000000140004b30 msvcrt:utility.obj
0002:00001b50 $unwind$__scrt_is_nonwritable_in_current_image$filt$0 0000000140004b50 msvcrt:utility.obj
0002:00001b58 $unwind$__scrt_initialize_onexit_tables 0000000140004b58 msvcrt:utility.obj
0002:00001b64 $unwind$__security_init_cookie 0000000140004b64 msvcrt:gs_support.obj
0002:00001b70 $unwind$__scrt_fastfail 0000000140004b70 msvcrt:utility_desktop.obj
0002:00001b80 $unwind$__isa_available_init 0000000140004b80 msvcrt:_cpu_disp_.obj
0002:00001b98 $xdatasym 0000000140004b98 msvcrt:_guard_dispatch_.obj
0002:00001b9c $unwind$main 0000000140004b9c output.s.obj
0002:00001ba4 $unwind$?square@@YAHH@Z 0000000140004ba4 output.s.obj
0002:00001f78 .idata$6 0000000140004f78 kernel32:KERNEL32.dll
0002:00001fb2 .idata$6 0000000140004fb2 vcruntime:VCRUNTIME140.dll
0002:000021d8 .idata$6 00000001400051d8 ucrt:api-ms-win-crt-stdio-l1-1-0.dll
0002:000021f8 .idata$6 00000001400051f8 ucrt:api-ms-win-crt-heap-l1-1-0.dll
0002:00002218 .idata$6 0000000140005218 ucrt:api-ms-win-crt-runtime-l1-1-0.dll
0002:0000223a .idata$6 000000014000523a ucrt:api-ms-win-crt-math-l1-1-0.dll
0002:0000225a .idata$6 000000014000525a ucrt:api-ms-win-crt-locale-l1-1-0.dll
0003:000000c0 GS_ExceptionRecord 00000001400060c0 msvcrt:gs_report.obj
0003:00000160 GS_ContextRecord 0000000140006160 msvcrt:gs_report.obj
0003:00000634 ?module_local_atexit_table_initialized@@3_NA 0000000140006634 msvcrt:utility.obj
0003:00000640 ?module_local_atexit_table@@3U_onexit_table_t@@A 0000000140006640 msvcrt:utility.obj
0003:00000658 ?module_local_at_quick_exit_table@@3U_onexit_table_t@@A 0000000140006658 msvcrt:utility.obj
0003:00000670 ?is_initialized_as_dll@@3_NA 0000000140006670 msvcrt:utility.obj
0004:00000000 $pdata$_vfprintf_l 0000000140007000 output.s.obj
0004:0000000c $pdata$printf 000000014000700c output.s.obj
0004:00000018 $pdata$??_GFreeable@Groundfloor@@UEAAPEAXI@Z 0000000140007018 libGroundfloor:String.obj
0004:00000024 $pdata$??_GString@Groundfloor@@UEAAPEAXI@Z 0000000140007024 libGroundfloor:String.obj
0004:00000030 $pdata$??0String@Groundfloor@@QEAA@PEBD@Z 0000000140007030 libGroundfloor:String.obj
0004:0000003c $pdata$??1String@Groundfloor@@UEAA@XZ 000000014000703c libGroundfloor:String.obj
0004:00000048 $pdata$?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140007048 libGroundfloor:String.obj
0004:00000054 $pdata$0$?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140007054 libGroundfloor:String.obj
0004:00000060 $pdata$1$?setValue@String@Groundfloor@@QEAA_NPEBDI@Z 0000000140007060 libGroundfloor:String.obj
0004:0000006c $pdata$?append@String@Groundfloor@@QEAA_NPEBDI@Z 000000014000706c libGroundfloor:String.obj
0004:00000078 $pdata$?setSize@String@Groundfloor@@QEAA_NI@Z 0000000140007078 libGroundfloor:String.obj
0004:00000084 $pdata$sprintf 0000000140007084 libGroundfloor:Freeable.obj
0004:00000090 $pdata$?DebugString@Freeable@Groundfloor@@UEAAHPEADJ@Z 0000000140007090 libGroundfloor:Freeable.obj
0004:000000a8 $pdata$?pre_c_initialization@@YAHXZ 00000001400070a8 msvcrt:exe_main.obj
0004:000000b4 $pdata$?post_pgo_initialization@@YAHXZ 00000001400070b4 msvcrt:exe_main.obj
0004:000000c0 $pdata$?pre_cpp_initialization@@YAXXZ 00000001400070c0 msvcrt:exe_main.obj
0004:000000cc $pdata$?__scrt_common_main_seh@@YAHXZ 00000001400070cc msvcrt:exe_main.obj
0004:000000d8 $pdata$mainCRTStartup 00000001400070d8 msvcrt:exe_main.obj
0004:000000e4 $pdata$??_Gtype_info@@UEAAPEAXI@Z 00000001400070e4 msvcrt:std_type_info_static.obj
0004:000000f0 $pdata$__raise_securityfailure 00000001400070f0 msvcrt:gs_report.obj
0004:000000fc $pdata$__report_gsfailure 00000001400070fc msvcrt:gs_report.obj
0004:00000108 $pdata$capture_previous_context 0000000140007108 msvcrt:gs_report.obj
0004:00000114 $pdata$__scrt_acquire_startup_lock 0000000140007114 msvcrt:utility.obj
0004:00000120 $pdata$__scrt_initialize_crt 0000000140007120 msvcrt:utility.obj
0004:0000012c $pdata$__scrt_initialize_onexit_tables 000000014000712c msvcrt:utility.obj
0004:00000138 $pdata$__scrt_is_nonwritable_in_current_image 0000000140007138 msvcrt:utility.obj
0004:00000144 $pdata$__scrt_release_startup_lock 0000000140007144 msvcrt:utility.obj
0004:00000150 $pdata$__scrt_uninitialize_crt 0000000140007150 msvcrt:utility.obj
0004:0000015c $pdata$_onexit 000000014000715c msvcrt:utility.obj
0004:00000168 $pdata$atexit 0000000140007168 msvcrt:utility.obj
0004:00000174 $pdata$__security_init_cookie 0000000140007174 msvcrt:gs_support.obj
0004:00000180 $pdata$__scrt_initialize_default_local_stdio_options 0000000140007180 msvcrt:default_local_stdio_options.obj
0004:0000018c $pdata$__scrt_fastfail 000000014000718c msvcrt:utility_desktop.obj
0004:00000198 $pdata$__scrt_is_managed_app 0000000140007198 msvcrt:utility_desktop.obj
0004:000001a4 $pdata$__scrt_unhandled_exception_filter 00000001400071a4 msvcrt:utility_desktop.obj
0004:000001b0 $pdata$_RTC_Initialize 00000001400071b0 msvcrt:_initsect_.obj
0004:000001bc $pdata$_RTC_Terminate 00000001400071bc msvcrt:_initsect_.obj
0004:000001c8 $pdata$__isa_available_init 00000001400071c8 msvcrt:_cpu_disp_.obj
0004:000001d4 $pdata$?initialize_pointers@@YAHXZ 00000001400071d4 libcpmt:winapisupp.obj
0004:000001e0 $pdata$main 00000001400071e0 output.s.obj
0004:000001ec $pdata$?square@@YAHH@Z 00000001400071ec output.s.obj
0004:00000204 $pdata$?filt$0@?0??__scrt_common_main_seh@@YAHXZ@4HA 0000000140007204 msvcrt:exe_main.obj
0004:00000210 $pdata$__scrt_is_nonwritable_in_current_image$filt$0 0000000140007210 msvcrt:utility.obj

37
test/pe32-tests.js Normal file
View File

@@ -0,0 +1,37 @@
// Copyright (c) 2017, Compiler Explorer Authors
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
const chai = require('chai');
should = chai.should(),
assert = chai.assert,
LabelReconstructor = require('../lib/pe32-support').labelReconstructor,
logger = require('../lib/logger').logger;
describe('Basic reconstructions', function () {
it('No lines', function () {
const lines = [];
const reconstructor = new LabelReconstructor(lines, false, false);
reconstructor.asmLines.length.should.equal(0);
});
});