Function at 0x460000
Capabilities:
Create process on windows
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x540
call 0x460014
pop eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0x4c]
mov dword [esp + 4], edx
mov dword [esp + 0x18], eax
movzx eax, byte [edx + 0x50]
test al, al
jne 0x460057
test ecx, ecx
jne 0x460057
mov dword [esp + 0x118], 0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x20]
test esi, esi
jne 0x46095d
jmp 0x4609b0
test al, al
mov dword [esp + 0xd8], 0
mov dword [esp], ecx
mov dword [esp + 0xe0], 0
jne 0x4601ce
call dbg.vars_os
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
nop word cs:[eax + eax]
nop
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x140]
push eax
call sym.__ZN98__LT_std..sys..pal..windows..os..EnvIterator_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17hbff1df64a68b5f
add esp, 8
mov edi, dword [esp + 0x13c]
cmp edi, 0x80000000
je 0x4601c5
mov ecx, dword [esp + 0x14c]
movq xmm0, qword [esp + 0x144]
mov ebx, dword [esp + 0x140]
mov esi, dword [esp + 0x154]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x150]
movd eax, xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0xb0], ebx
add eax, ebx
mov dword [esp + 0xb4], eax
mov word [esp + 0xb8], 0
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x50]
lea edx, [esp + 0xb0]
call dbg.from_iter<u16, std::sys_common::wtf8::EncodeWide>
movaps xmm0, xmmword [esp + 0x20]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xf4]
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], ebx
movlps qword [esp + 0xec], xmm0
mov dword [ecx + 8], eax
mov eax, dword [esp + 8]
movq xmm0, qword [esp + 0x50]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xc]
movq qword [ecx], xmm0
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], eax
lea edx, [esp + 0xd8]
lea eax, [esp + 0xb0]
lea ecx, [esp + 0x50]
push eax
lea eax, [esp + 0xe8]
push eax
call dbg.insert<std::sys::pal::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>
add esp, 8
mov eax, dword [esp + 0x50]
test eax, 0x7fffffff
je 0x460090
push 1
push eax
push dword [esp + 0x5c]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x460090
push dword [esp + 0x40]
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov ecx, dword [esp + 4]
mov esi, dword [esp]
xor edx, edx
mov eax, dword [ecx + 0x44]
mov ecx, dword [ecx + 0x48]
test eax, eax
setne dl
cmove esi, eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], esi
nop dword [eax]
lea ecx, [esp + 0xb0]
call dbg.next<std::sys::pal::windows::process::EnvKey, core::option::Option<std::ffi::os_str::OsString>>
mov ebx, eax
test eax, eax
je 0x46078d
cmp dword [edx], 0x80000000
mov edi, edx
jne 0x4603b0
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x460230
mov edi, dword [esp + 0xdc]
mov edx, esi
lea ecx, [esp + 0x50]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push edi
call dbg.search_tree<alloc::collections::btree::node::marker::Mut, std::sys::pal::windows::process::EnvKey, core::option::Option<std::ffi::os_str::OsString>, std::sys::pal::windows::process::EnvKey>
add esp, 0xc
cmp dword [esp + 0x50], 0
jne 0x460230
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov byte [esp + 0x12c], 0
test ecx, ecx
jne 0x4602e7
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], edx
lea edx, [esp + 0xe4]
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x13c]
push eax
call fcn.00426610
add esp, 4
jmp 0x4606b2
movzx edx, word [eax + 0x1ea]
mov eax, dword [eax + edx*4 + 0x1ec]
dec ecx
jne 0x4602e0
movzx ecx, word [eax + 0x1ea]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
dec ecx
mov dword [esp + 0x48], ecx
lea edx, [esp + 0x40]
lea eax, [esp + 0x12c]
lea ecx, [esp + 0x13c]
push eax
call fcn.00426610
add esp, 4
movsd xmm2, qword [esp + 0x154]
movsd xmm1, qword [esp + 0x14c]
mov eax, dword [esp + 0x164]
movq xmm0, qword [esp + 0x15c]
mov edx, dword [esp + 0x168]
mov ecx, dword [esp + 0x170]
movsd qword [esp + 0xfc], xmm2
movsd qword [esp + 0xf4], xmm1
movsd xmm2, qword [esp + 0x13c]
movsd xmm1, qword [esp + 0x144]
mov dword [esp + 0x10c], eax
movq qword [esp + 0x104], xmm0
movsd qword [esp + 0xec], xmm1
movsd qword [esp + 0xe4], xmm2
movzx eax, word [edx + 0x1ea]
cmp ecx, eax
jae 0x46055c
mov eax, edx
jmp 0x460593
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
test eax, eax
mov dword [esp + 8], eax
je 0x4603ec
mov dword [esp + 0xc], ecx
js 0x462f33
mov eax, dword [0x4d8218]
movzx eax, byte [eax]
push 1
mov esi, dword [esp + 0xc]
push esi
call sym.___rust_alloc
add esp, 8
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x4603f5
jmp 0x462f23
mov esi, dword [esp + 8]
mov eax, 1
push esi
push ecx
mov dword [esp + 0x14], eax
push eax
call sym._memcpy
add esp, 0xc
movzx eax, byte [ebx + 0xc]
mov esi, dword [ebx + 0x18]
mov dword [esp + 0x14], edi
mov byte [esp + 0x20], al
mov eax, dword [ebx + 0x14]
test esi, esi
je 0x460455
cmp esi, 0x3fffffff
mov dword [esp], eax
ja 0x462f3d
mov ebx, esi
add ebx, esi
js 0x462f3d
mov eax, dword [0x4d8218]
movzx eax, byte [eax]
push 2
push ebx
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x462f47
mov edi, eax
mov eax, dword [esp]
jmp 0x46045c
mov edi, 2
xor ebx, ebx
push ebx
push eax
push edi
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edi
mov dword [esp], esi
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x148], al
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x154], esi
mov ebx, dword [edi + 8]
mov eax, dword [edi + 4]
test ebx, ebx
je 0x4604e6
mov dword [esp + 0x20], eax
js 0x462f19
mov eax, dword [0x4d8218]
movzx eax, byte [eax]
push 1
push ebx
call sym.___rust_alloc
add esp, 8
mov esi, eax
test eax, eax
mov eax, dword [esp + 0x20]
jne 0x4604eb
jmp 0x462f57
mov esi, 1
push ebx
push eax
push esi
call sym._memcpy
add esp, 0xc
movzx eax, byte [edi + 0xc]
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], ebx
mov byte [esp + 0xf0], al
lea edx, [esp + 0xd8]
lea eax, [esp + 0xe4]
lea ecx, [esp + 0x50]
push eax
lea eax, [esp + 0x140]
push eax
call dbg.insert<std::sys::pal::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>
add esp, 8
mov eax, dword [esp + 0x50]
test eax, 0x7fffffff
je 0x460230
push 1
push eax
push dword [esp + 0x5c]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x460230
mov ebx, dword [esp + 0x16c]
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [edx + 0xb0]
test eax, eax
je 0x46058f
movzx ecx, word [edx + 0x1e8]
inc ebx
mov edx, eax
cmp cx, word [eax + 0x1ea]
jae 0x460570
jmp 0x460593
xor eax, eax
mov ecx, ebx
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
shl ecx, 4
mov ebx, dword [eax + edx + 0xcc]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0xfc]
movsd xmm0, qword [eax + edx + 0xc4]
movsd qword [esp + 0x7c], xmm0
movsd xmm0, qword [eax + edx + 0xb4]
movsd xmm1, qword [eax + edx + 0xbc]
movsd qword [esp + 0x74], xmm1
movsd qword [esp + 0x6c], xmm0
mov dword [eax + edx + 0xcc], ebx
lea ebx, [esp + 0x100]
movsd xmm0, qword [esp + 0xf4]
movsd qword [eax + edx + 0xc4], xmm0
movsd xmm0, qword [esp + 0xe4]
movsd xmm1, qword [esp + 0xec]
movsd qword [eax + edx + 0xbc], xmm1
movsd qword [eax + edx + 0xb4], xmm0
lea edx, [esp + 0x88]
movsd xmm0, qword [eax + ecx]
movsd xmm1, qword [eax + ecx + 8]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
movsd qword [eax + ecx], xmm0
movsd qword [eax + ecx + 8], xmm1
movsd xmm2, qword [esp + 0x84]
movsd xmm1, qword [esp + 0x7c]
mov eax, dword [esp + 0x94]
movq xmm0, qword [esp + 0x8c]
movsd qword [esp + 0x154], xmm2
movsd qword [esp + 0x14c], xmm1
movsd xmm2, qword [esp + 0x6c]
movsd xmm1, qword [esp + 0x74]
mov dword [esp + 0x164], eax
movq qword [esp + 0x15c], xmm0
movsd qword [esp + 0x144], xmm1
movsd qword [esp + 0x13c], xmm2
mov eax, dword [esp + 0x14c]
dec dword [esp + 0xe0]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x13c]
mov ebx, dword [esp + 0x140]
cmp byte [esp + 0x12c], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x150]
mov dword [esp], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 8], eax
je 0x46073b
test edi, edi
mov dword [esp + 0x20], ecx
je 0x462f67
mov eax, dword [esi + 0x1ec]
dec edi
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edi
mov dword [eax + 0xb0], 0
push 4
push 0x21c
push esi
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0x20]
cmp ecx, 0x80000000
je 0x460230
test ecx, ecx
je 0x460757
push 1
push ecx
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xc]
test eax, eax
je 0x460770
add eax, eax
push 2
push eax
push dword [esp + 0x1c]
call sym.___rust_dealloc
add esp, 0xc
test dword [esp + 8], 0x7fffffff
je 0x460230
push 1
push dword [esp + 0xc]
push dword [esp + 8]
jmp 0x46054f
mov eax, dword [esp + 0xe0]
movq xmm0, qword [esp + 0xd8]
mov dword [esp + 0x124], eax
mov eax, dword [0x4d8218]
movq qword [esp + 0x11c], xmm0
mov dword [esp + 0x118], 1
movzx eax, byte [eax]
push 1
push 4
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x462f80
mov esi, eax
mov dword [eax], 0x48544150
add eax, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
mov word [esp + 0x74], 0
lea ecx, [esp + 0xe4]
lea edx, [esp + 0x6c]
call dbg.from_iter<u16, std::sys_common::wtf8::EncodeWide>
mov eax, dword [esp + 0xec]
movq xmm0, qword [esp + 0xe4]
mov dword [esp + 0x13c], 4
mov dword [esp + 0x140], esi
mov dword [esp + 0x144], 4
mov byte [esp + 0x148], 0
mov dword [esp + 0x1c], esi
xor esi, esi
movq qword [esp + 0x14c], xmm0
mov dword [esp + 0x154], eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x460922
mov ecx, dword [esp + 0x120]
mov dword [esp], ecx
movzx edx, word [eax + 0x1ea]
lea ecx, [eax + 0xb4]
mov dword [esp + 0x20], eax
lea edi, [eax - 8]
mov esi, 0xffffffff
lea eax, [edx + edx*8]
mov dword [esp + 0x10], edx
lea ebx, [eax + eax*2]
add ebx, edx
nop word cs:[eax + eax]
test ebx, ebx
je 0x4608e0
lea eax, [ecx + 0x1c]
mov dword [esp + 8], eax
push 1
push dword [ecx + 0x18]
push dword [ecx + 0x14]
push dword [esp + 0x20]
push dword [esp + 0x1c]
call sub.KERNEL32.dll_CompareStringOrdinal
mov ecx, dword [esp + 8]
add edi, 0x10
inc esi
add ebx, 0xffffffe4
cmp eax, 3
je 0x4608a0
cmp eax, 1
jne 0x460903
jmp 0x4608e4
mov esi, dword [esp + 0x10]
mov ecx, dword [esp]
mov eax, dword [esp + 0x20]
sub ecx, 1
jb 0x460dd1
mov eax, dword [eax + esi*4 + 0x1ec]
mov dword [esp], ecx
jmp 0x460871
cmp eax, 2
jne 0x462eaa
cmp dword [esp + 0x20], 0
mov esi, 0
je 0x460922
mov esi, dword [edi - 4]
mov eax, dword [edi]
mov dword [esp], eax
jmp 0x460922
push 1
push 4
push dword [esp + 0x24]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x46094e
add eax, eax
push 2
push eax
push dword [esp + 0x14]
call sym.___rust_dealloc
add esp, 0xc
mov dword [esp + 0x20], esi
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x20]
test esi, esi
je 0x4609b0
mov eax, dword [esp + 4]
cmp esi, 4
mov edx, dword [eax + 0x1c]
mov eax, dbg.is_sep_byte
jb 0x460991
mov eax, dword [edx]
xor ecx, ecx
bswap eax
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
mov eax, dbg.is_sep_byte
adc ecx, 0xffffffff
mov ecx, sym.std::sys::pal::windows::path::is_verbatim_sep::he6e109ba89cf11c4
cmove eax, ecx
movzx ebx, byte [esi + edx - 1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
push ebx
call eax
add esp, 4
mov edi, dword [esp + 0xc]
test al, al
je 0x460a3c
mov byte [esp + 0x44], 2
mov dword [esp + 0x48], 0x4c0918
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], edi
mov dword [eax], esi
mov dword [eax + 8], 2
cmp dword [esp + 0x118], 0
je 0x460adf
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x460aba
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], ecx
mov ecx, 1
mov dword [esp + 0x158], edx
jmp 0x460abe
xor eax, eax
cmp edi, 4
mov ecx, 0
jb 0x460b01
mov esi, dword [esp + 8]
movzx ecx, byte [edi + esi - 4]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x2e
jne 0x460af7
movzx ecx, byte [esi + edi - 3]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
jne 0x460af7
movzx ecx, byte [esi + edi - 2]
mov edx, ecx
add dl, 0xbf
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x460afb
mov ecx, ebx
add cl, 0xbf
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, bl
cmp cl, 0x65
sete cl
jmp 0x460afd
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x15c], eax
lea ecx, [esp + 0x13c]
call dbg.drop_in_place<alloc::collections::btree::map::IntoIter<std::sys::pal::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>>
mov eax, dword [ebp + 8]
cmp dword [eax], 4
jb 0x460aef
push dword [eax + 4]
call sub.KERNEL32.dll_CloseHandle
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
jmp 0x460b01
xor ecx, ecx
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 8]
add edx, edi
mov dword [esp + 0x14], edx
nop dword [eax + eax]
cmp edi, eax
je 0x460b79
mov edx, dword [esp + 8]
movzx edx, byte [edx + eax]
cmp edx, 0x5c
je 0x460b27
inc eax
cmp edx, 0x2f
jne 0x460b10
test cl, cl
je 0x460c41
mov edx, dword [esp + 8]
lea ecx, [esp + 0x13c]
push edi
call sym.std::sys::pal::windows::to_u16s::inner::h1c3101dfdc85d063
add esp, 4
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
cmp edx, 0x80000000
jne 0x460d2c
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], 0x80000000
jmp 0x46138e
mov eax, dword [esp + 8]
xor esi, esi
jmp 0x460b9b
xor esi, esi
test cx, cx
je 0x460d17
mov cx, 1
test si, si
jne 0x460b90
cmp eax, dword [esp + 0x14]
je 0x460d6f
movzx ebx, byte [eax]
test bl, bl
js 0x460bbe
mov edi, dword [esp + 0xc]
inc eax
mov edx, ebx
jmp 0x460c11
movzx edi, byte [eax + 1]
mov edx, ebx
and edx, 0x1f
and edi, 0x3f
cmp bl, 0xdf
jbe 0x460c05
movzx esi, byte [eax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x460c1a
movzx edi, byte [eax + 3]
and edx, 7
shl esi, 6
add eax, 4
shl edx, 0x12
and edi, 0x3f
or edi, esi
or edx, edi
mov edi, dword [esp + 0xc]
cmp edx, 0xffff
jbe 0x460c11
jmp 0x460c2e
shl edx, 6
add eax, 2
or edx, edi
mov edi, dword [esp + 0xc]
xor esi, esi
mov ecx, edx
jmp 0x460b92
shl edx, 0xc
add eax, 3
or edx, esi
mov edi, dword [esp + 0xc]
cmp edx, 0xffff
jbe 0x460c11
and edx, 0x3ff
or edx, 0xdc00
mov esi, edx
jmp 0x460b92
test edi, edi
js 0x462fca
mov eax, dword [0x4d8218]
movzx eax, byte [eax]
push 1
push edi
call sym.___rust_alloc
add esp, 8
test eax, eax
je 0x462f88
mov esi, eax
push edi
push dword [esp + 0xc]
push eax
call sym._memcpy
add esp, 0xc
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], esi
mov dword [esp + 0x144], edi
mov byte [esp + 0x148], 0
lea eax, [esp + 0x13c]
push 4
push 0x4c08d5
push eax
call dbg.push_slice
add esp, 0xc
mov eax, dword [esp + 0x13c]
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x144]
mov dword [esp + 0xc], eax
mov edx, esi
lea ecx, [esp + 0x6c]
push edi
call dbg.program_exists
add esp, 4
cmp dword [esp + 0x6c], 0x80000000
jne 0x460d56
mov dword [esp + 0x20], edi
push edi
push esi
call sym.std::path::Path::file_name::h9f6f767310733612
add esp, 8
mov edi, eax
test eax, eax
je 0x460dc8
mov ebx, edx
cmp edx, 2
jne 0x460d95
movzx eax, word [edi]
cmp eax, 0x2e2e
jne 0x460d95
mov ecx, 2
xor eax, eax
jmp 0x4612f9
mov dword [esp + 0x44], 2
mov dword [esp + 0x48], 0x4c08c8
jmp 0x4609bd
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
lea ecx, [esp + 0x40]
lea edx, [esp + 0x13c]
call dbg.from_wide_to_user_path
jmp 0x46138e
mov eax, dword [esp + 0x74]
movq xmm0, qword [esp + 0x6c]
mov dword [esp + 0x48], eax
movq qword [esp + 0x40], xmm0
jmp 0x46137a
cmp edi, 7
ja 0x460dd8
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 8]
xor eax, eax
nop
cmp byte [ecx + eax], 0x2e
je 0x460dfc
inc eax
cmp edi, eax
jne 0x460d80
mov dword [esp + 0x1c], 0
jmp 0x460e04
xor ecx, ecx
mov eax, edi
mov dword [esp], esi
nop dword [eax]
cmp ebx, ecx
je 0x460df1
cmp byte [eax + ebx - 1], 0x2e
lea esi, [eax - 1]
mov edx, ecx
lea ecx, [ecx + 1]
mov eax, esi
jne 0x460da0
mov eax, ebx
sub eax, ecx
jne 0x4612f0
xor eax, eax
mov ecx, ebx
jmp 0x4612f6
mov ebx, dword [esp + 0x20]
jmp 0x461314
xor esi, esi
jmp 0x460922
push edi
push dword [esp + 0xc]
push 0x2e
call sym.core::slice::memchr::memchr_aligned::h0d66173e05f69917
add esp, 0xc
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x20]
jmp 0x460e04
mov eax, edi
mov edx, ebx
xor edi, edi
jmp 0x4612f6
mov dword [esp + 0x1c], 1
test edx, edx
je 0x460f36
mov eax, dword [esp]
mov dword [esp + 0x6c], edx
add eax, edx
mov dword [esp + 0x70], eax
mov word [esp + 0x74], 0
mov byte [esp + 0x78], 1
lea eax, [esp + 0x6c]
lea esi, [esp + 0x13c]
push eax
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h3ebc1d30cccdb81
add esp, 8
mov eax, dword [esp + 0x13c]
mov ebx, dword [esp + 0xc]
cmp eax, 0x80000000
je 0x460f36
mov edx, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
test edx, edx
jne 0x460e93
test eax, eax
je 0x460e72
push 1
push eax
push ecx
call sym.___rust_dealloc
add esp, 0xc
lea eax, [esp + 0x6c]
push eax
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h3ebc1d30cccdb81
add esp, 8
mov eax, dword [esp + 0x13c]
cmp eax, 0x80000000
jne 0x460e50
jmp 0x460f36
mov edi, dword [esp + 0x148]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], edi
push ebx
push dword [esp + 0xc]
push esi
call dbg._push
add esp, 0xc
cmp dword [esp + 0x1c], 1
je 0x460edb
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h1f93f50bf4668def
add esp, 0xc
mov ebx, dword [esp + 0x140]
mov edx, ebx
lea ecx, [esp + 0xe4]
push dword [esp + 0x144]
call dbg.program_exists
add esp, 4
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x460f11
push 1
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xe4]
cmp eax, 0x80000000
jne 0x46119f
lea eax, [esp + 0x6c]
push eax
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h3ebc1d30cccdb81
add esp, 8
jmp 0x460e3a
lea ecx, [esp + 0x6c]
call dbg.current_exe
mov esi, dword [esp + 0x6c]
cmp esi, 0x80000000
jne 0x460f59
lea ecx, [esp + 0x6c]
call dbg.drop_in_place<core::result::Result<std::path::PathBuf, std::io::error::Error>>
jmp 0x461014
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x20], eax
push ebx
push edi
call dbg.parent
add esp, 8
mov ecx, dword [esp + 0x20]
cmp ebx, edx
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], edi
cmovb edx, ebx
test eax, eax
cmove edx, ebx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ecx
lea esi, [esp + 0x13c]
push dword [esp + 0xc]
push dword [esp + 0xc]
push esi
call dbg._push
add esp, 0xc
cmp dword [esp + 0x1c], 1
je 0x460fcc
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h1f93f50bf4668def
add esp, 0xc
mov esi, dword [esp + 0x140]
mov edx, esi
lea ecx, [esp + 0xe4]
push dword [esp + 0x144]
call dbg.program_exists
add esp, 4
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x461002
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xe4]
cmp eax, 0x80000000
jne 0x46119f
mov esi, 0x200
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 2
mov dword [esp + 0xb8], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 2
cmp esi, 0x201
jb 0x46106e
jmp 0x461080
jbe 0x461113
cmp esi, 0x201
jae 0x461080
mov dword [esp], 0x200
lea edi, [esp + 0x13c]
mov ebx, esi
jmp 0x4610be
mov ebx, dword [esp + 0x20]
sub esi, ebx
je 0x4610ac
mov edx, ebx
lea ecx, [esp + 0xb0]
push esi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
add esp, 4
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0xb8], ebx
mov dword [esp], ebx
mov dword [esp + 0x20], ebx
push 0
call sub.KERNEL32.dll_SetLastError
push ebx
push edi
call sub.KERNEL32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x4610df
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x4611b6
cmp esi, ebx
jne 0x461060
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x462f9b
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x461080
jmp 0x46106e
mov eax, dword [esp]
mov ebx, dword [esp + 0xc]
cmp esi, eax
ja 0x462fe7
push esi
push edi
lea esi, [esp + 0x74]
push esi
call dbg.from_wide
add esp, 0xc
push ebx
push dword [esp + 0xc]
push esi
call dbg._push
add esp, 0xc
cmp dword [esp + 0x1c], 1
je 0x461156
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h1f93f50bf4668def
add esp, 0xc
mov esi, dword [esp + 0x70]
mov edx, esi
lea ecx, [esp + 0xe4]
push dword [esp + 0x74]
call dbg.program_exists
add esp, 4
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x461183
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
movq xmm0, qword [esp + 0xe4]
mov eax, dword [esp + 0xec]
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], eax
jmp 0x4611cc
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov dword [esp + 0xc], eax
jmp 0x4613a9
call sub.KERNEL32.dll_GetLastError
mov byte [esp + 0x54], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], 0x80000001
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4611e5
add eax, eax
push 2
push eax
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x50]
cmp eax, 0x80000001
jg 0x462029
lea ecx, [esp + 0x50]
call dbg.drop_in_place<core::result::Result<core::option::Option<alloc::vec::Vec<u16, alloc::alloc::Global>>, std::io::error::Error>>
mov esi, 0x200
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 2
mov dword [esp + 0xb8], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 2
cmp esi, 0x201
jb 0x46124b
jmp 0x46125d
jbe 0x461d58
cmp esi, 0x201
jae 0x46125d
mov dword [esp], 0x200
lea edi, [esp + 0x13c]
mov ebx, esi
jmp 0x46129b
mov ebx, dword [esp + 0x20]
sub esi, ebx
je 0x461289
mov edx, ebx
lea ecx, [esp + 0xb0]
push esi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
add esp, 4
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
mov dword [esp + 0xb8], ebx
mov dword [esp], ebx
mov dword [esp + 0x20], ebx
push 0
call sub.KERNEL32.dll_SetLastError
push ebx
push edi
call sub.KERNEL32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x4612bc
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x461e6b
cmp esi, ebx
jne 0x46123d
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x462fb4
lea esi, [ebx + ebx]
test ebx, ebx
mov eax, 0xffffffff
cmovs esi, eax
cmp esi, 0x201
jae 0x46125d
jmp 0x46124b
mov ecx, eax
lea eax, [esi + ebx + 1]
mov esi, dword [esp]
mov ebx, dword [esp + 0x20]
test edi, edi
cmovne eax, edi
test eax, eax
je 0x461314
test edi, edi
cmove ecx, edx
add eax, ecx
sub eax, esi
cmp ebx, eax
cmovae ebx, eax
mov edx, esi
lea ecx, [esp + 0x13c]
push ebx
call sym.std::sys::pal::windows::to_u16s::inner::h1c3101dfdc85d063
add esp, 4
mov edx, dword [esp + 0x13c]
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
cmp edx, 0x80000000
jne 0x461355
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x40], 0x80000000
jmp 0x46137a
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
lea ecx, [esp + 0x40]
lea edx, [esp + 0x13c]
call dbg.from_wide_to_user_path
mov eax, dword [esp + 0xc]
test eax, eax
je 0x46138e
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
cmp eax, 0x80000000
mov dword [esp + 0xc], eax
je 0x4609c5
cmp edi, 5
mov dword [esp + 0x20], esi
jb 0x4613c6
cmp word [esi + edi*2 - 0xa], 0x2e
jne 0x4613c6
cmp word [esi + edi*2 - 2], 0
je 0x461b2f
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], 0
mov ebx, dword [eax + 0x2c]
mov esi, dword [eax + 0x30]
movzx eax, byte [eax + 0x65]
mov byte [esp], al
lea ecx, [esp + 0x6c]
xor edx, edx
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x14]
mov word [eax + ecx*2], 0x22
mov eax, dword [esp + 8]
inc ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], edi
mov word [esp + 0x144], 0
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x13c]
call dbg.spec_extend<u16, std::sys_common::wtf8::EncodeWide, alloc::alloc::Global>
mov edx, dword [esp + 0x74]
cmp edx, dword [esp + 0x6c]
jne 0x461454
lea ecx, [esp + 0x6c]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov word [eax + edx*2], 0x22
inc edx
test esi, esi
mov dword [esp + 0x74], edx
je 0x4614d3
shl esi, 2
lea edi, [esi + esi*4]
movzx esi, byte [esp]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esp + 0x74]
cmp edx, dword [esp + 0x6c]
jne 0x461497
lea ecx, [esp + 0x6c]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov word [eax + edx*2], 0x20
inc edx
mov dword [esp + 0x74], edx
lea edx, [esp + 0x6c]
lea ecx, [esp + 0xe4]
push esi
push ebx
call dbg.append_arg
add esp, 8
movzx eax, byte [esp + 0xe4]
cmp al, 4
jne 0x461a03
add ebx, 0x14
add edi, 0xffffffec
jne 0x461480
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
cmp edx, 0x80000000
je 0x461a4e
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov al, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 8], ebx
mov dword [esp + 0x14], ecx
cmp edx, esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], esi
jne 0x461534
lea ecx, [esp + 0xd8]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov edi, dword [esp + 0xdc]
mov esi, dword [esp + 0xe0]
mov ecx, dword [esp + 4]
mov word [edi + esi*2], 0
inc esi
mov eax, 0x400
mov edx, 0x608
mov dword [esp + 0xe0], esi
cmp byte [ecx + 0x64], 0
cmove edx, eax
or edx, dword [ecx + 0x54]
cmp dword [esp + 0x118], 0
mov dword [esp + 0x128], edx
je 0x461ac8
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x11c]
mov ebx, dword [esp + 0x120]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 2
mov dword [esp + 0xb8], 0
mov dword [esp + 0x10], 0
mov dword [esp], 2
mov dword [esp + 0x110], 0
test esi, esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], esi
jne 0x461608
mov al, 1
mov dword [esp], eax
lea ecx, [esp + 0xb0]
xor edx, edx
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov word [eax + ecx*2], 0
inc ecx
mov dword [esp], eax
mov dword [esp + 0x110], ecx
mov dword [esp + 0xb8], ecx
xor eax, eax
test edi, edi
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x13c]
setne al
cmove esi, edi
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], edi
mov dword [esp + 0x158], ebx
mov ebx, dword [esp]
mov dword [esp + 0x15c], esi
xor esi, esi
call dbg.dying_next<std::sys::pal::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x462377
mov ecx, dword [esp + 0x74]
lea edx, [ecx + ecx*8]
lea edx, [edx + edx*2]
add edx, ecx
mov edi, dword [eax + edx + 0xb4]
cmp edi, 0x80000000
mov dword [esp + 0x38], edi
je 0x462377
mov edi, dword [eax + edx + 0xc4]
mov dword [esp + 0x138], esi
mov dword [esp], ebx
mov esi, dword [eax + edx + 0xb8]
mov ebx, dword [eax + edx + 0xbc]
shl ecx, 4
mov dword [esp + 0x4c], edi
mov edi, dword [eax + edx + 0xc8]
mov edx, dword [eax + edx + 0xcc]
mov dword [esp + 0x134], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x114], edx
mov edx, dword [eax + ecx]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edx
mov edx, dword [eax + ecx + 4]
mov eax, dword [eax + ecx + 8]
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], eax
lea eax, [esi + ebx]
xor ebx, ebx
mov edx, esi
mov dword [esp + 0xd4], eax
jmp 0x46171b
xor ebx, ebx
test di, di
je 0x461a6d
mov di, 1
test bx, bx
jne 0x461710
cmp edx, eax
je 0x4617ba
movzx ebx, byte [edx]
test bl, bl
js 0x461738
inc edx
mov esi, ebx
jmp 0x46178a
movzx ecx, byte [edx + 1]
mov esi, ebx
and esi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x461782
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x461790
movzx ecx, byte [edx + 3]
and esi, 7
shl eax, 6
add edx, 4
shl esi, 0x12
and ecx, 0x3f
or ecx, eax
or esi, ecx
mov eax, dword [esp + 0xd4]
cmp esi, 0xffff
jbe 0x46178a
jmp 0x4617a7
shl esi, 6
add edx, 2
or esi, ecx
xor ebx, ebx
mov edi, esi
jmp 0x461712
shl esi, 0xc
add edx, 3
or esi, eax
mov eax, dword [esp + 0xd4]
cmp esi, 0xffff
jbe 0x46178a
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
jmp 0x461712
mov eax, dword [esp + 0x38]
mov edx, dword [esp]
mov edi, dword [esp + 0x110]
mov ebx, dword [esp + 0x64]
test eax, eax
je 0x4617ee
cmp eax, 0x80000000
je 0x462cb5
mov esi, edx
push 1
push eax
push dword [esp + 0x68]
call sym.___rust_dealloc
add esp, 0xc
mov edx, esi
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0x114]
sub eax, edi
cmp eax, esi
jae 0x461829
mov edx, edi
lea ecx, [esp + 0xb0]
push esi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
add esp, 4
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
mov esi, dword [esp + 0x114]
lea eax, [esi + esi]
mov dword [esp], edx
lea ecx, [edx + edi*2]
push eax
push ebx
push ecx
call sym._memcpy
add esp, 0xc
mov eax, dword [esp + 0x4c]
add edi, esi
mov dword [esp + 0xb8], edi
test eax, eax
je 0x46185c
add eax, eax
push 2
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
cmp edi, dword [esp + 0xb0]
jne 0x461883
lea ecx, [esp + 0xb0]
mov edx, edi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
jmp 0x461886
mov eax, dword [esp]
mov word [eax + edi*2], 0x3d
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
and dword [esp + 0x60], 0xffffff00
inc edi
mov dword [esp + 0xb8], edi
xor edi, edi
add eax, ecx
mov dword [esp], eax
jmp 0x4618b8
xor edi, edi
test dx, dx
je 0x461de7
mov dx, 1
test di, di
jne 0x4618ad
cmp ecx, eax
je 0x46194c
movzx ebx, byte [ecx]
test bl, bl
js 0x4618d5
inc ecx
mov esi, ebx
jmp 0x461943
movzx eax, byte [ecx + 1]
mov esi, ebx
and esi, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x461910
movzx edi, byte [ecx + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x46191d
movzx eax, byte [ecx + 3]
and esi, 7
shl edi, 6
add ecx, 4
shl esi, 0x12
and eax, 0x3f
or eax, edi
or esi, eax
jmp 0x461925
shl esi, 6
add ecx, 2
or esi, eax
mov eax, dword [esp]
jmp 0x461943
shl esi, 0xc
add ecx, 3
or esi, edi
mov eax, dword [esp]
cmp esi, 0xffff
jbe 0x461943
and esi, 0x3ff
or esi, 0xdc00
mov edi, esi
jmp 0x4618af
xor edi, edi
mov edx, esi
jmp 0x4618af
mov esi, dword [esp + 0x68]
cmp esi, 0x80000000
je 0x462d99
mov eax, dword [esp + 0x34]
mov edi, dword [esp]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], edi
mov word [esp + 0xec], 0
lea ecx, [esp + 0xb0]
lea edx, [esp + 0xe4]
call dbg.spec_extend<u16, std::sys_common::wtf8::EncodeWide, alloc::alloc::Global>
test esi, esi
je 0x4619a1
push 1
push esi
push dword [esp + 0x3c]
call sym.___rust_dealloc
add esp, 0xc
mov edx, dword [esp + 0xb8]
cmp edx, dword [esp + 0xb0]
jne 0x4619c4
lea ecx, [esp + 0xb0]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0xb4]
mov ecx, dword [esp + 0x60]
and eax, 0xffffff00
mov word [ebx + edx*2], 0
inc edx
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x110], edx
mov dword [esp + 0xb8], edx
mov esi, eax
lea edx, [esp + 0x13c]
jmp 0x461669
movzx ecx, byte [esp + 0xeb]
movzx esi, word [esp + 0xe9]
mov ebx, dword [esp + 0xe5]
shl ecx, 0x10
mov edi, ebx
or esi, ecx
movzx ecx, al
mov eax, dword [esp + 0x6c]
shl edi, 8
test eax, eax
je 0x461a48
add eax, eax
push 2
push eax
push dword [esp + 0x78]
mov dword [esp + 0x14], ecx
call sym.___rust_dealloc
mov ecx, dword [esp + 0x14]
add esp, 0xc
shld esi, ebx, 8
or edi, ecx
mov eax, dword [esp + 0x3c]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], 2
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
xor ebx, ebx
jmp 0x462c49
mov eax, dword [esp + 0x38]
test eax, eax
je 0x461a84
push 1
push eax
push dword [esp + 0x68]
call sym.___rust_dealloc
add esp, 0xc
or dword [esp + 0x10], 2
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov esi, 0x4c08c8
test eax, eax
je 0x461aa9
push 1
push eax
push dword [esp + 0x3c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x461abf
add eax, eax
push 2
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov dword [esp + 0x18], esi
jmp 0x461e14
mov edi, dword [esp + 0xc]
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x10], 2
mov eax, dword [esp + 4]
mov dword [esp], ebx
mov dword [esp + 0x18], esi
cmp dword [eax + 0x34], 0x80000000
jne 0x461c79
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x38], 2
pxor xmm0, xmm0
movdqu xmmword [esp + 0xb0], xmm0
push 0x4f1118
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, dword [0x4f10f4]
test eax, 0x7fffffff
je 0x46203a
call dbg.is_zero_slow_path
xor al, 1
jmp 0x46203c
movzx eax, word [esi + edi*2 - 8]
lea ecx, [eax - 0x42]
cmp ecx, 0x21
ja 0x4613c6
mov edx, dword [esp + 0x18]
add edx, dword [ecx*4 + 0x4636c0]
jmp edx
mov edx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
xor ebx, ebx
add eax, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0xd4], eax
jmp 0x461c9b
xor ebx, ebx
test si, si
je 0x461d35
mov si, 1
test bx, bx
jne 0x461c90
cmp edx, eax
je 0x4622d7
movzx ebx, byte [edx]
test bl, bl
js 0x461cb8
inc edx
mov edi, ebx
jmp 0x461d24
movzx ecx, byte [edx + 1]
mov edi, ebx
and edi, 0x1f
and ecx, 0x3f
cmp bl, 0xdf
jbe 0x461cf3
movzx eax, byte [edx + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp bl, 0xf0
jb 0x461cfd
movzx ecx, byte [edx + 3]
and edi, 7
shl eax, 6
add edx, 4
shl edi, 0x12
and ecx, 0x3f
or ecx, eax
or edi, ecx
jmp 0x461d05
shl edi, 6
add edx, 2
or edi, ecx
jmp 0x461d24
shl edi, 0xc
add edx, 3
or edi, eax
mov eax, dword [esp + 0xd4]
cmp edi, 0xffff
jbe 0x461d24
and edi, 0x3ff
or edi, 0xdc00
mov ebx, edi
jmp 0x461d28
xor ebx, ebx
mov esi, edi
mov edi, dword [esp + 0xc]
test si, si
jne 0x461c9b
mov esi, dword [esp + 0x20]
mov edx, 0x4c08c8
mov ecx, 2
mov eax, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 2
jmp 0x462beb
mov eax, dword [esp]
mov ebx, dword [esp + 0xc]
cmp esi, eax
ja 0x462ff8
push esi
push edi
lea edi, [esp + 0x74]
push edi
call dbg.from_wide
add esp, 0xc
push ebx
push dword [esp + 0xc]
push edi
call dbg._push
add esp, 0xc
cmp dword [esp + 0x1c], 1
je 0x461d9b
push 3
push str.exe.NULexit_code:
push edi
call sym.std::path::PathBuf::_set_extension::h1f93f50bf4668def
add esp, 0xc
mov esi, dword [esp + 0x70]
mov edx, esi
lea ecx, [esp + 0xe4]
push dword [esp + 0x74]
call dbg.program_exists
add esp, 4
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x461dc8
push 1
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
movq xmm0, qword [esp + 0xe4]
mov eax, dword [esp + 0xec]
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], eax
jmp 0x461e85
mov eax, dword [esp + 0x68]
test eax, eax
je 0x461dfe
push 1
push eax
push dword [esp + 0x3c]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x138]
mov dword [esp + 0x18], 0x4c08c8
or eax, 2
mov dword [esp + 0x10], eax
mov dword [esp], 0
lea ecx, [esp + 0x13c]
call dbg.drop_in_place<alloc::collections::btree::map::IntoIter<std::sys::pal::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>>
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x461e46
add eax, eax
push 2
push eax
push dword [esp + 0xbc]
call sym.___rust_dealloc
add esp, 0xc
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 4], ecx
mov dword [eax], edx
mov dword [eax + 8], 2
jmp 0x462c04
call sub.KERNEL32.dll_GetLastError
lea edi, [esp + 0x6c]
mov byte [esp + 0x54], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], 0x80000001
mov eax, dword [esp + 0x20]
test eax, eax
je 0x461e9e
add eax, eax
push 2
push eax
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x50]
cmp eax, 0x80000002
jge 0x462029
lea ecx, [esp + 0x50]
call dbg.drop_in_place<core::result::Result<core::option::Option<alloc::vec::Vec<u16, alloc::alloc::Global>>, std::io::error::Error>>
lea eax, [esp + 0xe4]
push 4
push str.PATHlibrary_std_src_sys_commonprocess.rs
push eax
call dbg._var_os
add esp, 0xc
mov eax, dword [esp + 0xe4]
cmp eax, 0x80000000
je 0x4622c5
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
lea esi, [esp + 0x13c]
mov dword [esp + 0x20], eax
add edx, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp], ecx
mov dword [esp + 0x70], edx
mov word [esp + 0x74], 0
mov byte [esp + 0x78], 1
mov ebx, dword [esp + 0xc]
push edi
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h3ebc1d30cccdb81
add esp, 8
jmp 0x461f2b
push edi
push esi
call sym.__ZN97__LT_std..sys..pal..windows..os..SplitPaths_u20_as_u20_core..iter..traits..iterator..Iterator_GT_4next17h3ebc1d30cccdb81
add esp, 8
mov eax, dword [esp + 0x13c]
cmp eax, 0x80000000
je 0x4622ae
mov edx, dword [esp + 0x144]
mov ecx, dword [esp + 0x140]
test edx, edx
jne 0x461f61
test eax, eax
je 0x461f21
push 1
push eax
push ecx
call sym.___rust_dealloc
add esp, 0xc
jmp 0x461f21
mov edi, dword [esp + 0x148]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], edi
push ebx
push dword [esp + 0xc]
push esi
call dbg._push
add esp, 0xc
cmp dword [esp + 0x1c], 1
je 0x461fa9
push 3
push str.exe.NULexit_code:
push esi
call sym.std::path::PathBuf::_set_extension::h1f93f50bf4668def
add esp, 0xc
mov ebx, dword [esp + 0x140]
mov edx, ebx
lea ecx, [esp + 0xb0]
push dword [esp + 0x144]
call dbg.program_exists
add esp, 4
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x461fdf
push 1
push eax
push ebx
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xb0]
lea edi, [esp + 0x6c]
cmp eax, 0x80000000
je 0x461f11
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
cmp dword [esp + 0x20], 0
mov dword [esp + 0xc], eax
je 0x4613a9
push 1
push dword [esp + 0x24]
push dword [esp + 8]
call sym.___rust_dealloc
add esp, 0xc
jmp 0x4613a9
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc], eax
jmp 0x4613a9
xor eax, eax
movzx ecx, byte [0x4f111c]
mov dword [esp + 0x68], edi
test cl, cl
mov byte [esp + 0x34], cl
je 0x46205e
mov ecx, 1
mov dword [esp + 0x44], 0x4f1118
jmp 0x462068
mov dword [esp + 0x44], 0x4f1118
xor ecx, ecx
mov byte [esp + 0x48], al
mov dword [esp + 0xd4], eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 4]
cmp byte [ebp + 0xc], 0
mov eax, dword [ebp + 8]
lea edx, [esp + 0x12c]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0x12c], 2
cmovne edx, eax
cmp dword [ecx], 6
lea edi, [ecx + 8]
lea esi, [ecx + 0x10]
cmovne edx, ecx
cmp dword [ecx + 8], 6
cmove edi, eax
cmp dword [ecx + 0x10], 6
cmove esi, eax
lea eax, [esp + 0xe4]
lea ecx, [esp + 0x13c]
push eax
push 0xfffffffffffffff6
call dbg.to_handle
add esp, 8
movzx eax, byte [esp + 0x13c]
cmp al, 4
jne 0x46223c
mov ecx, dword [esp + 0x140]
lea eax, [esp + 0xec]
mov dword [esp + 0x4c], ecx
mov edx, edi
lea ecx, [esp + 0x13c]
push eax
push 0xfffffffffffffff5
call dbg.to_handle
add esp, 8
movzx eax, byte [esp + 0x13c]
mov edi, dword [esp + 0xc]
cmp al, 4
jne 0x462277
mov ecx, dword [esp + 0x140]
lea eax, [esp + 0xf4]
mov dword [esp + 0x64], ecx
mov edx, esi
lea ecx, [esp + 0x13c]
push eax
push 0xfffffffffffffff4
call dbg.to_handle
add esp, 8
movzx eax, byte [esp + 0x13c]
cmp al, 4
jne 0x46240a
mov ecx, dword [esp + 0x140]
cmp dword [esp + 0x4c], 0
mov esi, dword [esp + 0x20]
pxor xmm0, xmm0
mov dword [esp + 0xac], 0
movdqu xmmword [esp + 0x9c], xmm0
movdqu xmmword [esp + 0x8c], xmm0
movdqu xmmword [esp + 0x7c], xmm0
movdqu xmmword [esp + 0x6c], xmm0
jne 0x4621b5
cmp dword [esp + 0x64], 0
jne 0x4621b5
test ecx, ecx
je 0x4621dd
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x98], 0x100
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov edx, dword [esp + 4]
mov dword [esp + 0x60], ecx
mov eax, dword [edx + 0x60]
test eax, eax
mov dword [esp + 0x110], eax
je 0x462966
add edx, 0x58
mov dword [esp + 0x6c], 0x48
lea ecx, [esp + 0x50]
call dbg.make_proc_thread_attribute_list
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x13c]
je 0x462974
mov edx, eax
mov eax, dword [esp + 0x3c]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [eax + 8], 2
jmp 0x462b21
movzx ecx, byte [esp + 0x13f]
mov edx, dword [esp + 0x3c]
movzx edi, word [esp + 0x13d]
mov esi, dword [esp + 0x140]
mov word [edx + 1], di
mov byte [edx + 3], cl
mov byte [edx], al
mov dword [edx + 4], esi
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov dword [edx + 8], 2
jmp 0x462b3c
movzx ecx, byte [esp + 0x13f]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x140]
mov byte [edx + 3], cl
movzx ecx, word [esp + 0x13d]
mov word [edx + 1], cx
mov byte [edx], al
mov dword [edx + 4], esi
mov esi, dword [esp + 0x20]
mov dword [edx + 8], 2
jmp 0x462b33
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4622c5
push 1
push eax
push dword [esp + 8]
call sym.___rust_dealloc
add esp, 0xc
mov byte [esp + 0x44], 2
mov dword [esp + 0x48], 0x4c08ec
jmp 0x4609bd
mov esi, dword [esp + 0x34]
mov ecx, eax
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], ecx
mov word [esp + 0x144], 0
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x13c]
call dbg.from_iter<u16, std::sys_common::wtf8::EncodeWide>
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x20]
cmp edx, ecx
jne 0x462441
lea ecx, [esp + 0x6c]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
jmp 0x462443
mov dword [esp], 0
lea ecx, [esp + 0x13c]
call dbg.drop_in_place<alloc::collections::btree::map::IntoIter<std::sys::pal::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>>
mov edx, dword [esp + 0x110]
cmp edx, dword [esp + 0xb0]
jne 0x4623bb
mov dword [esp], 0
lea ecx, [esp + 0xb0]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov word [ebx + edx*2], 0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
cmp ecx, 0x80000000
mov dword [esp + 0x10], eax
jne 0x462467
inc edx
mov dword [esp + 0x18], edx
jmp 0x461e4e
movzx ecx, byte [esp + 0x13f]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x140]
mov byte [edx + 3], cl
movzx ecx, word [esp + 0x13d]
mov word [edx + 1], cx
mov byte [edx], al
mov dword [edx + 4], esi
mov esi, dword [esp + 0x20]
mov dword [edx + 8], 2
jmp 0x462b2a
mov eax, ecx
mov ecx, dword [esp + 0x70]
cmp eax, 0x80000000
mov word [ecx + edx*2], 0
jne 0x46245a
inc edx
jmp 0x461d43
mov ebx, eax
mov dword [esp + 0x38], ecx
mov edi, ecx
jmp 0x461afc
mov eax, ecx
mov esi, ecx
jmp 0x461ad8
mov dword [esp + 0x6c], 0x44
lea edx, [esp + 0x6c]
jmp 0x4629a2
mov dword [esp + 4], ecx
or dword [esp + 0x128], 0x80000
lea esi, [esp + 0x6c]
mov ecx, 0x11
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x114], eax
mov dword [esp + 0x180], eax
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0xdc]
lea eax, [esp + 0xb0]
push eax
push edx
push dword [esp + 0x70]
push dword [esp + 0xc]
push dword [esp + 0x138]
push 1
push 0
push 0
push esi
push dword [esp + 0x38]
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x462add
mov eax, dword [esp + 0x3c]
movsd xmm1, qword [esp + 0xec]
cmp dword [esp + 0x110], 0
movq xmm0, qword [esp + 0xf4]
movsd xmm2, qword [esp + 0xe4]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0xb0]
movq qword [eax + 0x18], xmm0
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
je 0x462a2e
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 4]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::h43aef28e5883ae53
push dword [esp + 0x60]
call sub.KERNEL32.dll_CloseHandle
push dword [esp + 0x64]
call sub.KERNEL32.dll_CloseHandle
push dword [esp + 0x4c]
call sub.KERNEL32.dll_CloseHandle
lea ecx, [esp + 0x40]
call sym.__ZN4core3ptr178drop_in_place_LT_core..result..Result_LT_std..sync..mutex..MutexGuard_LT__LP__RP__GT__C_std..sync..poison..Poi
test ebx, ebx
je 0x462a67
add ebx, ebx
push 2
push ebx
push dword [esp + 0x40]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x18]
test eax, eax
je 0x462a80
add eax, eax
push 2
push eax
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x462a99
add eax, eax
push 2
push eax
push esi
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 8]
test eax, eax
je 0x462ab2
add eax, eax
push 2
push eax
push dword [esp + 0x1c]
call sym.___rust_dealloc
add esp, 0xc
mov ecx, dword [esp + 0x1c]
test edi, edi
setne al
xor cl, 1
test al, cl
mov eax, dword [esp + 0x20]
je 0x460adf
add edi, edi
push 2
push edi
push eax
call sym.___rust_dealloc
add esp, 0xc
jmp 0x460adf
call sub.KERNEL32.dll_GetLastError
movzx ecx, word [esp + 0x50]
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x110], 0
mov esi, dword [esp + 0x20]
mov word [edx + 1], cx
mov ch, byte [esp + 0x52]
mov byte [edx + 3], ch
mov byte [edx], 0
mov dword [edx + 4], eax
mov dword [edx + 8], 2
je 0x462b21
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 4]
call sym.core::ptr::drop_in_place_LT_std..sys..pal..windows..process..ProcThreadAttributeList_GT_::h43aef28e5883ae53
push dword [esp + 0x60]
call sub.KERNEL32.dll_CloseHandle
push dword [esp + 0x64]
call sub.KERNEL32.dll_CloseHandle
push dword [esp + 0x4c]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0xe4], 0
je 0x462b52
push dword [esp + 0xe8]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0xec], 0
je 0x462b68
push dword [esp + 0xf0]
call sub.KERNEL32.dll_CloseHandle
cmp dword [esp + 0xf4], 0
je 0x462b7e
push dword [esp + 0xf8]
call sub.KERNEL32.dll_CloseHandle
cmp byte [esp + 0x34], 0
je 0x462ba2
cmp byte [esp + 0xd4], 0
jne 0x462bcc
mov eax, dword [0x4f10f4]
test eax, 0x7fffffff
je 0x462bcc
call dbg.is_zero_slow_path
jmp 0x462bbd
cmp byte [esp + 0xd4], 0
jne 0x462bcc
mov eax, dword [0x4f10f4]
test eax, 0x7fffffff
je 0x462bcc
call dbg.is_zero_slow_path
mov esi, dword [esp + 0x20]
test al, al
jne 0x462bcc
mov byte [0x4f111c], 1
push 0x4f1118
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
test ebx, ebx
je 0x462beb
add ebx, ebx
push 2
push ebx
push dword [esp + 0x40]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0x18]
test eax, eax
je 0x462c04
add eax, eax
push 2
push eax
push dword [esp + 0x18]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 0xd8]
test eax, eax
je 0x462c23
add eax, eax
push 2
push eax
push dword [esp + 0xe4]
call sym.___rust_dealloc
add esp, 0xc
mov eax, dword [esp + 8]
test eax, eax
je 0x462c3c
add eax, eax
push 2
push eax
push dword [esp + 0x1c]
call sym.___rust_dealloc
add esp, 0xc
cmp byte [esp + 0x1c], 0
mov bl, 1
jne 0x460adf
test edi, edi
je 0x462c5b
add edi, edi
push 2
push edi
push esi
call sym.___rust_dealloc
add esp, 0xc
test bl, bl
je 0x4609d5
jmp 0x460adf
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x134]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x461a9a
jmp 0x461aa9
mov eax, dword [esp + 0x34]
jmp 0x461e10
call sub.KERNEL32.dll_GetLastError
mov byte [esp + 0xe4], 0
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x6c], 0x4c0864
mov dword [esp + 0x70], 1
mov dword [esp + 0x7c], 0
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xb4], sym.__LT_std..io..error..Error_u20_as_u20_core..fmt..Display_GT_::fmt::h12ee7560cc3570d1
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 1
push 0x4c0898
lea eax, [esp + 0x70]
push eax
call dbg.panic_fmt
add esp, 8
jmp 0x463040
call dbg.capacity_overflow
jmp 0x463040
push esi
push 1
call dbg.handle_alloc_error
add esp, 8
jmp 0x463040
call dbg.capacity_overflow
jmp 0x463040
call dbg.capacity_overflow
jmp 0x463040
push ebx
push 2
call dbg.handle_alloc_error
add esp, 8
jmp 0x463040
push ebx
push 1
call dbg.handle_alloc_error
add esp, 8
jmp 0x463040
push 0x4bd448
push 0x21
push str.assertion_failed:_self.height___0
call dbg.panic
add esp, 0xc
jmp 0x463040
mov dword [esp + 0xc], 4
push dword [esp + 0xc]
push 1
call dbg.handle_alloc_error
add esp, 8
jmp 0x463040
push 0x4c0fb0
push 0x28
push 0x4bd574
call dbg.panic
add esp, 0xc
jmp 0x463040
push 0x4c0fb0
push 0x28
push 0x4bd574
call dbg.panic
add esp, 0xc
jmp 0x463040
call dbg.capacity_overflow
jmp 0x463040
push 0x4c0fa0
push eax
push esi
call dbg.slice_end_index_len_fail
add esp, 0xc
jmp 0x463040
push 0x4c0fa0
push eax
push esi
call dbg.slice_end_index_len_fail
add esp, 0xc
jmp 0x463040
ud2