Function at 0x140039e20
Capabilities:
Create process on windows
Encode data using base64
Encrypt data using speck
Get common file path
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x6e8
movdqa xmmword [rsp + 0x6d0], xmm6
mov qword [rsp + 0x158], r8
mov qword [rsp + 0xa8], rcx
movzx eax, byte [rdx + 0xa0]
mov rbx, qword [rdx + 0x98]
test al, al
mov qword [rsp + 0x140], rdx
jne 0x140039e7e
test rbx, rbx
jne 0x140039e7e
mov qword [rsp + 0x228], 0
xor ebp, ebp
jmp 0x14003ab3a
movabs r14, 0x8000000000000000
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x130], 0
test al, al
jne 0x14003a0ca
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x14003cede
mov qword [rsp + 0x88], rbx
lea rdi, [rsp + 0xb0]
lea r15, [rsp + 0x280]
mov qword [rsp + 0x58], rax
mov r12, rax
nop word cs:[rax + rax]
cmp word [r12], 0
je 0x14003a0a6
mov rbp, r12
mov r13, 0xffffffffffffffff
mov rcx, 0xfffffffffffffffe
nop dword [rax]
mov rax, rcx
cmp word [rbp + r13*2 + 2], 0
lea r13, [r13 + 1]
lea rcx, [rcx + 2]
jne 0x140039f00
lea r12, [r13*2 + 2]
add r12, rbp
cmp r13, 1
je 0x140039ee0
test r13, r13
je 0x14003ce0f
xor ebx, ebx
cmp word [rbp + rbx*2 + 2], 0x3d
je 0x140039f50
inc rbx
add rax, 0xfffffffffffffffe
jne 0x140039f30
jmp 0x140039ee0
lea r8, [rbx + 1]
cmp rbx, r13
jae 0x14003ce27
mov rcx, rdi
mov rdx, rbp
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::hbf8b2f0179ef5cb6
add rbx, 2
mov r8, r13
sub r8, rbx
jb 0x14003ce41
lea rdx, [rbx*2]
add rdx, rbp
mov rcx, r15
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::hbf8b2f0179ef5cb6
mov rsi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
movdqu xmm6, xmmword [rsp + 0xc0]
mov rbp, qword [rsp + 0x280]
mov r13, qword [rsp + 0x288]
lea rax, [rsp + 0x2a0]
movups xmm0, xmmword [rax - 0x10]
movaps xmmword [rsp + 0x60], xmm0
movabs rax, 0x8000000000000000
cmp rsi, rax
je 0x14003a0a6
movq rax, xmm6
add rax, rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rax
mov word [rsp + 0xc0], 0
lea r14, [rsp + 0x180]
mov rcx, r14
mov rdx, rdi
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h084d9f946d
mov qword [rsp + 0x280], rsi
mov qword [rsp + 0x288], rbx
movdqu xmmword [rsp + 0x290], xmm6
mov rax, qword [rsp + 0x190]
lea rcx, [rsp + 0x2a0]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rcx], xmm0
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], r13
movaps xmm0, xmmword [rsp + 0x60]
lea rax, [rsp + 0xc0]
movups xmmword [rax], xmm0
mov rcx, r14
lea rdx, [rsp + 0x120]
mov r8, r15
mov r9, rdi
call sym.alloc::collections::btree::map::BTreeMap_K_V_A_::insert::hd2279069e2dfea00
mov rax, qword [rsp + 0x180]
shl rax, 1
test rax, rax
je 0x140039ee0
mov rcx, qword [rsp + 0x188]
mov edx, 1
call sym.__rust_dealloc
jmp 0x140039ee0
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov rdx, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x88]
movabs r14, 0x8000000000000000
mov rax, qword [rdx + 0x88]
mov r15, qword [rdx + 0x90]
xor ecx, ecx
test rax, rax
setne cl
mov qword [rsp + 0x98], rcx
cmove rbx, rax
xor r12d, r12d
jmp 0x14003a102
xor eax, eax
test rbx, rbx
je 0x14003a972
cmp qword [rsp + 0x98], 0
je 0x14003cd20
test r12, r12
jne 0x14003a1c4
mov ecx, 1
mov qword [rsp + 0x98], rcx
test r15, r15
je 0x14003a165
mov rdx, r15
and rdx, 7
je 0x14003a16a
mov rcx, r15
and rcx, 0xfffffffffffffff8
mov r12, rax
nop dword [rax + rax]
mov r12, qword [r12 + 0x3d8]
dec rdx
jne 0x14003a150
cmp r15, 8
jae 0x14003a180
jmp 0x14003a1bf
mov r12, rax
jmp 0x14003a1bf
mov r12, rax
mov rcx, r15
cmp r15, 8
jb 0x14003a1bf
nop word cs:[rax + rax]
mov rax, qword [r12 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r12, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14003a180
xor r15d, r15d
xor eax, eax
movzx ecx, word [r12 + 0x3d2]
cmp r15, rcx
jae 0x14003a1e0
mov rdi, r15
mov r15, r12
jmp 0x14003a20a
mov r15, qword [r12 + 0x160]
test r15, r15
je 0x14003c9ea
inc rax
movzx edi, word [r12 + 0x3d0]
mov r12, r15
cmp di, word [r15 + 0x3d2]
jae 0x14003a1e0
test rax, rax
je 0x14003a2a0
mov r12, qword [r15 + rdi*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14003a28f
mov rdx, rcx
and rdx, 7
je 0x14003a246
mov rcx, rdx
nop
mov r12, qword [r12 + 0x3d8]
dec rcx
jne 0x14003a230
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x14003a28f
mov rax, qword [r12 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r12, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14003a250
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x14003a2ac
lea rax, [rdi + 1]
mov qword [rsp + 0x58], rax
mov r12, r15
dec rbx
imul rax, rdi, 0x38
lea rsi, [r15 + rax]
add rsi, 0x168
shl rdi, 5
cmp qword [r15 + rdi], r14
jne 0x14003a320
mov rbp, qword [rsp + 0x120]
mov eax, 0
test rbp, rbp
mov r15, qword [rsp + 0x58]
je 0x14003a102
mov r9, qword [rsi + 0x28]
mov rax, qword [rsi + 0x30]
mov r13, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x60]
mov rdx, rbp
mov r8, r13
call sym._ZN5alloc11collections5btree6search142__LT_impl_u20_alloc..collections..btree..node..NodeRef_LT_BorrowType_C_K_C_V_C_alloc..co
cmp qword [rsp + 0x60], 0
je 0x14003a4fd
xor eax, eax
jmp 0x14003a102
mov qword [rsp + 0x88], rbx
mov rbx, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
test r13, r13
je 0x14003a35a
js 0x14003cdd7
movzx eax, byte [0x14079e030]
xor ecx, ecx
mov rdx, r13
call sym.std::sys::pal::windows::alloc::process_heap_alloc::hcb06944149433091
test rax, rax
je 0x14003cdc5
mov r14, rax
jmp 0x14003a360
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, r13
call sym.memcpy
movzx ebp, byte [rsi + 0x18]
mov rdx, qword [rsi + 0x28]
mov rbx, qword [rsi + 0x30]
test rbx, rbx
mov qword [rsp + 0x80], r14
je 0x14003a3cd
mov qword [rsp + 0x90], r13
mov rax, rbx
shr rax, 0x3e
jne 0x14003cdf3
mov r13, rdx
lea r14, [rbx + rbx]
movzx eax, byte [0x14079e030]
xor ecx, ecx
mov rdx, r14
call sym.std::sys::pal::windows::alloc::process_heap_alloc::hcb06944149433091
test rax, rax
je 0x14003cde1
mov rsi, rax
mov rdx, r13
mov r13, qword [rsp + 0x90]
jmp 0x14003a3d5
mov esi, 2
xor r14d, r14d
add r15, rdi
mov rcx, rsi
mov r8, r14
call sym.memcpy
mov qword [rsp + 0x280], r13
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x290], r13
mov byte [rsp + 0x298], bpl
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], rsi
mov qword [rsp + 0x2b0], rbx
mov r13, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x14003a45f
js 0x14003cdbb
movzx eax, byte [0x14079e030]
xor ecx, ecx
mov rdx, rbx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::hcb06944149433091
test rax, rax
movabs r14, 0x8000000000000000
je 0x14003cdfd
mov rsi, rax
jmp 0x14003a46e
mov esi, 1
movabs r14, 0x8000000000000000
mov rcx, rsi
mov rdx, r13
mov r8, rbx
call sym.memcpy
movzx eax, byte [r15 + 0x18]
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rbx
mov byte [rsp + 0xc8], al
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0x120]
lea r8, [rsp + 0x280]
lea r9, [rsp + 0xb0]
call sym.alloc::collections::btree::map::BTreeMap_K_V_A_::insert::hd2279069e2dfea00
mov rax, qword [rsp + 0x180]
shl rax, 1
test rax, rax
mov rbx, qword [rsp + 0x88]
mov r15, qword [rsp + 0x58]
je 0x14003a100
mov rcx, qword [rsp + 0x188]
mov edx, 1
call sym.__rust_dealloc
jmp 0x14003a100
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov byte [rsp + 0x1e0], 0
test rdx, rdx
je 0x14003a6b2
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x14003a5ee
mov r8, rcx
and r8, 7
je 0x14003a55e
mov rcx, r8
nop dword [rax]
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x14003a540
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x14003a5ee
nop dword [rax]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14003a570
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], rcx
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x160]
lea r8, [rsp + 0x1e0]
call sym._ZN5alloc11collections5btree6remove259__LT_impl_u20_alloc..collections..btree..node..Handle_LT_alloc..collections..btree..node
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rsp + 0x280]
movups xmm1, xmmword [rsp + 0x290]
movups xmm2, xmmword [rsp + 0x2a0]
movups xmm3, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x1b0], xmm3
movaps xmmword [rsp + 0x1a0], xmm2
movaps xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x180], xmm0
mov rdx, qword [rsp + 0x2d8]
mov rax, qword [rsp + 0x2e8]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x14003a6f0
mov rcx, rdx
jmp 0x14003a729
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], rcx
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0xb0]
lea r8, [rsp + 0x1e0]
call sym._ZN5alloc11collections5btree6remove259__LT_impl_u20_alloc..collections..btree..node..Handle_LT_alloc..collections..btree..node
jmp 0x14003a841
mov r8, qword [rsp + 0x2e0]
nop dword [rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x14003a724
inc r8
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x14003a700
jmp 0x14003a729
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rsp + 0xe0], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov r8, qword [rsp + 0x1b0]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movups xmmword [rcx + rdx + 0x188], xmm2
movups xmmword [rcx + rdx + 0x178], xmm1
movups xmmword [rcx + rdx + 0x168], xmm0
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
lea rdx, [rsp + 0xe8]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rsp + 0x1b8]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movaps xmm3, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x280], xmm0
movaps xmmword [rsp + 0x290], xmm1
movaps xmmword [rsp + 0x2a0], xmm2
movaps xmmword [rsp + 0x2b0], xmm3
movaps xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x2c0], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x100], rax
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x280]
movaps xmm1, xmmword [rsp + 0x290]
movaps xmm2, xmmword [rsp + 0x2a0]
movaps xmm3, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0xe0], xmm3
movaps xmmword [rsp + 0xd0], xmm2
dec qword [rsp + 0x130]
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
cmp byte [rsp + 0x1e0], 0
je 0x14003a8ee
test r13, r13
je 0x14003ce58
mov rax, qword [rbp + 0x3d8]
mov qword [rsp + 0x120], rax
dec r13
mov qword [rsp + 0x128], r13
mov qword [rax + 0x160], 0
mov edx, 8
mov rcx, rbp
call sym.__rust_dealloc
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xf0]
mov eax, 0
cmp rdx, r14
je 0x14003a102
test rdx, rdx
je 0x14003a93b
mov edx, 1
call sym.__rust_dealloc
test rdi, rdi
je 0x14003a94d
mov edx, 2
mov rcx, rbp
call sym.__rust_dealloc
shl rsi, 1
mov eax, 0
test rsi, rsi
je 0x14003a102
mov edx, 1
mov rcx, r13
call sym.__rust_dealloc
xor eax, eax
jmp 0x14003a102
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x240], rax
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x228], 1
movzx eax, byte [0x14079e030]
mov r12d, 4
mov edx, 4
xor ecx, ecx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::hcb06944149433091
test rax, rax
je 0x14003ce75
mov rsi, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], rax
mov word [rsp + 0xc0], 0
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0xb0]
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h084d9f946d
mov qword [rsp + 0x280], 4
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x290], 4
mov byte [rsp + 0x298], 0
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [rsp + 0x2a0], xmm0
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x2b0], rax
mov r14, qword [rsp + 0x230]
mov r15, qword [rsp + 0x2a8]
test r14, r14
je 0x14003ab05
mov qword [rsp + 0x58], rsi
mov ebp, dword [rsp + 0x2b0]
mov r12, qword [rsp + 0x238]
lea rcx, [r14 + 0x168]
movzx ebx, word [r14 + 0x3d2]
imul rdi, rbx, 0x38
mov r13, 0xffffffffffffffff
nop dword [rax + rax]
test rdi, rdi
je 0x14003aad0
lea rsi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, r15
mov edx, ebp
call sub.KERNEL32.dll_CompareStringOrdinal
add rdi, 0xffffffffffffffc8
inc r13
mov rcx, rsi
cmp eax, 3
je 0x14003aa90
cmp eax, 1
jne 0x14003aae7
jmp 0x14003aad3
mov r13, rbx
sub r12, 1
jb 0x14003af22
mov r14, qword [r14 + r13*8 + 0x3d8]
jmp 0x14003aa71
cmp eax, 2
jne 0x14003cd31
shl r13, 5
mov rbp, qword [r14 + r13 + 8]
mov rdi, qword [r14 + r13 + 0x10]
mov rsi, qword [rsp + 0x58]
jmp 0x14003ab07
xor ebp, ebp
mov edx, 1
mov rcx, rsi
call sym.__rust_dealloc
cmp qword [rsp + 0x2a0], 0
mov rdx, qword [rsp + 0x140]
je 0x14003ab3a
mov rsi, rdx
mov edx, 2
mov rcx, r15
call sym.__rust_dealloc
mov rdx, rsi
mov r12, qword [rdx + 0x10]
lea r14, str.program_path_has_no_file_name
test r12, r12
je 0x14003ba7a
mov rbx, qword [rdx + 8]
cmp r12, 4
jae 0x14003ab61
lea rax, [sym.std::sys::path::windows::is_sep_byte::hdabad319882aff44]
jmp 0x14003ab89
mov eax, dword [rbx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [sym.std::sys::path::windows::is_verbatim_sep::h716d3db10b79ce9c]
lea rax, [sym.std::sys::path::windows::is_sep_byte::hdabad319882aff44]
cmove rax, rcx
movzx esi, byte [r12 + rbx - 1]
mov ecx, esi
call rax
test al, al
jne 0x14003ba7a
movabs r15, 0x8000000000000000
lea r13, [rbx + r12]
cmp r12, 3
mov qword [rsp + 0x98], rbx
jbe 0x14003ac14
movzx eax, byte [r13 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14003ac3c
movzx eax, byte [r13 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14003ac3c
movzx eax, byte [r13 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14003ac3c
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14003ac3e
xor eax, eax
nop word cs:[rax + rax]
cmp r12, rax
je 0x14003ad90
movzx ecx, byte [rbx + rax]
cmp ecx, 0x2f
je 0x14003aca7
inc rax
cmp ecx, 0x5c
jne 0x14003ac20
jmp 0x14003aca7
xor eax, eax
xor ecx, ecx
cmp r12, rcx
je 0x14003ad90
movzx edx, byte [rbx + rcx]
cmp edx, 0x2f
je 0x14003ac5a
inc rcx
cmp edx, 0x5c
jne 0x14003ac40
test al, al
je 0x14003aca7
mov qword [rsp + 0x88], r13
lea rcx, [rsp + 0x280]
mov rdx, rbx
mov r8, r12
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rcx, qword [rsp + 0x280]
mov rax, qword [rsp + 0x288]
cmp rcx, r15
jne 0x14003aee8
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x210], r15
jmp 0x14003ba61
test r12, r12
js 0x14003cf6b
movzx eax, byte [0x14079e030]
xor ecx, ecx
mov rdx, r12
call sym.std::sys::pal::windows::alloc::process_heap_alloc::hcb06944149433091
test rax, rax
je 0x14003ce75
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, r12
call sym.memcpy
mov qword [rsp + 0x280], r12
mov qword [rsp + 0x288], rsi
mov qword [rsp + 0x290], r12
mov byte [rsp + 0x298], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x280]
mov r8d, 4
call sym.std::sys::os_str::wtf8::Buf::push_slice::h7e7d47219fc54dab
mov rbx, qword [rsp + 0x280]
mov rsi, qword [rsp + 0x288]
mov rdi, qword [rsp + 0x290]
lea rcx, [rsp + 0x688]
mov rdx, rsi
mov r8, rdi
call sym.std::sys::pal::windows::process::program_exists::h9cda8c19e4947b87
cmp qword [rsp + 0x688], r15
mov qword [rsp + 0x88], r13
jne 0x14003ae5e
mov rcx, rsi
mov rdx, rdi
call sym.std::path::Path::file_name::h9588e371d7cf6b13
test rax, rax
je 0x14003b9e0
cmp rdx, 2
jne 0x14003ae83
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x14003ae83
mov ecx, 2
xor r8d, r8d
jmp 0x14003b9c0
xor r8d, r8d
lea r14, str.nul_byte_found_in_provided_data
mov rax, rbx
jmp 0x14003adac
xor r8d, r8d
test cx, cx
je 0x14003ba7a
mov cx, 1
test r8w, r8w
jne 0x14003ada0
cmp rax, r13
je 0x14003aebe
movzx edx, byte [rax]
test dl, dl
js 0x14003adcb
inc rax
jmp 0x14003ae2a
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14003ae1c
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14003ae34
movzx edx, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0xffff
jbe 0x14003ae2a
jmp 0x14003ae4a
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x14003ada3
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x14003ae2a
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14003ada3
mov rax, qword [rsp + 0x698]
mov qword [rsp + 0x220], rax
movups xmm0, xmmword [rsp + 0x688]
movaps xmmword [rsp + 0x210], xmm0
jmp 0x14003ba4f
mov rcx, rdx
nop word cs:[rax + rax]
test rcx, rcx
je 0x14003af29
mov r9, rcx
dec rcx
cmp byte [rax + r9 - 1], 0x2e
jne 0x14003ae90
test rcx, rcx
je 0x14003b9ba
sub rdx, r9
mov r8, rax
add r8, r9
jmp 0x14003b9c0
cmp r12, 0xf
ja 0x14003af33
lea rax, [r12 - 1]
xor ecx, ecx
nop dword [rax + rax]
cmp byte [rbx + rcx], 0x2e
sete r8b
je 0x14003af48
lea rdx, [rcx + 1]
cmp rax, rcx
mov rcx, rdx
jne 0x14003aed0
jmp 0x14003af48
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x290], rdx
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0x280]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h0b242e3f6b641f98
jmp 0x14003ba61
xor ebp, ebp
jmp 0x14003aafe
mov r8, rax
xor eax, eax
jmp 0x14003b9c0
mov cl, 0x2e
mov rdx, rbx
mov r8, r12
call sym.core::slice::memchr::memchr_aligned::h7294fcda4d260def
cmp rax, 1
sete r8b
mov byte [rsp + 0x80], r8b
mov qword [rsp + 0x88], r13
test rbp, rbp
je 0x14003afa8
add rdi, rbp
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], rdi
mov word [rsp + 0xc0], 0
mov byte [rsp + 0xc8], 1
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0xb0]
call sym.__std::sys::pal::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::h82d45d257404773e
mov rax, qword [rsp + 0x280]
cmp rax, r15
jne 0x14003b5fd
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x70], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor esi, esi
mov ebx, 0xffffffff
xor r15d, r15d
xor edi, edi
cmp r8, 0x201
jb 0x14003afff
jmp 0x14003b020
jae 0x14003b0cf
cmp r8, 0x201
jae 0x14003b020
mov r14d, 0x200
lea r13, [rsp + 0x280]
mov rbp, r8
jmp 0x14003b066
sub r8, rdi
sub r15, rdi
cmp r15, r8
jae 0x14003b047
lea rcx, [rsp + 0x60]
mov rdx, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h652bddeb65308e11
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
cmp rsi, rbx
mov edi, 0xffffffff
cmovb rdi, rsi
mov qword [rsp + 0x70], rdi
mov r15, rsi
mov r14, rdi
mov r13, qword [rsp + 0x58]
mov rbp, rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
xor ecx, ecx
mov rdx, r13
mov r8d, ebp
call sub.KERNEL32.dll_GetModuleFileNameW
test eax, eax
jne 0x14003b096
mov ebx, eax
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
mov eax, ebx
mov ebx, 0xffffffff
test ecx, ecx
jne 0x14003b215
mov r8d, eax
cmp rbp, r8
jne 0x14003aff0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003ce87
add rbp, rbp
cmp rbp, rbx
cmovae rbp, rbx
mov r8, rbp
cmp r8, 0x201
jae 0x14003b020
jmp 0x14003afff
cmp r14, r8
jb 0x14003cf72
lea rcx, [rsp + 0xb0]
mov rdx, r13
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::hbf8b2f0179ef5cb6
movabs r15, 0x8000000000000000
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x180], xmm0
cmp qword [rsp + 0x60], 0
je 0x14003b129
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
mov rsi, qword [rsp + 0x180]
cmp rsi, r15
je 0x14003b253
mov rbx, qword [rsp + 0x188]
mov rdi, qword [rsp + 0x190]
mov r14, qword [rsp + 0x198]
mov rcx, rbx
mov rdx, rdi
call sym.std::path::Path::parent::h8296488059f51fa6
cmp rdi, rdx
cmovb rdx, rdi
test rax, rax
cmove rdx, rdi
mov qword [rsp + 0x280], rsi
mov qword [rsp + 0x288], rbx
mov qword [rsp + 0x290], rdx
mov qword [rsp + 0x298], r14
lea rcx, [rsp + 0x280]
mov rdx, qword [rsp + 0x98]
mov r8, r12
call sym.std::path::PathBuf::_push::hce3778d5e9aebe18
mov al, byte [rsp + 0x80]
test al, al
jne 0x14003b1bb
lea rcx, [rsp + 0x280]
call sym.std::path::PathBuf::_set_extension::heb381eae547c91b7
mov rdi, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
lea rcx, [rsp + 0x6b8]
mov rdx, rdi
call sym.std::sys::pal::windows::process::program_exists::h9cda8c19e4947b87
cmp qword [rsp + 0x280], 0
je 0x14003b1f3
mov edx, 1
mov rcx, rdi
call sym.__rust_dealloc
mov r13, qword [rsp + 0x6b8]
cmp r13, r15
je 0x14003b260
mov r14, qword [rsp + 0x6c0]
mov rdi, qword [rsp + 0x6c8]
jmp 0x14003bb5b
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x188], rax
movabs r15, 0x8000000000000000
mov qword [rsp + 0x180], r15
cmp qword [rsp + 0x60], 0
je 0x14003b253
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
lea rcx, [rsp + 0x188]
call sym.core::ptr::drop_in_place_std::io::error::Error_::ha5de4730a10cc339
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x70], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor ebx, ebx
mov r12d, 0xffffffff
xor esi, esi
xor edi, edi
cmp r8, 0x201
jb 0x14003b2bf
jmp 0x14003b2e0
jae 0x14003b39e
cmp r8, 0x201
jae 0x14003b2e0
mov r14d, 0x200
lea r13, [rsp + 0x280]
mov rbp, r8
jmp 0x14003b326
sub r8, rdi
sub rsi, rdi
cmp rsi, r8
jae 0x14003b307
lea rcx, [rsp + 0x60]
mov rdx, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h652bddeb65308e11
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
cmp rbx, r12
mov edi, 0xffffffff
cmovb rdi, rbx
mov qword [rsp + 0x70], rdi
mov rsi, rbx
mov r14, rdi
mov r13, qword [rsp + 0x58]
mov rbp, rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r13
mov edx, ebp
call sub.KERNEL32.dll_GetSystemDirectoryW
test eax, eax
jne 0x14003b35a
mov r15d, eax
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
mov eax, r15d
movabs r15, 0x8000000000000000
test ecx, ecx
jne 0x14003b47e
mov r8d, eax
cmp rbp, r8
jne 0x14003b2b0
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003cea4
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
mov r12d, 0xffffffff
cmovae rbp, rax
mov r8, rbp
cmp r8, 0x201
jae 0x14003b2e0
jmp 0x14003b2bf
cmp r14, r8
jb 0x14003cf89
lea rcx, [rsp + 0xb0]
mov rdx, r13
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::hbf8b2f0179ef5cb6
mov rdx, qword [rsp + 0x98]
mov r12, qword [rsp + 0x90]
lea rcx, [rsp + 0xb0]
mov r8, r12
call sym.std::path::PathBuf::_push::hce3778d5e9aebe18
mov al, byte [rsp + 0x80]
test al, al
jne 0x14003b3ef
lea rcx, [rsp + 0xb0]
call sym.std::path::PathBuf::_set_extension::heb381eae547c91b7
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
lea rcx, [rsp + 0x180]
mov rdx, rdi
call sym.std::sys::pal::windows::process::program_exists::h9cda8c19e4947b87
cmp qword [rsp + 0xb0], 0
je 0x14003b427
mov edx, 1
mov rcx, rdi
call sym.__rust_dealloc
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x1e0], xmm0
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x1f0], rax
cmp qword [rsp + 0x60], 0
je 0x14003b45e
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
mov r13, qword [rsp + 0x1e0]
lea rax, [r15 + 2]
cmp r13, rax
jge 0x14003c3f8
lea rax, [r15 + 1]
cmp r13, rax
je 0x14003b4be
jmp 0x14003b4cb
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1e8], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x1e0], rax
cmp qword [rsp + 0x60], 0
je 0x14003b4b6
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
mov r12, qword [rsp + 0x90]
lea rcx, [rsp + 0x1e8]
call sym.core::ptr::drop_in_place_std::io::error::Error_::ha5de4730a10cc339
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x70], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x58], rax
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp r8, 0x201
jb 0x14003b51f
jmp 0x14003b540
jae 0x14003b708
cmp r8, 0x201
jae 0x14003b540
mov r14d, 0x200
lea r13, [rsp + 0x280]
mov rbp, r8
jmp 0x14003b58b
sub r8, rdi
sub rsi, rdi
cmp rsi, r8
jae 0x14003b567
lea rcx, [rsp + 0x60]
mov rdx, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h652bddeb65308e11
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov eax, 0xffffffff
cmp rbx, rax
mov edi, 0xffffffff
cmovb rdi, rbx
mov qword [rsp + 0x70], rdi
mov rsi, rbx
mov r14, rdi
mov r13, qword [rsp + 0x58]
mov rbp, rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r13
mov edx, ebp
call sub.KERNEL32.dll_GetWindowsDirectoryW
test eax, eax
jne 0x14003b5bf
mov r15d, eax
call sub.KERNEL32.dll_GetLastError
mov ecx, eax
mov eax, r15d
movabs r15, 0x8000000000000000
test ecx, ecx
jne 0x14003b7e3
mov r8d, eax
cmp rbp, r8
jne 0x14003b510
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003cec1
add rbp, rbp
mov eax, 0xffffffff
cmp rbp, rax
cmovae rbp, rax
mov r8, rbp
cmp r8, 0x201
jae 0x14003b540
jmp 0x14003b51f
lea rbp, [rsp + 0x280]
lea rdi, [rsp + 0xb0]
lea r14, [rsp + 0x6a0]
jmp 0x14003b633
mov rcx, rbp
mov rdx, rdi
call sym.__std::sys::pal::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::h82d45d257404773e
mov rax, qword [rsp + 0x280]
cmp rax, r15
je 0x14003afa8
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rsp + 0x290]
test rdx, rdx
je 0x14003b6f0
mov r8, qword [rsp + 0x298]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x290], rdx
mov qword [rsp + 0x298], r8
mov rcx, rbp
mov rdx, rbx
mov r8, r12
call sym.std::path::PathBuf::_push::hce3778d5e9aebe18
cmp byte [rsp + 0x80], 0
jne 0x14003b694
mov rcx, rbp
call sym.std::path::PathBuf::_set_extension::heb381eae547c91b7
mov rbx, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
mov rcx, r14
mov rdx, rbx
call sym.std::sys::pal::windows::process::program_exists::h9cda8c19e4947b87
cmp qword [rsp + 0x280], 0
je 0x14003b6c7
mov edx, 1
mov rcx, rbx
call sym.__rust_dealloc
mov r13, qword [rsp + 0x6a0]
cmp r13, r15
jne 0x14003c594
mov rcx, rbp
mov rdx, rdi
call sym.__std::sys::pal::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::h82d45d257404773e
mov rbx, qword [rsp + 0x98]
jmp 0x14003b622
test rax, rax
je 0x14003b617
mov edx, 1
call sym.__rust_dealloc
jmp 0x14003b617
cmp r14, r8
jb 0x14003cfa0
lea rcx, [rsp + 0xb0]
mov rdx, r13
call sym.__std::ffi::os_str::OsString_as_std::os::windows::ffi::OsStringExt_::from_wide::hbf8b2f0179ef5cb6
mov rsi, qword [rsp + 0x98]
lea rcx, [rsp + 0xb0]
mov rdx, rsi
mov r8, r12
call sym.std::path::PathBuf::_push::hce3778d5e9aebe18
mov al, byte [rsp + 0x80]
test al, al
jne 0x14003b754
lea rcx, [rsp + 0xb0]
call sym.std::path::PathBuf::_set_extension::heb381eae547c91b7
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
lea rcx, [rsp + 0x180]
mov rdx, rdi
call sym.std::sys::pal::windows::process::program_exists::h9cda8c19e4947b87
cmp qword [rsp + 0xb0], 0
je 0x14003b78c
mov edx, 1
mov rcx, rdi
call sym.__rust_dealloc
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x130], rax
cmp qword [rsp + 0x60], 0
je 0x14003b7c3
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
mov r13, qword [rsp + 0x120]
lea rax, [r15 + 2]
cmp r13, rax
jge 0x14003c504
lea rax, [r15 + 1]
cmp r13, rax
je 0x14003b823
jmp 0x14003b830
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x128], rax
lea rax, [r15 + 1]
mov qword [rsp + 0x120], rax
cmp qword [rsp + 0x60], 0
je 0x14003b81b
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
mov rsi, qword [rsp + 0x98]
lea rcx, [rsp + 0x128]
call sym.core::ptr::drop_in_place_std::io::error::Error_::ha5de4730a10cc339
lea rdx, str.PATHRUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
lea rcx, [rsp + 0x180]
mov r8d, 4
call sym.std::env::_var_os::hed9288ef173b696c
mov rbp, qword [rsp + 0x180]
cmp rbp, r15
je 0x14003c4f8
mov rcx, qword [rsp + 0x188]
mov rax, qword [rsp + 0x190]
add rax, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov word [rsp + 0xc0], 0
mov byte [rsp + 0xc8], 1
lea rdi, [rsp + 0x280]
lea r14, [rsp + 0xb0]
mov rcx, rdi
mov rdx, r14
call sym.__std::sys::pal::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::h82d45d257404773e
jmp 0x14003b8bd
mov rcx, rdi
mov rdx, r14
call sym.__std::sys::pal::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::h82d45d257404773e
mov rax, qword [rsp + 0x280]
cmp rax, r15
je 0x14003c4e4
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rsp + 0x290]
test rdx, rdx
jne 0x14003b8f4
test rax, rax
je 0x14003b8b2
mov edx, 1
call sym.__rust_dealloc
jmp 0x14003b8b2
mov r8, qword [rsp + 0x298]
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x290], rdx
mov qword [rsp + 0x298], r8
mov rcx, rdi
mov rdx, rsi
mov r8, r12
call sym.std::path::PathBuf::_push::hce3778d5e9aebe18
cmp byte [rsp + 0x80], 0
jne 0x14003b93c
mov rcx, rdi
call sym.std::path::PathBuf::_set_extension::heb381eae547c91b7
mov rbx, qword [rsp + 0x288]
mov r8, qword [rsp + 0x290]
lea rcx, [rsp + 0x160]
mov rdx, rbx
call sym.std::sys::pal::windows::process::program_exists::h9cda8c19e4947b87
cmp qword [rsp + 0x280], 0
je 0x14003b974
mov edx, 1
mov rcx, rbx
call sym.__rust_dealloc
mov r13, qword [rsp + 0x160]
cmp r13, r15
mov rsi, qword [rsp + 0x98]
je 0x14003b8a5
mov r14, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x170]
test rbp, rbp
je 0x14003bb5b
mov edx, 1
mov rcx, qword [rsp + 0x58]
call sym.__rust_dealloc
jmp 0x14003bb5b
xor r8d, r8d
mov rcx, rdx
test rax, rax
cmovne r8, rax
test r8, r8
je 0x14003b9e0
test rax, rax
cmove rcx, rdx
add r8, rcx
sub r8, rsi
cmp rdi, r8
cmovae rdi, r8
lea rcx, [rsp + 0x280]
mov rdx, rsi
mov r8, rdi
call sym.std::sys::pal::windows::to_u16s::inner::h4c9a51427fa9952c
mov rcx, qword [rsp + 0x280]
mov rax, qword [rsp + 0x288]
cmp rcx, r15
jne 0x14003ba1a
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x210], r15
jmp 0x14003ba4f
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x280], rcx
add al, byte [rax]
add byte [rax - 0x77], cl
test byte [rax + rcx*4], ah
add al, byte [rax]
add byte [rax - 0x77], cl
xchg esp, eax
and al, 0x90
add al, byte [rax]
add byte [rax - 0x73], cl
mov word [rax + rdx], fs
add al, byte [rax]
add byte [rax - 0x73], cl
lea edx, [rsp + 0x280]
call sym.std::sys::pal::windows::args::from_wide_to_user_path::h0b242e3f6b641f98
test rbx, rbx
je 0x14003ba61
mov edx, 1
mov rcx, rsi
call sym.__rust_dealloc
mov r13, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
cmp r13, r15
jne case.0x1400395dd.13
mov rax, qword [rsp + 0xa8]
mov qword [rax], r14
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x228], 0
je 0x14003bb21
mov rcx, qword [rsp + 0x230]
test rcx, rcx
je 0x14003baf8
mov rdx, qword [rsp + 0x238]
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x288], 0
add byte [rax], al
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x298], rdx
mov qword [rsp + 0x2a8], 0
add byte [rax], al
mov qword [rsp + 0x2b0], rcx
mov qword [rsp + 0x2b8], rdx
mov ecx, 1
add byte [rax], al
invalid
jmp 0x14003bafc
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x2a0], rcx
mov qword [rsp + 0x2c0], rax
lea rcx, [rsp + 0x280]
call sym._ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ffi
mov rax, qword [rsp + 0x158]
cmp dword [rax], 4
jb 0x14003bb37
mov rcx, qword [rax + 8]
call fcn.1400489dc
movaps xmm6, xmmword [rsp + 0x6d0]
add rsp, 0x6e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [rsp + 0x220]
cmp rdi, 5
jb case.0x14003c371.68
lea rax, [r14 + rdi*2]
mov rcx, rax
add rcx, 0xfffffffffffffff6
je case.0x14003c371.68
cmp word [rcx], 0x2e
jne case.0x14003c371.68
cmp word [rax - 2], 0
je 0x14003c353
mov rax, qword [rsp + 0x140]
mov rsi, qword [rax + 0x28]
mov rbx, qword [rax + 0x30]
mov r12, rax
movzx edi, byte [rax + 0xc5]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 2
mov qword [rsp + 0xc0], 0
lea rcx, [rsp + 0xb0]
xor edx, edx
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xc0], rcx
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x288], rax
mov word [rsp + 0x290], 0
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x280]
call sym._ZN97__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_alloc..vec..spec_extend..SpecExtend_LT_T_C_I_GT__GT_11spec_extend17hb67ee8b2
mov rdx, qword [rsp + 0xc0]
cmp rdx, qword [rsp + 0xb0]
jne 0x14003bc53
lea rcx, [rsp + 0xb0]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xc0], rdx
shl rbx, 3
lea rbx, [rbx + rbx*4]
lea r15, [rsp + 0xb0]
nop dword [rax]
test rbx, rbx
je 0x14003bd00
mov rdx, qword [rsp + 0xc0]
cmp rdx, qword [rsp + 0xb0]
jne 0x14003bca7
mov rcx, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rdx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb8]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xc0], rdx
mov rcx, r15
mov rdx, rsi
mov r8d, edi
call sym.std::sys::pal::windows::args::append_arg::hfdec6a2187723166
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x14003bc80
cmp qword [rsp + 0xb0], 0
je 0x14003bd1f
mov rcx, qword [rsp + 0xb8]
mov edx, 2
mov rsi, rax
call sym.__rust_dealloc
mov rax, rsi
jmp 0x14003bd1f
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
movabs r15, 0x8000000000000000
cmp rdx, r15
jne 0x14003bd54
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
xor esi, esi
test r13, r13
je 0x14003bd46
mov edx, 2
mov rcx, r14
call sym.__rust_dealloc
test sil, sil
je 0x14003ba8d
jmp 0x14003bb21
mov rcx, qword [rsp + 0xc0]
mov r8b, 1
mov dword [rsp + 0x154], r8d
mov dword [rsp + 0x98], 0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rcx
cmp rcx, rdx
jne 0x14003bdb9
lea rcx, [rsp + 0x120]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
mov word [rax + rcx*2], 0
inc rcx
mov qword [rsp + 0x130], rcx
cmp byte [r12 + 0xc4], 0
mov eax, 0x400
mov edi, 0x608
cmove edi, eax
or edi, dword [r12 + 0xc0]
cmp qword [rsp + 0x228], 0
je 0x14003be4a
mov dword [rsp + 0x208], edi
mov rdi, qword [rsp + 0x240]
mov qword [rsp + 0x170], rdi
movups xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x160], xmm0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x70], 0
test rdi, rdi
je 0x14003bedd
mov ebx, 2
xor ebp, ebp
jmp 0x14003bf04
mov eax, 2
mov qword [rsp + 0x90], rax
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x140]
cmp qword [rcx + 0x38], r15
jne 0x14003c40d
mov eax, 2
xor ebp, ebp
xor ecx, ecx
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0xa0], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x14079e0f8], cl
jne 0x14003c882
mov rax, qword [0x14079e0d8]
dec r15
test rax, r15
mov qword [rsp + 0x208], rbx
je 0x14003c5a9
call sym.std::panicking::panic_count::is_zero_slow_path::h85cb7624fc015fed
mov esi, edi
mov r12, r15
xor al, 1
jmp 0x14003c5b0
mov sil, 1
lea rcx, [rsp + 0x60]
xor edx, edx
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov word [rbx + rbp*2], 0
inc rbp
mov qword [rsp + 0x70], rbp
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x168]
xor edx, edx
test rax, rax
setne dl
cmove rdi, rax
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x288], 0
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], rcx
mov qword [rsp + 0x2a0], rdx
mov qword [rsp + 0x2a8], 0
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], rcx
mov qword [rsp + 0x2c0], rdi
lea rsi, [rsp + 0xb0]
lea rdi, [rsp + 0x280]
mov rcx, rsi
mov rdx, rdi
call sym.alloc::collections::btree::map::IntoIter_K_V_A_::dying_next::h49fca6594cbb20df
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x14003c798
mov r9, qword [rsp + 0xc0]
imul r8, r9, 0x38
mov rax, qword [rdx + r8 + 0x168]
cmp rax, r15
je 0x14003c798
shl r9, 5
mov rcx, qword [rdx + r8 + 0x170]
mov r10, qword [rdx + r8 + 0x188]
mov qword [rsp + 0x90], r10
mov r10, qword [rdx + r8 + 0x190]
mov qword [rsp + 0x148], r10
mov r15, qword [rdx + r8 + 0x198]
mov r10, qword [rdx + r9]
mov qword [rsp + 0x80], r10
mov r10, qword [rdx + r9 + 8]
mov qword [rsp + 0xa0], r10
mov rdi, qword [rdx + r9 + 0x10]
mov rdx, qword [rdx + r8 + 0x178]
add rdx, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x14003c02d
xor r11d, r11d
test r9w, r9w
je 0x14003c2fc
mov r9w, 1
test r11w, r11w
jne 0x14003c020
cmp r8, rdx
je 0x14003c0eb
movzx r10d, byte [r8]
test r10b, r10b
js 0x14003c052
inc r8
jmp 0x14003c0e0
mov r11d, r10d
and r11d, 0x1f
movzx r12d, byte [r8 + 1]
and r12d, 0x3f
cmp r10b, 0xdf
jbe 0x14003c0a0
mov rsi, rbx
movzx ebx, byte [r8 + 2]
shl r12d, 6
and ebx, 0x3f
or ebx, r12d
cmp r10b, 0xf0
jb 0x14003c0b0
movzx r10d, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl ebx, 6
and r10d, 0x3f
or r10d, ebx
or r10d, r11d
jmp 0x14003c0be
add r8, 2
shl r11d, 6
or r11d, r12d
mov r10d, r11d
jmp 0x14003c0e0
add r8, 3
shl r11d, 0xc
or ebx, r11d
mov r10d, ebx
cmp r10d, 0xffff
mov rbx, rsi
jbe 0x14003c0e0
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14003c023
xor r11d, r11d
mov r9d, r10d
jmp 0x14003c023
test rax, rax
je 0x14003c0fa
mov edx, 1
call sym.__rust_dealloc
mov rax, qword [rsp + 0x60]
sub rax, rbp
cmp rax, r15
jae 0x14003c121
lea rcx, [rsp + 0x60]
mov rdx, rbp
mov r8, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h652bddeb65308e11
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
lea r8, [r15 + r15]
lea rcx, [rbx + rbp*2]
mov rsi, qword [rsp + 0x148]
mov rdx, rsi
call sym.memcpy
add rbp, r15
mov qword [rsp + 0x70], rbp
cmp qword [rsp + 0x90], 0
je 0x14003c159
mov edx, 2
mov rcx, rsi
call sym.__rust_dealloc
cmp rbp, qword [rsp + 0x60]
movabs r15, 0x8000000000000000
jne 0x14003c181
lea rcx, [rsp + 0x60]
mov rdx, rbp
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov word [rbx + rbp*2], 0x3d
inc rbp
mov qword [rsp + 0x70], rbp
mov rax, qword [rsp + 0xa0]
add rdi, rax
xor r8d, r8d
mov rsi, qword [rsp + 0x80]
jmp 0x14003c1b3
xor r8d, r8d
test cx, cx
je 0x14003c538
mov cx, 1
test r8w, r8w
jne 0x14003c1a7
cmp rax, rdi
je 0x14003c262
movzx edx, byte [rax]
test dl, dl
js 0x14003c1d5
inc rax
jmp 0x14003c258
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14003c21e
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14003c22e
movzx edx, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
loope 0x14003c219
and edx, 0x3f
or edx, r9d
or edx, r8d
jmp 0x14003c23c
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x14003c258
add rax, 3
shl r8d, 0xc
or r9d, r8d
or ecx, eax
mov edx, r9d
cmp edx, 0xffff
jbe 0x14003c258
and edx, 0x3ff
or edx, 0xdc00
retf 0xdc00
add byte [rax], al
mov r8d, edx
jmp 0x14003c1aa
xor r8d, r8d
mov ecx, edx
jmp 0x14003c1aa
cmp rsi, r15
je 0x14003cd13
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rdi
mov word [rsp + 0x190], 0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x180]
call sym._ZN97__LT_alloc..vec..Vec_LT_T_C_A_GT__u20_as_u20_alloc..vec..spec_extend..SpecExtend_LT_T_C_I_GT__GT_11spec_extend17hb67ee8b2
test rsi, rsi
lea rsi, [rsp + 0xb0]
and al, 0xb0
add byte [rax], al
add byte [rax - 0x73], cl
mov esp, 0x28024
invalid
je 0x14003c2c6
mov edx, 1
mov rcx, qword [rsp + 0xa0]
call sym.__rust_dealloc
mov rbp, qword [rsp + 0x70]
cmp rbp, qword [rsp + 0x60]
jne 0x14003c2e4
lea rcx, [rsp + 0x60]
mov rdx, rbp
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov word [rbx + rbp*2], 0
inc rbp
mov qword [rsp + 0x70], rbp
and al, 0x70
jmp 0x14003bf80
test rax, rax
je 0x14003c30b
mov edx, 1
call sym.__rust_dealloc
cld
invalid
cmp qword [rsp + 0x80], 0
mov rsi, qword [rsp + 0x148]
je 0x14003c330
mov edx, 1
mov rcx, qword [rsp + 0xa0]
call sym.__rust_dealloc
lea rbx, str.nul_byte_found_in_provided_data
cmp qword [rsp + 0x90], 0
add byte [rax], al
add byte [rdi], cl
test byte [rax], dl
add al, byte [rax]
invalid
mov edx, 2
mov rcx, rsi
jmp 0x14003c551
movzx ecx, word [rax - 8]
lea edx, [rcx - 0x42]
cmp edx, 0x21
ja case.0x14003c371.68
lea r8, [0x14004e0f4]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
movzx edx, word [rax - 6]
or edx, 0x20
and byte [rbx + 0xc7561fa], al
movzx edx, word [rax - 4]
or edx, 0x20
cmp edx, 0x74
je 0x14003c3b5
cmp cx, 0x43
jne case.0x14003c371.68
movzx ecx, word [rax - 6]
or ecx, 0x20
cmp ecx, 0x6d
jne case.0x14003c371.68
movzx eax, word [rax - 4]
or eax, 0x20
cmp eax, 0x64
jne case.0x14003c371.68
lea rcx, [rsp + 0x280]
call sym.std::sys::pal::windows::process::command_prompt::h23686f4e224bf69e
mov rax, qword [rsp + 0x280]
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x58], rax
cmp rax, r15
jne 0x14003c70b
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
jmp 0x14003bd32
mov r14, qword [rsp + 0x1e8]
mov rdi, qword [rsp + 0x1f0]
jmp 0x14003bb5b
mov rax, qword [rcx + 0x40]
mov rcx, qword [rcx + 0x48]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x14003c42d
xor r10d, r10d
test r8w, r8w
je 0x14003c519
mov r8w, 1
test r10w, r10w
jne 0x14003c420
cmp rdx, rcx
je 0x14003c6a1
movzx r9d, byte [rdx]
test r9b, r9b
js 0x14003c452
inc rdx
jmp 0x14003c4d9
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x14003c49c
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x14003c4ac
movzx r9d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
or r9d, r10d
jmp 0x14003c4ba
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x14003c4d9
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x14003c4d9
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x14003c423
xor r10d, r10d
mov r8d, r9d
jmp 0x14003c423
test rbp, rbp
je 0x14003c4f8
mov edx, 1
mov rcx, qword [rsp + 0x58]
call sym.__rust_dealloc
lea r14, [0x140796718]
jmp 0x14003ba7a
mov r14, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x130]
jmp 0x14003bb5b
lea rbp, str.nul_byte_found_in_provided_data
mov rax, qword [rsp + 0xa8]
mov qword [rax], rbp
mov qword [rax + 0x10], 2
jmp 0x14003cca9
lea rbx, str.nul_byte_found_in_provided_data
test rsi, rsi
je 0x14003c556
mov edx, 1
mov rcx, qword [rsp + 0xa0]
call sym.__rust_dealloc
xor esi, esi
lea rcx, [rsp + 0x280]
call sym._ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ffi
cmp qword [rsp + 0x60], 0
je 0x14003c57c
mov rcx, qword [rsp + 0x68]
mov edx, 2
call sym.__rust_dealloc
mov rax, qword [rsp + 0xa8]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
jmp 0x14003ccc6
mov r14, qword [rsp + 0x6a8]
mov rdi, qword [rsp + 0x6b0]
jmp 0x14003bb5b
mov esi, edi
mov r12, r15
xor eax, eax
lea rcx, [0x14079e0f8]
movzx edx, byte [0x14079e0f9]
xor r8d, r8d
test dl, dl
setne r8b
mov qword [rsp + 0x188], rcx
mov byte [rsp + 0x190], al
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x250], 0
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x270], 0
mov rdx, qword [rsp + 0x140]
lea rcx, [rdx + 0x58]
cmp dword [rdx + 0x58], 6
mov rax, qword [rsp + 0x158]
cmove rcx, rax
cmp dword [rdx + 0x68], 6
lea rbx, [rdx + 0x68]
cmove rbx, rax
lea rdi, [rdx + 0x78]
cmp dword [rdx + 0x78], 6
cmove rdi, rax
lea r8, [rsp + 0x250]
mov edx, 0xfffffff6
call sym.std::sys::pal::windows::process::Stdio::to_handle::h7e382ec1cfd27633
mov r15, rdx
test rax, rax
je 0x14003c668
mov rax, qword [rsp + 0xa8]
mov qword [rax], r15
mov qword [rax + 0x10], 2
jmp 0x14003cbe5
lea r8, [rsp + 0x260]
mov rcx, rbx
mov edx, 0xfffffff5
call sym.std::sys::pal::windows::process::Stdio::to_handle::h7e382ec1cfd27633
mov rbx, rdx
test rax, rax
je 0x14003c7ff
mov rax, qword [rsp + 0xa8]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
jmp 0x14003cbdd
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], rcx
mov word [rsp + 0x290], 0
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x280]
call sym._ZN98__LT_alloc..vec..Vec_LT_T_GT__u20_as_u20_alloc..vec..spec_from_iter..SpecFromIter_LT_T_C_I_GT__GT_9from_iter17h084d9f946d
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc0]
cmp rdx, rax
jne 0x14003c831
lea rcx, [rsp + 0xb0]
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc0]
jmp 0x14003c834
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0x140]
mov r9, qword [rcx + 0x28]
mov rax, qword [rcx + 0x30]
mov r12, rcx
movzx ecx, byte [rcx + 0xc5]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x280]
mov rdx, r14
mov r8, rdi
call sym.std::sys::pal::windows::args::make_bat_command_line::hba940334e009e659
mov rdx, qword [rsp + 0x280]
mov rax, qword [rsp + 0x288]
cmp rdx, r15
jne 0x14003c85f
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
cmp qword [rsp + 0x58], 0
je 0x14003bd32
mov edx, 2
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
jmp 0x14003bd32
xor esi, esi
lea rcx, [rsp + 0x280]
call sym._ZN4core3ptr137drop_in_place_LT_alloc..collections..btree..map..IntoIter_LT_std..sys..pal..windows..process..EnvKey_C_std..ffi
cmp rbp, qword [rsp + 0x60]
jne 0x14003c7c7
xor esi, esi
lea rcx, [rsp + 0x60]
mov rdx, rbp
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::hc7b142eb8f30b7a2
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov word [rbx + rbp*2], 0
mov rcx, qword [rsp + 0x60]
mov rax, rcx
mov qword [rsp + 0x80], rcx
cmp rcx, r15
mov edi, dword [rsp + 0x208]
je 0x14003c57c
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x90], rax
jmp 0x14003be63
lea r8, [rsp + 0x270]
mov rcx, rdi
mov edx, 0xfffffff4
call sym.std::sys::pal::windows::process::Stdio::to_handle::h7e382ec1cfd27633
test rax, rax
je 0x14003c893
mov rax, qword [rsp + 0xa8]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
jmp 0x14003cbd5
mov rcx, rax
mov rbp, qword [rsp + 0xb8]
mov word [rbp + rdx*2], 0
mov rax, rbp
mov rdx, rcx
mov qword [rsp + 0x148], rcx
cmp rcx, r15
jne 0x14003be86
jmp 0x14003c520
mov rcx, qword [rsp + 0x290]
mov r8b, 1
mov dword [rsp + 0x98], r8d
mov dword [rsp + 0x154], 0
jmp 0x14003bd7f
lea rcx, [0x14079e0f8]
call sym.std::sys::sync::mutex::futex::Mutex::lock_contended::hc5f7326b7595f2ea
jmp 0x14003beb1
xorps xmm0, xmm0
movups xmmword [rsp + 0xe4], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xc8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0x108], xmm0
test rdx, rdx
jne 0x14003c8d5
test rbx, rbx
jne 0x14003c8d5
test r15, r15
je 0x14003c8f8
mov dword [rsp + 0xec], 0x100
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rdx
mov rax, qword [rsp + 0x140]
mov rdi, qword [rax + 0xb8]
test rdi, rdi
mov qword [rsp + 0x200], rdx
je 0x14003c9fb
add rax, 0xa8
mov dword [rsp + 0xb0], 0x70
lea rcx, [rsp + 0x160]
mov rdx, rax
call sym.std::sys::pal::windows::process::make_proc_thread_attribute_list::h4c32dce619b068cb
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x14003cbad
or esi, 0x80000
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x248], rax
movups xmm0, xmmword [rsp + 0xb0]
movups xmm1, xmmword [rsp + 0xc0]
movups xmm2, xmmword [rsp + 0xd0]
movups xmm3, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x280], xmm0
movaps xmmword [rsp + 0x290], xmm1
movaps xmmword [rsp + 0x2a0], xmm2
movaps xmmword [rsp + 0x2b0], xmm3
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x2c0], xmm0
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x2d0], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x2e8], rcx
lea rax, [rsp + 0x280]
jmp 0x14003ca0e
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6library_alloc_srccollections_btree_navigate.rs
call sym.core::option::unwrap_failed::hc0851016c6838662
jmp 0x14003cfb5
mov dword [rsp + 0xb0], 0x68
lea rax, [rsp + 0xb0]
mov rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbp
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x88]
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x14003cb71
movaps xmm0, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0xa8]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x250]
movups xmm1, xmmword [rsp + 0x260]
movups xmm2, xmmword [rsp + 0x270]
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x30], xmm2
test rdi, rdi
je 0x14003caac
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x248]
call sym.core::ptr::drop_in_place_std::sys::pal::windows::process::ProcThreadAttributeList_::h1d1e360160f97fe9
mov rcx, qword [rsp + 0x200]
call fcn.1400489dc
mov rcx, rbx
call fcn.1400489dc
mov rcx, r15
call fcn.1400489dc
lea rcx, [rsp + 0x180]
call sym._ZN4core3ptr178drop_in_place_LT_core..result..Result_LT_std..sync..mutex..MutexGuard_LT__LP__RP__GT__C_std..sync..poison..Pois
cmp qword [rsp + 0x148], 0
je 0x14003caf3
mov edx, 2
mov rcx, qword [rsp + 0xa0]
call sym.__rust_dealloc
cmp qword [rsp + 0x80], 0
je 0x14003cb10
mov edx, 2
mov rcx, qword [rsp + 0x90]
call sym.__rust_dealloc
cmp qword [rsp + 0x120], 0
je 0x14003cb2d
mov rcx, qword [rsp + 0x128]
mov edx, 2
call sym.__rust_dealloc
cmp qword [rsp + 0x58], 0
je 0x14003cb47
mov edx, 2
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
test r13, r13
setne al
mov ecx, dword [rsp + 0x154]
xor cl, 1
test al, cl
je 0x14003bb21
mov edx, 2
mov rcx, r14
call sym.__rust_dealloc
jmp 0x14003bb21
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
test rdi, rdi
je 0x14003cbc8
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x248]
call sym.core::ptr::drop_in_place_std::sys::pal::windows::process::ProcThreadAttributeList_::h1d1e360160f97fe9
jmp 0x14003cbc8
mov rax, qword [rsp + 0x168]
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
mov rcx, qword [rsp + 0x200]
call fcn.1400489dc
mov rcx, rbx
call fcn.1400489dc
mov rcx, r15
call fcn.1400489dc
cmp qword [rsp + 0x250], 0
je 0x14003cbfd
mov rcx, qword [rsp + 0x258]
call fcn.1400489dc
cmp qword [rsp + 0x260], 0
je 0x14003cc15
mov rcx, qword [rsp + 0x268]
call fcn.1400489dc
cmp qword [rsp + 0x270], 0
je 0x14003cc2d
mov rcx, qword [rsp + 0x278]
call fcn.1400489dc
cmp qword [rsp + 0x180], 0
mov rdi, qword [rsp + 0x188]
movzx eax, byte [rsp + 0x190]
je 0x14003cc5f
test al, al
jne 0x14003cc7c
mov rax, qword [0x14079e0d8]
test rax, r12
je 0x14003cc7c
call sym.std::panicking::panic_count::is_zero_slow_path::h85cb7624fc015fed
jmp 0x14003cc74
test al, al
jne 0x14003cc7c
mov rax, qword [0x14079e0d8]
test rax, r12
je 0x14003cc7c
call sym.std::panicking::panic_count::is_zero_slow_path::h85cb7624fc015fed
test al, al
jne 0x14003cc7c
mov byte [rdi + 1], 1
xor eax, eax
xchg byte [rdi], al
cmp al, 2
jne 0x14003cc8c
mov rcx, rdi
call fcn.14004878c
cmp qword [rsp + 0x148], 0
je 0x14003cca9
mov edx, 2
mov rcx, qword [rsp + 0xa0]
call sym.__rust_dealloc
cmp qword [rsp + 0x80], 0
je 0x14003ccc6
mov edx, 2
mov rcx, qword [rsp + 0x90]
call sym.__rust_dealloc
cmp qword [rsp + 0x120], 0
je 0x14003cce3
mov rcx, qword [rsp + 0x128]
mov edx, 2
call sym.__rust_dealloc
cmp qword [rsp + 0x58], 0
je 0x14003ccfd
mov edx, 2
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
mov sil, 1
cmp byte [rsp + 0x98], 0
je 0x14003bb21
jmp 0x14003bd34
mov rbx, qword [rsp + 0xa0]
jmp 0x14003c556
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6library_alloc_srccollections_btree_navigate.rs
call sym.core::option::unwrap_failed::hc0851016c6838662
jmp 0x14003cfb5
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x180], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h80d056e31c2ff722]
mov qword [rsp + 0x188], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xd0], 0
lea rax, [rsp + 0x180]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rdx, str.Hfy_
lea rcx, [rsp + 0xb0]
call sym.core::panicking::panic_fmt::he2608bd87643dbc4
jmp 0x14003cfb5
call sym.alloc::raw_vec::capacity_overflow::hdd637e33b68717d9
jmp 0x14003cfb5
mov ecx, 1
mov rdx, r13
call sym.alloc::alloc::handle_alloc_error::ha700c182da133e1c
jmp 0x14003cfb5
call sym.alloc::raw_vec::capacity_overflow::hdd637e33b68717d9
jmp 0x14003cfb5
mov ecx, 2
mov rdx, r14
call sym.alloc::alloc::handle_alloc_error::ha700c182da133e1c
jmp 0x14003cfb5
call sym.alloc::raw_vec::capacity_overflow::hdd637e33b68717d9
jmp 0x14003cfb5
mov ecx, 1
mov rdx, rbx
call sym.alloc::alloc::handle_alloc_error::ha700c182da133e1c
jmp 0x14003cfb5
lea r8, str.library_std_src_syspalwindowsos.rs
mov ecx, 1
xor edx, edx
call sym.core::slice::index::slice_start_index_len_fail::hbdd30c80ba9cb1bd
jmp 0x14003cfb5
lea rax, str.library_std_src_syspalwindowsos.rs
mov rcx, r8
mov rdx, r13
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::h89faa5dda92f1452
jmp 0x14003cfb5
lea r8, str.library_std_src_syspalwindowsos.rs
mov rcx, rbx
mov rdx, r13
call sym.core::slice::index::slice_start_index_len_fail::hbdd30c80ba9cb1bd
jmp 0x14003cfb5
lea rcx, str.assertion_failed:_self.height___0
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6library_alloc_srccollections_btree_node.rsassertion_failed:_edge.height__self.height___1
mov edx, 0x21
call sym.core::panicking::panic::hef3431a3c19424e4
jmp 0x14003cfb5
mov ecx, 1
mov rdx, r12
call sym.alloc::alloc::handle_alloc_error::ha700c182da133e1c
jmp 0x14003cfb5
lea rcx, str.internal_error:_entered_unreachable_codeH_y_
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call sym.core::panicking::panic::hef3431a3c19424e4
jmp 0x14003cfb5
lea rcx, str.internal_error:_entered_unreachable_codeH_y_
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call sym.core::panicking::panic::hef3431a3c19424e4
jmp 0x14003cfb5
lea rcx, str.internal_error:_entered_unreachable_codeH_y_
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call sym.core::panicking::panic::hef3431a3c19424e4
jmp 0x14003cfb5
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x180]
mov qword [rsp + 0xb0], rax
lea rax, [sym.__std::io::error::Error_as_core::fmt::Display_::fmt::h80d056e31c2ff722]
mov qword [rsp + 0xb8], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x288], 1
mov qword [rsp + 0x2a0], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], 1
lea rdx, str.library_std_src_syspalwindowsos.rs
lea rcx, [rsp + 0x280]
call sym.core::panicking::panic_fmt::he2608bd87643dbc4
jmp 0x14003cfb5
call sym.alloc::raw_vec::capacity_overflow::hdd637e33b68717d9
jmp 0x14003cfb5
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::h89faa5dda92f1452
jmp 0x14003cfb5
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::h89faa5dda92f1452
jmp 0x14003cfb5
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call sym.core::slice::index::slice_end_index_len_fail::h89faa5dda92f1452
ud2