Function at 0x14004a110
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x40
sub esp, 0x40
mov rdi, rdx
mov rdx, qword [rdx + 8]
mov rsi, qword [rdi + 0x10]
ja 0x1400450d2
mov r9, rdx
sub r9, rsi
jb 0x14004527d
mov r8, qword [rdi]
add r8, rsi
mov rdx, qword [rcx]
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0x30]
call dbg.synchronous_read
add byte [rax], al
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x140045114
mov rdi, qword [rsp + 0x38]
mov eax, edi
and eax, 3
loopne 0x140045101
lea rcx, [0x1400a0c18]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rdi + 0x10]
jmp case.0x140044e5f.73
add rsi, qword [rsp + 0x38]
mov qword [rdi + 0x10], rsi
mov rax, qword [rdi + 0x18]
cmp rax, rsi
cmova rsi, rax
invalid
invalid
mov qword [rdi + 0x18], rsi
xor esi, esi
imul bl
invalid
movzx eax, byte [rdi + 0xf]
jmp case.0x140044e5f.73
mov rcx, rdi
shr rcx, 0x20
jmp 0x10c733960
add byte [rax], al
xor esi, esi
cmp al, 0xb
cmovne rsi, rdi
invalid
test rbx, rbx
je 0x14004515d
cmp al, 0xb
jne 0x14004515d
lea rcx, [rsp + 0x38]
call dbg.drop_in_place<std::io::error::Error>
mov rax, rsi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
ret
mov rax, rdi
shr rax, 0x20
shr eax, 0x20
cmp eax, 0x28
ja case.default.0x140045182
invalid
lea rcx, [0x1400a0c28]
movsxd rax, dword [rcx + rax*4]
invalid
add rax, rcx
add eax, ecx
jmp rax
xor eax, eax
jmp case.0x140044e5f.73
mov al, 0x29
jmp case.0x140044e5f.73
mov al, 1
jmp case.0x140044e5f.73
invalid
mov al, 2
jmp case.0x140044e5f.73
mov al, 3
jmp case.0x140044e5f.73
mov al, 4
jmp case.0x140044e5f.73
mov al, 5
jmp case.0x140044e5f.73
mov al, 6
jmp case.0x140044e5f.73
mov al, 7
jmp case.0x140044e5f.73
mov al, 8
jmp case.0x140044e5f.73
xchg esi, eax
mov al, 9
jmp case.0x140044e5f.73
mov al, 0xa
jmp case.0x140044e5f.73
mov al, 0xb
jmp case.0x140044e5f.73
invalid
mov dh, byte [rax - 0x4f7914f4]
or eax, 0xeb082eb
jmp case.0x140044e5f.73
mov al, 0xe
mov al, 0xc
jmp case.0x140044e5f.73
mov al, 0xd
jmp case.0x140044e5f.73
mov al, 0xe
jmp case.0x140044e5f.73
invalid
mov al, 0xf
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x10
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x11
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x12
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x13
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x14
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x15
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x16
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x17
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x18
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x19
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x1a
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x1b
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x1c
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x1d
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x1e
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x1f
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x20
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x21
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x22
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x23
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x24
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x25
jmp case.0x140044e5f.73
invalid
invalid
invalid
mov al, 0x26
jmp case.0x140044e5f.73
mov al, 0x27
jmp case.0x140044e5f.73
mov al, 0x28
jmp case.0x140044e5f.73
lea r8, [0x1400a1728]
mov rcx, rsi
call dbg.slice_start_index_len_fail
ud2
mov r9d, 0x2ceb0017
call sub.WS2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
jmp 0x140046295
mov ecx, 0x570f0002
shl byte [rsi - 0x3f], 0xc1
rol ecx, 8
mov word [rsp + 0x40], r9w
rol ecx, 8
mov word [rsp + 0x40], r9w
mov word [rsp + 0x42], cx
mov dword [rsp + 0x44], eax
movups xmmword [rsp + 0x48], xmm0
mov dword [rsp + 0x58], edx
lea rdx, [rsp + 0x40]
mov rcx, rdi
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
clc
invalid
je 0x1400460c1
clc
push qword [rbp + rax + 0x45]
xor edi, edi
xor r15d, r15d
jmp 0x1400460d1
call sub.WS2_32.dll_WSAGetLastError
mov r15d, eax
invalid
shl r15, 0x20
or r15, 2
invalid
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x40], 0
lea r8, [rsp + 0x40]
mov rcx, rdi
mov edx, 0x8004667e
call sub.WS2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140046117
test r15, r15
je 0x140046134
mov eax, r15d
and eax, 3
lea rcx, [0x1400a0ccc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [r15 + 0x10]
jmp 0x14004614f
call sub.WS2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
test r15, r15
jne 0x140046288
jmp case.0x14004510c.74
xor r15d, r15d
jmp 0x140046295
movzx eax, byte [r15 + 0xf]
jmp 0x14004614f
mov rcx, r15
shr rcx, 0x20
call dbg.decode_error_kind
invalid
invalid
add byte [rax], al
cmp al, 0xd
jne 0x140046295
test dword [rsi], edi
add dword [rax], eax
invalid
test r14, r14
jne 0x140046190
test ebx, ebx
jne 0x140046190
lea rsi, str.cannot_set_a_0_duration_timeout
jmp 0x140046288
mov rax, r15
shr rax, 0x20
cmp eax, 0x28
sub byte [rdi], cl
xchg dword [rbx], ebp
add dword [rax], eax
invalid
lea rcx, [0x1400a0cdc]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
xor eax, eax
jmp 0x14004614f
cmp r14, 0x7fffffff
mov eax, 0x7fffffff
cmovb rax, r14
invalid
mov ecx, ebx
imul rcx, rcx, 0x10624dd3
invalid
invalid
adc byte [rax - 0x3f], cl
invalid
invalid
mov dword [rsp + 0x38], eax
test rax, rax
mov eax, 1
mov edx, ecx
cmove edx, eax
cmp ebx, 0x3e8
add byte [rax], al
cmovae edx, ecx
mov dword [rsp + 0x3c], edx
and al, 0x3c
lea rcx, [rsp + 0x50]
mov r8d, 0x1f8
xor edx, edx
shr al, cl
jae case.0x14004510c.60
add eax, 0x84c74800
and al, 0x48
add al, byte [rax]
add byte [rcx], al
add dword [rax], eax
add byte [rax], al
mov qword [rsp + 0x250], rdi
mov dword [rsp + 0x250], edi
lea rcx, [rsp + 0x258]
mov r8d, 0x1f8
mov eax, 0x1f8
add byte [rcx - 0x48], al
clc
add dword [rax], eax
add byte [rcx], dh
xor edx, edx
call sub.msvcrt.dll_memset
invalid
invalid
and al, 0x40
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x40], 1
add dword [rax], eax
add byte [rax], al
mov qword [rsp + 0x48], rdi
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
and al, 0x20
lea r8, [rsp + 0x248]
add al, byte [rax]
add byte [rbp + rcx*4 + 0x4c], cl
lea r9, [rsp + 0x40]
and al, 0x40
mov ecx, 1
xor edx, edx
call sub.WS2_32.dll_select
test eax, eax
je 0x140046251
cmp eax, 0xffffffff
jne case.0x14004510c.66
call sub.WS2_32.dll_WSAGetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
or esi, 2
or esi, 2
jmp 0x140046288
lea r15, str.X__n_
cmp eax, 0x5fe18
jmp 0x140046267
cmp dword [rsp + 0x248], 1
jne 0x140046273
add dword [rbp + 0xf], esi
xor r15d, r15d
lea rcx, [rsp + 0x30]
lea ecx, [rsp + 0x30]
call dbg.drop_in_place<std::io::error::Error>
jmp 0x140046295
cld
invalid
mov rcx, rsi
call sym.std::sys::windows::net::Socket::take_error::h935f343b8d8d50c2
mov rsi, rdx
invalid
test rax, rax
jne 0x140046288
invalid
test rsi, rsi
test esi, esi
je 0x140046264
lea rcx, [rsp + 0x30]
and al, 0x30
call dbg.drop_in_place<std::io::error::Error>
mov r15, rsi
mov rax, r15
add rsp, 0x450
add esp, 0x450
add esp, 0x450
add byte [rbx + 0x5f], bl
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rdi
pop rdi
ret
mov al, 0x29
jmp 0x14004614f
invalid
invalid
invalid
mov al, 1
jmp 0x14004614f
invalid
invalid
invalid
mov al, 2
jmp 0x14004614f
invalid
invalid
invalid
mov al, 3
jmp 0x14004614f
invalid
invalid
invalid
mov al, 4
jmp 0x14004614f
invalid
invalid
invalid
mov al, 5
jmp 0x14004614f
invalid
invalid
invalid
mov al, 6
jmp 0x14004614f
invalid
invalid
invalid
mov al, 7
jmp 0x14004614f
invalid
invalid
invalid
mov al, 8
jmp 0x14004614f
invalid
invalid
invalid
mov al, 9
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0xa
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0xb
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0xc
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0xd
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0xe
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0xf
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x10
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x11
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x12
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x13
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x14
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x15
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x16
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x17
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x18
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x19
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x1a
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x1b
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x1c
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x1d
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x1e
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x1f
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x20
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x21
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x22
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x23
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x24
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x25
jmp 0x14004614f
invalid
invalid
invalid
mov al, 0x26
jmp 0x14004614f
mov al, 0x27
jmp 0x14004614f
mov al, 0x28
jmp 0x14004614f
jmp 0x140049e3e
ud2
jmp 0x140049e72
test bh, 1
je 0x140049e70
jmp case.0x14004510c.96
xor esi, esi
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140049e8c
mov r8d, 1
call sym.__rust_dealloc
invalid
jns 0x140049e86
invalid
add byte [rax], al
add al, ch
invalid
test sil, sil
test dh, dh
je case.0x14004510c.96
mov rcx, rdi
call fcn.14009af44
stosd dword [rdi], eax
invalid
invalid
invalid
stosd dword [rdi], eax
adc byte [0x1318dea9c], al
mov rcx, r14
call dbg._Unwind_Resume
outsd dx, dword [rsi]
adc eax, 0xb0f0005
ud2
nop word cs:[rax + rax]
nop word cs:[rax + rax]
ud2
nop word cs:[rax + rax]
invalid
add byte [rax], al
add byte [rsi + 0x57], dl
push rsi
push rdi
push rdi
sub rsp, 0x78
mov rax, r8
js 0x140049f03
mov eax, eax
mov rsi, rcx
mov r8d, 0xffffffff
mov eax, 0xffffffff
mov eax, 0xffffffff
dec dword [rbp + 0x39]
ror dword [rbp + 0xf], 0x42
cmovb r8, r9
invalid
invalid
cmp r9, r8
cmovb r8, r9
mov dword [rsp + 0x44], 0
add byte [rax], r8b
add byte [rax], al
and al, 0x44
add byte [rax], al
invalid
add byte [rax], r8b
add byte [rax], al
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
ror byte [rdi], 0x29
and al, 0x50
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x60], 0
add byte [rax - 0x73], cl
and al, 0x44
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x68], ecx
lea rcx, [dbg.callback]
mov qword [rsp + 0x20], rcx
and al, 0x20
insd dword [rdi], dx
invalid
and al, 0x20
lea r9, [rsp + 0x50]
and al, 0x50
mov rcx, rdx
mov rdx, rax
mov edx, eax
mov edx, eax
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x140049f60
push rsp
adc al, 0xe
add eax, 0x74c08500
push rsp
nop dword [rax]
mov ecx, 0xffffffff
mov edx, 1
add al, ch
or eax, 0x7c830005
jl 0x140049f46
invalid
invalid
je 0x140049f10
invalid
add al, ch
or eax, 0x7c830005
jl 0x140049f46
add byte [rdx + rbp*8 + 0x48], r14b
jl 0x140049f46
add byte [rdx + rbp*8 + 0x48], r14b
movsxd rax, dword [rsp + 0x48]
test rax, rax
invalid
invalid
je 0x140049f9b
shl rax, 0x20
or rax, 2
or eax, 2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 1
xor byte [rcx], al
add byte [rax], al
invalid
cmp byte [rax - 0x39], cl
and al, 0x30
xor byte [rcx], al
add byte [rax], al
invalid
xor byte [rcx], al
add byte [rax], al
add byte [rax - 0x73], cl
jl 0x140049f6e
invalid
lea rdi, [rsp + 0x38]
and al, 0x38
cmp byte [rcx + 0x3e183c1], cl
mov ecx, eax
and ecx, 3
lea rdx, [0x1400a0d80]
lea edx, [0x1400a0d80]
add eax, 0xc634800
mov cl, byte [rax + 1]
movsxd rcx, dword [rdx + rcx*4]
invalid
or al, 0x8a
add rcx, rdx
jmp rcx
invalid
sar edi, 1
loope case.0x14004610e.50
call sub.KERNEL32.dll_GetLastError
lahf
invalid
shl rax, 0x20
shl eax, 0x20
or rax, 2
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x38], eax
cmp byte [rax - 0x39], cl
mov qword [rsp + 0x30], 1
and al, 0x30
and al, 0x30
add dword [rax], eax
add byte [rax], al
lea rdi, [rsp + 0x38]
mov ecx, eax
and ecx, 3
lea rdx, [0x1400a0d80]
adc eax, 0x56df4
adc eax, 0x56df4
movsxd rcx, dword [rdx + rcx*4]
or al, 0x8a
add rcx, rdx
jmp rcx
movzx eax, byte [rax + 0x10]
jmp 0x140049fc0
invalid
mov eax, dword [rsp + 0x4c]
and al, 0x4c
mov qword [rsp + 0x38], rax
cmp byte [rax - 0x39], cl
mov qword [rsp + 0x30], 0
and al, 0x30
add byte [rax], al
add byte [rax], al
invalid
add byte [rax], al
add bl, ch
jmp case.0x14004610e.75
and eax, 0xf40b60f
movzx eax, byte [rax + 0xf]
por mm1, qword [rbx]
jmp 0x140049fc0
shr rax, 0x20
and byte [rcx + 0x7df0e8c1], cl
mov ecx, eax
call dbg.decode_error_kind
add byte [rax], al
add byte [rax], al
add byte [rbx + rcx], bh
cmp al, 0xb
jne case.0x14004610e.75
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
ror byte [rdi], 0x11
invalid
mov rcx, rdi
call dbg.drop_in_place<std::io::error::Error>
jmp 0x140049fe5
mov rax, qword [rsp + 0x30]
mov qword [rsi], rax
mov rax, qword [rsp + 0x38]
invalid
invalid
mov qword [rsi + 8], rax
mov dword [rsi + 8], eax
add rsp, 0x78
pop rdi
pop rsi
ret
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x14004a003
lea rcx, [0x1400a0d90]
or eax, 0x56d94
movsxd rax, dword [rcx + rax*4]
invalid
add al, 0x81
add rax, rcx
add eax, ecx
jmp rax
xor eax, eax
jmp 0x140049fc0
mov al, 0x29
jmp 0x140049fc0
mov bl, 0xb0
add ebx, ebp
scasd eax, dword [rdi]
mov al, 1
jmp 0x140049fc0
mov al, 2
jmp 0x140049fc0
mov al, 3
jmp 0x140049fc0
cmpsd dword [rsi], dword [rdi]
mov al, 4
jmp 0x140049fc0
add al, 0xeb
movabs dword [0x9beb06b09feb05b0], eax
mov al, 5
jmp 0x140049fc0
mov al, 6
jmp 0x140049fc0
mov al, 5
jmp 0x140049fc0
mov al, 6
jmp 0x140049fc0
mov al, 7
jmp 0x140049fc0
xchg edi, eax
xchg edi, eax
mov al, 8
jmp 0x140049fc0
mov al, 9
jmp 0x140049fc0
mov al, 0xa
jmp 0x140049fc0
invalid
mov esi, dword [rax - 0x4f7814f5]
or al, 0xeb
jmp 0x140049fc0
mov al, 0xd
invalid
jl 0x14004a041
invalid
mov al, 0xb
jmp 0x140049fc0
or ebp, ebx
xchg dword [rax - 0x4f7c14f4], esi
mov al, 0xc
jmp 0x140049fc0
mov al, 0xd
invalid
jl 0x14004a041
invalid
mov al, 0xc
jmp 0x140049fc0
mov al, 0xd
jmp 0x140049fc0
invalid
invalid
invalid
push qword [rax - 0x8a16f2]
mov al, 0xe
jmp 0x140049fc0
invalid
invalid
invalid
push qword [rax - 0x9116f1]
mov al, 0xf
jmp 0x140049fc0
outsb dx, byte [rsi]
invalid
invalid
invalid
outsb dx, byte [rsi]
invalid
invalid
mov al, 0x10
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
mov al, 0x11
jmp 0x140049fc0
invalid
invalid
invalid
invalid
adc ecx, ebp
invalid
invalid
mov al, 0x12
jmp 0x140049fc0
invalid
push qword [rax - 0xad16ed]
mov al, 0x13
jmp 0x140049fc0
push rdx
invalid
invalid
invalid
push rdx
invalid
invalid
mov al, 0x14
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
mov al, 0x15
jmp 0x140049fc0
invalid
invalid
adc eax, 0xffff44e9
push qword [rax - 0xc216ea]
mov al, 0x16
invalid
invalid
invalid
invalid
mov al, 0x16
jmp 0x140049fc0
invalid
push qword [rax - 0xc916e9]
mov al, 0x17
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
invalid
mov al, 0x18
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
invalid
mov al, 0x19
jmp 0x140049fc0
sub bh, bh
invalid
invalid
sub bh, bh
invalid
invalid
mov al, 0x1a
jmp 0x140049fc0
and edi, edi
invalid
invalid
and edi, edi
invalid
mov al, 0x1b
jmp 0x140049fc0
sbb bh, bh
invalid
invalid
sbb bh, bh
invalid
mov al, 0x1c
jmp 0x140049fc0
adc edi, edi
invalid
invalid
adc edi, edi
invalid
mov al, 0x1d
jmp 0x140049fc0
or al, 0xff
invalid
invalid
or al, 0xff
invalid
mov al, 0x1e
jmp 0x140049fc0
invalid
invalid
invalid
invalid
add eax, 0xb0ffffff
invalid
invalid
mov al, 0x1f
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
invalid
invalid
mov al, 0x20
jmp 0x140049fc0
idiv esi
invalid
invalid
idiv esi
invalid
mov al, 0x21
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
invalid
mov al, 0x22
jmp 0x140049fc0
invalid
invalid
invalid
invalid
jmp 0xf104a0d6
invalid
mov al, 0x23
jmp 0x140049fc0
loop case.0x14004510c.167
invalid
invalid
loop case.0x14004510c.167
invalid
mov al, 0x24
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
invalid
mov al, 0x25
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
invalid
mov al, 0x26
jmp 0x140049fc0
int 0xfe
invalid
invalid
int 0xfe
invalid
mov al, 0x27
jmp 0x140049fc0
invalid
invalid
invalid
invalid
invalid
mov al, 0x28
jmp 0x140049fc0
invalid
invalid
invalid
invalid
mov edi, 0x66fffffe
invalid
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop word cs:[rax + rax]
test byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
push rsi
push rdi
add byte [rax], al
push rbx
sub rsp, 0x70
jo 0x14004a160
mov ebx, edx
jo 0x14004a160
mov ebx, edx
ror dword [rax - 0x75], cl
push rdx
or byte [rax - 0x75], cl
invalid
invalid
mov rdx, qword [rdx + 8]
mov rdi, qword [rbx + 0x10]
jnp case.0x14004610e.108
mov rax, rdx
sub rax, rdi
sub eax, edi
sub eax, edi
clc
jb 0x14004a361
xor eax, dword [rdx]
add byte [rax], al
mov r8d, 0xffffffff
cmp rax, r8
ror byte [rdi + rcx + 0x42], 0xc0
invalid
ror byte [rdi + rcx + 0x42], 0xc0
ror byte [rax - 0x75], 0x13
mov rdx, qword [rbx]
add rdx, rdi
mov dword [rsp + 0x34], 0
add byte [rdi], cl
push rdi
ror byte [rdi], 0x29
and al, 0x50
and al, 0x50
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
and al, 0x50
and al, 0x50
mov qword [rsp + 0x60], 0
add byte [rax], al
add byte [rax], al
lea rax, [rsp + 0x34]
and al, 0x34
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x68], eax
lea rax, [dbg.callback]
mov qword [rsp + 0x20], rax
and al, 0x20
lea r9, [rsp + 0x50]
and al, 0x50
and al, 0x50
push rax
call sub.KERNEL32.dll_ReadFileEx
test eax, eax
je 0x14004a1cb
add byte [rbp + 0x664d74c0], al
nop
nop
mov ecx, 0xffffffff
mov edx, 1
add byte [rax], al
add al, ch
cmc
or al, byte [0x164812492]
add byte [rbx + 0x34247c], al
add byte [rax], al
add al, ch
cmc
or al, byte [0x164812492]
add byte [rbx + 0x34247c], al
add byte [rbx + 0x34247c], al
je case.0x14004610e.120
invalid
movsxd rsi, dword [rsp + 0x38]
test rsi, rsi
test esi, esi
test esi, esi
je case.0x140049f93.68
shl rsi, 0x20
or rsi, 2
mov qword [rsp + 0x48], rsi
je 0x14004a1d0
mov qword [rsp + 0x40], 1
and byte [rax - 0x7d], cl
invalid
je 0x14004a1d0
mov qword [rsp + 0x40], 1
add dword [rax], eax
add dword [rax], eax
add byte [rax], al
mov eax, esi
and eax, 3
lea rcx, [0x1400a0e34]
lea ecx, [0x1400a0e34]
add ecx, dword [rax - 0x73]
or eax, 0x56c72
jb 0x14004a22c
invalid
invalid
jb 0x14004a22c
insb byte [rdi], dx
add eax, 0x4634800
or dword [rax + 1], 0xe8e0ffc8
add rax, rcx
jmp rax
loopne 0x14004a1b4
movsxd rax, dword [rcx + rax*4]
add al, 0x81
add rax, rcx
jmp rax
invalid
loopne 0x14004a1b4
call sub.KERNEL32.dll_GetLastError
xor al, 0xc
or al, 5
add byte [rcx - 0x193eb73a], cl
shl rsi, 0x20
invalid
invalid
invalid
add eax, 0x48c68900
shl esi, 0x20
out 0x20, al
mov esi, eax
shl rsi, 0x20
out 0x20, al
or rsi, 2
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x40], 1
and al, 0x40
add dword [rax], eax
add byte [rax], al
mov eax, esi
and eax, 3
lea rcx, [0x1400a0e34]
lea ecx, [0x1400a0e34]
lea ecx, [0x1400a0e34]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
invalid
invalid
loopne 0x14004a20d
movzx eax, byte [rsi + 0x10]
jmp 0x14004a233
mov dh, 0x46
adc bl, ch
xor byte [rbx + 0x483c2444], cl
mov eax, dword [rsp + 0x3c]
add rdi, rax
mov eax, dword [rsp + 0x3c]
add rdi, rax
mov qword [rbx + 0x10], rdi
adc byte [rax - 0x75], cl
sbb byte [r8 + 0x39], cl
sbb byte [rax + 0x39], cl
mov rax, qword [rbx + 0x18]
sbb byte [rax + 0x39], cl
cmp rax, rdi
clc
cmova rdi, rax
clc
mov qword [rbx + 0x18], rdi
xor edi, edi
jmp 0x14004a247
movzx eax, byte [rsi + 0xf]
jmp 0x14004a233
invalid
or al, 0x48
mov rcx, rsi
mov ecx, esi
shr rcx, 0x20
call dbg.decode_error_kind
jmp 0x1bb828a51
and al, ch
jge 0x14004a2ac
add byte [rax], al
xor edi, edi
invalid
cmp al, 0xb
cmovne rdi, rsi
jne 0x14004a247
lea rcx, [rsp + 0x48]
call dbg.drop_in_place<std::io::error::Error>
mov rax, rdi
clc
add rsp, 0x70
pop rbx
pop rdi
pop rsi
ret
mov rax, rsi
shr rax, 0x20
call 0x168fd257c
call 0x168fd257c
ja case.default.0x14004a26c
lea rcx, [0x1400a0e44]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
add eax, ecx
invalid
add eax, ecx
jmp rax
xor eax, eax
jmp 0x14004a233
mov al, 0x29
jmp 0x14004a233
sub ebx, ebp
mov ebp, 0xb9eb01b0
mov al, 1
jmp 0x14004a233
mov al, 1
jmp 0x14004a233
mov al, 2
jmp 0x14004a233
mov al, 3
jmp 0x14004a233
invalid
mov cl, 0xb0
add al, 0xeb
lodsd eax, dword [rsi]
mov al, 4
jmp 0x14004a233
mov al, 5
jmp 0x14004a233
mov al, 6
jmp 0x14004a233
mov al, 7
jmp 0x14004a233
invalid
mov al, 8
jmp 0x14004a233
mov al, 9
jmp 0x14004a233
mov al, 0xa
jmp 0x14004a233
mov al, 0xb
jmp 0x14004a233
mov al, 0xc
jmp 0x14004a233
mov al, 0xd
jmp 0x14004a233
invalid
mov dword [rax - 0x4f7a14f2], esi
por mm0, qword [rcx + 0x7ae910b0]
jmp 0x14004a233
mov al, 0x10
invalid
jp 0x14004a2b6
mov al, 0xe
jmp 0x14004a233
mov al, 0xf
jmp 0x14004a233
mov al, 0x10
jmp 0x14004a233
invalid
mov al, 0x11
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x12
jmp 0x14004a233
invalid
invalid
invalid
push qword [rax - 0x9a16ed]
mov al, 0x13
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x14
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x15
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x16
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x17
jmp 0x14004a233
invalid
invalid
invalid
push qword [rax - 0xbd16e8]
mov al, 0x18
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x19
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x1a
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x1b
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x1c
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x1d
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x1e
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x1f
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x20
jmp 0x14004a233
invalid
mov al, 0x21
jmp 0x14004a233
add edi, edi
invalid
invalid
add edi, edi
invalid
mov al, 0x22
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x23
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x24
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x25
jmp 0x14004a233
invalid
invalid
invalid
mov al, 0x26
jmp 0x14004a233
mov al, 0x27
jmp 0x14004a233
mov al, 0x28
jmp 0x14004a233
lea r8, [0x1400a1728]
mov rcx, rdi
call dbg.slice_start_index_len_fail
ud2
nop word cs:[rax + rax]
test byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rdi], cl
sub dword [rsp + 0x90], esi
mov rbx, r8
mov ebx, eax
ret
mov r14, rdx
mov qword [rsp + 0x28], rcx
mov rdi, qword [r8 + 8]
mov r12, qword [r8 + 0x10]
xor r15d, r15d
xorps xmm6, xmm6
lea rbp, [rsp + 0x70]
lea rsi, [0x1400a0ee8]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r12
mov r13, r12
lea r12, [rsp + 0x50]
jmp 0x14004a3fd
nop dword [rax + rax]
mov rcx, rax
shr rcx, 0x20
cmp ecx, 0x23
jne case.0x14004a442.2
mov qword [rsp + 0x70], rax
mov rcx, rbp
call dbg.drop_in_place<std::io::error::Error>
cmp r13, rdi
je 0x14004a45b
mov rax, qword [rbx]
add rax, r13
mov rcx, rdi
sub rcx, r13
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], 0
invalid
add byte [rax], al
add byte [rax], al
mov qword [rsp + 0x68], r15
mov rcx, r14
int1
invalid
int1
mov rdx, r12
call sym.std::sys::windows::handle::Handle::read_buf::h15c3842f815fd170
lodsb al, byte [rsi]
invalid
dec dword [rax - 0x7b]
invalid
je 0x14004a480
lodsb al, byte [rsi]
invalid
mov ecx, eax
and ecx, 3
movsxd rcx, dword [rsi + rcx*4]
add rcx, rsi
jmp rcx
cmp byte [rax + 0x10], 0x23
je 0x14004a3f0
jmp case.0x14004a442.2
cmp byte [rax + 0xf], 0x23
je 0x14004a3f0
js 0x14004a462
and esi, dword [rdx + rbx*4 - 0x17]
pop rsi
add dword [rax], eax
add byte [rcx - 0x48], al
and byte [rax], al
add byte [rax], al
jmp case.0x14004a442.2
mov r8d, 0x20
mov rcx, rbx
mov ecx, ebx
mov rdx, rdi
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h42c66e84c7c7355c
mov rdi, qword [rbx + 8]
mov r13, qword [rbx + 0x10]
jmp 0x14004a402
mov r12, qword [rsp + 0x60]
test r12, r12
je 0x14004a5ff
add byte [rax], al
add byte [rax], al
mov rax, qword [rsp + 0x68]
mov r15, rax
sub r15, r12
jb 0x14004a62c
mov rdx, qword [rsp + 0x58]
cmp rax, rdx
ja 0x14004a640
add r12, r13
mov qword [rbx + 0x10], r12
cmp rdi, qword [rsp + 0x30]
jne 0x14004a3ca
cmp r12, rdi
lea r13, [0x1400a0ef8]
jne 0x14004a3ca
movaps xmmword [rsp + 0x80], xmm6
sub dword [rsp + 0x80], esi
movaps xmmword [rsp + 0x70], xmm6
mov r9d, 0x20
lea r12, [rsp + 0x40]
mov rcx, r12
mov rdx, r14
mov r8, rbp
call sym.std::sys::windows::handle::Handle::read::h6f1b043f397c4268
cmp qword [rsp + 0x40], 0
lea rdi, [rsp + 0x48]
jne 0x14004a580
mov r13, qword [rsp + 0x48]
and al, 0x48
test r13, r13
je 0x14004a5e5
cmp r13, 0x21
jae 0x14004a616
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
mov r8, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h42c66e84c7c7355c
mov rdi, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
mov rcx, qword [rbx]
add rcx, r12
mov rdx, rbp
mov r8, r13
call sym.memcpy
adc dword [0x12c05f246], eax
adc dword [0x12c05f246], eax
mov qword [rbx + 0x10], r12
jmp 0x14004a3ca
mov rcx, rdi
call dbg.drop_in_place<std::io::error::Error>
mov r9d, 0x20
mov rcx, r12
mov rdx, r14
mov r8, rbp
call sym.std::sys::windows::handle::Handle::read::h6f1b043f397c4268
cmp qword [rsp + 0x40], 0
je case.default.0x14004a592
mov rax, qword [rsp + 0x48]
mov ecx, eax
mov rcx, rax
and ecx, 3
movsxd rcx, dword [r13 + rcx*4]
add rcx, r13
add ecx, ebp
add ecx, ebp
jmp rcx
cmp byte [rax + 0x10], 0x23
adc byte [rbx], ah
je 0x14004a55c
jmp 0x14004a5a6
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
mov eax, 1
mov qword [rcx], rax
jmp 0x14004a5c9
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
mov qword [rcx], 1
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x30]
sub rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 8], rax
xor eax, eax
mov qword [rcx], rax
jmp 0x14004a5c9
sub r13, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov qword [rax + 8], r13
mov qword [rax], 0
jmp 0x14004a5c9
lea r8, [0x1400a3fb8]
mov edx, 0x20
mov rcx, r13
call dbg.slice_end_index_len_fail
ud2
lea r8, [0x1400a3fa0]
mov rcx, r12
mov rdx, rax
call dbg.slice_index_order_fail
ud2
lea r8, [0x1400a3fa0]
mov rcx, rax
call dbg.slice_end_index_len_fail
ud2
mov rax, qword [rsp + 0x58]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
cmp qword [rsp + 0x230], 0
je 0x14004c4e1
mov rcx, qword [rsp + 0x238]
test rcx, rcx
je 0x14004c4b8
mov rdx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x280], rcx
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], rcx
mov qword [rsp + 0x2a8], rdx
mov ecx, 1
jmp 0x14004c4bc
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x2b0], rax
lea rcx, [rsp + 0x270]
call dbg.drop_in_place<alloc::collections::btree::map::IntoIter<std::sys::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>>
mov rax, qword [rsp + 0x200]
cmp dword [rax], 4
jb 0x14004c4f7
mov rcx, qword [rax + 8]
call fcn.14009af44
movaps xmm6, xmmword [rsp + 0x670]
add rsp, 0x688
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
and al, 0x88
add byte [rax], al
add al, ch
adc cl, byte [rcx - 5]
inc dword [rax - 0x7c]
push qword [rdi + rdi + 0x48]
mov ecx, dword [rsp + 0x1a8]
test rcx, rcx
je 0x14004cf9f
mov rax, rcx
movdqu xmm6, xmmword [rsp + 0x1b0]
mov r13, rcx
movq rdi, xmm6
pshufd xmm0, xmm6, 0xee
movq r8, xmm0
mov qword [rsp + 0x60], rdi
cmp r8, 5
jae 0x14004d21e
jmp case.0x14004d583.68
lea rdx, str.PATHlibrary_std_src_sys_commonprocess.rs
lea rcx, [rsp + 0x150]
mov r8d, 4
call dbg._var_os
cmp byte [rsp + 0x168], 2
je 0x14004dc87
mov rcx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x160]
add rax, rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], rax
mov dword [rsp + 0x1a8], eax
mov dword [rsp + 0x1a8], eax
mov word [rsp + 0x1b0], 0
mov byte [rsp + 0x1b8], 1
lea r15, [rsp + 0x289]
lea rsi, [rsp + 0xb9]
lea rdi, [rsp + 0x270]
lea rbp, [rsp + 0x1a0]
lea rbx, [rsp + 0xa0]
jmp 0x14004d04c
mov rax, qword [rsp + 0x270]
test rax, rax
jne 0x14004e889
mov rcx, rdi
mov rdx, rbp
call sym.__std::sys::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::hf640032e6ed0c51a
jmp 0x14004d064
mov rcx, rdi
mov rdx, rbp
call sym.__std::sys::windows::os::SplitPaths_as_core::iter::traits::iterator::Iterator_::next::hf640032e6ed0c51a
movzx eax, byte [rsp + 0x288]
cmp al, 2
je 0x14004dc6a
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
test r8, r8
jne 0x14004d0a3
test rdx, rdx
je 0x14004d059
mov r8d, 1
call sym.__rust_dealloc
jmp 0x14004d059
mov r9d, dword [r15]
mov r10d, dword [r15 + 3]
mov dword [rsi + 3], r10d
push rsi
add eax, dword [rcx + rcx*4 + 0xe]
push rsi
add eax, dword [rcx + rcx*4 + 0xe]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], r8
mov byte [rsp + 0xb8], al
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r8, r13
call dbg._push
cmp qword [rsp + 0x80], 1
je 0x14004d100
mov r8d, 3
mov rcx, rbx
lea rdx, str.exeNULexit_code:
call sym.std::path::PathBuf::_set_extension::h1064df2a2b63a4fe
mov r14, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xb0]
mov rcx, rdi
mov rdx, r14
call dbg.program_exists
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x14004d03b
mov r8d, 1
mov rcx, r14
call sym.__rust_dealloc
jmp 0x14004d03b
sub ecx, esi
cmp rdi, rcx
cmovae rdi, rcx
lea rcx, [rsp + 0x270]
mov rdx, rsi
mov r8, rdi
call sym.std::sys::windows::to_u16s::inner::h58f418a16c5682ec
mov rcx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
test rcx, rcx
je 0x14004d1c8
mov rdx, qword [rsp + 0x280]
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], rax
mov qword [rsp + 0x280], rdx
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x270]
call dbg.from_wide_to_user_path
jmp 0x14004d1dc
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x110], 0
test rbx, rbx
je 0x14004d1f2
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call sym.__rust_dealloc
mov r13, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
test r13, r13
je 0x14004c329
invalid
int1
invalid
invalid
mov r8, qword [rsp + 0x120]
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x60], edi
cmp r8, 5
jb case.0x14004d583.68
cmp word [r13 + r8*2 - 0xa], 0x2e
jne case.0x14004d583.68
cmp word [r13 + r8*2 - 2], 0
je 0x14004d563
mov rsi, qword [r12 + 0x90]
mov rdi, qword [r12 + 0xa0]
movzx ebx, byte [r12 + 0xc5]
mov qword [rsp + 0xa0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xa8], xmm0
lea rcx, [rsp + 0xa0]
xor edx, edx
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xb0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xb0], rcx
add byte [rax - 0x75], cl
and al, 0x68
add byte [rax - 0x75], cl
and al, 0x68
mov qword [rsp + 0x270], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x278], rax
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0xa0]
lea ecx, [rsp + 0xa0]
lea ecx, [rsp + 0xa0]
lea rdx, [rsp + 0x270]
call dbg.spec_extend<u16, std::sys_common::wtf8::EncodeWide, alloc::alloc::Global>
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x14004d2fb
lea rcx, [rsp + 0xa0]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r15, r12
mov rdx, qword [rsp + 0xb0]
jmp 0x14004d2fe
mov r15, r12
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xb0], rdx
shl rdi, 3
lea r14, [rdi + rdi*4]
lea r12, [rsp + 0xa0]
nop word [rax + rax]
test r14, r14
je 0x14004d3be
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x14004d35b
mov rcx, r12
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xb0], rdx
and al, 0xb0
add byte [rax], al
add byte [rcx + rcx*4 - 0x1f], cl
and al, 0xb0
add byte [rax], al
add byte [rcx + rcx*4 - 0x1f], cl
mov rdx, rsi
mov r8d, ebx
call dbg.append_arg
mov rdi, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
je 0x14004d330
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x14004d4d8
mov rcx, qword [rsp + 0xa0]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
jmp 0x14004d4d8
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
test rax, rax
je 0x14004d4d8
mov rdx, qword [rsp + 0xb0]
mov bl, 1
mov qword [rsp + 0x88], r13
mov r14, qword [rsp + 0x60]
mov rcx, r14
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], rdx
cmp rdx, rdi
add byte [rax - 0x77], cl
mov esp, 0x11824
add byte [rax - 0x77], cl
xchg esp, eax
and al, 0x20
add dword [rax], eax
add byte [rax + 0x39], cl
cli
jne 0x14004d430
lea rcx, [rsp + 0x110]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rax, qword [rsp + 0x110]
and al, 0x10
add dword [rax], eax
add byte [rax - 0x75], cl
xchg esp, eax
and al, 0x20
add dword [rax], eax
invalid
and al, 0x10
add dword [rax], eax
add byte [rax - 0x75], cl
xchg esp, eax
and al, 0x20
add dword [rax], eax
add byte [rsi - 0x39], ah
add al, 0x50
add byte [rax], al
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0x120], rdx
cmp byte [r15 + 0xc4], 0
cmp byte [rdi + 0xc4], 0
mov eax, 0x400
mov r12d, 0x608
cmove r12d, eax
mov qword [rsp + 0x90], r15
or r12d, dword [r15 + 0xc0]
cmp qword [rsp + 0x230], 0
je 0x14004d516
mov dword [rsp + 0x78], ebx
mov rbx, qword [rsp + 0x238]
mov r14, qword [rsp + 0x240]
mov r15, qword [rsp + 0x248]
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x150], 2
add byte [rdx], al
add byte [rax], al
add byte [rsi + 0xf], ah
out dx, eax
sal bl, 0xf
jg 0x14004d442
and al, 0x58
add dword [rax], eax
add byte [rbp - 0x7b], cl
dec dword [rdi]
test byte [rsi + 2], cl
add byte [rax], al
add byte [rdx], al
add byte [rax], al
add byte [rsi + 0xf], ah
out dx, eax
sal bl, 0xf
jg 0x14004d442
and al, 0x58
add dword [rax], eax
add byte [rbp - 0x7b], cl
dec dword [rdi]
test byte [rsi + 2], cl
add byte [rax], al
mov ebp, 2
xor edi, edi
jmp 0x14004d74e
invalid
add byte [rbx + rcx*4 + 0x74], cl
and al, 0x60
mov r14, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
xor esi, esi
test r14, r14
je 0x14004d508
add r14, r14
mov r8d, 2
mov rcx, r13
mov rdx, r14
call sym.__rust_dealloc
test sil, sil
je 0x14004c339
jmp 0x14004c4e1
mov eax, 2
xor ecx, ecx
mov qword [rsp + 0x80], rcx
xor ebp, ebp
mov rcx, qword [rsp + 0x90]
cmp byte [rcx + 0x88], 2
mov qword [rsp + 0x98], rax
jne 0x14004dd62
mov qword [rsp + 0x220], rbp
xor r15d, r15d
mov eax, 2
mov qword [rsp + 0x1f8], rax
xor ebp, ebp
jmp 0x14004ded5
movzx eax, word [r13 + r8*2 - 8]
mov bh, 0x44
clc
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x14004d583.68
lea rdx, [0x1400a0f08]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [r13 + r8*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x14004d5a1
movzx ecx, word [r13 + r8*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x14004d5d1
cmp ax, 0x43
jne case.0x14004d583.68
movzx eax, word [r13 + r8*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x14004d583.68
movzx eax, word [r13 + r8*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x14004d583.68
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x1a0], 2
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1a8], xmm0
mov esi, 0x200
mov eax, 2
mov qword [rsp + 0x78], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov r13d, 0xffffffff
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x88], rax
xor r14d, r14d
xor ebx, ebx
cmp rsi, 0x201
jb 0x14004d64a
jmp 0x14004d65d
jae 0x14004dc93
cmp rsi, 0x201
jae 0x14004d65d
mov r12d, 0x200
lea rbp, [rsp + 0x270]
mov rdi, rsi
jmp 0x14004d6bc
sub rsi, rbx
sub r14, rbx
cmp r14, rsi
mov r14, qword [rsp + 0x68]
jae 0x14004d695
lea rcx, [rsp + 0x1a0]
mov rdx, rbx
mov r8, rsi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x78], rax
mov r14, qword [rsp + 0x1a8]
cmp r14, r13
mov ebx, 0xffffffff
cmovb rbx, r14
mov qword [rsp + 0x1b0], rbx
mov rax, r14
mov qword [rsp + 0x68], r14
mov r12, rbx
mov rbp, qword [rsp + 0x78]
mov rdi, rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rbp
mov edx, edi
call sub.KERNEL32.dll_GetSystemDirectoryW
mov r15d, eax
test eax, eax
jne 0x14004d6e1
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x14004e02d
mov esi, r15d
cmp rdi, rsi
jne 0x14004d63b
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14004ef75
add rdi, rdi
cmp rdi, r13
cmovae rdi, r13
mov rsi, rdi
cmp rsi, 0x201
jae 0x14004d65d
jmp 0x14004d64a
mov sil, 1
lea rcx, [rsp + 0x150]
xor edx, edx
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rbp, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
mov word [rbp + rdi*2], 0
inc rdi
mov qword [rsp + 0x160], rdi
xor eax, eax
test rbx, rbx
setne al
cmove r15, rbx
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x280], rbx
mov qword [rsp + 0x288], r14
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], rbx
mov qword [rsp + 0x2a8], r14
mov qword [rsp + 0x2b0], r15
lea rsi, [rsp + 0xa0]
lea rbx, [rsp + 0x270]
mov rcx, rsi
mov rdx, rbx
call dbg.dying_next<std::sys::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>
mov r15d, r12d
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x14004dcd6
mov r9, qword [rsp + 0xb0]
imul r8, r9, 0x38
cmp byte [rax + r8 + 0x198], 2
je 0x14004dcd6
mov qword [rsp + 0x220], rbp
mov r12, qword [rax + r8 + 0x168]
mov rbp, qword [rax + r8 + 0x170]
mov rcx, qword [rax + r8 + 0x178]
mov qword [rsp + 0x1f8], rcx
mov rcx, qword [rax + r8 + 0x180]
mov rdx, qword [rax + r8 + 0x188]
shl r9, 5
mov r10, qword [rax + r9]
mov qword [rsp + 0x98], r10
mov r10, qword [rax + r9 + 8]
mov qword [rsp + 0x80], r10
mov rsi, qword [rax + r9 + 0x10]
movzx r9d, byte [rax + r9 + 0x18]
mov byte [rsp + 0x228], r9b
mov rax, qword [rax + r8 + 0x190]
add rax, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x14004d87d
xor r11d, r11d
test r9w, r9w
je 0x14004db9e
mov r9w, 1
test r11w, r11w
jne 0x14004d870
cmp r8, rax
je 0x14004d944
movzx r11d, byte [r8]
test r11b, r11b
js 0x14004d8a2
inc r8
mov r10d, r11d
jmp 0x14004d90c
mov rbx, r13
mov r10d, r11d
and r10d, 0x1f
movzx r13d, byte [r8 + 1]
and r13d, 0x3f
cmp r11b, 0xdf
jbe 0x14004d8fe
movzx r14d, byte [r8 + 2]
shl r13d, 6
and r14d, 0x3f
or r14d, r13d
cmp r11b, 0xf0
jb 0x14004d917
movzx r11d, byte [r8 + 3]
add r8, 4
and r10d, 7
shl r10d, 0x12
shl r14d, 6
and r11d, 0x3f
or r11d, r14d
or r10d, r11d
mov r13, rbx
cmp r10d, 0xffff
jbe 0x14004d90c
jmp 0x14004d92e
add r8, 2
shl r10d, 6
or r10d, r13d
mov r13, rbx
xor r11d, r11d
mov r9d, r10d
jmp 0x14004d873
add r8, 3
shl r10d, 0xc
or r10d, r14d
mov r13, rbx
cmp r10d, 0xffff
jbe 0x14004d90c
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14004d873
test rdx, rdx
je 0x14004d954
mov r8d, 1
call sym.__rust_dealloc
mov rax, qword [rsp + 0x158]
sub rax, rdi
mov r8, qword [rsp + 0x1f8]
cmp rax, r8
jae 0x14004d996
lea rcx, [rsp + 0x150]
mov rdx, rdi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
mov rax, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
mov r8, qword [rsp + 0x1f8]
jmp 0x14004d99e
mov rax, qword [rsp + 0x220]
mov r14, r8
add r8, r8
mov rbx, rax
lea rcx, [rax + rdi*2]
mov rdx, r12
call sym.memcpy
add rdi, r14
mov qword [rsp + 0x160], rdi
test rbp, rbp
je 0x14004d9d7
add rbp, rbp
mov r8d, 2
mov rcx, r12
mov rdx, rbp
call sym.__rust_dealloc
cmp rdi, qword [rsp + 0x158]
jne 0x14004da06
lea rcx, [rsp + 0x150]
mov rdx, rdi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r12d, r15d
mov rbx, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
jmp 0x14004da09
mov r12d, r15d
mov word [rbx + rdi*2], 0x3d
inc rdi
mov qword [rsp + 0x160], rdi
mov rax, qword [rsp + 0x98]
add rsi, rax
xor r8d, r8d
jmp 0x14004da36
xor r8d, r8d
test cx, cx
je 0x14004dc41
mov cx, 1
test r8w, r8w
jne 0x14004da2a
cmp rax, rsi
je 0x14004dae0
movzx r8d, byte [rax]
test r8b, r8b
js 0x14004da5a
inc rax
mov edx, r8d
jmp 0x14004dad6
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x14004daa4
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x14004dab0
movzx r8d, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or edx, r8d
jmp 0x14004daba
add rax, 2
shl edx, 6
or edx, r10d
jmp 0x14004dad6
add rax, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x14004dad6
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14004da2d
xor r8d, r8d
mov ecx, edx
jmp 0x14004da2d
cmp byte [rsp + 0x228], 2
je 0x14004ed81
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1a8], rsi
mov word [rsp + 0x1b0], 0
lea rcx, [rsp + 0x150]
lea rdx, [rsp + 0x1a0]
call dbg.spec_extend<u16, std::sys_common::wtf8::EncodeWide, alloc::alloc::Global>
mov rdx, qword [rsp + 0x80]
test rdx, rdx
lea rsi, [rsp + 0xa0]
lea rbx, [rsp + 0x270]
je 0x14004db55
mov r8d, 1
mov rcx, qword [rsp + 0x98]
call sym.__rust_dealloc
mov rdi, qword [rsp + 0x160]
cmp rdi, qword [rsp + 0x158]
jne 0x14004db7f
lea rcx, [rsp + 0x150]
mov rdx, rdi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rdi, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x150]
mov word [rbp + rdi*2], 0
inc rdi
mov qword [rsp + 0x160], rdi
jmp 0x14004d7ba
test rdx, rdx
je 0x14004dbae
mov r8d, 1
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14004dbce
mov r8d, 1
mov rcx, qword [rsp + 0x98]
call sym.__rust_dealloc
lea rsi, str.nul_byte_found_in_provided_data
test rbp, rbp
je 0x14004dbee
add rbp, rbp
mov r8d, 2
mov rcx, r12
mov rdx, rbp
call sym.__rust_dealloc
mov rbp, rsi
xor esi, esi
lea rcx, [rsp + 0x270]
call dbg.drop_in_place<alloc::collections::btree::map::IntoIter<std::sys::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>>
mov rdx, qword [rsp + 0x158]
test rdx, rdx
je 0x14004dc23
mov rcx, qword [rsp + 0x150]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov r14, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x58]
mov qword [rax], rbp
mov qword [rax + 0x10], 2
jmp 0x14004ed2e
lea rbp, str.nul_byte_found_in_provided_data
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14004dbf1
mov r8d, 1
mov rcx, qword [rsp + 0x98]
call sym.__rust_dealloc
jmp 0x14004dbf1
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14004dc87
mov r8d, 1
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
lea rdi, [0x1400a6500]
jmp 0x14004c329
cmp r12, rsi
jb 0x14004efcb
test r15d, r15d
mov r14, qword [rsp + 0x60]
je 0x14004e08b
lea rdi, [rsi + rsi]
mov rax, qword [0x1400c3468]
movzx eax, byte [rax]
mov edx, 2
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x14004eff7
mov rbx, rax
jmp 0x14004e092
xor esi, esi
lea rcx, [rsp + 0x270]
call dbg.drop_in_place<alloc::collections::btree::map::IntoIter<std::sys::windows::process::EnvKey, std::ffi::os_str::OsString, alloc::alloc::Global>>
mov r12d, r15d
cmp rdi, qword [rsp + 0x158]
jne 0x14004dd14
xor esi, esi
lea rcx, [rsp + 0x150]
mov rdx, rdi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rbp, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
mov word [rbp + rdi*2], 0
mov rax, qword [rsp + 0x150]
test rax, rax
mov r14, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x78]
je 0x14004dc2c
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x90]
cmp byte [rcx + 0x88], 2
mov qword [rsp + 0x98], rax
je 0x14004d544
mov rax, qword [rcx + 0x70]
mov rcx, qword [rcx + 0x80]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x14004dd85
xor r10d, r10d
test r8w, r8w
je 0x14004de39
mov r8w, 1
test r10w, r10w
jne 0x14004dd78
cmp rdx, rcx
je 0x14004de55
movzx r10d, byte [rdx]
test r10b, r10b
js 0x14004ddad
inc rdx
mov r9d, r10d
jmp 0x14004de2e
mov r9d, r10d
and r9d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x14004ddf7
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x14004de04
movzx r10d, byte [rdx + 3]
add rdx, 4
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r9d, r10d
jmp 0x14004de0f
add rdx, 2
shl r9d, 6
or r9d, esi
jmp 0x14004de2e
add rdx, 3
shl r9d, 0xc
or r9d, r11d
cmp r9d, 0xffff
jbe 0x14004de2e
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x14004dd7b
xor r10d, r10d
mov r8d, r9d
jmp 0x14004dd7b
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x14004ed0b
mov qword [rsp + 0x220], rbp
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0x270]
call dbg.from_iter<u16, std::sys_common::wtf8::EncodeWide>
mov rbp, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
cmp rdx, rbp
jne 0x14004debe
lea rcx, [rsp + 0xa0]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rbp, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xa0]
mov word [r15 + rdx*2], 0
mov qword [rsp + 0x1f8], r15
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], 0
lea rdi, [0x1400d1180]
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1400d1150]
shl rax, 1
test rax, rax
mov dword [rsp + 0x78], ebx
mov qword [rsp + 0x228], r15
je 0x14004df25
call dbg.is_zero_slow_path
mov esi, eax
xor sil, 1
jmp 0x14004df27
xor esi, esi
movzx ebx, byte [0x1400d1188]
xor eax, eax
test bl, bl
setne al
mov qword [rsp + 0x158], rdi
mov byte [rsp + 0x160], sil
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1c0], 0
mov dword [rsp + 0x260], 2
cmp byte [rsp + 0x198], 0
lea rcx, [rsp + 0x260]
mov rax, qword [rsp + 0x200]
cmovne rcx, rax
mov rdx, qword [rsp + 0x90]
cmp dword [rdx], 6
cmovne rcx, rdx
cmp dword [rdx + 0x10], 6
lea r15, [rdx + 0x10]
cmove r15, rax
lea rdi, [rdx + 0x20]
cmp dword [rdx + 0x20], 6
cmove rdi, rax
lea r8, [rsp + 0x1a0]
mov edx, 0xfffffff6
call dbg.to_handle
mov qword [rsp + 0x198], rdx
test rax, rax
je 0x14004dffb
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x198]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
jmp 0x14004ec4a
lea r8, [rsp + 0x1b0]
mov rcx, r15
mov edx, 0xfffffff5
call dbg.to_handle
mov r15, rdx
test rax, rax
je 0x14004e045
mov rax, qword [rsp + 0x58]
mov qword [rax], r15
mov qword [rax + 0x10], 2
jmp 0x14004ec3d
call sub.KERNEL32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
xor ebx, ebx
mov r14, qword [rsp + 0x60]
jmp 0x14004e0a0
lea r8, [rsp + 0x1c0]
mov rcx, rdi
mov edx, 0xfffffff4
call dbg.to_handle
mov rdi, rdx
test rax, rax
je 0x14004e71c
mov rax, qword [rsp + 0x58]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
jmp 0x14004ec35
mov ebx, 2
xor edi, edi
mov rcx, rbx
mov rdx, rbp
mov r8, rdi
call sym.memcpy
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14004e0bd
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x78]
call sym.__rust_dealloc
test rbx, rbx
je 0x14004e562
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rsi
mov qword [rsp + 0x160], rsi
lea rdi, str.cmd.exemaximum_number_of_ProcThreadAttributes_exceeded
mov qword [rsp + 0xc0], rdi
lea r12, [0x1400a6580]
mov qword [rsp + 0xc8], r12
mov word [rsp + 0xd0], 0
mov qword [rsp + 0xa0], 1
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 1
mov word [rsp + 0xb8], 0
xor r8d, r8d
lea rax, [rsp + 0x150]
mov qword [rsp + 0x88], rax
xor ecx, ecx
mov r13, rdi
jmp 0x14004e16d
xor r13d, r13d
mov ebp, ecx
mov word [rbx + rsi*2], r15w
inc rsi
mov qword [rsp + 0x160], rsi
mov r8, r14
mov ecx, ebp
mov r14, qword [rsp + 0x60]
test r13, r13
je 0x14004e225
test cx, cx
jne 0x14004e25f
cmp r13, r12
je 0x14004e219
lea rax, [r13 + 1]
mov qword [rsp + 0xc0], rax
movzx edx, byte [r13]
test dl, dl
jns 0x14004e2b5
mov r9d, edx
and r9d, 0x1f
lea rax, [r13 + 2]
mov qword [rsp + 0xc0], rax
movzx r11d, byte [r13 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14004e26d
lea rax, [r13 + 3]
mov qword [rsp + 0xc0], rax
movzx r10d, byte [r13 + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14004e279
lea rax, [r13 + 4]
mov qword [rsp + 0xc0], rax
movzx edx, byte [r13 + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x14004e283
mov qword [rsp + 0xc0], 0
cmp r8, 1
je 0x14004e322
lea r14, [r8 + 1]
mov qword [rsp + 0xa8], r14
movzx r15d, word [rsp + r8*2 + 0xb8]
cmp rsi, qword [rsp + 0x158]
jne 0x14004e14e
neg r8
mov ebp, ecx
xor r13d, r13d
jmp 0x14004e2f7
mov word [rsp + 0xd0], 0
xor ebp, ebp
jmp 0x14004e2bc
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x14004e2b5
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp edx, 0xffff
jbe 0x14004e2b5
lea ecx, [rdx + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and edx, 0x3ff
or edx, 0xdc00
mov word [rsp + 0xd0], dx
mov ebp, edx
mov r13, rax
jmp 0x14004e2bc
xor ebp, ebp
mov r13, rax
mov ecx, edx
cmp rsi, qword [rsp + 0x158]
jne 0x14004e317
mov rax, rdi
sub rax, r13
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r14, r8
shr rdx, 1
cmp bp, 1
adc r8, 0xffffffffffffffff
sub rdx, r8
inc rdx
mov r15d, ecx
mov r8, rdx
inc r8
lea rcx, [rsp + 0x150]
mov rdx, rsi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
mov rbx, qword [rsp + 0x150]
jmp 0x14004e153
mov r15d, ecx
mov r14, r8
jmp 0x14004e153
mov rcx, qword [rsp + 0x150]
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x68], rax
test rcx, rcx
je 0x14004e569
mov al, 1
test al, al
mov qword [rsp + 0x88], rcx
je 0x14004efdf
mov rax, qword [rsp + 0x90]
mov rsi, qword [rax + 0x90]
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x78], rcx
movzx eax, byte [rax + 0xc5]
mov byte [rsp + 0x98], al
mov rax, qword [0x1400c3468]
movzx eax, byte [rax]
mov ecx, 0xc
mov edx, 2
call sym.__rust_alloc
test rax, rax
je 0x14004efe6
mov ecx, 6
mov word [rax], 0x63
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], rcx
mov qword [rsp + 0x280], 1
lea r12, [0x1400a5d83]
mov edi, 1
xor r15d, r15d
lea r13, [0x1400a5d91]
lea rbp, [0x1400a5d82]
lea rbx, [rsp + 0x270]
jmp 0x14004e405
mov rax, qword [rsp + 0x270]
mov word [rax + rdi*2], r15w
inc rdi
mov qword [rsp + 0x280], rdi
mov r15d, r14d
test r15w, r15w
jne 0x14004e4cc
cmp r12, r13
je 0x14004e514
movzx r15d, byte [r12]
test r15b, r15b
js 0x14004e42a
inc r12
jmp 0x14004e4cc
mov ecx, r15d
and ecx, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp r15b, 0xdf
jbe 0x14004e482
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r15b, 0xf0
jb 0x14004e491
movzx r15d, byte [r12 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r15d, 0x3f
or r15d, edx
or r15d, ecx
cmp r15d, 0x110000
je 0x14004e514
add r12, 4
jmp 0x14004e49d
add r12, 2
shl ecx, 6
or ecx, r8d
mov r15d, ecx
jmp 0x14004e4cc
add r12, 3
shl ecx, 0xc
or edx, ecx
mov r15d, edx
cmp r15d, 0xffff
jbe 0x14004e4cc
lea ecx, [r15 + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and r15d, 0x3ff
or r15d, 0xdc00
mov r14d, r15d
mov r15d, ecx
jmp 0x14004e4cf
xor r14d, r14d
cmp rdi, qword [rsp + 0x278]
jne 0x14004e3f2
mov rax, rbp
sub rax, r12
add rax, 0x11
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
cmp r14w, 1
sbb rdx, 0
lea r8, [rdx + 2]
mov rcx, rbx
mov rdx, rdi
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
jmp 0x14004e3ea
mov rdi, qword [rsp + 0x280]
mov qword [rsp + 0xb0], rdi
movdqu xmm0, xmmword [rsp + 0x270]
movdqa xmmword [rsp + 0xa0], xmm0
cmp rdi, qword [rsp + 0xa8]
jne 0x14004e580
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r8, qword [rsp + 0x80]
mov rdi, qword [rsp + 0xb0]
jmp 0x14004e588
mov r13, qword [rsp + 0x70]
jmp 0x14004e573
mov r13, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
mov qword [rax], rsi
jmp 0x14004d4e5
mov r8, qword [rsp + 0x80]
mov r14, qword [rsp + 0xa0]
mov word [r14 + rdi*2], 0x22
inc rdi
mov qword [rsp + 0xb0], rdi
lea rax, [r8 + r8]
xor ecx, ecx
lea r13, str.Windows_file_names_may_not_contain_____or_end_with___
mov rdx, qword [rsp + 0x70]
cmp rax, rcx
je 0x14004e5c9
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x14004e5b4
jmp 0x14004eb62
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + r8*2 - 2]
cmp ax, 0x5c
je 0x14004eb62
lea rbx, [r8 - 1]
xor r12d, r12d
test ax, ax
mov rax, qword [rsp + 0x70]
cmove r12, rax
test r12, r12
cmove rbx, r8
cmove r12, rax
mov r13, qword [rsp + 0xa8]
mov rax, r13
sub rax, rdi
cmp rax, rbx
jae 0x14004e63a
lea rcx, [rsp + 0xa0]
mov rdx, rdi
mov r8, rbx
call dbg.do_reserve_and_handle<core::mem::maybe_uninit::MaybeUninit<u16>, alloc::alloc::Global>
mov rdi, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
lea r8, [rbx + rbx]
lea rcx, [r14 + rdi*2]
mov rdx, r12
call sym.memcpy
add rdi, rbx
mov qword [rsp + 0xb0], rdi
cmp rdi, r13
jne 0x14004e67a
lea rcx, [rsp + 0xa0]
mov rdx, r13
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r14, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
lea rax, [rdi + 1]
mov word [r14 + rdi*2], 0x22
mov qword [rsp + 0xb0], rax
cmp byte [rsp + 0x98], 0
je 0x14004eaa0
mov rax, qword [rsp + 0x78]
shl rax, 3
lea rbx, [rax + rax*4]
lea rdi, [rsp + 0xa0]
mov r14, qword [rsp + 0x60]
test rbx, rbx
je 0x14004ebc6
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x14004e6e0
mov rcx, rdi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xb0], rdx
mov rcx, rdi
mov rdx, rsi
mov r8b, 1
call dbg.append_arg
mov r13, rax
add rsi, 0x28
add rbx, 0xffffffffffffffd8
test rax, rax
je 0x14004e6b5
jmp 0x14004eb62
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd4], xmm0
movdqu xmmword [rsp + 0xc8], xmm0
movdqu xmmword [rsp + 0xb8], xmm0
movdqu xmmword [rsp + 0xa8], xmm0
movdqu xmmword [rsp + 0xe8], xmm0
movdqu xmmword [rsp + 0xf8], xmm0
test rdi, rdi
jne 0x14004e76b
test r15, r15
jne 0x14004e76b
cmp qword [rsp + 0x198], 0
je 0x14004e796
mov dword [rsp + 0xdc], 0x100
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], r15
mov qword [rsp + 0x100], rdi
mov rdx, qword [rsp + 0x90]
mov rax, qword [rdx + 0xb8]
test rax, rax
mov qword [rsp + 0x258], rax
je 0x14004e8bb
add rdx, 0xa8
mov dword [rsp + 0xa0], 0x70
lea rcx, [rsp + 0x208]
call dbg.make_proc_thread_attribute_list
mov rdx, qword [rsp + 0x208]
mov rcx, qword [rsp + 0x210]
test rdx, rdx
je 0x14004ec1d
mov qword [rsp + 0x90], rcx
or r12d, 0x80000
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x2d0], rax
movups xmm0, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x2c0], xmm0
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x2b0], xmm0
movdqu xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movups xmm2, xmmword [rsp + 0xc0]
movups xmm3, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x2a0], xmm3
movaps xmmword [rsp + 0x290], xmm2
movaps xmmword [rsp + 0x280], xmm1
movdqa xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x250], rdx
mov qword [rsp + 0x2d8], rdx
lea rax, [rsp + 0x270]
jmp 0x14004e8ce
mov r13, rax
movdqu xmm6, xmmword [rsp + 0x278]
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x14004cf6f
mov r8d, 1
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
jmp 0x14004cf6f
mov dword [rsp + 0xa0], 0x68
lea rax, [rsp + 0xa0]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x130]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r12d
mov r12, rdx
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 0x14004ea5a
movups xmm0, xmmword [rsp + 0x1a0]
movups xmm1, xmmword [rsp + 0x1b0]
movups xmm2, xmmword [rsp + 0x1c0]
mov rax, qword [rsp + 0x58]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movdqa xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rax], xmm0
cmp qword [rsp + 0x258], 0
je 0x14004e983
mov rcx, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x90]
call sym.core::ptr::drop_in_place_std::sys::windows::process::ProcThreadAttributeList_::hd84cffc6409a1008
mov rcx, rdi
call fcn.14009af44
mov rcx, r15
call fcn.14009af44
mov rcx, qword [rsp + 0x198]
call fcn.14009af44
lea rcx, [rsp + 0x150]
mov ebx, dword [rsp + 0x78]
call sym._ZN4core3ptr178drop_in_place_LT_core..result..Result_LT_std..sync..mutex..MutexGuard_LT__LP__RP__GT__C_std..sync..poison..Pois
test rbp, rbp
je 0x14004e9cf
add rbp, rbp
mov r8d, 2
mov rcx, qword [rsp + 0x1f8]
mov rdx, rbp
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14004e9f2
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x98]
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x14004ea10
add rdx, rdx
mov r8d, 2
mov rcx, r12
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14004ea30
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
test r14, r14
sete al
or bl, al
cmp bl, 1
je 0x14004c4e1
add r14, r14
mov r8d, 2
mov rcx, r13
mov rdx, r14
call sym.__rust_dealloc
jmp 0x14004c4e1
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
cmp qword [rsp + 0x258], 0
je 0x14004ec2d
mov rcx, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x90]
call sym.core::ptr::drop_in_place_std::sys::windows::process::ProcThreadAttributeList_::hd84cffc6409a1008
jmp 0x14004ec2d
mov rax, qword [rsp + 0x78]
lea rax, [rax + rax*4]
lea r15, [rsi + rax*8]
lea rdi, [rsp + 0xa0]
lea rbx, str._t____________
mov r14, qword [rsp + 0x60]
cmp rsi, r15
je 0x14004ebc6
mov rdx, qword [rsp + 0xb0]
cmp rdx, qword [rsp + 0xa8]
jne 0x14004eaec
mov rcx, rdi
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xb0], rdx
cmp qword [rsi], 0
je 0x14004eb0f
xor ebp, ebp
jmp 0x14004eb3f
mov r14, qword [rsi + 8]
mov r12, qword [rsi + 0x18]
xor r13d, r13d
cmp r12, r13
setne bpl
je 0x14004eb3f
movzx ecx, byte [r14 + r13]
mov r8d, 0x16
mov rdx, rbx
call sym.core::slice::memchr::memchr_aligned::he1f2d4bfbe74eb29
inc r13
cmp rax, 1
jne 0x14004eb1a
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
mov r14, qword [rsp + 0x60]
call dbg.append_arg
mov r13, rax
add rsi, 0x28
test rax, rax
je 0x14004eac1
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x14004eb85
mov rcx, qword [rsp + 0xa0]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rax, qword [rsp + 0x58]
mov qword [rax], r13
mov qword [rax + 0x10], 2
mov rdx, qword [rsp + 0x68]
test rdx, rdx
mov r14, qword [rsp + 0x60]
je 0x14004ebba
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
xor esi, esi
mov r13, qword [rsp + 0x70]
jmp 0x14004d4ef
mov rdi, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
cmp rdx, rdi
jne 0x14004ebf8
lea rcx, [rsp + 0xa0]
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rdi, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa0]
mov word [rax + rdx*2], 0x22
inc rdx
xor ebx, ebx
jmp 0x14004d3f6
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
mov rcx, rdi
call fcn.14009af44
mov rcx, r15
call fcn.14009af44
mov rcx, qword [rsp + 0x198]
call fcn.14009af44
cmp qword [rsp + 0x1a0], 0
je 0x14004ec62
mov rcx, qword [rsp + 0x1a8]
call fcn.14009af44
cmp qword [rsp + 0x1b0], 0
je 0x14004ec7a
mov rcx, qword [rsp + 0x1b8]
call fcn.14009af44
cmp qword [rsp + 0x1c0], 0
je 0x14004ec92
mov rcx, qword [rsp + 0x1c8]
call fcn.14009af44
movabs rax, 0x7fffffffffffffff
test bl, bl
je 0x14004ecbc
test sil, sil
mov ebx, dword [rsp + 0x78]
jne 0x14004ece1
mov rcx, qword [0x1400d1150]
test rcx, rax
je 0x14004ece1
call dbg.is_zero_slow_path
jmp 0x14004ecd6
test sil, sil
mov ebx, dword [rsp + 0x78]
jne 0x14004ece1
mov rcx, qword [0x1400d1150]
test rcx, rax
je 0x14004ece1
call dbg.is_zero_slow_path
test al, al
jne 0x14004ece1
mov byte [0x1400d1188], 1
lea rcx, [0x1400d1180]
call fcn.14009ad14
test rbp, rbp
je 0x14004ed0b
add rbp, rbp
mov r8d, 2
mov rcx, qword [rsp + 0x1f8]
mov rdx, rbp
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14004ed2e
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x98]
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x14004ed51
mov rcx, qword [rsp + 0x110]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14004ed71
add rdx, rdx
mov r8d, 2
mov rcx, qword [rsp + 0x88]
call sym.__rust_dealloc
mov sil, 1
test bl, bl
jne 0x14004c4e1
jmp 0x14004d4ef
mov rbp, qword [rsp + 0x98]
jmp 0x14004dbf1
lea rcx, [0x1400a2360]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call dbg.panic
jmp 0x14004f004
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rsi
mov rdx, r12
call dbg.slice_end_index_len_fail
jmp 0x14004f004
call dbg.capacity_overflow
jmp 0x14004f004
mov ecx, 2
mov edx, 0xc
call dbg.handle_alloc_error
jmp 0x14004f004
mov ecx, 2
mov rdx, rdi
call dbg.handle_alloc_error
ud2