rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
97.79k stars 12.66k forks source link

unreachable!("state is never set to invalid values") is reached #127979

Open janhohenheim opened 3 months ago

janhohenheim commented 3 months ago

I tried this code: Clone https://github.com/TheBevyFlock/bevy_quickstart and run cargo run --release on Windows

I expected to see this happen: Literally anything else than the standard library hitting unreachable code.

Instead, this happened: We hit this line of unreachable code: https://github.com/rust-lang/rust/blob/22a5267c83a3e17f2b763279eb24bb632c45dc6b/library/std/src/sys/sync/once/futex.rs

Meta

rustc --version --verbose:

rustc 1.81.0-nightly (5affbb171 2024-07-18)
binary: rustc
commit-hash: 5affbb17153bc69a9d5d8d2faa4e399a014a211e
commit-date: 2024-07-18
host: x86_64-pc-windows-msvc
release: 1.81.0-nightly
LLVM version: 18.1.7

image

Backtrace

``` thread 'main' panicked at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e\library\std\src\sync\once.rs:217:20: internal error: entered unreachable code: state is never set to invalid values stack backtrace: 0: 0x7ffae5f03e3d - std::backtrace_rs::backtrace::dbghelp64::trace at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\..\..\backtrace\src\backtrace\dbghelp64.rs:91 1: 0x7ffae5f03e3d - std::backtrace_rs::backtrace::trace_unsynchronized at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66 2: 0x7ffae5f03e3d - std::sys::backtrace::_print_fmt at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\sys\backtrace.rs:65 3: 0x7ffae5f03e3d - std::sys::backtrace::impl$0::print::impl$0::fmt at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\sys\backtrace.rs:40 4: 0x7ffae5f34639 - core::fmt::rt::Argument::fmt at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\core\src\fmt\rt.rs:173 5: 0x7ffae5f34639 - core::fmt::write at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\core\src\fmt\mod.rs:1182 6: 0x7ffae5efa941 - std::io::Write::write_fmt at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\io\mod.rs:1827 7: 0x7ffae5f06ed7 - std::panicking::default_hook::closure$1 at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:269 8: 0x7ffae5f06ac9 - std::panicking::default_hook at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:296 9: 0x7ffae5f076e2 - std::panicking::rust_panic_with_hook at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:800 10: 0x7ffae5f074ef - std::panicking::begin_panic_handler::closure$0 at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:667 11: 0x7ffae5f047af - std::sys::backtrace::__rust_end_short_backtrace at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\sys\backtrace.rs:168 12: 0x7ffae5f07106 - std::panicking::begin_panic_handler at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:665 13: 0x7ffae5f5d6b4 - core::panicking::panic_fmt at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\core\src\panicking.rs:74 14: 0x7ff7dfc60e01 - main 15: 0x7ff7dfc5e391 - main 16: 0x7ff7dfc5cc95 - main 17: 0x7ffade9fe3e2 - bevy_app::app::App::add_boxed_plugin::he4742dca059e0ec1 18: 0x7ff7dfc42aff - main 19: 0x7ff7dfc4104f - main 20: 0x7ff7dfc4103e - main 21: 0x7ffae5eeb969 - std::rt::lang_start_internal::closure$2 at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\rt.rs:141 22: 0x7ffae5eeb969 - std::panicking::try::do_call at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:557 23: 0x7ffae5eeb969 - std::panicking::try at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:521 24: 0x7ffae5eeb969 - std::panic::catch_unwind at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panic.rs:350 25: 0x7ffae5eeb969 - std::rt::lang_start_internal at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\rt.rs:141 26: 0x7ff7dfc42cec - main 27: 0x7ff7dfcd5ba0 - invoke_main at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78 28: 0x7ff7dfcd5ba0 - __scrt_common_main_seh at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288 29: 0x7ffc426a257d - BaseThreadInitThunk 30: 0x7ffc4366af28 - RtlUserThreadStart error: process didn't exit successfully: `target\release\bevy_quickstart.exe` (exit code: 101) ```

workingjubilee commented 3 months ago

@janhohenheim Can you bisect this to a specific commit?

https://github.com/rust-lang/cargo-bisect-rustc

workingjubilee commented 3 months ago

Also, can you specify your Windows version? Just in case.

janhohenheim commented 3 months ago

@workingjubilee sure, will do later. First, I'm trying to narrow the example a bit down.

tgross35 commented 3 months ago

For future reference, permalink at that version https://github.com/rust-lang/rust/blob/22a5267c83a3e17f2b763279eb24bb632c45dc6b/library/std/src/sys/sync/once/futex.rs

You should try the nightly too, @ChrisDenton recently did some changes there that may have happened to fix things

janhohenheim commented 3 months ago

@tgross35 thanks for the hint, updated the description :) Nightly is hitting the same thing

janhohenheim commented 3 months ago

Alright, added my Windows system information and linked to a smaller example. Will run cargo-bisect now.

tgross35 commented 3 months ago

For your bevy_dylib_crash repo, I hit what seems to be an intentional panic somewhere else, not sure if this means it's getting past the point where your unreachable!() would come up or stopping before it

    Finished `release` profile [optimized] target(s) in 0.32s
     Running `target\release\bevy_quickstart.exe`
thread 'main' panicked at C:\Users\tmgross\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bevy_asset-0.14.0\src\io\source.rs:503:21:
Failed to create file watcher from path "assets", Error { kind: Generic("Input watch path is neither a file nor a directory."), paths: [] }
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\panicking.rs:661
   1: core::panicking::panic_fmt
             at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\core\src\panicking.rs:74
   2: bevy_asset::io::source::AssetSource::build
   3: bevy_asset::io::source::AssetSourceBuilder::build
   4: bevy_asset::io::source::AssetSourceBuilders::build_sources
   5: <bevy_asset::AssetPlugin as bevy_app::plugin::Plugin>::build
   6: bevy_app::app::App::add_boxed_plugin
   7: bevy_app::plugin_group::PluginGroupBuilder::finish
   8: main
   9: main
  10: main
  11: std::rt::lang_start_internal
             at /rustc/bcf94dec5ba6838e435902120c0384c360126a26/library\std\src\rt.rs:141
  12: main
  13: invoke_main
             at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  14: __scrt_common_main_seh
             at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  15: BaseThreadInitThunk
  16: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: process didn't exit successfully: `target\release\bevy_quickstart.exe` (exit code: 101)

Just testing with the latest:

rustc 1.81.0-nightly (5affbb171 2024-07-18)
binary: rustc
commit-hash: 5affbb17153bc69a9d5d8d2faa4e399a014a211e
commit-date: 2024-07-18
host: x86_64-pc-windows-msvc
release: 1.81.0-nightly
LLVM version: 18.1.7

Windows 11 23H2 22631.3380

I have a slightly newer version of Windows but otherwise things look the same. Maybe try updating, but not until after the bisect completes :)

(also I textified your system info)

janhohenheim commented 3 months ago

@tgross35 oh sorry, I have "simplified" the example too much. That's my bad. Can you try with https://github.com/TheBevyFlock/bevy_quickstart ? Just running cargo run --release should produce the described result.

tgross35 commented 3 months ago

Ah, yeah reproduced with the quickstart

tgross35 commented 3 months ago

Are you running a bisect, or still trying to minimize? Unfortunate that this takes almost 3 minutes to compile

tgross35 commented 3 months ago

Relevant bit with RUST_BACKTRACE=full

  11:     0x7ffa909b47af - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\sys\backtrace.rs:168
  12:     0x7ffa909b7106 - std::panicking::begin_panic_handler
                               at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:665
  13:     0x7ffa90a0d6b4 - core::panicking::panic_fmt
                               at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\core\src\panicking.rs:74
  14:     0x7ff6d1364176 - _guard_xfg_dispatch_icall_nop
  15:     0x7ff6d1366803 - _guard_xfg_dispatch_icall_nop
  16:     0x7ff6d133c711 - <bevy_quickstart::game::assets::HandleMap<bevy_quickstart::game::assets::ImageKey> as bevy_ecs::world::FromWorld>::from_world::h409ade5f5f444d1b
  17:     0x7ff6d134fd90 - <bevy_quickstart::AppPlugin as bevy_app::plugin::Plugin>::build::h2e1d5ae2b1f18546
  18:     0x7ffa44ad6b47 - bevy_app::app::App::add_boxed_plugin::h671372d46ee73030
  19:     0x7ff6d135f121 - <bevy_quickstart::AppSet as bevy_ecs::schedule::set::SystemSet>::dyn_hash::h07f7da5483ff379d
  20:     0x7ff6d135e4fa - <bevy_quickstart::AppSet as bevy_ecs::schedule::set::SystemSet>::dyn_hash::h07f7da5483ff379d
  21:     0x7ff6d135e4e9 - <bevy_quickstart::AppSet as bevy_ecs::schedule::set::SystemSet>::dyn_hash::h07f7da5483ff379d
  22:     0x7ffa9099b969 - std::rt::lang_start_internal::closure$2
                               at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\rt.rs:141
  23:     0x7ffa9099b969 - std::panicking::try::do_call
                               at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:557
tgross35 commented 3 months ago

This does not reproduce in debug mode, interesting

janhohenheim commented 3 months ago

@tgross35 minimizing is proving very annoying. I've asked a friend with a pretty fast machine in the meantime to run the bisect.

janhohenheim commented 3 months ago

This does not reproduce in debug mode, interesting

Note that there are some custom settings in the release profile, namely:

[profile.release]
codegen-units = 1
lto = "thin"
opt-level = "s"
strip = "debuginfo"

I do not know if any of these is relevant.

ChrisDenton commented 3 months ago

I've not looked at this properly yet but my off the cuff guess would be this is a compiler issue around dylibs. Specifically I would try lto = true instead of "thin".

Some notes off the top of my head:

Other things you can do is to try minimizing dependencies and features (e.g. default-features = false) as well as removing anything else not necessary (e.g. special compiler flags). Still, bevy is a large framework so minimizing may be tricky.

tgross35 commented 3 months ago

Indeed! Seems like LTO is the difference

tgross35 commented 3 months ago

Testing some more: this happens with either lto = "thin" and lto = true on both stable (1.79.0) and nightly.

janhohenheim commented 3 months ago

@ChrisDenton I've got the information about this failing on stable from a user (ping @rparrett) but can't verify it on my machine as I can't get the release to build at all on stable due to the well-known "Too many symbols" issue.

As for bisect: my friend @bash reports that the nightly on 2024-07-17 already fails with a different error:

thread 'main' panicked at /rustc/032be6f7bbe091c7dfa29f115e94b9cc9bae1758\library\std\src\sync\once.rs:217:20:
assertion failed: state_and_queue.addr() & STATE_MASK == RUNNING
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `target-bisector-nightly-2024-07-17-x86_64-pc-windows-msvc\release\bevy_quickstart.exe` (exit code: 101)

Interestingly, this is the same error that I got with an entirely different setup: https://github.com/rust-lang/rustc_codegen_cranelift/issues/1508#issuecomment-2209541724 which I assumed to be cranelift's fault, as I did not get that error using LLVM as a backend in that case.

janhohenheim commented 3 months ago

Testing some more: this happens with either lto = "thin" and lto = true on both stable (1.79.0) and nightly.

Thanks for verifying that this indeed fails on stable.

ChrisDenton commented 3 months ago

Ah, it's a very different error on stable. The one in the OP would not be possible.

workingjubilee commented 3 months ago

That futex code isn't used by Windows on stable.

workingjubilee commented 3 months ago

When reporting "other people hit this too", you must determine the exact cause of each failure. It cannot simply be "it failed". You should also NOT list a compiler version if you don't have a confirmed, clean-build on-stable repro. It is quite possible there are 5 different bugs here.

janhohenheim commented 3 months ago

@workingjubilee fair enough, sorry. I can personally confirm that cargo 1.81.0-nightly hits this backtrace:

Backtrace ``` thread 'main' panicked at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e\library\std\src\sync\once.rs:217:20: internal error: entered unreachable code: state is never set to invalid values stack backtrace: 0: std::panicking::begin_panic_handler at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:665 1: core::panicking::panic_fmt at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\core\src\panicking.rs:74 2: _guard_xfg_dispatch_icall_nop 3: _guard_xfg_dispatch_icall_nop 4: as bevy_ecs::world::FromWorld>::from_world 5: ::build 6: bevy_app::app::App::add_boxed_plugin 7: ::dyn_hash 8: ::dyn_hash 9: ::dyn_hash 10: std::rt::lang_start_internal::closure$2 at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\rt.rs:141 11: std::panicking::try::do_call at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:557 12: std::panicking::try at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panicking.rs:521 13: std::panic::catch_unwind at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\panic.rs:350 14: std::rt::lang_start_internal at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e/library\std\src\rt.rs:141 15: main 16: invoke_main at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78 17: __scrt_common_main_seh at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288 18: BaseThreadInitThunk 19: RtlUserThreadStart ```

I assumed that futex was at fault because that is the only place where this error message appears in the repo. Googling that error message verbatim tells me that the only other place it appears in is a library called rustix-futex-sync, which does not appear in my Cargo.lock.

ChrisDenton commented 3 months ago

If two different implementations (in stable and nightly) are hitting an error then that strongly suggests this is a dylib/lto issue and not an issue with the code itself.

rparrett commented 3 months ago

@ChrisDenton I've got the information about this failing on stable from a user (ping @rparrett) but can't verify it on my machine as I can't get the release to build at all on stable due to the well-known "Too many symbols" issue.

This was a miscommunication I guess. I never saw this panic, just "too many symbols."

janhohenheim commented 3 months ago

If two different implementations (in stable and nightly) are hitting an error then that strongly suggests this is a dylib/lto issue and not an issue with the code itself.

Looks like so far, the only person able to run into unreachable! on stable is @tgross35. Are you sure it was unreachable! and not assertion failed: state_and_queue.addr() & STATE_MASK == RUNNING? I'm asking because that is the error I get when using the nightly that was published around the time of the last stable.

ChrisDenton commented 3 months ago

I can reproduce a stable error reliably (at least on my machine) with https://github.com/ChrisDenton/bevy_dylab_crash/tree/main

     Running `target\release\bevy_quickstart.exe`
thread 'main' panicked at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\sync\once.rs:208:20:
assertion failed: state_and_queue.addr() & STATE_MASK == RUNNING
tgross35 commented 3 months ago

Didn't read close enough before, but that is indeed the same message I get on stable with https://github.com/TheBevyFlock/bevy_quickstart

janhohenheim commented 3 months ago

Alright, that at least confirms that the unreachable! execution is indeed only happening on nightly.

janhohenheim commented 3 months ago

About the state_and_queue.addr() & STATE_MASK == RUNNING: is that kind of error a user error (Bevy in this case) or a standard library bug?

bash commented 3 months ago

I can reproduce a stable error reliably (at least on my machine) with ChrisDenton/bevy_dylab_crash@main

Whoa that's a nice minimal example (well more minimal than the template I guess 😆).

I get the original error when I run this with the current nightly (2024-07-18):

     Running `target\release\bevy_quickstart.exe`
thread 'main' panicked at /rustc/5affbb17153bc69a9d5d8d2faa4e399a014a211e\library\std\src\sync\once.rs:217:20:
internal error: entered unreachable code: state is never set to invalid values
janhohenheim commented 3 months ago

Cool! Now we've got an example that can toggle between both errors 😄

ChrisDenton commented 3 months ago

Yeah, so I would return to my point above. These are using two very different implementations of Once so it's unlikely that there's a bug in the standard library code. More likely is that there's a dylib or lto (or both) issue that's causing the wrong memory address to be read.

workingjubilee commented 3 months ago

@janhohenheim it's fine. there will be mistakes, but then someone has to state what should be done. and unfortunately with very alarming bugs like these, it is often very hard to determine how to even begin to fix the problem, so being excruciatingly precise can become the minimum.

so, the question arises: is there a previous version of rustc that does make this work?

bash commented 3 months ago

I was able to reduce @ChrisDenton's example a bit further:

fn main() {
    let mut schedule = Schedule::default();
    schedule.add_systems(noop);
}

fn noop() {}
janhohenheim commented 3 months ago

@workingjubilee makes sense. I'll remember that next time I open a rustc issue :) Unfortunately, going back in time with rustc versions is very difficult in this case as Bevy 0.14 depends on the newest stable. @bash is currently working on isolating the issue further to make it easier to downgrade the code in question.

workingjubilee commented 3 months ago

huh, this is... weird.

which libraries are being built as dylibs?

ChrisDenton commented 3 months ago

Unfortunately, going back in time with rustc versions is very difficult in this case as Bevy 0.14 depends on the newest stable.

I can reproduce at least as far back as 1.76 using bevy 0.13,

janhohenheim commented 3 months ago

huh, this is... weird.

which libraries are being built as dylibs?

The whole dynamic linking business goes through bevy_dylib, which, as far as I understand, pulls in bevy_internal, which in turn pulls in the rest of the Bevy crates.

bash commented 3 months ago

I was able to create a minimal example that doesn't involve bevy at all! 🎉 https://github.com/bash/rust-dylib-crash

The dylib setup is modeled after that from bevy.

Edit: I'm going to run bisect on this and see what we find out :)

tgross35 commented 3 months ago

Awesome repro! Interesting that the dylib doesn't even have to do anything, just be there.

In case anyone doesn't want to build & dump themselves:

No LTO ```text Microsoft (R) COFF/PE Dumper Version 14.39.33523.0 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file target\debug\executable.exe File Type: EXECUTABLE IMAGE _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17hba68a7fe186572fdE.llvm.5890938590538905819: 0000000140001000: 48 83 EC 28 sub rsp,28h 0000000140001004: 48 8B 09 mov rcx,qword ptr [rcx] 0000000140001007: E8 74 00 00 00 call _ZN3std3sys9backtrace28__rust_begin_short_backtrace17h052f9424940e3074E 000000014000100C: 31 C0 xor eax,eax 000000014000100E: 48 83 C4 28 add rsp,28h 0000000140001012: C3 ret 0000000140001013: CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIII executable::main: 0000000140001020: 48 8B 05 71 11 00 mov rax,qword ptr [__imp__ZN7library9ONCE_LOCK17he7586e059de7547bE] 00 0000000140001027: 8B 00 mov eax,dword ptr [rax] 0000000140001029: 83 F8 04 cmp eax,4 000000014000102C: 75 01 jne 000000014000102F 000000014000102E: C3 ret 000000014000102F: 48 8B 0D 62 11 00 mov rcx,qword ptr [__imp__ZN7library9ONCE_LOCK17he7586e059de7547bE] 00 0000000140001036: E9 85 0B 00 00 jmp _ZN3std4sync9once_lock17OnceLock$LT$T$GT$10initialize17hd8d7daf22edd086bE 000000014000103B: CC CC CC CC CC IIIII main: 0000000140001040: 48 83 EC 38 sub rsp,38h 0000000140001044: 49 89 D1 mov r9,rdx 0000000140001047: 4C 63 C1 movsxd r8,ecx 000000014000104A: 48 8D 05 CF FF FF lea rax,[140001020h] FF 0000000140001051: 48 89 44 24 30 mov qword ptr [rsp+30h],rax 0000000140001056: C6 44 24 20 00 mov byte ptr [rsp+20h],0 000000014000105B: 48 8D 15 0E 12 00 lea rdx,[anon.58b5b2b07831d9cc1ef859ce6d657bb0.0.llvm.5890938590538905819] 00 0000000140001062: 48 8D 4C 24 30 lea rcx,[rsp+30h] 0000000140001067: E8 24 00 00 00 call _ZN3std2rt19lang_start_internal17hae47a42ca7fab963E 000000014000106C: 90 nop 000000014000106D: 48 83 C4 38 add rsp,38h 0000000140001071: C3 ret 0000000140001072: CC CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIIII _ZN3std3sys9backtrace28__rust_begin_short_backtrace17h052f9424940e3074E: 0000000140001080: 48 83 EC 28 sub rsp,28h 0000000140001084: FF D1 call rcx 0000000140001086: 90 nop 0000000140001087: 48 83 C4 28 add rsp,28h 000000014000108B: C3 ret 000000014000108C: CC CC CC CC IIII _ZN3std2rt19lang_start_internal17hae47a42ca7fab963E: 0000000140001090: FF 25 32 11 00 00 jmp qword ptr [__imp__ZN3std2rt19lang_start_internal17hae47a42ca7fab963E] _ZN3std3sys3pal7windows3api14get_last_error17h563dec06c925f25fE: 0000000140001096: FF 25 14 11 00 00 jmp qword ptr [__imp__ZN3std3sys3pal7windows3api14get_last_error17h563dec06c925f25fE] _ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E: 000000014000109C: FF 25 06 11 00 00 jmp qword ptr [__imp__ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E] _ZN4core9panicking9panic_fmt17hb39cfdace1bc0cb7E: 00000001400010A2: FF 25 10 11 00 00 jmp qword ptr [__imp__ZN4core9panicking9panic_fmt17hb39cfdace1bc0cb7E] _ZN4core6option13unwrap_failed17hb95fbc70d3a4af9aE: 00000001400010A8: FF 25 12 11 00 00 jmp qword ptr [__imp__ZN4core6option13unwrap_failed17hb95fbc70d3a4af9aE] 00000001400010AE: CC CC II pre_c_initialization: 00000001400010B0: 40 53 push rbx 00000001400010B2: 48 83 EC 20 sub rsp,20h 00000001400010B6: B9 01 00 00 00 mov ecx,1 00000001400010BB: E8 34 0A 00 00 call _set_app_type 00000001400010C0: E8 57 05 00 00 call _get_startup_file_mode 00000001400010C5: 8B C8 mov ecx,eax 00000001400010C7: E8 5E 0A 00 00 call _set_fmode 00000001400010CC: E8 3F 05 00 00 call __scrt_exe_initialize_mta 00000001400010D1: 8B D8 mov ebx,eax 00000001400010D3: E8 82 0A 00 00 call __p__commode 00000001400010D8: B9 01 00 00 00 mov ecx,1 00000001400010DD: 89 18 mov dword ptr [rax],ebx 00000001400010DF: E8 B8 02 00 00 call __scrt_initialize_onexit_tables 00000001400010E4: 84 C0 test al,al 00000001400010E6: 74 73 je 000000014000115B 00000001400010E8: E8 AF 07 00 00 call _RTC_Initialize 00000001400010ED: 48 8D 0D E4 07 00 lea rcx,[_RTC_Terminate] 00 00000001400010F4: E8 53 04 00 00 call atexit 00000001400010F9: E8 16 05 00 00 call _get_startup_argv_mode 00000001400010FE: 8B C8 mov ecx,eax 0000000140001100: E8 FB 09 00 00 call _configure_narrow_argv 0000000140001105: 85 C0 test eax,eax 0000000140001107: 75 52 jne 000000014000115B 0000000140001109: E8 16 05 00 00 call ?__scrt_initialize_type_info@@YAXXZ 000000014000110E: E8 55 05 00 00 call __scrt_is_user_matherr_present 0000000140001113: 85 C0 test eax,eax 0000000140001115: 74 0C je 0000000140001123 0000000140001117: 48 8D 0D F2 04 00 lea rcx,[__scrt_exe_initialize_mta] 00 000000014000111E: E8 D7 09 00 00 call __setusermatherr 0000000140001123: E8 10 05 00 00 call _guard_check_icall_nop 0000000140001128: E8 0B 05 00 00 call _guard_check_icall_nop 000000014000112D: E8 DE 04 00 00 call __scrt_exe_initialize_mta 0000000140001132: 8B C8 mov ecx,eax 0000000140001134: E8 15 0A 00 00 call _configthreadlocale 0000000140001139: E8 F6 04 00 00 call __acrt_initialize 000000014000113E: 84 C0 test al,al 0000000140001140: 74 05 je 0000000140001147 0000000140001142: E8 BF 09 00 00 call _initialize_narrow_environment 0000000140001147: E8 C4 04 00 00 call __scrt_exe_initialize_mta 000000014000114C: E8 83 06 00 00 call __scrt_initialize_mta 0000000140001151: 85 C0 test eax,eax 0000000140001153: 75 06 jne 000000014000115B 0000000140001155: 48 83 C4 20 add rsp,20h 0000000140001159: 5B pop rbx 000000014000115A: C3 ret 000000014000115B: B9 07 00 00 00 mov ecx,7 0000000140001160: E8 27 05 00 00 call __scrt_fastfail 0000000140001165: CC int 3 0000000140001166: CC CC II post_pgo_initialization: 0000000140001168: 48 83 EC 28 sub rsp,28h 000000014000116C: E8 DB 04 00 00 call __scrt_initialize_default_local_stdio_options 0000000140001171: 33 C0 xor eax,eax 0000000140001173: 48 83 C4 28 add rsp,28h 0000000140001177: C3 ret pre_cpp_initialization: 0000000140001178: 48 83 EC 28 sub rsp,28h 000000014000117C: E8 AF 06 00 00 call __scrt_set_unhandled_exception_filter 0000000140001181: E8 8A 04 00 00 call __scrt_exe_initialize_mta 0000000140001186: 8B C8 mov ecx,eax 0000000140001188: 48 83 C4 28 add rsp,28h 000000014000118C: E9 C3 09 00 00 jmp _set_new_mode 0000000140001191: CC CC CC III __scrt_common_main_seh: 0000000140001194: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 0000000140001199: 48 89 74 24 10 mov qword ptr [rsp+10h],rsi 000000014000119E: 57 push rdi 000000014000119F: 48 83 EC 30 sub rsp,30h 00000001400011A3: B9 01 00 00 00 mov ecx,1 00000001400011A8: E8 B3 01 00 00 call __scrt_initialize_crt 00000001400011AD: 84 C0 test al,al 00000001400011AF: 0F 84 36 01 00 00 je 00000001400012EB 00000001400011B5: 40 32 F6 xor sil,sil 00000001400011B8: 40 88 74 24 20 mov byte ptr [rsp+20h],sil 00000001400011BD: E8 62 01 00 00 call __scrt_acquire_startup_lock 00000001400011C2: 8A D8 mov bl,al 00000001400011C4: 8B 0D D6 2E 00 00 mov ecx,dword ptr [__scrt_current_native_startup_state] 00000001400011CA: 83 F9 01 cmp ecx,1 00000001400011CD: 0F 84 23 01 00 00 je 00000001400012F6 00000001400011D3: 85 C9 test ecx,ecx 00000001400011D5: 75 4A jne 0000000140001221 00000001400011D7: C7 05 BF 2E 00 00 mov dword ptr [__scrt_current_native_startup_state],1 01 00 00 00 00000001400011E1: 48 8D 15 58 10 00 lea rdx,[__xi_z] 00 00000001400011E8: 48 8D 0D 39 10 00 lea rcx,[__xi_a] 00 00000001400011EF: E8 24 09 00 00 call _initterm_e 00000001400011F4: 85 C0 test eax,eax 00000001400011F6: 74 0A je 0000000140001202 00000001400011F8: B8 FF 00 00 00 mov eax,0FFh 00000001400011FD: E9 D9 00 00 00 jmp 00000001400012DB 0000000140001202: 48 8D 15 17 10 00 lea rdx,[__xc_z] 00 0000000140001209: 48 8D 0D 00 10 00 lea rcx,[__xc_a] 00 0000000140001210: E8 FD 08 00 00 call _initterm 0000000140001215: C7 05 81 2E 00 00 mov dword ptr [__scrt_current_native_startup_state],2 02 00 00 00 000000014000121F: EB 08 jmp 0000000140001229 0000000140001221: 40 B6 01 mov sil,1 0000000140001224: 40 88 74 24 20 mov byte ptr [rsp+20h],sil 0000000140001229: 8A CB mov cl,bl 000000014000122B: E8 90 02 00 00 call __scrt_release_startup_lock 0000000140001230: E8 3F 04 00 00 call __scrt_get_dyn_tls_init_callback 0000000140001235: 48 8B D8 mov rbx,rax 0000000140001238: 48 83 38 00 cmp qword ptr [rax],0 000000014000123C: 74 1E je 000000014000125C 000000014000123E: 48 8B C8 mov rcx,rax 0000000140001241: E8 E2 01 00 00 call __scrt_is_nonwritable_in_current_image 0000000140001246: 84 C0 test al,al 0000000140001248: 74 12 je 000000014000125C 000000014000124A: 45 33 C0 xor r8d,r8d 000000014000124D: 41 8D 50 02 lea edx,[r8+2] 0000000140001251: 33 C9 xor ecx,ecx 0000000140001253: 48 8B 03 mov rax,qword ptr [rbx] 0000000140001256: FF 15 8C 0F 00 00 call qword ptr [__guard_dispatch_icall_fptr] 000000014000125C: E8 1B 04 00 00 call __scrt_get_dyn_tls_dtor_callback 0000000140001261: 48 8B D8 mov rbx,rax 0000000140001264: 48 83 38 00 cmp qword ptr [rax],0 0000000140001268: 74 14 je 000000014000127E 000000014000126A: 48 8B C8 mov rcx,rax 000000014000126D: E8 B6 01 00 00 call __scrt_is_nonwritable_in_current_image 0000000140001272: 84 C0 test al,al 0000000140001274: 74 08 je 000000014000127E 0000000140001276: 48 8B 0B mov rcx,qword ptr [rbx] 0000000140001279: E8 CA 08 00 00 call _register_thread_local_exe_atexit_callback 000000014000127E: E8 89 08 00 00 call _get_initial_narrow_environment 0000000140001283: 48 8B F8 mov rdi,rax 0000000140001286: E8 AB 08 00 00 call __p___argv 000000014000128B: 48 8B 18 mov rbx,qword ptr [rax] 000000014000128E: E8 9D 08 00 00 call __p___argc 0000000140001293: 4C 8B C7 mov r8,rdi 0000000140001296: 48 8B D3 mov rdx,rbx 0000000140001299: 8B 08 mov ecx,dword ptr [rax] 000000014000129B: E8 A0 FD FF FF call main 00000001400012A0: 8B D8 mov ebx,eax 00000001400012A2: E8 35 05 00 00 call __scrt_is_managed_app 00000001400012A7: 84 C0 test al,al 00000001400012A9: 74 55 je 0000000140001300 00000001400012AB: 40 84 F6 test sil,sil 00000001400012AE: 75 05 jne 00000001400012B5 00000001400012B0: E8 87 08 00 00 call _cexit 00000001400012B5: 33 D2 xor edx,edx 00000001400012B7: B1 01 mov cl,1 00000001400012B9: E8 26 02 00 00 call __scrt_uninitialize_crt 00000001400012BE: 8B C3 mov eax,ebx 00000001400012C0: EB 19 jmp 00000001400012DB 00000001400012C2: 8B D8 mov ebx,eax 00000001400012C4: E8 13 05 00 00 call __scrt_is_managed_app 00000001400012C9: 84 C0 test al,al 00000001400012CB: 74 3B je 0000000140001308 00000001400012CD: 80 7C 24 20 00 cmp byte ptr [rsp+20h],0 00000001400012D2: 75 05 jne 00000001400012D9 00000001400012D4: E8 69 08 00 00 call _c_exit 00000001400012D9: 8B C3 mov eax,ebx 00000001400012DB: 48 8B 5C 24 40 mov rbx,qword ptr [rsp+40h] 00000001400012E0: 48 8B 74 24 48 mov rsi,qword ptr [rsp+48h] 00000001400012E5: 48 83 C4 30 add rsp,30h 00000001400012E9: 5F pop rdi 00000001400012EA: C3 ret 00000001400012EB: B9 07 00 00 00 mov ecx,7 00000001400012F0: E8 97 03 00 00 call __scrt_fastfail 00000001400012F5: 90 nop 00000001400012F6: B9 07 00 00 00 mov ecx,7 00000001400012FB: E8 8C 03 00 00 call __scrt_fastfail 0000000140001300: 8B CB mov ecx,ebx 0000000140001302: E8 17 08 00 00 call exit 0000000140001307: 90 nop 0000000140001308: 8B CB mov ecx,ebx 000000014000130A: E8 15 08 00 00 call _exit 000000014000130F: 90 nop mainCRTStartup: 0000000140001310: 48 83 EC 28 sub rsp,28h 0000000140001314: E8 4B 02 00 00 call __security_init_cookie 0000000140001319: 48 83 C4 28 add rsp,28h 000000014000131D: E9 72 FE FF FF jmp 0000000140001194 0000000140001322: CC CC II __scrt_acquire_startup_lock: 0000000140001324: 48 83 EC 28 sub rsp,28h 0000000140001328: E8 93 07 00 00 call __scrt_is_ucrt_dll_in_use 000000014000132D: 85 C0 test eax,eax 000000014000132F: 74 21 je 0000000140001352 0000000140001331: 65 48 8B 04 25 30 mov rax,qword ptr gs:[30h] 00 00 00 000000014000133A: 48 8B 48 08 mov rcx,qword ptr [rax+8] 000000014000133E: EB 05 jmp 0000000140001345 0000000140001340: 48 3B C8 cmp rcx,rax 0000000140001343: 74 14 je 0000000140001359 0000000140001345: 33 C0 xor eax,eax 0000000140001347: F0 48 0F B1 0D 58 lock cmpxchg qword ptr [__scrt_native_startup_lock],rcx 2D 00 00 0000000140001350: 75 EE jne 0000000140001340 0000000140001352: 32 C0 xor al,al 0000000140001354: 48 83 C4 28 add rsp,28h 0000000140001358: C3 ret 0000000140001359: B0 01 mov al,1 000000014000135B: EB F7 jmp 0000000140001354 000000014000135D: CC CC CC III __scrt_initialize_crt: 0000000140001360: 48 83 EC 28 sub rsp,28h 0000000140001364: 85 C9 test ecx,ecx 0000000140001366: 75 07 jne 000000014000136F 0000000140001368: C6 05 41 2D 00 00 mov byte ptr [1400040B0h],1 01 000000014000136F: E8 A0 05 00 00 call __isa_available_init 0000000140001374: E8 BB 02 00 00 call __acrt_initialize 0000000140001379: 84 C0 test al,al 000000014000137B: 75 04 jne 0000000140001381 000000014000137D: 32 C0 xor al,al 000000014000137F: EB 14 jmp 0000000140001395 0000000140001381: E8 AE 02 00 00 call __acrt_initialize 0000000140001386: 84 C0 test al,al 0000000140001388: 75 09 jne 0000000140001393 000000014000138A: 33 C9 xor ecx,ecx 000000014000138C: E8 A3 02 00 00 call __acrt_initialize 0000000140001391: EB EA jmp 000000014000137D 0000000140001393: B0 01 mov al,1 0000000140001395: 48 83 C4 28 add rsp,28h 0000000140001399: C3 ret 000000014000139A: CC CC II __scrt_initialize_onexit_tables: 000000014000139C: 40 53 push rbx 000000014000139E: 48 83 EC 20 sub rsp,20h 00000001400013A2: 80 3D 08 2D 00 00 cmp byte ptr [1400040B1h],0 00 00000001400013A9: 8B D9 mov ebx,ecx 00000001400013AB: 75 67 jne 0000000140001414 00000001400013AD: 83 F9 01 cmp ecx,1 00000001400013B0: 77 6A ja 000000014000141C 00000001400013B2: E8 09 07 00 00 call __scrt_is_ucrt_dll_in_use 00000001400013B7: 85 C0 test eax,eax 00000001400013B9: 74 28 je 00000001400013E3 00000001400013BB: 85 DB test ebx,ebx 00000001400013BD: 75 24 jne 00000001400013E3 00000001400013BF: 48 8D 0D F2 2C 00 lea rcx,[1400040B8h] 00 00000001400013C6: E8 95 07 00 00 call _initialize_onexit_table 00000001400013CB: 85 C0 test eax,eax 00000001400013CD: 75 10 jne 00000001400013DF 00000001400013CF: 48 8D 0D FA 2C 00 lea rcx,[1400040D0h] 00 00000001400013D6: E8 85 07 00 00 call _initialize_onexit_table 00000001400013DB: 85 C0 test eax,eax 00000001400013DD: 74 2E je 000000014000140D 00000001400013DF: 32 C0 xor al,al 00000001400013E1: EB 33 jmp 0000000140001416 00000001400013E3: 66 0F 6F 05 45 10 movdqa xmm0,xmmword ptr [__xmm@ffffffffffffffffffffffffffffffff] 00 00 00000001400013EB: 48 83 C8 FF or rax,0FFFFFFFFFFFFFFFFh 00000001400013EF: F3 0F 7F 05 C1 2C movdqu xmmword ptr [1400040B8h],xmm0 00 00 00000001400013F7: 48 89 05 CA 2C 00 mov qword ptr [1400040C8h],rax 00 00000001400013FE: F3 0F 7F 05 CA 2C movdqu xmmword ptr [1400040D0h],xmm0 00 00 0000000140001406: 48 89 05 D3 2C 00 mov qword ptr [1400040E0h],rax 00 000000014000140D: C6 05 9D 2C 00 00 mov byte ptr [1400040B1h],1 01 0000000140001414: B0 01 mov al,1 0000000140001416: 48 83 C4 20 add rsp,20h 000000014000141A: 5B pop rbx 000000014000141B: C3 ret 000000014000141C: B9 05 00 00 00 mov ecx,5 0000000140001421: E8 66 02 00 00 call __scrt_fastfail 0000000140001426: CC int 3 0000000140001427: CC I __scrt_is_nonwritable_in_current_image: 0000000140001428: 48 83 EC 18 sub rsp,18h 000000014000142C: 4C 8B C1 mov r8,rcx 000000014000142F: B8 4D 5A 00 00 mov eax,5A4Dh 0000000140001434: 66 39 05 C5 EB FF cmp word ptr [140000000h],ax FF 000000014000143B: 75 78 jne 00000001400014B5 000000014000143D: 48 63 0D F8 EB FF movsxd rcx,dword ptr [14000003Ch] FF 0000000140001444: 48 8D 15 B5 EB FF lea rdx,[140000000h] FF 000000014000144B: 48 03 CA add rcx,rdx 000000014000144E: 81 39 50 45 00 00 cmp dword ptr [rcx],4550h 0000000140001454: 75 5F jne 00000001400014B5 0000000140001456: B8 0B 02 00 00 mov eax,20Bh 000000014000145B: 66 39 41 18 cmp word ptr [rcx+18h],ax 000000014000145F: 75 54 jne 00000001400014B5 0000000140001461: 4C 2B C2 sub r8,rdx 0000000140001464: 0F B7 51 14 movzx edx,word ptr [rcx+14h] 0000000140001468: 48 83 C2 18 add rdx,18h 000000014000146C: 48 03 D1 add rdx,rcx 000000014000146F: 0F B7 41 06 movzx eax,word ptr [rcx+6] 0000000140001473: 48 8D 0C 80 lea rcx,[rax+rax*4] 0000000140001477: 4C 8D 0C CA lea r9,[rdx+rcx*8] 000000014000147B: 48 89 14 24 mov qword ptr [rsp],rdx 000000014000147F: 49 3B D1 cmp rdx,r9 0000000140001482: 74 18 je 000000014000149C 0000000140001484: 8B 4A 0C mov ecx,dword ptr [rdx+0Ch] 0000000140001487: 4C 3B C1 cmp r8,rcx 000000014000148A: 72 0A jb 0000000140001496 000000014000148C: 8B 42 08 mov eax,dword ptr [rdx+8] 000000014000148F: 03 C1 add eax,ecx 0000000140001491: 4C 3B C0 cmp r8,rax 0000000140001494: 72 08 jb 000000014000149E 0000000140001496: 48 83 C2 28 add rdx,28h 000000014000149A: EB DF jmp 000000014000147B 000000014000149C: 33 D2 xor edx,edx 000000014000149E: 48 85 D2 test rdx,rdx 00000001400014A1: 75 04 jne 00000001400014A7 00000001400014A3: 32 C0 xor al,al 00000001400014A5: EB 14 jmp 00000001400014BB 00000001400014A7: 83 7A 24 00 cmp dword ptr [rdx+24h],0 00000001400014AB: 7D 04 jge 00000001400014B1 00000001400014AD: 32 C0 xor al,al 00000001400014AF: EB 0A jmp 00000001400014BB 00000001400014B1: B0 01 mov al,1 00000001400014B3: EB 06 jmp 00000001400014BB 00000001400014B5: 32 C0 xor al,al 00000001400014B7: EB 02 jmp 00000001400014BB 00000001400014B9: 32 C0 xor al,al 00000001400014BB: 48 83 C4 18 add rsp,18h 00000001400014BF: C3 ret __scrt_release_startup_lock: 00000001400014C0: 40 53 push rbx 00000001400014C2: 48 83 EC 20 sub rsp,20h 00000001400014C6: 8A D9 mov bl,cl 00000001400014C8: E8 F3 05 00 00 call __scrt_is_ucrt_dll_in_use 00000001400014CD: 33 D2 xor edx,edx 00000001400014CF: 85 C0 test eax,eax 00000001400014D1: 74 0B je 00000001400014DE 00000001400014D3: 84 DB test bl,bl 00000001400014D5: 75 07 jne 00000001400014DE 00000001400014D7: 48 87 15 CA 2B 00 xchg rdx,qword ptr [__scrt_native_startup_lock] 00 00000001400014DE: 48 83 C4 20 add rsp,20h 00000001400014E2: 5B pop rbx 00000001400014E3: C3 ret __scrt_uninitialize_crt: 00000001400014E4: 40 53 push rbx 00000001400014E6: 48 83 EC 20 sub rsp,20h 00000001400014EA: 80 3D BF 2B 00 00 cmp byte ptr [1400040B0h],0 00 00000001400014F1: 8A D9 mov bl,cl 00000001400014F3: 74 04 je 00000001400014F9 00000001400014F5: 84 D2 test dl,dl 00000001400014F7: 75 0C jne 0000000140001505 00000001400014F9: E8 36 01 00 00 call __acrt_initialize 00000001400014FE: 8A CB mov cl,bl 0000000140001500: E8 2F 01 00 00 call __acrt_initialize 0000000140001505: B0 01 mov al,1 0000000140001507: 48 83 C4 20 add rsp,20h 000000014000150B: 5B pop rbx 000000014000150C: C3 ret 000000014000150D: CC CC CC III _onexit: 0000000140001510: 40 53 push rbx 0000000140001512: 48 83 EC 20 sub rsp,20h 0000000140001516: 48 83 3D 9A 2B 00 cmp qword ptr [1400040B8h],0FFFFFFFFFFFFFFFFh 00 FF 000000014000151E: 48 8B D9 mov rbx,rcx 0000000140001521: 75 07 jne 000000014000152A 0000000140001523: E8 44 06 00 00 call _crt_atexit 0000000140001528: EB 0F jmp 0000000140001539 000000014000152A: 48 8B D3 mov rdx,rbx 000000014000152D: 48 8D 0D 84 2B 00 lea rcx,[1400040B8h] 00 0000000140001534: E8 2D 06 00 00 call _register_onexit_function 0000000140001539: 33 D2 xor edx,edx 000000014000153B: 85 C0 test eax,eax 000000014000153D: 48 0F 44 D3 cmove rdx,rbx 0000000140001541: 48 8B C2 mov rax,rdx 0000000140001544: 48 83 C4 20 add rsp,20h 0000000140001548: 5B pop rbx 0000000140001549: C3 ret 000000014000154A: CC CC II atexit: 000000014000154C: 48 83 EC 28 sub rsp,28h 0000000140001550: E8 BB FF FF FF call _onexit 0000000140001555: 48 F7 D8 neg rax 0000000140001558: 1B C0 sbb eax,eax 000000014000155A: F7 D8 neg eax 000000014000155C: FF C8 dec eax 000000014000155E: 48 83 C4 28 add rsp,28h 0000000140001562: C3 ret 0000000140001563: CC I __security_init_cookie: 0000000140001564: 48 89 5C 24 18 mov qword ptr [rsp+18h],rbx 0000000140001569: 55 push rbp 000000014000156A: 48 8B EC mov rbp,rsp 000000014000156D: 48 83 EC 30 sub rsp,30h 0000000140001571: 48 8B 05 C8 2A 00 mov rax,qword ptr [__security_cookie] 00 0000000140001578: 48 BB 32 A2 DF 2D mov rbx,2B992DDFA232h 99 2B 00 00 0000000140001582: 48 3B C3 cmp rax,rbx 0000000140001585: 75 74 jne 00000001400015FB 0000000140001587: 48 83 65 10 00 and qword ptr [rbp+10h],0 000000014000158C: 48 8D 4D 10 lea rcx,[rbp+10h] 0000000140001590: FF 15 C2 0A 00 00 call qword ptr [__imp_GetSystemTimeAsFileTime] 0000000140001596: 48 8B 45 10 mov rax,qword ptr [rbp+10h] 000000014000159A: 48 89 45 F0 mov qword ptr [rbp-10h],rax 000000014000159E: FF 15 64 0A 00 00 call qword ptr [__imp_GetCurrentThreadId] 00000001400015A4: 8B C0 mov eax,eax 00000001400015A6: 48 31 45 F0 xor qword ptr [rbp-10h],rax 00000001400015AA: FF 15 B0 0A 00 00 call qword ptr [__imp_GetCurrentProcessId] 00000001400015B0: 8B C0 mov eax,eax 00000001400015B2: 48 8D 4D 18 lea rcx,[rbp+18h] 00000001400015B6: 48 31 45 F0 xor qword ptr [rbp-10h],rax 00000001400015BA: FF 15 40 0A 00 00 call qword ptr [__imp_QueryPerformanceCounter] 00000001400015C0: 8B 45 18 mov eax,dword ptr [rbp+18h] 00000001400015C3: 48 8D 4D F0 lea rcx,[rbp-10h] 00000001400015C7: 48 C1 E0 20 shl rax,20h 00000001400015CB: 48 33 45 18 xor rax,qword ptr [rbp+18h] 00000001400015CF: 48 33 45 F0 xor rax,qword ptr [rbp-10h] 00000001400015D3: 48 33 C1 xor rax,rcx 00000001400015D6: 48 B9 FF FF FF FF mov rcx,0FFFFFFFFFFFFh FF FF 00 00 00000001400015E0: 48 23 C1 and rax,rcx 00000001400015E3: 48 B9 33 A2 DF 2D mov rcx,2B992DDFA233h 99 2B 00 00 00000001400015ED: 48 3B C3 cmp rax,rbx 00000001400015F0: 48 0F 44 C1 cmove rax,rcx 00000001400015F4: 48 89 05 45 2A 00 mov qword ptr [__security_cookie],rax 00 00000001400015FB: 48 8B 5C 24 50 mov rbx,qword ptr [rsp+50h] 0000000140001600: 48 F7 D0 not rax 0000000140001603: 48 89 05 76 2A 00 mov qword ptr [__security_cookie_complement],rax 00 000000014000160A: 48 83 C4 30 add rsp,30h 000000014000160E: 5D pop rbp 000000014000160F: C3 ret __scrt_exe_initialize_mta: 0000000140001610: 33 C0 xor eax,eax 0000000140001612: C3 ret 0000000140001613: CC I _get_startup_argv_mode: 0000000140001614: B8 01 00 00 00 mov eax,1 0000000140001619: C3 ret 000000014000161A: CC CC II _get_startup_file_mode: 000000014000161C: B8 00 40 00 00 mov eax,4000h 0000000140001621: C3 ret 0000000140001622: CC CC II ?__scrt_initialize_type_info@@YAXXZ: 0000000140001624: 48 8D 0D C5 2A 00 lea rcx,[?__type_info_root_node@@3U__type_info_node@@A] 00 000000014000162B: 48 FF 25 1E 0A 00 jmp qword ptr [__imp_InitializeSListHead] 00 0000000140001632: CC CC II __acrt_initialize: 0000000140001634: B0 01 mov al,1 0000000140001636: C3 ret 0000000140001637: CC I _guard_check_icall_nop: 0000000140001638: C2 00 00 ret 0 000000014000163B: CC I __local_stdio_printf_options: 000000014000163C: 48 8D 05 BD 2A 00 lea rax,[?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA] 00 0000000140001643: C3 ret __local_stdio_scanf_options: 0000000140001644: 48 8D 05 BD 2A 00 lea rax,[?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA] 00 000000014000164B: C3 ret __scrt_initialize_default_local_stdio_options: 000000014000164C: 48 83 EC 28 sub rsp,28h 0000000140001650: E8 E7 FF FF FF call __local_stdio_printf_options 0000000140001655: 48 83 08 24 or qword ptr [rax],24h 0000000140001659: E8 E6 FF FF FF call __local_stdio_scanf_options 000000014000165E: 48 83 08 02 or qword ptr [rax],2 0000000140001662: 48 83 C4 28 add rsp,28h 0000000140001666: C3 ret 0000000140001667: CC I __scrt_is_user_matherr_present: 0000000140001668: 33 C0 xor eax,eax 000000014000166A: 39 05 94 29 00 00 cmp dword ptr [__scrt_default_matherr],eax 0000000140001670: 0F 94 C0 sete al 0000000140001673: C3 ret __scrt_get_dyn_tls_init_callback: 0000000140001674: 48 8D 05 A5 2A 00 lea rax,[__dyn_tls_init_callback] 00 000000014000167B: C3 ret __scrt_get_dyn_tls_dtor_callback: 000000014000167C: 48 8D 05 95 2A 00 lea rax,[__dyn_tls_dtor_callback] 00 0000000140001683: C3 ret __crt_debugger_hook: 0000000140001684: 83 25 85 2A 00 00 and dword ptr [__scrt_debugger_hook_flag],0 00 000000014000168B: C3 ret __scrt_fastfail: 000000014000168C: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 0000000140001691: 55 push rbp 0000000140001692: 48 8D AC 24 40 FB lea rbp,[rsp-4C0h] FF FF 000000014000169A: 48 81 EC C0 05 00 sub rsp,5C0h 00 00000001400016A1: 8B D9 mov ebx,ecx 00000001400016A3: B9 17 00 00 00 mov ecx,17h 00000001400016A8: FF 15 6A 09 00 00 call qword ptr [__imp_IsProcessorFeaturePresent] 00000001400016AE: 85 C0 test eax,eax 00000001400016B0: 74 04 je 00000001400016B6 00000001400016B2: 8B CB mov ecx,ebx 00000001400016B4: CD 29 int 29h 00000001400016B6: B9 03 00 00 00 mov ecx,3 00000001400016BB: E8 C4 FF FF FF call __crt_debugger_hook 00000001400016C0: 33 D2 xor edx,edx 00000001400016C2: 48 8D 4D F0 lea rcx,[rbp-10h] 00000001400016C6: 41 B8 D0 04 00 00 mov r8d,4D0h 00000001400016CC: E8 17 04 00 00 call memset 00000001400016D1: 48 8D 4D F0 lea rcx,[rbp-10h] 00000001400016D5: FF 15 6D 09 00 00 call qword ptr [__imp_RtlCaptureContext] 00000001400016DB: 48 8B 9D E8 00 00 mov rbx,qword ptr [rbp+0E8h] 00 00000001400016E2: 48 8D 95 D8 04 00 lea rdx,[rbp+4D8h] 00 00000001400016E9: 48 8B CB mov rcx,rbx 00000001400016EC: 45 33 C0 xor r8d,r8d 00000001400016EF: FF 15 4B 09 00 00 call qword ptr [__imp_RtlLookupFunctionEntry] 00000001400016F5: 48 85 C0 test rax,rax 00000001400016F8: 74 3C je 0000000140001736 00000001400016FA: 48 83 64 24 38 00 and qword ptr [rsp+38h],0 0000000140001700: 48 8D 8D E0 04 00 lea rcx,[rbp+4E0h] 00 0000000140001707: 48 8B 95 D8 04 00 mov rdx,qword ptr [rbp+4D8h] 00 000000014000170E: 4C 8B C8 mov r9,rax 0000000140001711: 48 89 4C 24 30 mov qword ptr [rsp+30h],rcx 0000000140001716: 4C 8B C3 mov r8,rbx 0000000140001719: 48 8D 8D E8 04 00 lea rcx,[rbp+4E8h] 00 0000000140001720: 48 89 4C 24 28 mov qword ptr [rsp+28h],rcx 0000000140001725: 48 8D 4D F0 lea rcx,[rbp-10h] 0000000140001729: 48 89 4C 24 20 mov qword ptr [rsp+20h],rcx 000000014000172E: 33 C9 xor ecx,ecx 0000000140001730: FF 15 02 09 00 00 call qword ptr [__imp_RtlVirtualUnwind] 0000000140001736: 48 8B 85 C8 04 00 mov rax,qword ptr [rbp+4C8h] 00 000000014000173D: 48 8D 4C 24 50 lea rcx,[rsp+50h] 0000000140001742: 48 89 85 E8 00 00 mov qword ptr [rbp+0E8h],rax 00 0000000140001749: 33 D2 xor edx,edx 000000014000174B: 48 8D 85 C8 04 00 lea rax,[rbp+4C8h] 00 0000000140001752: 41 B8 98 00 00 00 mov r8d,98h 0000000140001758: 48 83 C0 08 add rax,8 000000014000175C: 48 89 85 88 00 00 mov qword ptr [rbp+88h],rax 00 0000000140001763: E8 80 03 00 00 call memset 0000000140001768: 48 8B 85 C8 04 00 mov rax,qword ptr [rbp+4C8h] 00 000000014000176F: 48 89 44 24 60 mov qword ptr [rsp+60h],rax 0000000140001774: C7 44 24 50 15 00 mov dword ptr [rsp+50h],40000015h 00 40 000000014000177C: C7 44 24 54 01 00 mov dword ptr [rsp+54h],1 00 00 0000000140001784: FF 15 A6 08 00 00 call qword ptr [__imp_IsDebuggerPresent] 000000014000178A: 8B D8 mov ebx,eax 000000014000178C: 33 C9 xor ecx,ecx 000000014000178E: 48 8D 44 24 50 lea rax,[rsp+50h] 0000000140001793: 48 89 44 24 40 mov qword ptr [rsp+40h],rax 0000000140001798: 48 8D 45 F0 lea rax,[rbp-10h] 000000014000179C: 48 89 44 24 48 mov qword ptr [rsp+48h],rax 00000001400017A1: FF 15 79 08 00 00 call qword ptr [__imp_SetUnhandledExceptionFilter] 00000001400017A7: 48 8D 4C 24 40 lea rcx,[rsp+40h] 00000001400017AC: FF 15 76 08 00 00 call qword ptr [__imp_UnhandledExceptionFilter] 00000001400017B2: 85 C0 test eax,eax 00000001400017B4: 75 0D jne 00000001400017C3 00000001400017B6: 83 FB 01 cmp ebx,1 00000001400017B9: 74 08 je 00000001400017C3 00000001400017BB: 8D 48 03 lea ecx,[rax+3] 00000001400017BE: E8 C1 FE FF FF call __crt_debugger_hook 00000001400017C3: 48 8B 9C 24 D0 05 mov rbx,qword ptr [rsp+5D0h] 00 00 00000001400017CB: 48 81 C4 C0 05 00 add rsp,5C0h 00 00000001400017D2: 5D pop rbp 00000001400017D3: C3 ret __scrt_initialize_mta: 00000001400017D4: E9 37 FE FF FF jmp __scrt_exe_initialize_mta 00000001400017D9: CC CC CC III __scrt_is_managed_app: 00000001400017DC: 48 83 EC 28 sub rsp,28h 00000001400017E0: 33 C9 xor ecx,ecx 00000001400017E2: FF 15 28 08 00 00 call qword ptr [__imp_GetModuleHandleW] 00000001400017E8: 48 85 C0 test rax,rax 00000001400017EB: 74 39 je 0000000140001826 00000001400017ED: B9 4D 5A 00 00 mov ecx,5A4Dh 00000001400017F2: 66 39 08 cmp word ptr [rax],cx 00000001400017F5: 75 2F jne 0000000140001826 00000001400017F7: 48 63 48 3C movsxd rcx,dword ptr [rax+3Ch] 00000001400017FB: 48 03 C8 add rcx,rax 00000001400017FE: 81 39 50 45 00 00 cmp dword ptr [rcx],4550h 0000000140001804: 75 20 jne 0000000140001826 0000000140001806: B8 0B 02 00 00 mov eax,20Bh 000000014000180B: 66 39 41 18 cmp word ptr [rcx+18h],ax 000000014000180F: 75 15 jne 0000000140001826 0000000140001811: 83 B9 84 00 00 00 cmp dword ptr [rcx+84h],0Eh 0E 0000000140001818: 76 0C jbe 0000000140001826 000000014000181A: 83 B9 F8 00 00 00 cmp dword ptr [rcx+0F8h],0 00 0000000140001821: 0F 95 C0 setne al 0000000140001824: EB 02 jmp 0000000140001828 0000000140001826: 32 C0 xor al,al 0000000140001828: 48 83 C4 28 add rsp,28h 000000014000182C: C3 ret 000000014000182D: CC CC CC III __scrt_set_unhandled_exception_filter: 0000000140001830: 48 8D 0D 09 00 00 lea rcx,[__scrt_unhandled_exception_filter] 00 0000000140001837: 48 FF 25 E2 07 00 jmp qword ptr [__imp_SetUnhandledExceptionFilter] 00 000000014000183E: CC CC II __scrt_unhandled_exception_filter: 0000000140001840: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 0000000140001845: 57 push rdi 0000000140001846: 48 83 EC 20 sub rsp,20h 000000014000184A: 48 8B 19 mov rbx,qword ptr [rcx] 000000014000184D: 48 8B F9 mov rdi,rcx 0000000140001850: 81 3B 63 73 6D E0 cmp dword ptr [rbx],0E06D7363h 0000000140001856: 75 1C jne 0000000140001874 0000000140001858: 83 7B 18 04 cmp dword ptr [rbx+18h],4 000000014000185C: 75 16 jne 0000000140001874 000000014000185E: 8B 53 20 mov edx,dword ptr [rbx+20h] 0000000140001861: 8D 82 E0 FA 6C E6 lea eax,[rdx-19930520h] 0000000140001867: 83 F8 02 cmp eax,2 000000014000186A: 76 15 jbe 0000000140001881 000000014000186C: 81 FA 00 40 99 01 cmp edx,1994000h 0000000140001872: 74 0D je 0000000140001881 0000000140001874: 48 8B 5C 24 30 mov rbx,qword ptr [rsp+30h] 0000000140001879: 33 C0 xor eax,eax 000000014000187B: 48 83 C4 20 add rsp,20h 000000014000187F: 5F pop rdi 0000000140001880: C3 ret 0000000140001881: E8 56 02 00 00 call __current_exception 0000000140001886: 48 89 18 mov qword ptr [rax],rbx 0000000140001889: 48 8B 5F 08 mov rbx,qword ptr [rdi+8] 000000014000188D: E8 50 02 00 00 call __current_exception_context 0000000140001892: 48 89 18 mov qword ptr [rax],rbx 0000000140001895: E8 D8 02 00 00 call terminate 000000014000189A: CC int 3 000000014000189B: CC I _RTC_Initialize: 000000014000189C: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 00000001400018A1: 57 push rdi 00000001400018A2: 48 83 EC 20 sub rsp,20h 00000001400018A6: 48 8D 1D 63 10 00 lea rbx,[__rtc_izz] 00 00000001400018AD: 48 8D 3D 5C 10 00 lea rdi,[__rtc_izz] 00 00000001400018B4: EB 12 jmp 00000001400018C8 00000001400018B6: 48 8B 03 mov rax,qword ptr [rbx] 00000001400018B9: 48 85 C0 test rax,rax 00000001400018BC: 74 06 je 00000001400018C4 00000001400018BE: FF 15 24 09 00 00 call qword ptr [__guard_dispatch_icall_fptr] 00000001400018C4: 48 83 C3 08 add rbx,8 00000001400018C8: 48 3B DF cmp rbx,rdi 00000001400018CB: 72 E9 jb 00000001400018B6 00000001400018CD: 48 8B 5C 24 30 mov rbx,qword ptr [rsp+30h] 00000001400018D2: 48 83 C4 20 add rsp,20h 00000001400018D6: 5F pop rdi 00000001400018D7: C3 ret _RTC_Terminate: 00000001400018D8: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 00000001400018DD: 57 push rdi 00000001400018DE: 48 83 EC 20 sub rsp,20h 00000001400018E2: 48 8D 1D 37 10 00 lea rbx,[__rtc_tzz] 00 00000001400018E9: 48 8D 3D 30 10 00 lea rdi,[__rtc_tzz] 00 00000001400018F0: EB 12 jmp 0000000140001904 00000001400018F2: 48 8B 03 mov rax,qword ptr [rbx] 00000001400018F5: 48 85 C0 test rax,rax 00000001400018F8: 74 06 je 0000000140001900 00000001400018FA: FF 15 E8 08 00 00 call qword ptr [__guard_dispatch_icall_fptr] 0000000140001900: 48 83 C3 08 add rbx,8 0000000140001904: 48 3B DF cmp rbx,rdi 0000000140001907: 72 E9 jb 00000001400018F2 0000000140001909: 48 8B 5C 24 30 mov rbx,qword ptr [rsp+30h] 000000014000190E: 48 83 C4 20 add rsp,20h 0000000140001912: 5F pop rdi 0000000140001913: C3 ret __isa_available_init: 0000000140001914: 48 89 5C 24 10 mov qword ptr [rsp+10h],rbx 0000000140001919: 48 89 74 24 18 mov qword ptr [rsp+18h],rsi 000000014000191E: 57 push rdi 000000014000191F: 48 83 EC 10 sub rsp,10h 0000000140001923: 33 C0 xor eax,eax 0000000140001925: 33 C9 xor ecx,ecx 0000000140001927: 0F A2 cpuid 0000000140001929: 44 8B C1 mov r8d,ecx 000000014000192C: 45 33 DB xor r11d,r11d 000000014000192F: 44 8B D2 mov r10d,edx 0000000140001932: 41 81 F0 6E 74 65 xor r8d,6C65746Eh 6C 0000000140001939: 41 81 F2 69 6E 65 xor r10d,49656E69h 49 0000000140001940: 44 8B CB mov r9d,ebx 0000000140001943: 8B F0 mov esi,eax 0000000140001945: 33 C9 xor ecx,ecx 0000000140001947: 41 8D 43 01 lea eax,[r11+1] 000000014000194B: 45 0B D0 or r10d,r8d 000000014000194E: 0F A2 cpuid 0000000140001950: 41 81 F1 47 65 6E xor r9d,756E6547h 75 0000000140001957: 89 04 24 mov dword ptr [rsp],eax 000000014000195A: 45 0B D1 or r10d,r9d 000000014000195D: 89 5C 24 04 mov dword ptr [rsp+4],ebx 0000000140001961: 8B F9 mov edi,ecx 0000000140001963: 89 4C 24 08 mov dword ptr [rsp+8],ecx 0000000140001967: 89 54 24 0C mov dword ptr [rsp+0Ch],edx 000000014000196B: 75 5B jne 00000001400019C8 000000014000196D: 48 83 0D A3 26 00 or qword ptr [__memset_nt_threshold],0FFFFFFFFFFFFFFFFh 00 FF 0000000140001975: 25 F0 3F FF 0F and eax,0FFF3FF0h 000000014000197A: 48 C7 05 8B 26 00 mov qword ptr [__memset_fast_string_threshold],8000h 00 00 80 00 00 0000000140001985: 3D C0 06 01 00 cmp eax,106C0h 000000014000198A: 74 28 je 00000001400019B4 000000014000198C: 3D 60 06 02 00 cmp eax,20660h 0000000140001991: 74 21 je 00000001400019B4 0000000140001993: 3D 70 06 02 00 cmp eax,20670h 0000000140001998: 74 1A je 00000001400019B4 000000014000199A: 05 B0 F9 FC FF add eax,0FFFCF9B0h 000000014000199F: 83 F8 20 cmp eax,20h 00000001400019A2: 77 24 ja 00000001400019C8 00000001400019A4: 48 B9 01 00 01 00 mov rcx,100010001h 01 00 00 00 00000001400019AE: 48 0F A3 C1 bt rcx,rax 00000001400019B2: 73 14 jae 00000001400019C8 00000001400019B4: 44 8B 05 59 27 00 mov r8d,dword ptr [__favor] 00 00000001400019BB: 41 83 C8 01 or r8d,1 00000001400019BF: 44 89 05 4E 27 00 mov dword ptr [__favor],r8d 00 00000001400019C6: EB 07 jmp 00000001400019CF 00000001400019C8: 44 8B 05 45 27 00 mov r8d,dword ptr [__favor] 00 00000001400019CF: B8 07 00 00 00 mov eax,7 00000001400019D4: 44 8D 48 FB lea r9d,[rax-5] 00000001400019D8: 3B F0 cmp esi,eax 00000001400019DA: 7C 26 jl 0000000140001A02 00000001400019DC: 33 C9 xor ecx,ecx 00000001400019DE: 0F A2 cpuid 00000001400019E0: 89 04 24 mov dword ptr [rsp],eax 00000001400019E3: 44 8B DB mov r11d,ebx 00000001400019E6: 89 5C 24 04 mov dword ptr [rsp+4],ebx 00000001400019EA: 89 4C 24 08 mov dword ptr [rsp+8],ecx 00000001400019EE: 89 54 24 0C mov dword ptr [rsp+0Ch],edx 00000001400019F2: 0F BA E3 09 bt ebx,9 00000001400019F6: 73 0A jae 0000000140001A02 00000001400019F8: 45 0B C1 or r8d,r9d 00000001400019FB: 44 89 05 12 27 00 mov dword ptr [__favor],r8d 00 0000000140001A02: C7 05 FC 25 00 00 mov dword ptr [__isa_available],1 01 00 00 00 0000000140001A0C: 44 89 0D F9 25 00 mov dword ptr [__isa_enabled],r9d 00 0000000140001A13: 0F BA E7 14 bt edi,14h 0000000140001A17: 0F 83 91 00 00 00 jae 0000000140001AAE 0000000140001A1D: 44 89 0D E4 25 00 mov dword ptr [__isa_available],r9d 00 0000000140001A24: BB 06 00 00 00 mov ebx,6 0000000140001A29: 89 1D DD 25 00 00 mov dword ptr [__isa_enabled],ebx 0000000140001A2F: 0F BA E7 1B bt edi,1Bh 0000000140001A33: 73 79 jae 0000000140001AAE 0000000140001A35: 0F BA E7 1C bt edi,1Ch 0000000140001A39: 73 73 jae 0000000140001AAE 0000000140001A3B: 33 C9 xor ecx,ecx 0000000140001A3D: 0F 01 D0 xgetbv 0000000140001A40: 48 C1 E2 20 shl rdx,20h 0000000140001A44: 48 0B D0 or rdx,rax 0000000140001A47: 48 89 54 24 20 mov qword ptr [rsp+20h],rdx 0000000140001A4C: 48 8B 44 24 20 mov rax,qword ptr [rsp+20h] 0000000140001A51: 22 C3 and al,bl 0000000140001A53: 3A C3 cmp al,bl 0000000140001A55: 75 57 jne 0000000140001AAE 0000000140001A57: 8B 05 AF 25 00 00 mov eax,dword ptr [__isa_enabled] 0000000140001A5D: 83 C8 08 or eax,8 0000000140001A60: C7 05 9E 25 00 00 mov dword ptr [__isa_available],3 03 00 00 00 0000000140001A6A: 89 05 9C 25 00 00 mov dword ptr [__isa_enabled],eax 0000000140001A70: 41 F6 C3 20 test r11b,20h 0000000140001A74: 74 38 je 0000000140001AAE 0000000140001A76: 83 C8 20 or eax,20h 0000000140001A79: C7 05 85 25 00 00 mov dword ptr [__isa_available],5 05 00 00 00 0000000140001A83: 89 05 83 25 00 00 mov dword ptr [__isa_enabled],eax 0000000140001A89: B8 00 00 03 D0 mov eax,0D0030000h 0000000140001A8E: 44 23 D8 and r11d,eax 0000000140001A91: 44 3B D8 cmp r11d,eax 0000000140001A94: 75 18 jne 0000000140001AAE 0000000140001A96: 48 8B 44 24 20 mov rax,qword ptr [rsp+20h] 0000000140001A9B: 24 E0 and al,0E0h 0000000140001A9D: 3C E0 cmp al,0E0h 0000000140001A9F: 75 0D jne 0000000140001AAE 0000000140001AA1: 83 0D 64 25 00 00 or dword ptr [__isa_enabled],40h 40 0000000140001AA8: 89 1D 5A 25 00 00 mov dword ptr [__isa_available],ebx 0000000140001AAE: 48 8B 5C 24 28 mov rbx,qword ptr [rsp+28h] 0000000140001AB3: 33 C0 xor eax,eax 0000000140001AB5: 48 8B 74 24 30 mov rsi,qword ptr [rsp+30h] 0000000140001ABA: 48 83 C4 10 add rsp,10h 0000000140001ABE: 5F pop rdi 0000000140001ABF: C3 ret __scrt_is_ucrt_dll_in_use: 0000000140001AC0: 33 C0 xor eax,eax 0000000140001AC2: 39 05 C8 25 00 00 cmp dword ptr [__scrt_ucrt_dll_is_in_use],eax 0000000140001AC8: 0F 95 C0 setne al 0000000140001ACB: C3 ret 0000000140001ACC: CC CC CC CC IIII __CxxFrameHandler3: 0000000140001AD0: FF 25 AA 05 00 00 jmp qword ptr [__imp___CxxFrameHandler3] __C_specific_handler: 0000000140001AD6: FF 25 AC 05 00 00 jmp qword ptr [__imp___C_specific_handler] __current_exception: 0000000140001ADC: FF 25 AE 05 00 00 jmp qword ptr [__imp___current_exception] __current_exception_context: 0000000140001AE2: FF 25 B0 05 00 00 jmp qword ptr [__imp___current_exception_context] memset: 0000000140001AE8: FF 25 8A 05 00 00 jmp qword ptr [__imp_memset] _seh_filter_exe: 0000000140001AEE: FF 25 74 06 00 00 jmp qword ptr [__imp__seh_filter_exe] _set_app_type: 0000000140001AF4: FF 25 46 06 00 00 jmp qword ptr [__imp__set_app_type] __setusermatherr: 0000000140001AFA: FF 25 D8 05 00 00 jmp qword ptr [__imp___setusermatherr] _configure_narrow_argv: 0000000140001B00: FF 25 32 06 00 00 jmp qword ptr [__imp__configure_narrow_argv] _initialize_narrow_environment: 0000000140001B06: FF 25 24 06 00 00 jmp qword ptr [__imp__initialize_narrow_environment] _get_initial_narrow_environment: 0000000140001B0C: FF 25 EE 05 00 00 jmp qword ptr [__imp__get_initial_narrow_environment] _initterm: 0000000140001B12: FF 25 58 06 00 00 jmp qword ptr [__imp__initterm] _initterm_e: 0000000140001B18: FF 25 CA 05 00 00 jmp qword ptr [__imp__initterm_e] exit: 0000000140001B1E: FF 25 CC 05 00 00 jmp qword ptr [__imp_exit] _exit: 0000000140001B24: FF 25 CE 05 00 00 jmp qword ptr [__imp__exit] _set_fmode: 0000000140001B2A: FF 25 58 06 00 00 jmp qword ptr [__imp__set_fmode] __p___argc: 0000000140001B30: FF 25 D2 05 00 00 jmp qword ptr [__imp___p___argc] __p___argv: 0000000140001B36: FF 25 D4 05 00 00 jmp qword ptr [__imp___p___argv] _cexit: 0000000140001B3C: FF 25 D6 05 00 00 jmp qword ptr [__imp__cexit] _c_exit: 0000000140001B42: FF 25 D8 05 00 00 jmp qword ptr [__imp__c_exit] _register_thread_local_exe_atexit_callback: 0000000140001B48: FF 25 DA 05 00 00 jmp qword ptr [__imp__register_thread_local_exe_atexit_callback] _configthreadlocale: 0000000140001B4E: FF 25 74 05 00 00 jmp qword ptr [__imp__configthreadlocale] _set_new_mode: 0000000140001B54: FF 25 5E 05 00 00 jmp qword ptr [__imp__set_new_mode] __p__commode: 0000000140001B5A: FF 25 20 06 00 00 jmp qword ptr [__imp___p__commode] _initialize_onexit_table: 0000000140001B60: FF 25 E2 05 00 00 jmp qword ptr [__imp__initialize_onexit_table] _register_onexit_function: 0000000140001B66: FF 25 E4 05 00 00 jmp qword ptr [__imp__register_onexit_function] _crt_atexit: 0000000140001B6C: FF 25 E6 05 00 00 jmp qword ptr [__imp__crt_atexit] terminate: 0000000140001B72: FF 25 E8 05 00 00 jmp qword ptr [__imp_terminate] memcpy: 0000000140001B78: FF 25 F2 04 00 00 jmp qword ptr [__imp_memcpy] 0000000140001B7E: CC CC II 0000000140001B80: CC int 3 0000000140001B81: CC int 3 0000000140001B82: CC int 3 0000000140001B83: CC int 3 0000000140001B84: CC int 3 0000000140001B85: CC int 3 0000000140001B86: 66 66 0F 1F 84 00 nop word ptr [rax+rax] 00 00 00 00 _guard_dispatch_icall_nop: 0000000140001B90: FF E0 jmp rax 0000000140001B92: CC CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIIII 0000000140001BA0: CC int 3 0000000140001BA1: CC int 3 0000000140001BA2: CC int 3 0000000140001BA3: CC int 3 0000000140001BA4: CC int 3 0000000140001BA5: CC int 3 0000000140001BA6: 66 66 0F 1F 84 00 nop word ptr [rax+rax] 00 00 00 00 _guard_xfg_dispatch_icall_nop: 0000000140001BB0: FF 25 32 06 00 00 jmp qword ptr [__guard_dispatch_icall_fptr] 0000000140001BB6: CC CC CC CC CC CC CC CC CC CC IIIIIIIIII _ZN3std4sync9once_lock17OnceLock$LT$T$GT$10initialize17hd8d7daf22edd086bE: 0000000140001BC0: 48 83 EC 48 sub rsp,48h 0000000140001BC4: 8B 01 mov eax,dword ptr [rcx] 0000000140001BC6: 83 F8 04 cmp eax,4 0000000140001BC9: 75 05 jne 0000000140001BD0 0000000140001BCB: 48 83 C4 48 add rsp,48h 0000000140001BCF: C3 ret 0000000140001BD0: 48 8D 41 04 lea rax,[rcx+4] 0000000140001BD4: 48 89 44 24 38 mov qword ptr [rsp+38h],rax 0000000140001BD9: 48 8D 44 24 2F lea rax,[rsp+2Fh] 0000000140001BDE: 48 89 44 24 40 mov qword ptr [rsp+40h],rax 0000000140001BE3: 48 8D 44 24 38 lea rax,[rsp+38h] 0000000140001BE8: 48 89 44 24 30 mov qword ptr [rsp+30h],rax 0000000140001BED: 4C 8D 0D FC 06 00 lea r9,[anon.5050d51537781bf94a528f852f1b822b.1.llvm.15448363941758038402] 00 0000000140001BF4: 4C 8D 44 24 30 lea r8,[rsp+30h] 0000000140001BF9: B2 01 mov dl,1 0000000140001BFB: E8 10 00 00 00 call _ZN3std3sys4sync4once5futex4Once4call17hb0badcca8601388aE 0000000140001C00: EB C9 jmp 0000000140001BCB 0000000140001C02: CC CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIIII _ZN3std3sys4sync4once5futex4Once4call17hb0badcca8601388aE: 0000000140001C10: 55 push rbp 0000000140001C11: 41 57 push r15 0000000140001C13: 41 56 push r14 0000000140001C15: 41 55 push r13 0000000140001C17: 41 54 push r12 0000000140001C19: 56 push rsi 0000000140001C1A: 57 push rdi 0000000140001C1B: 53 push rbx 0000000140001C1C: 48 83 EC 68 sub rsp,68h 0000000140001C20: 48 8D 6C 24 60 lea rbp,[rsp+60h] 0000000140001C25: 48 C7 45 00 FE FF mov qword ptr [rbp],0FFFFFFFFFFFFFFFEh FF FF 0000000140001C2D: 4C 89 4D F0 mov qword ptr [rbp-10h],r9 0000000140001C31: 4C 89 C7 mov rdi,r8 0000000140001C34: 41 89 D6 mov r14d,edx 0000000140001C37: 48 89 CB mov rbx,rcx 0000000140001C3A: 4C 8D 25 CF 07 00 lea r12,[140002410h] 00 0000000140001C41: 41 BD 02 00 00 00 mov r13d,2 0000000140001C47: BE 03 00 00 00 mov esi,3 0000000140001C4C: 4C 8B 3D 55 04 00 mov r15,qword ptr [__imp_WaitOnAddress] 00 0000000140001C53: 8B 03 mov eax,dword ptr [rbx] 0000000140001C55: EB 19 jmp 0000000140001C70 0000000140001C57: 66 0F 1F 84 00 00 nop word ptr [rax+rax] 00 00 00 0000000140001C60: 45 84 F6 test r14b,r14b 0000000140001C63: 0F 84 8C 00 00 00 je 0000000140001CF5 0000000140001C69: F0 44 0F B1 2B lock cmpxchg dword ptr [rbx],r13d 0000000140001C6E: 74 48 je 0000000140001CB8 0000000140001C70: 83 F8 04 cmp eax,4 0000000140001C73: 0F 87 99 00 00 00 ja 0000000140001D12 0000000140001C79: 89 C1 mov ecx,eax 0000000140001C7B: 49 63 0C 8C movsxd rcx,dword ptr [r12+rcx*4] 0000000140001C7F: 4C 01 E1 add rcx,r12 0000000140001C82: FF E1 jmp rcx 0000000140001C84: B8 02 00 00 00 mov eax,2 0000000140001C89: F0 0F B1 33 lock cmpxchg dword ptr [rbx],esi 0000000140001C8D: 75 E1 jne 0000000140001C70 0000000140001C8F: C7 45 C0 03 00 00 mov dword ptr [rbp-40h],3 00 0000000140001C96: 41 B8 04 00 00 00 mov r8d,4 0000000140001C9C: 48 89 D9 mov rcx,rbx 0000000140001C9F: 48 8D 55 C0 lea rdx,[rbp-40h] 0000000140001CA3: 41 B9 FF FF FF FF mov r9d,0FFFFFFFFh 0000000140001CA9: 41 FF D7 call r15 0000000140001CAC: 83 F8 01 cmp eax,1 0000000140001CAF: 74 A2 je 0000000140001C53 0000000140001CB1: E8 E0 F3 FF FF call _ZN3std3sys3pal7windows3api14get_last_error17h563dec06c925f25fE 0000000140001CB6: EB 9B jmp 0000000140001C53 0000000140001CB8: 48 89 5D C0 mov qword ptr [rbp-40h],rbx 0000000140001CBC: C7 45 C8 01 00 00 mov dword ptr [rbp-38h],1 00 0000000140001CC3: 48 8B 07 mov rax,qword ptr [rdi] 0000000140001CC6: 48 83 38 00 cmp qword ptr [rax],0 0000000140001CCA: 48 C7 00 00 00 00 mov qword ptr [rax],0 00 0000000140001CD1: 74 6E je 0000000140001D41 0000000140001CD3: C7 45 C8 04 00 00 mov dword ptr [rbp-38h],4 00 0000000140001CDA: 48 8D 4D C0 lea rcx,[rbp-40h] 0000000140001CDE: E8 B9 F3 FF FF call _ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E 0000000140001CE3: 90 nop 0000000140001CE4: 48 83 C4 68 add rsp,68h 0000000140001CE8: 5B pop rbx 0000000140001CE9: 5F pop rdi 0000000140001CEA: 5E pop rsi 0000000140001CEB: 41 5C pop r12 0000000140001CED: 41 5D pop r13 0000000140001CEF: 41 5E pop r14 0000000140001CF1: 41 5F pop r15 0000000140001CF3: 5D pop rbp 0000000140001CF4: C3 ret 0000000140001CF5: 48 8D 05 3C 06 00 lea rax,[anon.56382f1f4e66faf81812ad4386855922.1.llvm.4174790170175778062] 00 0000000140001CFC: 48 89 45 C0 mov qword ptr [rbp-40h],rax 0000000140001D00: 48 C7 45 C8 01 00 mov qword ptr [rbp-38h],1 00 00 0000000140001D08: 48 C7 45 D0 08 00 mov qword ptr [rbp-30h],8 00 00 0000000140001D10: EB 1B jmp 0000000140001D2D 0000000140001D12: 48 8D 05 7F 06 00 lea rax,[anon.56382f1f4e66faf81812ad4386855922.3.llvm.4174790170175778062] 00 0000000140001D19: 48 89 45 C0 mov qword ptr [rbp-40h],rax 0000000140001D1D: 48 C7 45 C8 01 00 mov qword ptr [rbp-38h],1 00 00 0000000140001D25: 48 8D 45 F8 lea rax,[rbp-8] 0000000140001D29: 48 89 45 D0 mov qword ptr [rbp-30h],rax 0000000140001D2D: 0F 57 C0 xorps xmm0,xmm0 0000000140001D30: 0F 11 45 D8 movups xmmword ptr [rbp-28h],xmm0 0000000140001D34: 48 8D 4D C0 lea rcx,[rbp-40h] 0000000140001D38: 48 8B 55 F0 mov rdx,qword ptr [rbp-10h] 0000000140001D3C: E8 61 F3 FF FF call _ZN4core9panicking9panic_fmt17hb39cfdace1bc0cb7E 0000000140001D41: 48 8D 0D B0 06 00 lea rcx,[anon.56382f1f4e66faf81812ad4386855922.5.llvm.4174790170175778062] 00 0000000140001D48: E8 5B F3 FF FF call _ZN4core6option13unwrap_failed17hb95fbc70d3a4af9aE 0000000140001D4D: 0F 0B ud2 0000000140001D4F: 90 nop 0000000140001D50: 48 89 54 24 10 mov qword ptr [rsp+10h],rdx 0000000140001D55: 55 push rbp 0000000140001D56: 41 57 push r15 0000000140001D58: 41 56 push r14 0000000140001D5A: 41 55 push r13 0000000140001D5C: 41 54 push r12 0000000140001D5E: 56 push rsi 0000000140001D5F: 57 push rdi 0000000140001D60: 53 push rbx 0000000140001D61: 48 83 EC 28 sub rsp,28h 0000000140001D65: 48 8D 6A 60 lea rbp,[rdx+60h] 0000000140001D69: 48 8D 4D C0 lea rcx,[rbp-40h] 0000000140001D6D: E8 2A F3 FF FF call _ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E 0000000140001D72: 90 nop 0000000140001D73: 48 83 C4 28 add rsp,28h 0000000140001D77: 5B pop rbx 0000000140001D78: 5F pop rdi 0000000140001D79: 5E pop rsi 0000000140001D7A: 41 5C pop r12 0000000140001D7C: 41 5D pop r13 0000000140001D7E: 41 5E pop r14 0000000140001D80: 41 5F pop r15 0000000140001D82: 5D pop rbp 0000000140001D83: C3 ret `__scrt_common_main_seh'::`1'::filt$0: 0000000140001D84: 40 55 push rbp 0000000140001D86: 48 83 EC 20 sub rsp,20h 0000000140001D8A: 48 8B EA mov rbp,rdx 0000000140001D8D: 48 8B 01 mov rax,qword ptr [rcx] 0000000140001D90: 48 8B D1 mov rdx,rcx 0000000140001D93: 8B 08 mov ecx,dword ptr [rax] 0000000140001D95: E8 54 FD FF FF call _seh_filter_exe 0000000140001D9A: 90 nop 0000000140001D9B: 48 83 C4 20 add rsp,20h 0000000140001D9F: 5D pop rbp 0000000140001DA0: C3 ret 0000000140001DA1: CC int 3 __scrt_is_nonwritable_in_current_image$filt$0: 0000000140001DA2: 40 55 push rbp 0000000140001DA4: 48 8B EA mov rbp,rdx 0000000140001DA7: 48 8B 01 mov rax,qword ptr [rcx] 0000000140001DAA: 33 C9 xor ecx,ecx 0000000140001DAC: 81 38 05 00 00 C0 cmp dword ptr [rax],0C0000005h 0000000140001DB2: 0F 94 C1 sete cl 0000000140001DB5: 8B C1 mov eax,ecx 0000000140001DB7: 5D pop rbp 0000000140001DB8: C3 ret 0000000140001DB9: CC int 3 Summary 1000 .data 1000 .pdata 2000 .rdata 1000 .reloc 1000 .text ```
With lto=thin ```text Microsoft (R) COFF/PE Dumper Version 14.39.33523.0 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file target\debug\executable.exe File Type: EXECUTABLE IMAGE _ZN3std3sys9backtrace28__rust_begin_short_backtrace17he932f4b4c8181b57E: 0000000140001000: 48 83 EC 28 sub rsp,28h 0000000140001004: FF D1 call rcx 0000000140001006: 90 nop 0000000140001007: 48 83 C4 28 add rsp,28h 000000014000100B: C3 ret 000000014000100C: CC CC CC CC IIII _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h2f236fc1f6b47ae1E.llvm.841805966935466388: 0000000140001010: 48 83 EC 28 sub rsp,28h 0000000140001014: 48 8B 09 mov rcx,qword ptr [rcx] 0000000140001017: E8 E4 FF FF FF call _ZN3std3sys9backtrace28__rust_begin_shoart_backtrace17he932f4b4c8181b57E 000000014000101C: 31 C0 xor eax,eax 000000014000101E: 48 83 C4 28 add rsp,28h 0000000140001022: C3 ret 0000000140001023: CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIII executable::main: 0000000140001030: 8B 05 5A 00 00 00 mov eax,dword ptr [_ZN7library9ONCE_LOCK17hab4deb37a7eefcabE] 0000000140001036: 83 F8 04 cmp eax,4 0000000140001039: 75 01 jne 000000014000103C 000000014000103B: C3 ret 000000014000103C: 48 8D 0D 4D 00 00 lea rcx,[_ZN7library9ONCE_LOCK17hab4deb37a7eefcabE] 00 0000000140001043: E9 F8 0C 00 00 jmp _ZN3std4sync9once_lock17OnceLock$LT$T$GT$10initialize17h295e963a41abbe0dE 0000000140001048: CC CC CC CC CC CC CC CC IIIIIIII main: 0000000140001050: 48 83 EC 38 sub rsp,38h 0000000140001054: 49 89 D1 mov r9,rdx 0000000140001057: 4C 63 C1 movsxd r8,ecx 000000014000105A: 48 8D 05 CF FF FF lea rax,[140001030h] FF 0000000140001061: 48 89 44 24 30 mov qword ptr [rsp+30h],rax 0000000140001066: C6 44 24 20 00 mov byte ptr [rsp+20h],0 000000014000106B: 48 8D 15 1E 13 00 lea rdx,[anon.04175970a8c70660907067f68e655128.0.llvm.841805966935466388] 00 0000000140001072: 48 8D 4C 24 30 lea rcx,[rsp+30h] 0000000140001077: E8 32 00 00 00 call _ZN3std2rt19lang_start_internal17hae47a42ca7fab963E 000000014000107C: 90 nop 000000014000107D: 48 83 C4 38 add rsp,38h 0000000140001081: C3 ret 0000000140001082: CC CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIIII _ZN7library9ONCE_LOCK17hab4deb37a7eefcabE: 0000000140001090: FF 25 02 11 00 00 jmp qword ptr [__imp__ZN7library9ONCE_LOCK17hab4deb37a7eefcabE] _ZN3std3sys3pal7windows3api14get_last_error17h563dec06c925f25fE: 0000000140001096: FF 25 24 11 00 00 jmp qword ptr [__imp__ZN3std3sys3pal7windows3api14get_last_error17h563dec06c925f25fE] _ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E: 000000014000109C: FF 25 16 11 00 00 jmp qword ptr [__imp__ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E] _ZN4core9panicking9panic_fmt17hb39cfdace1bc0cb7E: 00000001400010A2: FF 25 08 11 00 00 jmp qword ptr [__imp__ZN4core9panicking9panic_fmt17hb39cfdace1bc0cb7E] _ZN4core6option13unwrap_failed17hb95fbc70d3a4af9aE: 00000001400010A8: FF 25 FA 10 00 00 jmp qword ptr [__imp__ZN4core6option13unwrap_failed17hb95fbc70d3a4af9aE] _ZN3std2rt19lang_start_internal17hae47a42ca7fab963E: 00000001400010AE: FF 25 14 11 00 00 jmp qword ptr [__imp__ZN3std2rt19lang_start_internal17hae47a42ca7fab963E] pre_c_initialization: 00000001400010B4: 40 53 push rbx 00000001400010B6: 48 83 EC 20 sub rsp,20h 00000001400010BA: B9 01 00 00 00 mov ecx,1 00000001400010BF: E8 30 0A 00 00 call _set_app_type 00000001400010C4: E8 57 05 00 00 call _get_startup_file_mode 00000001400010C9: 8B C8 mov ecx,eax 00000001400010CB: E8 5A 0A 00 00 call _set_fmode 00000001400010D0: E8 3F 05 00 00 call __scrt_exe_initialize_mta 00000001400010D5: 8B D8 mov ebx,eax 00000001400010D7: E8 7E 0A 00 00 call __p__commode 00000001400010DC: B9 01 00 00 00 mov ecx,1 00000001400010E1: 89 18 mov dword ptr [rax],ebx 00000001400010E3: E8 B8 02 00 00 call __scrt_initialize_onexit_tables 00000001400010E8: 84 C0 test al,al 00000001400010EA: 74 73 je 000000014000115F 00000001400010EC: E8 AF 07 00 00 call _RTC_Initialize 00000001400010F1: 48 8D 0D E4 07 00 lea rcx,[_RTC_Terminate] 00 00000001400010F8: E8 53 04 00 00 call atexit 00000001400010FD: E8 16 05 00 00 call _get_startup_argv_mode 0000000140001102: 8B C8 mov ecx,eax 0000000140001104: E8 F7 09 00 00 call _configure_narrow_argv 0000000140001109: 85 C0 test eax,eax 000000014000110B: 75 52 jne 000000014000115F 000000014000110D: E8 16 05 00 00 call ?__scrt_initialize_type_info@@YAXXZ 0000000140001112: E8 55 05 00 00 call __scrt_is_user_matherr_present 0000000140001117: 85 C0 test eax,eax 0000000140001119: 74 0C je 0000000140001127 000000014000111B: 48 8D 0D F2 04 00 lea rcx,[__scrt_exe_initialize_mta] 00 0000000140001122: E8 D3 09 00 00 call __setusermatherr 0000000140001127: E8 10 05 00 00 call _guard_check_icall_nop 000000014000112C: E8 0B 05 00 00 call _guard_check_icall_nop 0000000140001131: E8 DE 04 00 00 call __scrt_exe_initialize_mta 0000000140001136: 8B C8 mov ecx,eax 0000000140001138: E8 11 0A 00 00 call _configthreadlocale 000000014000113D: E8 F6 04 00 00 call __acrt_initialize 0000000140001142: 84 C0 test al,al 0000000140001144: 74 05 je 000000014000114B 0000000140001146: E8 BB 09 00 00 call _initialize_narrow_environment 000000014000114B: E8 C4 04 00 00 call __scrt_exe_initialize_mta 0000000140001150: E8 83 06 00 00 call __scrt_initialize_mta 0000000140001155: 85 C0 test eax,eax 0000000140001157: 75 06 jne 000000014000115F 0000000140001159: 48 83 C4 20 add rsp,20h 000000014000115D: 5B pop rbx 000000014000115E: C3 ret 000000014000115F: B9 07 00 00 00 mov ecx,7 0000000140001164: E8 27 05 00 00 call __scrt_fastfail 0000000140001169: CC int 3 000000014000116A: CC CC II post_pgo_initialization: 000000014000116C: 48 83 EC 28 sub rsp,28h 0000000140001170: E8 DB 04 00 00 call __scrt_initialize_default_local_stdio_options 0000000140001175: 33 C0 xor eax,eax 0000000140001177: 48 83 C4 28 add rsp,28h 000000014000117B: C3 ret pre_cpp_initialization: 000000014000117C: 48 83 EC 28 sub rsp,28h 0000000140001180: E8 AF 06 00 00 call __scrt_set_unhandled_exception_filter 0000000140001185: E8 8A 04 00 00 call __scrt_exe_initialize_mta 000000014000118A: 8B C8 mov ecx,eax 000000014000118C: 48 83 C4 28 add rsp,28h 0000000140001190: E9 BF 09 00 00 jmp _set_new_mode 0000000140001195: CC CC CC III __scrt_common_main_seh: 0000000140001198: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 000000014000119D: 48 89 74 24 10 mov qword ptr [rsp+10h],rsi 00000001400011A2: 57 push rdi 00000001400011A3: 48 83 EC 30 sub rsp,30h 00000001400011A7: B9 01 00 00 00 mov ecx,1 00000001400011AC: E8 B3 01 00 00 call __scrt_initialize_crt 00000001400011B1: 84 C0 test al,al 00000001400011B3: 0F 84 36 01 00 00 je 00000001400012EF 00000001400011B9: 40 32 F6 xor sil,sil 00000001400011BC: 40 88 74 24 20 mov byte ptr [rsp+20h],sil 00000001400011C1: E8 62 01 00 00 call __scrt_acquire_startup_lock 00000001400011C6: 8A D8 mov bl,al 00000001400011C8: 8B 0D D2 2E 00 00 mov ecx,dword ptr [__scrt_current_native_startup_state] 00000001400011CE: 83 F9 01 cmp ecx,1 00000001400011D1: 0F 84 23 01 00 00 je 00000001400012FA 00000001400011D7: 85 C9 test ecx,ecx 00000001400011D9: 75 4A jne 0000000140001225 00000001400011DB: C7 05 BB 2E 00 00 mov dword ptr [__scrt_current_native_startup_state],1 01 00 00 00 00000001400011E5: 48 8D 15 54 10 00 lea rdx,[__xi_z] 00 00000001400011EC: 48 8D 0D 35 10 00 lea rcx,[__xi_a] 00 00000001400011F3: E8 20 09 00 00 call _initterm_e 00000001400011F8: 85 C0 test eax,eax 00000001400011FA: 74 0A je 0000000140001206 00000001400011FC: B8 FF 00 00 00 mov eax,0FFh 0000000140001201: E9 D9 00 00 00 jmp 00000001400012DF 0000000140001206: 48 8D 15 13 10 00 lea rdx,[__xc_z] 00 000000014000120D: 48 8D 0D FC 0F 00 lea rcx,[__xc_a] 00 0000000140001214: E8 F9 08 00 00 call _initterm 0000000140001219: C7 05 7D 2E 00 00 mov dword ptr [__scrt_current_native_startup_state],2 02 00 00 00 0000000140001223: EB 08 jmp 000000014000122D 0000000140001225: 40 B6 01 mov sil,1 0000000140001228: 40 88 74 24 20 mov byte ptr [rsp+20h],sil 000000014000122D: 8A CB mov cl,bl 000000014000122F: E8 90 02 00 00 call __scrt_release_startup_lock 0000000140001234: E8 3F 04 00 00 call __scrt_get_dyn_tls_init_callback 0000000140001239: 48 8B D8 mov rbx,rax 000000014000123C: 48 83 38 00 cmp qword ptr [rax],0 0000000140001240: 74 1E je 0000000140001260 0000000140001242: 48 8B C8 mov rcx,rax 0000000140001245: E8 E2 01 00 00 call __scrt_is_nonwritable_in_current_image 000000014000124A: 84 C0 test al,al 000000014000124C: 74 12 je 0000000140001260 000000014000124E: 45 33 C0 xor r8d,r8d 0000000140001251: 41 8D 50 02 lea edx,[r8+2] 0000000140001255: 33 C9 xor ecx,ecx 0000000140001257: 48 8B 03 mov rax,qword ptr [rbx] 000000014000125A: FF 15 88 0F 00 00 call qword ptr [__guard_dispatch_icall_fptr] 0000000140001260: E8 1B 04 00 00 call __scrt_get_dyn_tls_dtor_callback 0000000140001265: 48 8B D8 mov rbx,rax 0000000140001268: 48 83 38 00 cmp qword ptr [rax],0 000000014000126C: 74 14 je 0000000140001282 000000014000126E: 48 8B C8 mov rcx,rax 0000000140001271: E8 B6 01 00 00 call __scrt_is_nonwritable_in_current_image 0000000140001276: 84 C0 test al,al 0000000140001278: 74 08 je 0000000140001282 000000014000127A: 48 8B 0B mov rcx,qword ptr [rbx] 000000014000127D: E8 C6 08 00 00 call _register_thread_local_exe_atexit_callback 0000000140001282: E8 85 08 00 00 call _get_initial_narrow_environment 0000000140001287: 48 8B F8 mov rdi,rax 000000014000128A: E8 A7 08 00 00 call __p___argv 000000014000128F: 48 8B 18 mov rbx,qword ptr [rax] 0000000140001292: E8 99 08 00 00 call __p___argc 0000000140001297: 4C 8B C7 mov r8,rdi 000000014000129A: 48 8B D3 mov rdx,rbx 000000014000129D: 8B 08 mov ecx,dword ptr [rax] 000000014000129F: E8 AC FD FF FF call main 00000001400012A4: 8B D8 mov ebx,eax 00000001400012A6: E8 35 05 00 00 call __scrt_is_managed_app 00000001400012AB: 84 C0 test al,al 00000001400012AD: 74 55 je 0000000140001304 00000001400012AF: 40 84 F6 test sil,sil 00000001400012B2: 75 05 jne 00000001400012B9 00000001400012B4: E8 83 08 00 00 call _cexit 00000001400012B9: 33 D2 xor edx,edx 00000001400012BB: B1 01 mov cl,1 00000001400012BD: E8 26 02 00 00 call __scrt_uninitialize_crt 00000001400012C2: 8B C3 mov eax,ebx 00000001400012C4: EB 19 jmp 00000001400012DF 00000001400012C6: 8B D8 mov ebx,eax 00000001400012C8: E8 13 05 00 00 call __scrt_is_managed_app 00000001400012CD: 84 C0 test al,al 00000001400012CF: 74 3B je 000000014000130C 00000001400012D1: 80 7C 24 20 00 cmp byte ptr [rsp+20h],0 00000001400012D6: 75 05 jne 00000001400012DD 00000001400012D8: E8 65 08 00 00 call _c_exit 00000001400012DD: 8B C3 mov eax,ebx 00000001400012DF: 48 8B 5C 24 40 mov rbx,qword ptr [rsp+40h] 00000001400012E4: 48 8B 74 24 48 mov rsi,qword ptr [rsp+48h] 00000001400012E9: 48 83 C4 30 add rsp,30h 00000001400012ED: 5F pop rdi 00000001400012EE: C3 ret 00000001400012EF: B9 07 00 00 00 mov ecx,7 00000001400012F4: E8 97 03 00 00 call __scrt_fastfail 00000001400012F9: 90 nop 00000001400012FA: B9 07 00 00 00 mov ecx,7 00000001400012FF: E8 8C 03 00 00 call __scrt_fastfail 0000000140001304: 8B CB mov ecx,ebx 0000000140001306: E8 13 08 00 00 call exit 000000014000130B: 90 nop 000000014000130C: 8B CB mov ecx,ebx 000000014000130E: E8 11 08 00 00 call _exit 0000000140001313: 90 nop mainCRTStartup: 0000000140001314: 48 83 EC 28 sub rsp,28h 0000000140001318: E8 4B 02 00 00 call __security_init_cookie 000000014000131D: 48 83 C4 28 add rsp,28h 0000000140001321: E9 72 FE FF FF jmp 0000000140001198 0000000140001326: CC CC II __scrt_acquire_startup_lock: 0000000140001328: 48 83 EC 28 sub rsp,28h 000000014000132C: E8 93 07 00 00 call __scrt_is_ucrt_dll_in_use 0000000140001331: 85 C0 test eax,eax 0000000140001333: 74 21 je 0000000140001356 0000000140001335: 65 48 8B 04 25 30 mov rax,qword ptr gs:[30h] 00 00 00 000000014000133E: 48 8B 48 08 mov rcx,qword ptr [rax+8] 0000000140001342: EB 05 jmp 0000000140001349 0000000140001344: 48 3B C8 cmp rcx,rax 0000000140001347: 74 14 je 000000014000135D 0000000140001349: 33 C0 xor eax,eax 000000014000134B: F0 48 0F B1 0D 54 lock cmpxchg qword ptr [__scrt_native_startup_lock],rcx 2D 00 00 0000000140001354: 75 EE jne 0000000140001344 0000000140001356: 32 C0 xor al,al 0000000140001358: 48 83 C4 28 add rsp,28h 000000014000135C: C3 ret 000000014000135D: B0 01 mov al,1 000000014000135F: EB F7 jmp 0000000140001358 0000000140001361: CC CC CC III __scrt_initialize_crt: 0000000140001364: 48 83 EC 28 sub rsp,28h 0000000140001368: 85 C9 test ecx,ecx 000000014000136A: 75 07 jne 0000000140001373 000000014000136C: C6 05 3D 2D 00 00 mov byte ptr [1400040B0h],1 01 0000000140001373: E8 A0 05 00 00 call __isa_available_init 0000000140001378: E8 BB 02 00 00 call __acrt_initialize 000000014000137D: 84 C0 test al,al 000000014000137F: 75 04 jne 0000000140001385 0000000140001381: 32 C0 xor al,al 0000000140001383: EB 14 jmp 0000000140001399 0000000140001385: E8 AE 02 00 00 call __acrt_initialize 000000014000138A: 84 C0 test al,al 000000014000138C: 75 09 jne 0000000140001397 000000014000138E: 33 C9 xor ecx,ecx 0000000140001390: E8 A3 02 00 00 call __acrt_initialize 0000000140001395: EB EA jmp 0000000140001381 0000000140001397: B0 01 mov al,1 0000000140001399: 48 83 C4 28 add rsp,28h 000000014000139D: C3 ret 000000014000139E: CC CC II __scrt_initialize_onexit_tables: 00000001400013A0: 40 53 push rbx 00000001400013A2: 48 83 EC 20 sub rsp,20h 00000001400013A6: 80 3D 04 2D 00 00 cmp byte ptr [1400040B1h],0 00 00000001400013AD: 8B D9 mov ebx,ecx 00000001400013AF: 75 67 jne 0000000140001418 00000001400013B1: 83 F9 01 cmp ecx,1 00000001400013B4: 77 6A ja 0000000140001420 00000001400013B6: E8 09 07 00 00 call __scrt_is_ucrt_dll_in_use 00000001400013BB: 85 C0 test eax,eax 00000001400013BD: 74 28 je 00000001400013E7 00000001400013BF: 85 DB test ebx,ebx 00000001400013C1: 75 24 jne 00000001400013E7 00000001400013C3: 48 8D 0D EE 2C 00 lea rcx,[1400040B8h] 00 00000001400013CA: E8 91 07 00 00 call _initialize_onexit_table 00000001400013CF: 85 C0 test eax,eax 00000001400013D1: 75 10 jne 00000001400013E3 00000001400013D3: 48 8D 0D F6 2C 00 lea rcx,[1400040D0h] 00 00000001400013DA: E8 81 07 00 00 call _initialize_onexit_table 00000001400013DF: 85 C0 test eax,eax 00000001400013E1: 74 2E je 0000000140001411 00000001400013E3: 32 C0 xor al,al 00000001400013E5: EB 33 jmp 000000014000141A 00000001400013E7: 66 0F 6F 05 41 10 movdqa xmm0,xmmword ptr [__xmm@ffffffffffffffffffffffffffffffff] 00 00 00000001400013EF: 48 83 C8 FF or rax,0FFFFFFFFFFFFFFFFh 00000001400013F3: F3 0F 7F 05 BD 2C movdqu xmmword ptr [1400040B8h],xmm0 00 00 00000001400013FB: 48 89 05 C6 2C 00 mov qword ptr [1400040C8h],rax 00 0000000140001402: F3 0F 7F 05 C6 2C movdqu xmmword ptr [1400040D0h],xmm0 00 00 000000014000140A: 48 89 05 CF 2C 00 mov qword ptr [1400040E0h],rax 00 0000000140001411: C6 05 99 2C 00 00 mov byte ptr [1400040B1h],1 01 0000000140001418: B0 01 mov al,1 000000014000141A: 48 83 C4 20 add rsp,20h 000000014000141E: 5B pop rbx 000000014000141F: C3 ret 0000000140001420: B9 05 00 00 00 mov ecx,5 0000000140001425: E8 66 02 00 00 call __scrt_fastfail 000000014000142A: CC int 3 000000014000142B: CC I __scrt_is_nonwritable_in_current_image: 000000014000142C: 48 83 EC 18 sub rsp,18h 0000000140001430: 4C 8B C1 mov r8,rcx 0000000140001433: B8 4D 5A 00 00 mov eax,5A4Dh 0000000140001438: 66 39 05 C1 EB FF cmp word ptr [140000000h],ax FF 000000014000143F: 75 78 jne 00000001400014B9 0000000140001441: 48 63 0D F4 EB FF movsxd rcx,dword ptr [14000003Ch] FF 0000000140001448: 48 8D 15 B1 EB FF lea rdx,[140000000h] FF 000000014000144F: 48 03 CA add rcx,rdx 0000000140001452: 81 39 50 45 00 00 cmp dword ptr [rcx],4550h 0000000140001458: 75 5F jne 00000001400014B9 000000014000145A: B8 0B 02 00 00 mov eax,20Bh 000000014000145F: 66 39 41 18 cmp word ptr [rcx+18h],ax 0000000140001463: 75 54 jne 00000001400014B9 0000000140001465: 4C 2B C2 sub r8,rdx 0000000140001468: 0F B7 51 14 movzx edx,word ptr [rcx+14h] 000000014000146C: 48 83 C2 18 add rdx,18h 0000000140001470: 48 03 D1 add rdx,rcx 0000000140001473: 0F B7 41 06 movzx eax,word ptr [rcx+6] 0000000140001477: 48 8D 0C 80 lea rcx,[rax+rax*4] 000000014000147B: 4C 8D 0C CA lea r9,[rdx+rcx*8] 000000014000147F: 48 89 14 24 mov qword ptr [rsp],rdx 0000000140001483: 49 3B D1 cmp rdx,r9 0000000140001486: 74 18 je 00000001400014A0 0000000140001488: 8B 4A 0C mov ecx,dword ptr [rdx+0Ch] 000000014000148B: 4C 3B C1 cmp r8,rcx 000000014000148E: 72 0A jb 000000014000149A 0000000140001490: 8B 42 08 mov eax,dword ptr [rdx+8] 0000000140001493: 03 C1 add eax,ecx 0000000140001495: 4C 3B C0 cmp r8,rax 0000000140001498: 72 08 jb 00000001400014A2 000000014000149A: 48 83 C2 28 add rdx,28h 000000014000149E: EB DF jmp 000000014000147F 00000001400014A0: 33 D2 xor edx,edx 00000001400014A2: 48 85 D2 test rdx,rdx 00000001400014A5: 75 04 jne 00000001400014AB 00000001400014A7: 32 C0 xor al,al 00000001400014A9: EB 14 jmp 00000001400014BF 00000001400014AB: 83 7A 24 00 cmp dword ptr [rdx+24h],0 00000001400014AF: 7D 04 jge 00000001400014B5 00000001400014B1: 32 C0 xor al,al 00000001400014B3: EB 0A jmp 00000001400014BF 00000001400014B5: B0 01 mov al,1 00000001400014B7: EB 06 jmp 00000001400014BF 00000001400014B9: 32 C0 xor al,al 00000001400014BB: EB 02 jmp 00000001400014BF 00000001400014BD: 32 C0 xor al,al 00000001400014BF: 48 83 C4 18 add rsp,18h 00000001400014C3: C3 ret __scrt_release_startup_lock: 00000001400014C4: 40 53 push rbx 00000001400014C6: 48 83 EC 20 sub rsp,20h 00000001400014CA: 8A D9 mov bl,cl 00000001400014CC: E8 F3 05 00 00 call __scrt_is_ucrt_dll_in_use 00000001400014D1: 33 D2 xor edx,edx 00000001400014D3: 85 C0 test eax,eax 00000001400014D5: 74 0B je 00000001400014E2 00000001400014D7: 84 DB test bl,bl 00000001400014D9: 75 07 jne 00000001400014E2 00000001400014DB: 48 87 15 C6 2B 00 xchg rdx,qword ptr [__scrt_native_startup_lock] 00 00000001400014E2: 48 83 C4 20 add rsp,20h 00000001400014E6: 5B pop rbx 00000001400014E7: C3 ret __scrt_uninitialize_crt: 00000001400014E8: 40 53 push rbx 00000001400014EA: 48 83 EC 20 sub rsp,20h 00000001400014EE: 80 3D BB 2B 00 00 cmp byte ptr [1400040B0h],0 00 00000001400014F5: 8A D9 mov bl,cl 00000001400014F7: 74 04 je 00000001400014FD 00000001400014F9: 84 D2 test dl,dl 00000001400014FB: 75 0C jne 0000000140001509 00000001400014FD: E8 36 01 00 00 call __acrt_initialize 0000000140001502: 8A CB mov cl,bl 0000000140001504: E8 2F 01 00 00 call __acrt_initialize 0000000140001509: B0 01 mov al,1 000000014000150B: 48 83 C4 20 add rsp,20h 000000014000150F: 5B pop rbx 0000000140001510: C3 ret 0000000140001511: CC CC CC III _onexit: 0000000140001514: 40 53 push rbx 0000000140001516: 48 83 EC 20 sub rsp,20h 000000014000151A: 48 83 3D 96 2B 00 cmp qword ptr [1400040B8h],0FFFFFFFFFFFFFFFFh 00 FF 0000000140001522: 48 8B D9 mov rbx,rcx 0000000140001525: 75 07 jne 000000014000152E 0000000140001527: E8 40 06 00 00 call _crt_atexit 000000014000152C: EB 0F jmp 000000014000153D 000000014000152E: 48 8B D3 mov rdx,rbx 0000000140001531: 48 8D 0D 80 2B 00 lea rcx,[1400040B8h] 00 0000000140001538: E8 29 06 00 00 call _register_onexit_function 000000014000153D: 33 D2 xor edx,edx 000000014000153F: 85 C0 test eax,eax 0000000140001541: 48 0F 44 D3 cmove rdx,rbx 0000000140001545: 48 8B C2 mov rax,rdx 0000000140001548: 48 83 C4 20 add rsp,20h 000000014000154C: 5B pop rbx 000000014000154D: C3 ret 000000014000154E: CC CC II atexit: 0000000140001550: 48 83 EC 28 sub rsp,28h 0000000140001554: E8 BB FF FF FF call _onexit 0000000140001559: 48 F7 D8 neg rax 000000014000155C: 1B C0 sbb eax,eax 000000014000155E: F7 D8 neg eax 0000000140001560: FF C8 dec eax 0000000140001562: 48 83 C4 28 add rsp,28h 0000000140001566: C3 ret 0000000140001567: CC I __security_init_cookie: 0000000140001568: 48 89 5C 24 18 mov qword ptr [rsp+18h],rbx 000000014000156D: 55 push rbp 000000014000156E: 48 8B EC mov rbp,rsp 0000000140001571: 48 83 EC 30 sub rsp,30h 0000000140001575: 48 8B 05 C4 2A 00 mov rax,qword ptr [__security_cookie] 00 000000014000157C: 48 BB 32 A2 DF 2D mov rbx,2B992DDFA232h 99 2B 00 00 0000000140001586: 48 3B C3 cmp rax,rbx 0000000140001589: 75 74 jne 00000001400015FF 000000014000158B: 48 83 65 10 00 and qword ptr [rbp+10h],0 0000000140001590: 48 8D 4D 10 lea rcx,[rbp+10h] 0000000140001594: FF 15 BE 0A 00 00 call qword ptr [__imp_GetSystemTimeAsFileTime] 000000014000159A: 48 8B 45 10 mov rax,qword ptr [rbp+10h] 000000014000159E: 48 89 45 F0 mov qword ptr [rbp-10h],rax 00000001400015A2: FF 15 58 0A 00 00 call qword ptr [__imp_GetCurrentThreadId] 00000001400015A8: 8B C0 mov eax,eax 00000001400015AA: 48 31 45 F0 xor qword ptr [rbp-10h],rax 00000001400015AE: FF 15 8C 0A 00 00 call qword ptr [__imp_GetCurrentProcessId] 00000001400015B4: 8B C0 mov eax,eax 00000001400015B6: 48 8D 4D 18 lea rcx,[rbp+18h] 00000001400015BA: 48 31 45 F0 xor qword ptr [rbp-10h],rax 00000001400015BE: FF 15 84 0A 00 00 call qword ptr [__imp_QueryPerformanceCounter] 00000001400015C4: 8B 45 18 mov eax,dword ptr [rbp+18h] 00000001400015C7: 48 8D 4D F0 lea rcx,[rbp-10h] 00000001400015CB: 48 C1 E0 20 shl rax,20h 00000001400015CF: 48 33 45 18 xor rax,qword ptr [rbp+18h] 00000001400015D3: 48 33 45 F0 xor rax,qword ptr [rbp-10h] 00000001400015D7: 48 33 C1 xor rax,rcx 00000001400015DA: 48 B9 FF FF FF FF mov rcx,0FFFFFFFFFFFFh FF FF 00 00 00000001400015E4: 48 23 C1 and rax,rcx 00000001400015E7: 48 B9 33 A2 DF 2D mov rcx,2B992DDFA233h 99 2B 00 00 00000001400015F1: 48 3B C3 cmp rax,rbx 00000001400015F4: 48 0F 44 C1 cmove rax,rcx 00000001400015F8: 48 89 05 41 2A 00 mov qword ptr [__security_cookie],rax 00 00000001400015FF: 48 8B 5C 24 50 mov rbx,qword ptr [rsp+50h] 0000000140001604: 48 F7 D0 not rax 0000000140001607: 48 89 05 72 2A 00 mov qword ptr [__security_cookie_complement],rax 00 000000014000160E: 48 83 C4 30 add rsp,30h 0000000140001612: 5D pop rbp 0000000140001613: C3 ret __scrt_exe_initialize_mta: 0000000140001614: 33 C0 xor eax,eax 0000000140001616: C3 ret 0000000140001617: CC I _get_startup_argv_mode: 0000000140001618: B8 01 00 00 00 mov eax,1 000000014000161D: C3 ret 000000014000161E: CC CC II _get_startup_file_mode: 0000000140001620: B8 00 40 00 00 mov eax,4000h 0000000140001625: C3 ret 0000000140001626: CC CC II ?__scrt_initialize_type_info@@YAXXZ: 0000000140001628: 48 8D 0D C1 2A 00 lea rcx,[?__type_info_root_node@@3U__type_info_node@@A] 00 000000014000162F: 48 FF 25 1A 0A 00 jmp qword ptr [__imp_InitializeSListHead] 00 0000000140001636: CC CC II __acrt_initialize: 0000000140001638: B0 01 mov al,1 000000014000163A: C3 ret 000000014000163B: CC I _guard_check_icall_nop: 000000014000163C: C2 00 00 ret 0 000000014000163F: CC I __local_stdio_printf_options: 0000000140001640: 48 8D 05 B9 2A 00 lea rax,[?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA] 00 0000000140001647: C3 ret __local_stdio_scanf_options: 0000000140001648: 48 8D 05 B9 2A 00 lea rax,[?_OptionsStorage@?1??__local_stdio_scanf_options@@9@4_KA] 00 000000014000164F: C3 ret __scrt_initialize_default_local_stdio_options: 0000000140001650: 48 83 EC 28 sub rsp,28h 0000000140001654: E8 E7 FF FF FF call __local_stdio_printf_options 0000000140001659: 48 83 08 24 or qword ptr [rax],24h 000000014000165D: E8 E6 FF FF FF call __local_stdio_scanf_options 0000000140001662: 48 83 08 02 or qword ptr [rax],2 0000000140001666: 48 83 C4 28 add rsp,28h 000000014000166A: C3 ret 000000014000166B: CC I __scrt_is_user_matherr_present: 000000014000166C: 33 C0 xor eax,eax 000000014000166E: 39 05 90 29 00 00 cmp dword ptr [__scrt_default_matherr],eax 0000000140001674: 0F 94 C0 sete al 0000000140001677: C3 ret __scrt_get_dyn_tls_init_callback: 0000000140001678: 48 8D 05 A1 2A 00 lea rax,[__dyn_tls_init_callback] 00 000000014000167F: C3 ret __scrt_get_dyn_tls_dtor_callback: 0000000140001680: 48 8D 05 91 2A 00 lea rax,[__dyn_tls_dtor_callback] 00 0000000140001687: C3 ret __crt_debugger_hook: 0000000140001688: 83 25 81 2A 00 00 and dword ptr [__scrt_debugger_hook_flag],0 00 000000014000168F: C3 ret __scrt_fastfail: 0000000140001690: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 0000000140001695: 55 push rbp 0000000140001696: 48 8D AC 24 40 FB lea rbp,[rsp-4C0h] FF FF 000000014000169E: 48 81 EC C0 05 00 sub rsp,5C0h 00 00000001400016A5: 8B D9 mov ebx,ecx 00000001400016A7: B9 17 00 00 00 mov ecx,17h 00000001400016AC: FF 15 66 09 00 00 call qword ptr [__imp_IsProcessorFeaturePresent] 00000001400016B2: 85 C0 test eax,eax 00000001400016B4: 74 04 je 00000001400016BA 00000001400016B6: 8B CB mov ecx,ebx 00000001400016B8: CD 29 int 29h 00000001400016BA: B9 03 00 00 00 mov ecx,3 00000001400016BF: E8 C4 FF FF FF call __crt_debugger_hook 00000001400016C4: 33 D2 xor edx,edx 00000001400016C6: 48 8D 4D F0 lea rcx,[rbp-10h] 00000001400016CA: 41 B8 D0 04 00 00 mov r8d,4D0h 00000001400016D0: E8 13 04 00 00 call memset 00000001400016D5: 48 8D 4D F0 lea rcx,[rbp-10h] 00000001400016D9: FF 15 29 09 00 00 call qword ptr [__imp_RtlCaptureContext] 00000001400016DF: 48 8B 9D E8 00 00 mov rbx,qword ptr [rbp+0E8h] 00 00000001400016E6: 48 8D 95 D8 04 00 lea rdx,[rbp+4D8h] 00 00000001400016ED: 48 8B CB mov rcx,rbx 00000001400016F0: 45 33 C0 xor r8d,r8d 00000001400016F3: FF 15 67 09 00 00 call qword ptr [__imp_RtlLookupFunctionEntry] 00000001400016F9: 48 85 C0 test rax,rax 00000001400016FC: 74 3C je 000000014000173A 00000001400016FE: 48 83 64 24 38 00 and qword ptr [rsp+38h],0 0000000140001704: 48 8D 8D E0 04 00 lea rcx,[rbp+4E0h] 00 000000014000170B: 48 8B 95 D8 04 00 mov rdx,qword ptr [rbp+4D8h] 00 0000000140001712: 4C 8B C8 mov r9,rax 0000000140001715: 48 89 4C 24 30 mov qword ptr [rsp+30h],rcx 000000014000171A: 4C 8B C3 mov r8,rbx 000000014000171D: 48 8D 8D E8 04 00 lea rcx,[rbp+4E8h] 00 0000000140001724: 48 89 4C 24 28 mov qword ptr [rsp+28h],rcx 0000000140001729: 48 8D 4D F0 lea rcx,[rbp-10h] 000000014000172D: 48 89 4C 24 20 mov qword ptr [rsp+20h],rcx 0000000140001732: 33 C9 xor ecx,ecx 0000000140001734: FF 15 FE 08 00 00 call qword ptr [__imp_RtlVirtualUnwind] 000000014000173A: 48 8B 85 C8 04 00 mov rax,qword ptr [rbp+4C8h] 00 0000000140001741: 48 8D 4C 24 50 lea rcx,[rsp+50h] 0000000140001746: 48 89 85 E8 00 00 mov qword ptr [rbp+0E8h],rax 00 000000014000174D: 33 D2 xor edx,edx 000000014000174F: 48 8D 85 C8 04 00 lea rax,[rbp+4C8h] 00 0000000140001756: 41 B8 98 00 00 00 mov r8d,98h 000000014000175C: 48 83 C0 08 add rax,8 0000000140001760: 48 89 85 88 00 00 mov qword ptr [rbp+88h],rax 00 0000000140001767: E8 7C 03 00 00 call memset 000000014000176C: 48 8B 85 C8 04 00 mov rax,qword ptr [rbp+4C8h] 00 0000000140001773: 48 89 44 24 60 mov qword ptr [rsp+60h],rax 0000000140001778: C7 44 24 50 15 00 mov dword ptr [rsp+50h],40000015h 00 40 0000000140001780: C7 44 24 54 01 00 mov dword ptr [rsp+54h],1 00 00 0000000140001788: FF 15 A2 08 00 00 call qword ptr [__imp_IsDebuggerPresent] 000000014000178E: 8B D8 mov ebx,eax 0000000140001790: 33 C9 xor ecx,ecx 0000000140001792: 48 8D 44 24 50 lea rax,[rsp+50h] 0000000140001797: 48 89 44 24 40 mov qword ptr [rsp+40h],rax 000000014000179C: 48 8D 45 F0 lea rax,[rbp-10h] 00000001400017A0: 48 89 44 24 48 mov qword ptr [rsp+48h],rax 00000001400017A5: FF 15 75 08 00 00 call qword ptr [__imp_SetUnhandledExceptionFilter] 00000001400017AB: 48 8D 4C 24 40 lea rcx,[rsp+40h] 00000001400017B0: FF 15 72 08 00 00 call qword ptr [__imp_UnhandledExceptionFilter] 00000001400017B6: 85 C0 test eax,eax 00000001400017B8: 75 0D jne 00000001400017C7 00000001400017BA: 83 FB 01 cmp ebx,1 00000001400017BD: 74 08 je 00000001400017C7 00000001400017BF: 8D 48 03 lea ecx,[rax+3] 00000001400017C2: E8 C1 FE FF FF call __crt_debugger_hook 00000001400017C7: 48 8B 9C 24 D0 05 mov rbx,qword ptr [rsp+5D0h] 00 00 00000001400017CF: 48 81 C4 C0 05 00 add rsp,5C0h 00 00000001400017D6: 5D pop rbp 00000001400017D7: C3 ret __scrt_initialize_mta: 00000001400017D8: E9 37 FE FF FF jmp __scrt_exe_initialize_mta 00000001400017DD: CC CC CC III __scrt_is_managed_app: 00000001400017E0: 48 83 EC 28 sub rsp,28h 00000001400017E4: 33 C9 xor ecx,ecx 00000001400017E6: FF 15 24 08 00 00 call qword ptr [__imp_GetModuleHandleW] 00000001400017EC: 48 85 C0 test rax,rax 00000001400017EF: 74 39 je 000000014000182A 00000001400017F1: B9 4D 5A 00 00 mov ecx,5A4Dh 00000001400017F6: 66 39 08 cmp word ptr [rax],cx 00000001400017F9: 75 2F jne 000000014000182A 00000001400017FB: 48 63 48 3C movsxd rcx,dword ptr [rax+3Ch] 00000001400017FF: 48 03 C8 add rcx,rax 0000000140001802: 81 39 50 45 00 00 cmp dword ptr [rcx],4550h 0000000140001808: 75 20 jne 000000014000182A 000000014000180A: B8 0B 02 00 00 mov eax,20Bh 000000014000180F: 66 39 41 18 cmp word ptr [rcx+18h],ax 0000000140001813: 75 15 jne 000000014000182A 0000000140001815: 83 B9 84 00 00 00 cmp dword ptr [rcx+84h],0Eh 0E 000000014000181C: 76 0C jbe 000000014000182A 000000014000181E: 83 B9 F8 00 00 00 cmp dword ptr [rcx+0F8h],0 00 0000000140001825: 0F 95 C0 setne al 0000000140001828: EB 02 jmp 000000014000182C 000000014000182A: 32 C0 xor al,al 000000014000182C: 48 83 C4 28 add rsp,28h 0000000140001830: C3 ret 0000000140001831: CC CC CC III __scrt_set_unhandled_exception_filter: 0000000140001834: 48 8D 0D 09 00 00 lea rcx,[__scrt_unhandled_exception_filter] 00 000000014000183B: 48 FF 25 DE 07 00 jmp qword ptr [__imp_SetUnhandledExceptionFilter] 00 0000000140001842: CC CC II __scrt_unhandled_exception_filter: 0000000140001844: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 0000000140001849: 57 push rdi 000000014000184A: 48 83 EC 20 sub rsp,20h 000000014000184E: 48 8B 19 mov rbx,qword ptr [rcx] 0000000140001851: 48 8B F9 mov rdi,rcx 0000000140001854: 81 3B 63 73 6D E0 cmp dword ptr [rbx],0E06D7363h 000000014000185A: 75 1C jne 0000000140001878 000000014000185C: 83 7B 18 04 cmp dword ptr [rbx+18h],4 0000000140001860: 75 16 jne 0000000140001878 0000000140001862: 8B 53 20 mov edx,dword ptr [rbx+20h] 0000000140001865: 8D 82 E0 FA 6C E6 lea eax,[rdx-19930520h] 000000014000186B: 83 F8 02 cmp eax,2 000000014000186E: 76 15 jbe 0000000140001885 0000000140001870: 81 FA 00 40 99 01 cmp edx,1994000h 0000000140001876: 74 0D je 0000000140001885 0000000140001878: 48 8B 5C 24 30 mov rbx,qword ptr [rsp+30h] 000000014000187D: 33 C0 xor eax,eax 000000014000187F: 48 83 C4 20 add rsp,20h 0000000140001883: 5F pop rdi 0000000140001884: C3 ret 0000000140001885: E8 52 02 00 00 call __current_exception 000000014000188A: 48 89 18 mov qword ptr [rax],rbx 000000014000188D: 48 8B 5F 08 mov rbx,qword ptr [rdi+8] 0000000140001891: E8 4C 02 00 00 call __current_exception_context 0000000140001896: 48 89 18 mov qword ptr [rax],rbx 0000000140001899: E8 D4 02 00 00 call terminate 000000014000189E: CC int 3 000000014000189F: CC I _RTC_Initialize: 00000001400018A0: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 00000001400018A5: 57 push rdi 00000001400018A6: 48 83 EC 20 sub rsp,20h 00000001400018AA: 48 8D 1D 5F 10 00 lea rbx,[__rtc_izz] 00 00000001400018B1: 48 8D 3D 58 10 00 lea rdi,[__rtc_izz] 00 00000001400018B8: EB 12 jmp 00000001400018CC 00000001400018BA: 48 8B 03 mov rax,qword ptr [rbx] 00000001400018BD: 48 85 C0 test rax,rax 00000001400018C0: 74 06 je 00000001400018C8 00000001400018C2: FF 15 20 09 00 00 call qword ptr [__guard_dispatch_icall_fptr] 00000001400018C8: 48 83 C3 08 add rbx,8 00000001400018CC: 48 3B DF cmp rbx,rdi 00000001400018CF: 72 E9 jb 00000001400018BA 00000001400018D1: 48 8B 5C 24 30 mov rbx,qword ptr [rsp+30h] 00000001400018D6: 48 83 C4 20 add rsp,20h 00000001400018DA: 5F pop rdi 00000001400018DB: C3 ret _RTC_Terminate: 00000001400018DC: 48 89 5C 24 08 mov qword ptr [rsp+8],rbx 00000001400018E1: 57 push rdi 00000001400018E2: 48 83 EC 20 sub rsp,20h 00000001400018E6: 48 8D 1D 33 10 00 lea rbx,[__rtc_tzz] 00 00000001400018ED: 48 8D 3D 2C 10 00 lea rdi,[__rtc_tzz] 00 00000001400018F4: EB 12 jmp 0000000140001908 00000001400018F6: 48 8B 03 mov rax,qword ptr [rbx] 00000001400018F9: 48 85 C0 test rax,rax 00000001400018FC: 74 06 je 0000000140001904 00000001400018FE: FF 15 E4 08 00 00 call qword ptr [__guard_dispatch_icall_fptr] 0000000140001904: 48 83 C3 08 add rbx,8 0000000140001908: 48 3B DF cmp rbx,rdi 000000014000190B: 72 E9 jb 00000001400018F6 000000014000190D: 48 8B 5C 24 30 mov rbx,qword ptr [rsp+30h] 0000000140001912: 48 83 C4 20 add rsp,20h 0000000140001916: 5F pop rdi 0000000140001917: C3 ret __isa_available_init: 0000000140001918: 48 89 5C 24 10 mov qword ptr [rsp+10h],rbx 000000014000191D: 48 89 74 24 18 mov qword ptr [rsp+18h],rsi 0000000140001922: 57 push rdi 0000000140001923: 48 83 EC 10 sub rsp,10h 0000000140001927: 33 C0 xor eax,eax 0000000140001929: 33 C9 xor ecx,ecx 000000014000192B: 0F A2 cpuid 000000014000192D: 44 8B C1 mov r8d,ecx 0000000140001930: 45 33 DB xor r11d,r11d 0000000140001933: 44 8B D2 mov r10d,edx 0000000140001936: 41 81 F0 6E 74 65 xor r8d,6C65746Eh 6C 000000014000193D: 41 81 F2 69 6E 65 xor r10d,49656E69h 49 0000000140001944: 44 8B CB mov r9d,ebx 0000000140001947: 8B F0 mov esi,eax 0000000140001949: 33 C9 xor ecx,ecx 000000014000194B: 41 8D 43 01 lea eax,[r11+1] 000000014000194F: 45 0B D0 or r10d,r8d 0000000140001952: 0F A2 cpuid 0000000140001954: 41 81 F1 47 65 6E xor r9d,756E6547h 75 000000014000195B: 89 04 24 mov dword ptr [rsp],eax 000000014000195E: 45 0B D1 or r10d,r9d 0000000140001961: 89 5C 24 04 mov dword ptr [rsp+4],ebx 0000000140001965: 8B F9 mov edi,ecx 0000000140001967: 89 4C 24 08 mov dword ptr [rsp+8],ecx 000000014000196B: 89 54 24 0C mov dword ptr [rsp+0Ch],edx 000000014000196F: 75 5B jne 00000001400019CC 0000000140001971: 48 83 0D 9F 26 00 or qword ptr [__memset_nt_threshold],0FFFFFFFFFFFFFFFFh 00 FF 0000000140001979: 25 F0 3F FF 0F and eax,0FFF3FF0h 000000014000197E: 48 C7 05 87 26 00 mov qword ptr [__memset_fast_string_threshold],8000h 00 00 80 00 00 0000000140001989: 3D C0 06 01 00 cmp eax,106C0h 000000014000198E: 74 28 je 00000001400019B8 0000000140001990: 3D 60 06 02 00 cmp eax,20660h 0000000140001995: 74 21 je 00000001400019B8 0000000140001997: 3D 70 06 02 00 cmp eax,20670h 000000014000199C: 74 1A je 00000001400019B8 000000014000199E: 05 B0 F9 FC FF add eax,0FFFCF9B0h 00000001400019A3: 83 F8 20 cmp eax,20h 00000001400019A6: 77 24 ja 00000001400019CC 00000001400019A8: 48 B9 01 00 01 00 mov rcx,100010001h 01 00 00 00 00000001400019B2: 48 0F A3 C1 bt rcx,rax 00000001400019B6: 73 14 jae 00000001400019CC 00000001400019B8: 44 8B 05 55 27 00 mov r8d,dword ptr [__favor] 00 00000001400019BF: 41 83 C8 01 or r8d,1 00000001400019C3: 44 89 05 4A 27 00 mov dword ptr [__favor],r8d 00 00000001400019CA: EB 07 jmp 00000001400019D3 00000001400019CC: 44 8B 05 41 27 00 mov r8d,dword ptr [__favor] 00 00000001400019D3: B8 07 00 00 00 mov eax,7 00000001400019D8: 44 8D 48 FB lea r9d,[rax-5] 00000001400019DC: 3B F0 cmp esi,eax 00000001400019DE: 7C 26 jl 0000000140001A06 00000001400019E0: 33 C9 xor ecx,ecx 00000001400019E2: 0F A2 cpuid 00000001400019E4: 89 04 24 mov dword ptr [rsp],eax 00000001400019E7: 44 8B DB mov r11d,ebx 00000001400019EA: 89 5C 24 04 mov dword ptr [rsp+4],ebx 00000001400019EE: 89 4C 24 08 mov dword ptr [rsp+8],ecx 00000001400019F2: 89 54 24 0C mov dword ptr [rsp+0Ch],edx 00000001400019F6: 0F BA E3 09 bt ebx,9 00000001400019FA: 73 0A jae 0000000140001A06 00000001400019FC: 45 0B C1 or r8d,r9d 00000001400019FF: 44 89 05 0E 27 00 mov dword ptr [__favor],r8d 00 0000000140001A06: C7 05 F8 25 00 00 mov dword ptr [__isa_available],1 01 00 00 00 0000000140001A10: 44 89 0D F5 25 00 mov dword ptr [__isa_enabled],r9d 00 0000000140001A17: 0F BA E7 14 bt edi,14h 0000000140001A1B: 0F 83 91 00 00 00 jae 0000000140001AB2 0000000140001A21: 44 89 0D E0 25 00 mov dword ptr [__isa_available],r9d 00 0000000140001A28: BB 06 00 00 00 mov ebx,6 0000000140001A2D: 89 1D D9 25 00 00 mov dword ptr [__isa_enabled],ebx 0000000140001A33: 0F BA E7 1B bt edi,1Bh 0000000140001A37: 73 79 jae 0000000140001AB2 0000000140001A39: 0F BA E7 1C bt edi,1Ch 0000000140001A3D: 73 73 jae 0000000140001AB2 0000000140001A3F: 33 C9 xor ecx,ecx 0000000140001A41: 0F 01 D0 xgetbv 0000000140001A44: 48 C1 E2 20 shl rdx,20h 0000000140001A48: 48 0B D0 or rdx,rax 0000000140001A4B: 48 89 54 24 20 mov qword ptr [rsp+20h],rdx 0000000140001A50: 48 8B 44 24 20 mov rax,qword ptr [rsp+20h] 0000000140001A55: 22 C3 and al,bl 0000000140001A57: 3A C3 cmp al,bl 0000000140001A59: 75 57 jne 0000000140001AB2 0000000140001A5B: 8B 05 AB 25 00 00 mov eax,dword ptr [__isa_enabled] 0000000140001A61: 83 C8 08 or eax,8 0000000140001A64: C7 05 9A 25 00 00 mov dword ptr [__isa_available],3 03 00 00 00 0000000140001A6E: 89 05 98 25 00 00 mov dword ptr [__isa_enabled],eax 0000000140001A74: 41 F6 C3 20 test r11b,20h 0000000140001A78: 74 38 je 0000000140001AB2 0000000140001A7A: 83 C8 20 or eax,20h 0000000140001A7D: C7 05 81 25 00 00 mov dword ptr [__isa_available],5 05 00 00 00 0000000140001A87: 89 05 7F 25 00 00 mov dword ptr [__isa_enabled],eax 0000000140001A8D: B8 00 00 03 D0 mov eax,0D0030000h 0000000140001A92: 44 23 D8 and r11d,eax 0000000140001A95: 44 3B D8 cmp r11d,eax 0000000140001A98: 75 18 jne 0000000140001AB2 0000000140001A9A: 48 8B 44 24 20 mov rax,qword ptr [rsp+20h] 0000000140001A9F: 24 E0 and al,0E0h 0000000140001AA1: 3C E0 cmp al,0E0h 0000000140001AA3: 75 0D jne 0000000140001AB2 0000000140001AA5: 83 0D 60 25 00 00 or dword ptr [__isa_enabled],40h 40 0000000140001AAC: 89 1D 56 25 00 00 mov dword ptr [__isa_available],ebx 0000000140001AB2: 48 8B 5C 24 28 mov rbx,qword ptr [rsp+28h] 0000000140001AB7: 33 C0 xor eax,eax 0000000140001AB9: 48 8B 74 24 30 mov rsi,qword ptr [rsp+30h] 0000000140001ABE: 48 83 C4 10 add rsp,10h 0000000140001AC2: 5F pop rdi 0000000140001AC3: C3 ret __scrt_is_ucrt_dll_in_use: 0000000140001AC4: 33 C0 xor eax,eax 0000000140001AC6: 39 05 C4 25 00 00 cmp dword ptr [__scrt_ucrt_dll_is_in_use],eax 0000000140001ACC: 0F 95 C0 setne al 0000000140001ACF: C3 ret __CxxFrameHandler3: 0000000140001AD0: FF 25 AA 05 00 00 jmp qword ptr [__imp___CxxFrameHandler3] __C_specific_handler: 0000000140001AD6: FF 25 9C 05 00 00 jmp qword ptr [__imp___C_specific_handler] __current_exception: 0000000140001ADC: FF 25 AE 05 00 00 jmp qword ptr [__imp___current_exception] __current_exception_context: 0000000140001AE2: FF 25 A0 05 00 00 jmp qword ptr [__imp___current_exception_context] memset: 0000000140001AE8: FF 25 82 05 00 00 jmp qword ptr [__imp_memset] _seh_filter_exe: 0000000140001AEE: FF 25 44 06 00 00 jmp qword ptr [__imp__seh_filter_exe] _set_app_type: 0000000140001AF4: FF 25 66 06 00 00 jmp qword ptr [__imp__set_app_type] __setusermatherr: 0000000140001AFA: FF 25 D8 05 00 00 jmp qword ptr [__imp___setusermatherr] _configure_narrow_argv: 0000000140001B00: FF 25 0A 06 00 00 jmp qword ptr [__imp__configure_narrow_argv] _initialize_narrow_environment: 0000000140001B06: FF 25 5C 06 00 00 jmp qword ptr [__imp__initialize_narrow_environment] _get_initial_narrow_environment: 0000000140001B0C: FF 25 36 06 00 00 jmp qword ptr [__imp__get_initial_narrow_environment] _initterm: 0000000140001B12: FF 25 38 06 00 00 jmp qword ptr [__imp__initterm] _initterm_e: 0000000140001B18: FF 25 3A 06 00 00 jmp qword ptr [__imp__initterm_e] exit: 0000000140001B1E: FF 25 4C 06 00 00 jmp qword ptr [__imp_exit] _exit: 0000000140001B24: FF 25 DE 05 00 00 jmp qword ptr [__imp__exit] _set_fmode: 0000000140001B2A: FF 25 58 06 00 00 jmp qword ptr [__imp__set_fmode] __p___argc: 0000000140001B30: FF 25 0A 06 00 00 jmp qword ptr [__imp___p___argc] __p___argv: 0000000140001B36: FF 25 C4 05 00 00 jmp qword ptr [__imp___p___argv] _cexit: 0000000140001B3C: FF 25 B6 05 00 00 jmp qword ptr [__imp__cexit] _c_exit: 0000000140001B42: FF 25 A0 05 00 00 jmp qword ptr [__imp__c_exit] _register_thread_local_exe_atexit_callback: 0000000140001B48: FF 25 A2 05 00 00 jmp qword ptr [__imp__register_thread_local_exe_atexit_callback] _configthreadlocale: 0000000140001B4E: FF 25 74 05 00 00 jmp qword ptr [__imp__configthreadlocale] _set_new_mode: 0000000140001B54: FF 25 5E 05 00 00 jmp qword ptr [__imp__set_new_mode] __p__commode: 0000000140001B5A: FF 25 20 06 00 00 jmp qword ptr [__imp___p__commode] _initialize_onexit_table: 0000000140001B60: FF 25 B2 05 00 00 jmp qword ptr [__imp__initialize_onexit_table] _register_onexit_function: 0000000140001B66: FF 25 B4 05 00 00 jmp qword ptr [__imp__register_onexit_function] _crt_atexit: 0000000140001B6C: FF 25 B6 05 00 00 jmp qword ptr [__imp__crt_atexit] terminate: 0000000140001B72: FF 25 B8 05 00 00 jmp qword ptr [__imp_terminate] memcpy: 0000000140001B78: FF 25 1A 05 00 00 jmp qword ptr [__imp_memcpy] 0000000140001B7E: CC CC II 0000000140001B80: CC int 3 0000000140001B81: CC int 3 0000000140001B82: CC int 3 0000000140001B83: CC int 3 0000000140001B84: CC int 3 0000000140001B85: CC int 3 0000000140001B86: 66 66 0F 1F 84 00 nop word ptr [rax+rax] 00 00 00 00 _guard_dispatch_icall_nop: 0000000140001B90: FF E0 jmp rax 0000000140001B92: CC CC CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIIIII 0000000140001BA0: CC int 3 0000000140001BA1: CC int 3 0000000140001BA2: CC int 3 0000000140001BA3: CC int 3 0000000140001BA4: CC int 3 0000000140001BA5: CC int 3 0000000140001BA6: 66 66 0F 1F 84 00 nop word ptr [rax+rax] 00 00 00 00 _guard_xfg_dispatch_icall_nop: 0000000140001BB0: FF 25 32 06 00 00 jmp qword ptr [__guard_dispatch_icall_fptr] 0000000140001BB6: CC CC CC CC CC CC CC CC CC CC IIIIIIIIII _ZN3std3sys4sync4once5futex4Once4call17hf131d0c7b5262170E: 0000000140001BC0: 55 push rbp 0000000140001BC1: 41 57 push r15 0000000140001BC3: 41 56 push r14 0000000140001BC5: 41 55 push r13 0000000140001BC7: 41 54 push r12 0000000140001BC9: 56 push rsi 0000000140001BCA: 57 push rdi 0000000140001BCB: 53 push rbx 0000000140001BCC: 48 83 EC 68 sub rsp,68h 0000000140001BD0: 48 8D 6C 24 60 lea rbp,[rsp+60h] 0000000140001BD5: 48 C7 45 00 FE FF mov qword ptr [rbp],0FFFFFFFFFFFFFFFEh FF FF 0000000140001BDD: 4C 89 4D F0 mov qword ptr [rbp-10h],r9 0000000140001BE1: 4C 89 C7 mov rdi,r8 0000000140001BE4: 41 89 D6 mov r14d,edx 0000000140001BE7: 48 89 CB mov rbx,rcx 0000000140001BEA: 4C 8D 25 87 07 00 lea r12,[140002378h] 00 0000000140001BF1: 41 BD 02 00 00 00 mov r13d,2 0000000140001BF7: BE 03 00 00 00 mov esi,3 0000000140001BFC: 4C 8B 3D A5 04 00 mov r15,qword ptr [__imp_WaitOnAddress] 00 0000000140001C03: 8B 03 mov eax,dword ptr [rbx] 0000000140001C05: EB 19 jmp 0000000140001C20 0000000140001C07: 66 0F 1F 84 00 00 nop word ptr [rax+rax] 00 00 00 0000000140001C10: 45 84 F6 test r14b,r14b 0000000140001C13: 0F 84 8C 00 00 00 je 0000000140001CA5 0000000140001C19: F0 44 0F B1 2B lock cmpxchg dword ptr [rbx],r13d 0000000140001C1E: 74 48 je 0000000140001C68 0000000140001C20: 83 F8 04 cmp eax,4 0000000140001C23: 0F 87 99 00 00 00 ja 0000000140001CC2 0000000140001C29: 89 C1 mov ecx,eax 0000000140001C2B: 49 63 0C 8C movsxd rcx,dword ptr [r12+rcx*4] 0000000140001C2F: 4C 01 E1 add rcx,r12 0000000140001C32: FF E1 jmp rcx 0000000140001C34: B8 02 00 00 00 mov eax,2 0000000140001C39: F0 0F B1 33 lock cmpxchg dword ptr [rbx],esi 0000000140001C3D: 75 E1 jne 0000000140001C20 0000000140001C3F: C7 45 C0 03 00 00 mov dword ptr [rbp-40h],3 00 0000000140001C46: 41 B8 04 00 00 00 mov r8d,4 0000000140001C4C: 48 89 D9 mov rcx,rbx 0000000140001C4F: 48 8D 55 C0 lea rdx,[rbp-40h] 0000000140001C53: 41 B9 FF FF FF FF mov r9d,0FFFFFFFFh 0000000140001C59: 41 FF D7 call r15 0000000140001C5C: 83 F8 01 cmp eax,1 0000000140001C5F: 74 A2 je 0000000140001C03 0000000140001C61: E8 30 F4 FF FF call _ZN3std3sys3pal7windows3api14get_last_error17h563dec06c925f25fE 0000000140001C66: EB 9B jmp 0000000140001C03 0000000140001C68: 48 89 5D C0 mov qword ptr [rbp-40h],rbx 0000000140001C6C: C7 45 C8 01 00 00 mov dword ptr [rbp-38h],1 00 0000000140001C73: 48 8B 07 mov rax,qword ptr [rdi] 0000000140001C76: 48 83 38 00 cmp qword ptr [rax],0 0000000140001C7A: 48 C7 00 00 00 00 mov qword ptr [rax],0 00 0000000140001C81: 74 6E je 0000000140001CF1 0000000140001C83: C7 45 C8 04 00 00 mov dword ptr [rbp-38h],4 00 0000000140001C8A: 48 8D 4D C0 lea rcx,[rbp-40h] 0000000140001C8E: E8 09 F4 FF FF call _ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E 0000000140001C93: 90 nop 0000000140001C94: 48 83 C4 68 add rsp,68h 0000000140001C98: 5B pop rbx 0000000140001C99: 5F pop rdi 0000000140001C9A: 5E pop rsi 0000000140001C9B: 41 5C pop r12 0000000140001C9D: 41 5D pop r13 0000000140001C9F: 41 5E pop r14 0000000140001CA1: 41 5F pop r15 0000000140001CA3: 5D pop rbp 0000000140001CA4: C3 ret 0000000140001CA5: 48 8D 05 F4 05 00 lea rax,[anon.17c887c97becc8bccbacd80e83136b22.1.llvm.16015186559179891946] 00 0000000140001CAC: 48 89 45 C0 mov qword ptr [rbp-40h],rax 0000000140001CB0: 48 C7 45 C8 01 00 mov qword ptr [rbp-38h],1 00 00 0000000140001CB8: 48 C7 45 D0 08 00 mov qword ptr [rbp-30h],8 00 00 0000000140001CC0: EB 1B jmp 0000000140001CDD 0000000140001CC2: 48 8D 05 37 06 00 lea rax,[anon.17c887c97becc8bccbacd80e83136b22.3.llvm.16015186559179891946] 00 0000000140001CC9: 48 89 45 C0 mov qword ptr [rbp-40h],rax 0000000140001CCD: 48 C7 45 C8 01 00 mov qword ptr [rbp-38h],1 00 00 0000000140001CD5: 48 8D 45 F8 lea rax,[rbp-8] 0000000140001CD9: 48 89 45 D0 mov qword ptr [rbp-30h],rax 0000000140001CDD: 0F 57 C0 xorps xmm0,xmm0 0000000140001CE0: 0F 11 45 D8 movups xmmword ptr [rbp-28h],xmm0 0000000140001CE4: 48 8D 4D C0 lea rcx,[rbp-40h] 0000000140001CE8: 48 8B 55 F0 mov rdx,qword ptr [rbp-10h] 0000000140001CEC: E8 B1 F3 FF FF call _ZN4core9panicking9panic_fmt17hb39cfdace1bc0cb7E 0000000140001CF1: 48 8D 0D 68 06 00 lea rcx,[anon.17c887c97becc8bccbacd80e83136b22.5.llvm.16015186559179891946] 00 0000000140001CF8: E8 AB F3 FF FF call _ZN4core6option13unwrap_failed17hb95fbc70d3a4af9aE 0000000140001CFD: 0F 0B ud2 0000000140001CFF: 90 nop 0000000140001D00: 48 89 54 24 10 mov qword ptr [rsp+10h],rdx 0000000140001D05: 55 push rbp 0000000140001D06: 41 57 push r15 0000000140001D08: 41 56 push r14 0000000140001D0A: 41 55 push r13 0000000140001D0C: 41 54 push r12 0000000140001D0E: 56 push rsi 0000000140001D0F: 57 push rdi 0000000140001D10: 53 push rbx 0000000140001D11: 48 83 EC 28 sub rsp,28h 0000000140001D15: 48 8D 6A 60 lea rbp,[rdx+60h] 0000000140001D19: 48 8D 4D C0 lea rcx,[rbp-40h] 0000000140001D1D: E8 7A F3 FF FF call _ZN86_$LT$std..sys..sync..once..futex..CompletionGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h21af625d29b66bb9E 0000000140001D22: 90 nop 0000000140001D23: 48 83 C4 28 add rsp,28h 0000000140001D27: 5B pop rbx 0000000140001D28: 5F pop rdi 0000000140001D29: 5E pop rsi 0000000140001D2A: 41 5C pop r12 0000000140001D2C: 41 5D pop r13 0000000140001D2E: 41 5E pop r14 0000000140001D30: 41 5F pop r15 0000000140001D32: 5D pop rbp 0000000140001D33: C3 ret 0000000140001D34: CC CC CC CC CC CC CC CC CC CC CC CC IIIIIIIIIIII _ZN3std4sync9once_lock17OnceLock$LT$T$GT$10initialize17h295e963a41abbe0dE: 0000000140001D40: 48 83 EC 48 sub rsp,48h 0000000140001D44: 8B 01 mov eax,dword ptr [rcx] 0000000140001D46: 83 F8 04 cmp eax,4 0000000140001D49: 75 05 jne 0000000140001D50 0000000140001D4B: 48 83 C4 48 add rsp,48h 0000000140001D4F: C3 ret 0000000140001D50: 48 8D 41 04 lea rax,[rcx+4] 0000000140001D54: 48 89 44 24 38 mov qword ptr [rsp+38h],rax 0000000140001D59: 48 8D 44 24 2F lea rax,[rsp+2Fh] 0000000140001D5E: 48 89 44 24 40 mov qword ptr [rsp+40h],rax 0000000140001D63: 48 8D 44 24 38 lea rax,[rsp+38h] 0000000140001D68: 48 89 44 24 30 mov qword ptr [rsp+30h],rax 0000000140001D6D: 4C 8D 0D 9C 06 00 lea r9,[anon.3d834979ff63e53473b447d97fa3ae75.1.llvm.8886704913690677028] 00 0000000140001D74: 4C 8D 44 24 30 lea r8,[rsp+30h] 0000000140001D79: B2 01 mov dl,1 0000000140001D7B: E8 40 FE FF FF call _ZN3std3sys4sync4once5futex4Once4call17hf131d0c7b5262170E 0000000140001D80: EB C9 jmp 0000000140001D4B `__scrt_common_main_seh'::`1'::filt$0: 0000000140001D82: 40 55 push rbp 0000000140001D84: 48 83 EC 20 sub rsp,20h 0000000140001D88: 48 8B EA mov rbp,rdx 0000000140001D8B: 48 8B 01 mov rax,qword ptr [rcx] 0000000140001D8E: 48 8B D1 mov rdx,rcx 0000000140001D91: 8B 08 mov ecx,dword ptr [rax] 0000000140001D93: E8 56 FD FF FF call _seh_filter_exe 0000000140001D98: 90 nop 0000000140001D99: 48 83 C4 20 add rsp,20h 0000000140001D9D: 5D pop rbp 0000000140001D9E: C3 ret 0000000140001D9F: CC int 3 __scrt_is_nonwritable_in_current_image$filt$0: 0000000140001DA0: 40 55 push rbp 0000000140001DA2: 48 8B EA mov rbp,rdx 0000000140001DA5: 48 8B 01 mov rax,qword ptr [rcx] 0000000140001DA8: 33 C9 xor ecx,ecx 0000000140001DAA: 81 38 05 00 00 C0 cmp dword ptr [rax],0C0000005h 0000000140001DB0: 0F 94 C1 sete cl 0000000140001DB3: 8B C1 mov eax,ecx 0000000140001DB5: 5D pop rbp 0000000140001DB6: C3 ret 0000000140001DB7: CC int 3 Summary 1000 .data 1000 .pdata 2000 .rdata 1000 .reloc 1000 .text ```

opt-level=2 to clean things up a bit

bash commented 3 months ago

Running bisect unattended yields nightly-2022-11-10 as the regressing version.

searched toolchains nightly-2020-01-01 through nightly-2024-07-19

********************************************************************************
Regression in nightly-2022-11-10
********************************************************************************

fetching https://static.rust-lang.org/dist/2022-11-09/channel-rust-nightly-git-commit-hash.txt
nightly manifest 2022-11-09: 40 B / 40 B [===================================================================] 100.00 % 357.72 KB/s converted 2022-11-09 to 85f4f41deb1557ca8ab228319d33003dd2f20f45
fetching https://static.rust-lang.org/dist/2022-11-10/channel-rust-nightly-git-commit-hash.txt
nightly manifest 2022-11-10: 40 B / 40 B [===================================================================] 100.00 % 355.11 KB/s converted 2022-11-10 to e75aab045fc476f176a58c408f6b06f0e275c6e1
looking for regression commit between 2022-11-09 and 2022-11-10
cloning rust repository
opening existing repository at "rust.git"
Found origin remote under name `origin`
refreshing repository at "rust.git"
fetching (via local git) commits from 85f4f41deb1557ca8ab228319d33003dd2f20f45 to e75aab045fc476f176a58c408f6b06f0e275c6e1
opening existing repository at "rust.git"
Found origin remote under name `origin`
refreshing repository at "rust.git"
looking up first commit
looking up second commit
checking that commits are by bors and thus have ci artifacts...
finding bors merge commits
found 9 bors merge commits in the specified range
  commit[0] 2022-11-08: Auto merge of #103252 - lcnr:recompute_applicable_impls, r=jackh726
  commit[1] 2022-11-08: Auto merge of #104168 - GuillaumeGomez:rollup-tf4edqc, r=GuillaumeGomez
  commit[2] 2022-11-09: Auto merge of #103171 - jackh726:gen-interior-hrtb-error, r=cjgillot
  commit[3] 2022-11-09: Auto merge of #104179 - Manishearth:rollup-yvsx5hh, r=Manishearth
  commit[4] 2022-11-09: Auto merge of #104180 - fee1-dead-contrib:fix-wf-fndef, r=oli-obk
  commit[5] 2022-11-09: Auto merge of #102565 - jyn514:refactor-build-manifest, r=Mark-Simulacrum
  commit[6] 2022-11-09: Auto merge of #103723 - CastilloDel:master, r=jackh726
  commit[7] 2022-11-09: Auto merge of #104192 - Dylan-DPC:rollup-jjo1o80, r=Dylan-DPC
  commit[8] 2022-11-09: Auto merge of #104131 - notriddle:notriddle/flate2, r=Mark-Simulacrum
ERROR: no CI builds available between 85f4f41deb1557ca8ab228319d33003dd2f20f45 and e75aab045fc476f176a58c408f6b06f0e275c6e1 within last 167 days
workingjubilee commented 3 months ago

Betting it's in this rollup:

Betting it's this PR:

workingjubilee commented 3 months ago

https://github.com/rust-lang/rust/blob/ff4b39867e3033864315bf3cada039e92a6b751e/compiler/rustc_codegen_llvm/src/consts.rs#L331-L337

can someone try this with s/debug_assert/assert/ right there?

tgross35 commented 3 months ago

can someone try this with s/debug_assert/assert/ right there?

[building]

edit: grumble I need to update vstools https://users.rust-lang.org/t/error-could-not-compile-rustc-driver-lib-due-to-1-previous-error/113278, feel free to beat me to this if anyone is up to date

tgross35 commented 3 months ago

can someone try this with s/debug_assert/assert/ right there?

Just finished. The new assertion doesn't hit (stage1), repro still crashes

tgross35 commented 3 months ago

@wesleywiser and @michaelwoerister were on the PR, may want to take a look.

It's interesting that the PR causing this behavior was intended to fix a similar bug, https://github.com/rust-lang/rust/issues/81408

workingjubilee commented 3 months ago

I see. The assert is hit but passes. Does reverting the actual change fix this?

tgross35 commented 3 months ago

Was already building 😆 yes, confirmed that reverting 296489c89268e56abb8f6050842d006b16ed4f09 causes the repro to not crash.

workingjubilee commented 3 months ago

Okay, I think it's fair to say "the way we handle linkage of dylibs when combined with compiler options like LTO results in arriving in what are supposed to be unreachable sections of std's code" is