Comments (53)
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 :)
from rust.
@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."
from rust.
I was able to reduce @ChrisDenton's example a bit further:
fn main() {
let mut schedule = Schedule::default();
schedule.add_systems(noop);
}
fn noop() {}
from rust.
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,
from rust.
Betting it's in this rollup:
Betting it's this PR:
from rust.
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
from rust.
@tgross35 thanks for the hint, updated the description :)
Nightly is hitting the same thing
from rust.
This does not reproduce in debug mode, interesting
from rust.
@tgross35 minimizing is proving very annoying. I've asked a friend with a pretty fast machine in the meantime to run the bisect.
from rust.
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.
from rust.
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
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
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
from rust.
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
from rust.
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
from rust.
@janhohenheim Can you bisect this to a specific commit?
https://github.com/rust-lang/cargo-bisect-rustc
from rust.
Also, can you specify your Windows version? Just in case.
from rust.
@workingjubilee sure, will do later. First, I'm trying to narrow the example a bit down.
from rust.
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
from rust.
Alright, added my Windows system information and linked to a smaller example. Will run cargo-bisect
now.
from rust.
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)
from rust.
@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.
from rust.
Ah, yeah reproduced with the quickstart
from rust.
Are you running a bisect, or still trying to minimize? Unfortunate that this takes almost 3 minutes to compile
from rust.
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
from rust.
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.
from rust.
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:
- This can only possibly be hit in latest nightly (or maybe the one before that). The Windows code is very different on stable.
- This is almost certain a dylib issue, either caused by the compiler or possibly some bevy issue (I think the former is more likely)
- There have been problems in the past with
lto="thin"
.
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.
from rust.
Indeed! Seems like LTO is the difference
from rust.
Testing some more: this happens with either lto = "thin"
and lto = true
on both stable (1.79.0) and nightly.
from rust.
@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: rust-lang/rustc_codegen_cranelift#1508 (comment)
which I assumed to be cranelift
's fault, as I did not get that error using LLVM as a backend in that case.
from rust.
Testing some more: this happens with either
lto = "thin"
andlto = true
on both stable (1.79.0) and nightly.
Thanks for verifying that this indeed fails on stable.
from rust.
Ah, it's a very different error on stable. The one in the OP would not be possible.
from rust.
That futex code isn't used by Windows on stable.
from rust.
@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: <bevy_quickstart::game::assets::HandleMap<bevy_quickstart::game::assets::ImageKey> as bevy_ecs::world::FromWorld>::from_world
5: <bevy_quickstart::AppPlugin as bevy_app::plugin::Plugin>::build
6: bevy_app::app::App::add_boxed_plugin
7: <bevy_quickstart::AppSet as bevy_ecs::schedule::set::SystemSet>::dyn_hash
8: <bevy_quickstart::AppSet as bevy_ecs::schedule::set::SystemSet>::dyn_hash
9: <bevy_quickstart::AppSet as bevy_ecs::schedule::set::SystemSet>::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
.
from rust.
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.
from rust.
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
.
from rust.
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
from rust.
Didn't read close enough before, but that is indeed the same message I get on stable with https://github.com/TheBevyFlock/bevy_quickstart
from rust.
Alright, that at least confirms that the unreachable!
execution is indeed only happening on nightly.
from rust.
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?
from rust.
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
from rust.
Cool! Now we've got an example that can toggle between both errors 😄
from rust.
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.
from rust.
@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?
from rust.
@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.
from rust.
huh, this is... weird.
which libraries are being built as dylibs?
from rust.
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.
from rust.
rust/compiler/rustc_codegen_llvm/src/consts.rs
Lines 331 to 337 in ff4b398
can someone try this with s/debug_assert/assert/
right there?
from rust.
can someone try this with
s/debug_assert/assert/
right there?
Just finished. The new assertion doesn't hit (stage1), repro still crashes
from rust.
@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, #81408
from rust.
I see. The assert is hit but passes. Does reverting the actual change fix this?
from rust.
Was already building 😆 yes, confirmed that reverting 296489c causes the repro to not crash.
from rust.
WG-prioritization assigning priority (Zulip discussion).
@rustbot label -I-prioritize +P-high
from rust.
#122790 fixes @bash's minimized example by reverting #103353.
from rust.
I see that Cargo was incorrectly passing -C linker-plugin-lto
when using ThinLTO. That doesn't work with dylibs and we apparently don't correctly check that no dylibs are involved. With that addressed and #122790 and #129079 applied the bevy-template
repo works with both rust-lld
and link
.
from rust.
Related Issues (20)
- ICE: `broken MIR in CoroutineKindShim` HOT 2
- ICE: index out of bounds HOT 1
- `missing_fragment_specifier` points at the wrong span if followed by another metavariable HOT 3
- Tracking Issue for Reproducible Build bugs and challenges
- Recommend *var for comparison when Deref<Target = str>
- MIR building generates mistyped assignments for opaques in dead code
- Tracking Issue for box_as_ptr
- derives: parallel compiler makes builds irreproducible HOT 1
- ICE: `InterpErrorInfo(InterpErrorInfoInner { kind: UndefinedBehavior(BoundsCheckFailed`
- `BikeshedIntrinsicFrom` permits lifetime extension HOT 2
- rustdoc `standalone` doctest attribute is confusing, taking up a potentially useful name HOT 11
- ICE: type_alias_impl_trait: `panic in a destructor during cleanup` HOT 2
- Decide on name for `derive(SmartPtr)` HOT 2
- Misleading help suggests `Sync` bound when shareable reference is passed across or into await
- Tracking Issue for struct_target_features (RFC 3525)
- ICE: `write_immediate_to_mplace: invalid Scalar layout: TyAndLayout` HOT 1
- ICE `assertion failed: prev.is_none()` with nightly `13a52890d 2024-08-14` HOT 10
- `--crate-type=rlib` + `-Cdebuginfo=2` + `-Zremap-cwd-prefix=.` is not reproducible on Windows
- Could RUST support CFI on stabilized builds? HOT 4
- Run merged doc-tests by default in the same process and add opt-out attribute HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.