Function at 0x14003b150
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Encode data using base64
Get common file path
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x658
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x5c0], xmm6
mov qword [rbp + 0x488], r8
mov rsi, rdx
mov qword [rbp + 0x4d8], rcx
movzx eax, byte [rdx + 0xa0]
mov rdi, qword [rdx + 0x98]
test al, al
mov qword [rbp + 0x4f0], rdx
jne 0x14003b1bc
test rdi, rdi
jne 0x14003b1bc
mov qword [rbp + 0x3e8], 0
lea rax, [rbp + 0x3f0]
xor r13d, r13d
jmp 0x14003bdc7
mov qword [rbp + 0x4b0], 0
mov qword [rbp + 0x4c0], 0
test al, al
jne 0x14003b3cb
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x14003eff7
mov qword [rbp + 0x5b0], rdi
lea rdi, [rbp + 0x500]
mov qword [rbp + 0x5b8], rax
mov r14, rax
cmp word [r14], 0
je 0x14003b3b1
mov r13, r14
mov r12, 0xffffffffffffffff
mov rcx, 0xfffffffffffffffe
nop dword [rax]
mov rax, rcx
cmp word [r13 + r12*2 + 2], 0
lea r12, [r12 + 1]
lea rcx, [rcx + 2]
jne 0x14003b220
lea r14, [r12*2 + 2]
add r14, r13
cmp r12, 1
je 0x14003b200
test r12, r12
je 0x14003eede
xor esi, esi
nop word cs:[rax + rax]
cmp word [r13 + rsi*2 + 2], 0x3d
je 0x14003b280
inc rsi
add rax, 0xfffffffffffffffe
jne 0x14003b260
jmp 0x14003b200
lea r8, [rsi + 1]
cmp rsi, r12
jae 0x14003ef13
mov rcx, rdi
mov rdx, r13
call fcn.1400189b0
add rsi, 2
mov r8, r12
sub r8, rsi
jb 0x14003ef2d
lea rdx, [rsi*2]
add rdx, r13
lea rcx, [rbp - 0x30]
call fcn.1400189b0
mov rbx, qword [rbp + 0x500]
mov rsi, qword [rbp + 0x508]
movdqu xmm6, xmmword [rbp + 0x510]
mov r13, qword [rbp - 0x30]
mov r12, qword [rbp - 0x28]
lea rax, [rbp - 0x10]
movups xmm0, xmmword [rax - 0x10]
movaps xmmword [rbp + 0x580], xmm0
movabs rax, 0x8000000000000000
cmp rbx, rax
je 0x14003b3b1
movq rax, xmm6
add rax, rsi
mov qword [rbp + 0x500], rsi
mov qword [rbp + 0x508], rax
mov word [rbp + 0x510], 0
lea r15, [rbp + 0x420]
mov rcx, r15
mov rdx, rdi
call fcn.14003f6a0
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rsi
movdqu xmmword [rbp - 0x20], xmm6
mov rax, qword [rbp + 0x430]
lea rcx, [rbp - 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbp + 0x420]
movups xmmword [rcx], xmm0
mov qword [rbp + 0x500], r13
mov qword [rbp + 0x508], r12
movaps xmm0, xmmword [rbp + 0x580]
lea rax, [rbp + 0x510]
movups xmmword [rax], xmm0
mov rcx, r15
lea rdx, [rbp + 0x4b0]
lea r8, [rbp - 0x30]
mov r9, rdi
call fcn.14003f8a0
mov rax, qword [rbp + 0x420]
shl rax, 1
test rax, rax
je 0x14003b200
mov rcx, qword [rbp + 0x428]
mov edx, 1
call fcn.1400014a0
jmp 0x14003b200
mov rcx, qword [rbp + 0x5b8]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov rsi, qword [rbp + 0x4f0]
mov rdi, qword [rbp + 0x5b0]
mov rax, qword [rsi + 0x88]
mov rcx, qword [rsi + 0x90]
mov qword [rbp + 0x5b8], rcx
xor ecx, ecx
test rax, rax
setne cl
mov qword [rbp + 0x4e0], rcx
cmove rdi, rax
mov qword [rbp + 0x5b0], rdi
xor ecx, ecx
mov qword [rbp + 0x5a8], rcx
xor r13d, r13d
jmp 0x14003b412
xor eax, eax
mov r9, qword [rbp + 0x5b0]
test r9, r9
je 0x14003bc0c
cmp qword [rbp + 0x4e0], 0
je 0x14003eddb
test r13, r13
mov r15, qword [rbp + 0x5b8]
jne 0x14003b4e3
mov ecx, 1
mov qword [rbp + 0x4e0], rcx
test r15, r15
je 0x14003b484
mov rdx, r15
and rdx, 7
je 0x14003b489
mov rcx, r15
and rcx, 0xfffffffffffffff8
mov r13, rax
nop word cs:[rax + rax]
mov r13, qword [r13 + 0x3d8]
dec rdx
jne 0x14003b470
cmp r15, 8
jae 0x14003b4a0
jmp 0x14003b4de
mov r13, rax
jmp 0x14003b4de
mov r13, rax
mov rcx, r15
cmp r15, 8
jb 0x14003b4de
nop word cs:[rax + rax]
mov rax, qword [r13 + 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 r13, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14003b4a0
xor r15d, r15d
xor eax, eax
movzx ecx, word [r13 + 0x3d2]
cmp r15, rcx
jae 0x14003b500
mov r12, r13
jmp 0x14003b529
mov r12, qword [r13 + 0x160]
test r12, r12
je 0x14003e8fa
inc rax
movzx r15d, word [r13 + 0x3d0]
mov r13, r12
cmp r15w, word [r12 + 0x3d2]
jae 0x14003b500
lea rsi, [r15 + 1]
test rax, rax
je 0x14003b5d0
lea rdx, [r12 + rsi*8]
add rdx, 0x3d8
mov r8, rax
and r8, 7
je 0x14003b6a0
mov rcx, rax
and rcx, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov r13, qword [rdx]
lea rdx, [r13 + 0x3d8]
dec r8
jne 0x14003b560
cmp rax, 8
jb 0x14003b5c1
nop word cs:[rax + rax]
mov rax, qword [rdx]
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 r13, qword [rax + 0x3d8]
lea rdx, [r13 + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14003b580
xor esi, esi
jmp 0x14003b5d3
mov r13, r12
dec r9
mov qword [rbp + 0x5b0], r9
imul rax, r15, 0x38
lea r14, [r12 + rax]
add r14, 0x168
shl r15, 5
movabs rax, 0x8000000000000000
cmp qword [r12 + r15], rax
mov qword [rbp + 0x5b8], rsi
jne 0x14003b660
mov rdi, qword [rbp + 0x4b0]
mov eax, 0
test rdi, rdi
je 0x14003b412
mov r9, qword [r14 + 0x28]
mov rax, qword [r14 + 0x30]
mov rsi, qword [rbp + 0x4b8]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x580]
mov rdx, rdi
mov r8, rsi
call fcn.140040960
cmp qword [rbp + 0x580], 0
je 0x14003b80e
xor eax, eax
jmp 0x14003b412
mov rdi, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x14003b6b2
js 0x14003ee87
movzx eax, byte [0x1401c90e8]
mov rbx, r8
mov rcx, r8
call fcn.140045e10
test rax, rax
je 0x14003ee79
mov r8, rbx
jmp 0x14003b6b7
mov rcx, rax
cmp rax, 8
jae 0x14003b580
jmp 0x14003b5c1
mov eax, 1
mov qword [rbp + 0x570], rax
mov rcx, rax
mov rdx, rdi
mov qword [rbp + 0x4d0], r8
call sub.msvcrt.dll_memcpy
movzx edi, byte [r14 + 0x18]
mov rdx, qword [r14 + 0x28]
mov rsi, qword [r14 + 0x30]
test rsi, rsi
je 0x14003b721
mov qword [rbp + 0x578], rdx
mov rax, rsi
shr rax, 0x3e
lea r14, [rsi + rsi]
test rax, rax
jne 0x14003eeaa
movzx eax, byte [0x1401c90e8]
mov rcx, r14
call fcn.140045e10
test rax, rax
je 0x14003ee9e
mov rbx, rax
mov rdx, qword [rbp + 0x578]
jmp 0x14003b729
mov ebx, 2
xor r14d, r14d
add r12, r15
mov rcx, rbx
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 0x4d0]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x570]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
mov byte [rbp - 0x18], dil
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rbx
mov qword [rbp], rsi
mov rdi, qword [r12 + 8]
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x14003b793
js 0x14003eeca
movzx eax, byte [0x1401c90e8]
mov rcx, rsi
call fcn.140045e10
test rax, rax
je 0x14003eebe
mov rbx, rax
jmp 0x14003b798
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx eax, byte [r12 + 0x18]
mov qword [rbp + 0x500], rsi
mov qword [rbp + 0x508], rbx
mov qword [rbp + 0x510], rsi
mov byte [rbp + 0x518], al
lea rcx, [rbp + 0x420]
lea rdx, [rbp + 0x4b0]
lea r8, [rbp - 0x30]
lea r9, [rbp + 0x500]
call fcn.14003f8a0
mov rax, qword [rbp + 0x420]
shl rax, 1
test rax, rax
je 0x14003b410
mov rcx, qword [rbp + 0x428]
mov edx, 1
call fcn.1400014a0
jmp 0x14003b410
mov rax, qword [rbp + 0x588]
mov rdx, qword [rbp + 0x590]
mov rcx, qword [rbp + 0x598]
mov byte [rbp + 0x3d8], 0
test rdx, rdx
je 0x14003b9a3
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x14003b90e
mov r8, rcx
and r8, 7
je 0x14003b87e
mov rcx, r8
nop word cs:[rax + rax]
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x14003b860
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x14003b90e
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 0x14003b890
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rbp + 0x490], rax
mov qword [rbp + 0x498], 0
mov qword [rbp + 0x4a0], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x490]
lea r8, [rbp + 0x3d8]
call fcn.140040ac0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x470], rax
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x460], xmm0
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movups xmm2, xmmword [rbp - 0x10]
movups xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x450], xmm3
movaps xmmword [rbp + 0x440], xmm2
movaps xmmword [rbp + 0x430], xmm1
movaps xmmword [rbp + 0x420], xmm0
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x14003b9d8
mov rcx, rdx
jmp 0x14003ba09
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], 0
mov qword [rbp + 0x510], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x500]
lea r8, [rbp + 0x3d8]
call fcn.140040ac0
jmp 0x14003baf9
mov r8, qword [rbp + 0x30]
nop dword [rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x14003ba04
inc r8
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x14003b9e0
jmp 0x14003ba09
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rbp + 0x530], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rbp + 0x520], xmm2
movaps xmmword [rbp + 0x510], xmm1
movaps xmmword [rbp + 0x500], xmm0
mov r8, qword [rbp + 0x450]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rbp + 0x420]
movaps xmm1, xmmword [rbp + 0x430]
movaps xmm2, xmmword [rbp + 0x440]
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, [rbp + 0x538]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rbp + 0x458]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x500]
movaps xmm1, xmmword [rbp + 0x510]
movaps xmm2, xmmword [rbp + 0x520]
movaps xmm3, xmmword [rbp + 0x530]
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x10], xmm2
movaps xmmword [rbp], xmm3
movaps xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x10], xmm0
mov rax, qword [rbp + 0x550]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x550], rax
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x540], xmm0
movaps xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
movaps xmm2, xmmword [rbp - 0x10]
movaps xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x530], xmm3
movaps xmmword [rbp + 0x520], xmm2
dec qword [rbp + 0x4c0]
movaps xmmword [rbp + 0x510], xmm1
movaps xmmword [rbp + 0x500], xmm0
cmp byte [rbp + 0x3d8], 0
je 0x14003bb84
test rsi, rsi
je 0x14003ef44
mov rax, qword [rdi + 0x3d8]
mov qword [rbp + 0x4b0], rax
dec rsi
mov qword [rbp + 0x4b8], rsi
mov qword [rax + 0x160], 0
mov edx, 8
mov rcx, rdi
call fcn.1400014a0
mov rdx, qword [rbp + 0x500]
mov rcx, qword [rbp + 0x508]
mov r14, qword [rbp + 0x520]
mov rdi, qword [rbp + 0x528]
mov rbx, qword [rbp + 0x538]
mov rsi, qword [rbp + 0x540]
mov eax, 0
movabs r8, 0x8000000000000000
cmp rdx, r8
je 0x14003b412
test rdx, rdx
je 0x14003bbd5
mov edx, 1
call fcn.1400014a0
test r14, r14
je 0x14003bbe7
mov edx, 2
mov rcx, rdi
call fcn.1400014a0
shl rbx, 1
mov eax, 0
test rbx, rbx
je 0x14003b412
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
xor eax, eax
jmp 0x14003b412
mov rax, qword [rbp + 0x4c0]
mov qword [rbp + 0x400], rax
movups xmm0, xmmword [rbp + 0x4b0]
movups xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x3e8], 1
movzx eax, byte [0x1401c90e8]
mov ecx, 4
call fcn.140045e10
test rax, rax
je 0x14003ef7e
mov r14, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rbp + 0x500], r14
mov qword [rbp + 0x508], rax
mov word [rbp + 0x510], 0
lea rcx, [rbp + 0x420]
lea rdx, [rbp + 0x500]
call fcn.14003f6a0
mov qword [rbp - 0x30], 4
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], 4
mov qword [rbp - 0x18], 0
movups xmm0, xmmword [rbp + 0x420]
movups xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp + 0x430]
mov qword [rbp], rax
mov r12, qword [rbp + 0x3f0]
mov rbx, qword [rbp - 8]
test r12, r12
mov rsi, qword [rbp + 0x4f0]
je 0x14003bd9c
mov qword [rbp + 0x5b8], r14
mov r15d, dword [rbp]
mov r13, qword [rbp + 0x3f8]
lea rcx, [r12 + 0x168]
movzx eax, word [r12 + 0x3d2]
mov qword [rbp + 0x5b0], rax
imul rsi, rax, 0x38
mov r14, 0xffffffffffffffff
nop word cs:[rax + rax]
test rsi, rsi
je 0x14003bd50
lea rdi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rbx
mov edx, r15d
call sub.kernel32.dll_CompareStringOrdinal
add rsi, 0xffffffffffffffc8
inc r14
mov rcx, rdi
cmp eax, 3
je 0x14003bd10
cmp eax, 1
jne 0x14003bd75
jmp 0x14003bd57
mov r14, qword [rbp + 0x5b0]
mov rsi, qword [rbp + 0x4f0]
sub r13, 1
jb 0x14003c236
mov r12, qword [r12 + r14*8 + 0x3d8]
jmp 0x14003bce3
cmp eax, 2
mov rsi, qword [rbp + 0x4f0]
jne 0x14003edf4
shl r14, 5
mov r13, qword [r12 + r14 + 8]
mov rdi, qword [r12 + r14 + 0x10]
mov r14, qword [rbp + 0x5b8]
jmp 0x14003bd9f
xor r13d, r13d
mov edx, 1
mov rcx, r14
call fcn.1400014a0
cmp qword [rbp - 0x10], 0
je 0x14003bdc0
mov edx, 2
mov rcx, rbx
call fcn.1400014a0
lea rax, [rbp + 0x3f0]
mov rcx, qword [rsi + 0x10]
lea rbx, str.program_path_has_no_file_name
test rcx, rcx
je 0x14003c0e5
mov r12, qword [rsi + 8]
mov qword [rbp + 0x5b0], rcx
cmp rcx, 4
mov qword [rbp + 0x4d0], rax
jae 0x14003bdfc
lea rax, [0x1400414a0]
jmp 0x14003be26
mov eax, dword [r12]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x140041490]
lea rax, [0x1400414a0]
cmove rax, rcx
mov rcx, qword [rbp + 0x5b0]
movzx esi, byte [rcx + r12 - 1]
mov ecx, esi
call rax
test al, al
jne 0x14003c0e5
movabs r15, 0x8000000000000000
mov rbx, qword [rbp + 0x5b0]
lea rdx, [r12 + rbx]
cmp rbx, 3
mov qword [rbp + 0x4e0], rdx
jbe 0x14003bebb
movzx eax, byte [rdx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14003bedd
movzx eax, byte [rdx - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14003bedd
movzx eax, byte [rdx - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14003bedd
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14003bedf
xor eax, eax
nop dword [rax]
cmp rbx, rax
je 0x14003c003
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x14003bf42
inc rax
cmp ecx, 0x5c
jne 0x14003bec0
jmp 0x14003bf42
xor eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
cmp rbx, rcx
je 0x14003c003
movzx edx, byte [r12 + rcx]
cmp edx, 0x2f
je 0x14003bf0b
inc rcx
cmp edx, 0x5c
jne 0x14003bef0
test al, al
je 0x14003bf42
lea rcx, [rbp - 0x30]
mov rdx, r12
mov r8, rbx
call fcn.1400364c0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
cmp rcx, r15
jne 0x14003c211
mov qword [rbp + 0x4b8], rax
mov qword [rbp + 0x4b0], r15
jmp 0x14003cc94
test rbx, rbx
js 0x14003f06a
movzx eax, byte [0x1401c90e8]
mov rcx, rbx
call fcn.140045e10
test rax, rax
je 0x14003ef8a
mov rsi, rax
mov rcx, rax
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rbp - 0x30]
mov r8d, 4
call fcn.1400380d0
mov rbx, qword [rbp - 0x30]
mov rsi, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
lea rcx, [rbp + 0x500]
mov rdx, rsi
mov r8, rdi
call fcn.1400415a0
cmp qword [rbp + 0x500], r15
jne 0x14003c18e
mov rcx, rsi
mov rdx, rdi
call fcn.14003a630
test rax, rax
je 0x14003cc36
cmp rdx, 2
jne 0x14003c1af
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x14003c1af
mov r8d, 2
xor ecx, ecx
jmp 0x14003cbe9
xor r8d, r8d
lea r11, str.nul_byte_found_in_provided_data
mov rax, r12
jmp 0x14003c02c
xor r8d, r8d
test cx, cx
je 0x14003c0e2
mov cx, 1
test r8w, r8w
jne 0x14003c020
cmp rax, qword [rbp + 0x4e0]
je 0x14003c1ea
movzx edx, byte [rax]
test dl, dl
js 0x14003c04f
inc rax
jmp 0x14003c0ae
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14003c0a0
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14003c0b8
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 0x14003c0ae
jmp 0x14003c0ce
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x14003c023
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x14003c0ae
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14003c023
mov rbx, r11
mov rdx, rbx
mov rax, qword [rbp + 0x4d8]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
cmp qword [rbp + 0x3e8], 0
je 0x14003c15e
mov rcx, qword [rbp + 0x3f0]
test rcx, rcx
je 0x14003c145
mov rdx, qword [rbp + 0x3f8]
mov rax, qword [rbp + 0x400]
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rdx
mov qword [rbp - 8], 0
mov qword [rbp], rcx
mov qword [rbp + 8], rdx
mov ecx, 1
jmp 0x14003c149
xor ecx, ecx
xor eax, eax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x10], rcx
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x30]
call fcn.140041ad0
mov rax, qword [rbp + 0x488]
cmp dword [rax], 4
jb 0x14003c173
mov rcx, qword [rax + 8]
call sub.kernel32.dll_CloseHandle
movaps xmm6, xmmword [rbp + 0x5c0]
add rsp, 0x658
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp + 0x510]
mov qword [rbp + 0x4c0], rax
movups xmm0, xmmword [rbp + 0x500]
movaps xmmword [rbp + 0x4b0], xmm0
jmp 0x14003cc82
mov r8, rdx
nop word cs:[rax + rax]
test r8, r8
je 0x14003c23e
mov r9, r8
dec r8
cmp byte [rax + r9 - 1], 0x2e
jne 0x14003c1c0
test r8, r8
je 0x14003cbe4
sub rdx, r9
mov rcx, rax
add rcx, r9
jmp 0x14003cbe9
cmp rbx, 0xf
ja 0x14003c24b
xor eax, eax
mov qword [rbp + 0x570], rax
xor eax, eax
nop dword [rax + rax]
cmp byte [r12 + rax], 0x2e
je 0x14003c25a
inc rax
cmp rbx, rax
jne 0x14003c200
jmp 0x14003c266
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
lea rcx, [rbp + 0x4b0]
lea rdx, [rbp - 0x30]
call fcn.1400414c0
jmp 0x14003cc94
xor r13d, r13d
jmp 0x14003bd93
mov rcx, rax
mov r8, rdx
xor eax, eax
jmp 0x14003cbe9
mov cl, 0x2e
mov rdx, r12
mov r8, rbx
call fcn.1400076c0
jmp 0x14003c25f
mov eax, 1
mov qword [rbp + 0x570], rax
test r13, r13
je 0x14003c2a9
add rdi, r13
mov qword [rbp + 0x500], r13
mov qword [rbp + 0x508], rdi
mov word [rbp + 0x510], 0
mov byte [rbp + 0x518], 1
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x500]
call fcn.140037e90
mov rax, qword [rbp - 0x30]
cmp rax, r15
jne 0x14003c87a
mov qword [rbp + 0x578], r12
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5b8], rax
xor r12d, r12d
xor r15d, r15d
xor ebx, ebx
cmp r8, 0x201
jb 0x14003c30f
jmp 0x14003c320
jae 0x14003c3dc
cmp r8, 0x201
jae 0x14003c320
mov r14d, 0x200
lea r13, [rbp - 0x30]
mov rdi, r8
jmp 0x14003c377
sub r8, rbx
sub r15, rbx
cmp r8, r15
jbe 0x14003c34f
lea rcx, [rbp + 0x580]
mov rdx, rbx
call fcn.14001a070
mov r12, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x5b8], rax
mov eax, 0xffffffff
cmp r12, rax
mov ebx, 0xffffffff
cmovb rbx, r12
mov qword [rbp + 0x590], rbx
mov r15, r12
mov r14, rbx
mov r13, qword [rbp + 0x5b8]
mov rdi, rbx
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, r13
mov r8d, edi
call sub.kernel32.dll_GetModuleFileNameW
mov esi, eax
test eax, eax
jne 0x14003c39e
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14003c4ae
mov r8d, esi
cmp rdi, r8
jne 0x14003c300
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003efa0
add rdi, rdi
mov eax, 0xffffffff
cmp rdi, rax
cmovae rdi, rax
mov r8, rdi
cmp r8, 0x201
jae 0x14003c320
jmp 0x14003c30f
cmp r14, r8
jb 0x14003f0bc
lea rcx, [rbp + 0x500]
mov rdx, r13
call fcn.1400189b0
movabs r15, 0x8000000000000000
mov r12, qword [rbp + 0x578]
movups xmm0, xmmword [rbp + 0x500]
movups xmm1, xmmword [rbp + 0x510]
movaps xmmword [rbp + 0x430], xmm1
movaps xmmword [rbp + 0x420], xmm0
cmp qword [rbp + 0x580], 0
je 0x14003c43c
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
mov rbx, qword [rbp + 0x420]
cmp rbx, r15
je 0x14003c4ee
mov rsi, qword [rbp + 0x428]
mov rdi, qword [rbp + 0x430]
mov r14, qword [rbp + 0x438]
mov rcx, rsi
mov rdx, rdi
call case.0x140039bc1.21
test rax, rax
je 0x14003e5f2
test rdx, rdx
je 0x14003e5ef
cmp rdi, rdx
jbe 0x14003e5e4
cmp byte [rsi + rdx], 0xbf
jg 0x14003e5ea
lea rcx, [0x1401c0bfa]
lea r8, str.library_std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov edx, 0x37
call fcn.140004ff0
jmp 0x14003f0ff
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x428], rax
movabs rax, 0x8000000000000000
mov qword [rbp + 0x420], rax
cmp qword [rbp + 0x580], 0
je 0x14003c4ee
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
lea rcx, [rbp + 0x428]
call fcn.140015c40
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5b8], rax
xor r15d, r15d
xor r12d, r12d
xor edi, edi
cmp r8, 0x201
jb 0x14003c54f
jmp 0x14003c560
jae 0x14003c61a
cmp r8, 0x201
jae 0x14003c560
mov ebx, 0x200
lea r14, [rbp - 0x30]
mov r13, r8
jmp 0x14003c5b7
sub r8, rdi
sub r12, rdi
cmp r8, r12
jbe 0x14003c58f
lea rcx, [rbp + 0x580]
mov rdx, rdi
call fcn.14001a070
mov r15, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x5b8], rax
mov eax, 0xffffffff
cmp r15, rax
mov edi, 0xffffffff
cmovb rdi, r15
mov qword [rbp + 0x590], rdi
mov r12, r15
mov rbx, rdi
mov r14, qword [rbp + 0x5b8]
mov r13, rdi
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r14
mov edx, r13d
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x14003c5dc
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14003c6ff
mov r8d, esi
cmp r13, r8
jne 0x14003c540
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003efbd
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x14003c560
jmp 0x14003c54f
cmp rbx, r8
jb 0x14003f0d3
lea rcx, [rbp + 0x500]
mov rdx, r14
call fcn.1400189b0
movabs r15, 0x8000000000000000
mov r12, qword [rbp + 0x578]
lea rcx, [rbp + 0x500]
mov rdx, r12
mov r8, qword [rbp + 0x5b0]
call case.0x14003861f.445
cmp qword [rbp + 0x570], 1
je 0x14003c66f
lea rcx, [rbp + 0x500]
call fcn.14003a740
mov rsi, qword [rbp + 0x508]
mov r8, qword [rbp + 0x510]
lea rcx, [rbp + 0x420]
mov rdx, rsi
call fcn.1400415a0
cmp qword [rbp + 0x500], 0
je 0x14003c6a3
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
movups xmm0, xmmword [rbp + 0x420]
movaps xmmword [rbp + 0x490], xmm0
mov rax, qword [rbp + 0x430]
mov qword [rbp + 0x4a0], rax
cmp qword [rbp + 0x580], 0
je 0x14003c6da
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
mov rcx, qword [rbp + 0x490]
lea rax, [r15 + 2]
cmp rcx, rax
mov rax, rcx
jge 0x14003ca2b
mov rcx, rax
lea rax, [r15 + 1]
cmp rcx, rax
je 0x14003c742
jmp 0x14003c74e
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x498], rax
movabs rax, 0x8000000000000000
inc rax
mov qword [rbp + 0x490], rax
cmp qword [rbp + 0x580], 0
je 0x14003c742
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
lea rcx, [rbp + 0x498]
call fcn.140015c40
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5b8], rax
xor r15d, r15d
xor r12d, r12d
xor edi, edi
cmp r8, 0x201
jb 0x14003c7af
jmp 0x14003c7c0
jae 0x14003c94a
cmp r8, 0x201
jae 0x14003c7c0
mov ebx, 0x200
lea r14, [rbp - 0x30]
mov r13, r8
jmp 0x14003c817
sub r8, rdi
sub r12, rdi
cmp r8, r12
jbe 0x14003c7ef
lea rcx, [rbp + 0x580]
mov rdx, rdi
call fcn.14001a070
mov r15, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x5b8], rax
mov eax, 0xffffffff
cmp r15, rax
mov edi, 0xffffffff
cmovb rdi, r15
mov qword [rbp + 0x590], rdi
mov r12, r15
mov rbx, rdi
mov r14, qword [rbp + 0x5b8]
mov r13, rdi
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r14
mov edx, r13d
call sub.kernel32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x14003c83c
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14003ca45
mov r8d, esi
cmp r13, r8
jne 0x14003c7a0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003efda
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x14003c7c0
jmp 0x14003c7af
lea rsi, [rbp - 0x30]
lea rdi, [rbp + 0x500]
lea rbx, [rbp + 0x420]
jmp 0x14003c8a6
mov rcx, rsi
mov rdx, rdi
call fcn.140037e90
mov rax, qword [rbp - 0x30]
cmp rax, r15
je 0x14003c2a9
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x14003c932
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], r8
mov rcx, rsi
mov rdx, r12
mov r8, qword [rbp + 0x5b0]
call case.0x14003861f.445
cmp qword [rbp + 0x570], 1
je 0x14003c8eb
mov rcx, rsi
call fcn.14003a740
mov r14, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov rcx, rbx
mov rdx, r14
call fcn.1400415a0
cmp qword [rbp - 0x30], 0
je 0x14003c912
mov edx, 1
mov rcx, r14
call fcn.1400014a0
mov rax, qword [rbp + 0x420]
cmp rax, r15
jne 0x14003d927
mov rcx, rsi
mov rdx, rdi
call fcn.140037e90
jmp 0x14003c899
test rax, rax
je 0x14003c88e
mov edx, 1
call fcn.1400014a0
jmp 0x14003c88e
cmp rbx, r8
jb 0x14003f0ea
lea rcx, [rbp + 0x500]
mov rdx, r14
call fcn.1400189b0
movabs r15, 0x8000000000000000
mov r12, qword [rbp + 0x578]
lea rcx, [rbp + 0x500]
mov rdx, r12
mov r8, qword [rbp + 0x5b0]
call case.0x14003861f.445
cmp qword [rbp + 0x570], 1
je 0x14003c99f
lea rcx, [rbp + 0x500]
call fcn.14003a740
mov rsi, qword [rbp + 0x508]
mov r8, qword [rbp + 0x510]
lea rcx, [rbp + 0x420]
mov rdx, rsi
call fcn.1400415a0
cmp qword [rbp + 0x500], 0
je 0x14003c9d3
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
movups xmm0, xmmword [rbp + 0x420]
movaps xmmword [rbp + 0x490], xmm0
mov rax, qword [rbp + 0x430]
mov qword [rbp + 0x4a0], rax
cmp qword [rbp + 0x580], 0
je 0x14003ca0a
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
mov rcx, qword [rbp + 0x490]
lea rax, [r15 + 2]
cmp rcx, rax
mov rax, rcx
jge 0x14003ca2b
mov rcx, rax
lea rax, [r15 + 1]
cmp rcx, rax
je 0x14003ca90
jmp 0x14003ca9c
mov qword [rbp + 0x570], rax
mov rdx, qword [rbp + 0x498]
mov rbx, qword [rbp + 0x4a0]
jmp 0x14003ccb9
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x498], rax
movabs r15, 0x8000000000000000
lea rax, [r15 + 1]
mov qword [rbp + 0x490], rax
cmp qword [rbp + 0x580], 0
je 0x14003ca89
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
mov r12, qword [rbp + 0x578]
lea rcx, [rbp + 0x498]
call fcn.140015c40
lea rdx, str.PATHlibrary_std_src_sys_commonprocess.rs
lea rcx, [rbp + 0x420]
mov r8d, 4
call fcn.140036fc0
mov r13, qword [rbp + 0x420]
cmp r13, r15
je 0x14003d91b
mov rsi, qword [rbp + 0x428]
mov rax, qword [rbp + 0x430]
add rax, rsi
mov qword [rbp + 0x500], rsi
mov qword [rbp + 0x508], rax
mov word [rbp + 0x510], 0
mov byte [rbp + 0x518], 1
lea rdi, [rbp - 0x30]
lea rbx, [rbp + 0x500]
mov rcx, rdi
mov rdx, rbx
call fcn.140037e90
jmp 0x14003cb17
mov rcx, rdi
mov rdx, rbx
call fcn.140037e90
mov rax, qword [rbp - 0x30]
cmp rax, r15
je 0x14003d909
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
test rdx, rdx
jne 0x14003cb42
test rax, rax
je 0x14003cb0c
mov edx, 1
call fcn.1400014a0
jmp 0x14003cb0c
mov r8, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rdx
mov qword [rbp - 0x18], r8
mov rcx, rdi
mov rdx, r12
mov r8, qword [rbp + 0x5b0]
call case.0x14003861f.445
cmp qword [rbp + 0x570], 1
je 0x14003cb7a
mov rcx, rdi
call fcn.14003a740
mov r14, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x580]
mov rdx, r14
call fcn.1400415a0
cmp qword [rbp - 0x30], 0
je 0x14003cba5
mov edx, 1
mov rcx, r14
call fcn.1400014a0
mov rax, qword [rbp + 0x580]
cmp rax, r15
je 0x14003caff
mov qword [rbp + 0x570], rax
mov rdi, qword [rbp + 0x588]
mov rbx, qword [rbp + 0x590]
test r13, r13
je 0x14003cbdc
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
mov rdx, rdi
jmp 0x14003ccb9
xor ecx, ecx
mov r8, rdx
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x14003cc36
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, rsi
je 0x14003cc33
cmp rdi, rcx
jbe 0x14003cc2c
cmp byte [rsi + rcx], 0xbf
jg 0x14003cc2e
lea rcx, [0x1401c0bfa]
lea r8, str.library_std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov edx, 0x37
call fcn.140004ff0
jmp 0x14003f0ff
jne 0x14003cc0f
cmp rdi, rcx
jb 0x14003cc36
mov rdi, rcx
lea rcx, [rbp - 0x30]
mov rdx, rsi
mov r8, rdi
call fcn.1400364c0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
cmp rcx, r15
jne 0x14003cc62
mov qword [rbp + 0x4b8], rax
mov qword [rbp + 0x4b0], r15
jmp 0x14003cc82
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
lea rcx, [rbp + 0x4b0]
lea rdx, [rbp - 0x30]
call fcn.1400414c0
test rbx, rbx
je 0x14003cc94
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
mov rax, qword [rbp + 0x4b0]
mov rdx, qword [rbp + 0x4b8]
cmp rax, r15
je 0x14003c0e8
mov qword [rbp + 0x570], rax
mov rbx, qword [rbp + 0x4c0]
cmp rbx, 4
mov qword [rbp + 0x5b0], rdx
mov qword [rbp + 0x4e8], rbx
jb 0x14003ccf0
movabs rax, 0x5c003f003f005c
lea rcx, [rax + 0x1d0000]
cmp rcx, qword [rdx]
je 0x14003ce5b
cmp rax, qword [rdx]
je 0x14003ce5b
mov qword [rbp + 0x578], r12
mov qword [rbp + 0x500], 0
mov qword [rbp + 0x508], 2
mov qword [rbp + 0x510], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5b8], rax
xor r15d, r15d
xor esi, esi
xor edi, edi
cmp r8, 0x201
jb 0x14003cd4f
jmp 0x14003cd60
jae 0x14003ce25
cmp r8, 0x201
jae 0x14003cd60
mov r12d, 0x200
lea rbx, [rbp - 0x30]
mov r13, r8
jmp 0x14003cdb7
sub r8, rdi
sub rsi, rdi
cmp r8, rsi
jbe 0x14003cd8f
lea rcx, [rbp + 0x500]
mov rdx, rdi
call fcn.14001a070
mov r15, qword [rbp + 0x500]
mov rax, qword [rbp + 0x508]
mov qword [rbp + 0x5b8], rax
mov eax, 0xffffffff
cmp r15, rax
mov edi, 0xffffffff
cmovb rdi, r15
mov qword [rbp + 0x510], rdi
mov rsi, r15
mov r12, rdi
mov rbx, qword [rbp + 0x5b8]
mov r13, rdi
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, qword [rbp + 0x5b0]
mov edx, r13d
mov r8, rbx
xor r9d, r9d
call sub.kernel32.dll_GetFullPathNameW
mov r14d, eax
test eax, eax
jne 0x14003cde7
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14003ce88
mov r8d, r14d
cmp r13, r8
jne 0x14003cd40
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003eef6
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x14003cd60
jmp 0x14003cd4f
cmp r12, r8
jb 0x14003f071
cmp r14d, 4
mov rsi, qword [rbp + 0x4f0]
movabs r15, 0x8000000000000000
jae 0x14003cec1
mov dword [rbp + 0x5a8], 0
mov r12, qword [rbp + 0x578]
jmp case.0x14003ceff.68
cmp rbx, 4
jne 0x14003cf61
mov dword [rbp + 0x5a8], 0
mov rsi, qword [rbp + 0x4f0]
cmp byte [rbp + 0x5a8], 0
jne 0x14003d047
jmp 0x14003d208
call sub.kernel32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
cmp qword [rbp + 0x500], 0
je 0x14003ceb2
mov rcx, qword [rbp + 0x508]
mov edx, 2
call fcn.1400014a0
mov rax, qword [rbp + 0x4d8]
mov qword [rax], rsi
jmp 0x14003d57c
cmp word [rbx + r8*2 - 8], 0x2e
mov r12, qword [rbp + 0x578]
jne 0x14003d015
movzx eax, word [rbx + r8*2 - 6]
mov dword [rbp + 0x5a8], 0
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x14003ceff.68
lea rdx, [0x14004f780]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [rbx + r8*2 - 4]
or ecx, 0x20
cmp ecx, 0x61
jne 0x14003cf29
movzx ecx, word [rbx + r8*2 - 2]
mov dl, 1
mov dword [rbp + 0x5a8], edx
or ecx, 0x20
cmp ecx, 0x74
je case.0x14003ceff.68
cmp ax, 0x43
jne 0x14003d015
movzx eax, word [rbx + r8*2 - 4]
or eax, 0x20
cmp eax, 0x6d
jne 0x14003d015
movzx eax, word [rbx + r8*2 - 2]
add eax, 0xffffffbc
test eax, 0xffdf
sete al
mov dword [rbp + 0x5a8], eax
jmp case.0x14003ceff.68
cmp word [rdx + rbx*2 - 0xa], 0x2e
mov rsi, qword [rbp + 0x4f0]
jne 0x14003d1f1
movzx eax, word [rdx + rbx*2 - 8]
mov dword [rbp + 0x5a8], 0
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x14003cf9d.68
lea rdx, [0x14004f808]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rcx, qword [rbp + 0x5b0]
movzx ecx, word [rcx + rbx*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x14003cfcf
mov rcx, qword [rbp + 0x5b0]
movzx ecx, word [rcx + rbx*2 - 4]
mov dl, 1
mov dword [rbp + 0x5a8], edx
or ecx, 0x20
cmp ecx, 0x74
je case.0x14003cf9d.68
cmp ax, 0x43
jne 0x14003d1f1
mov rcx, qword [rbp + 0x5b0]
movzx eax, word [rcx + rbx*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne 0x14003d1f1
movzx eax, word [rcx + rbx*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
sete al
mov dword [rbp + 0x5a8], eax
cmp byte [rbp + 0x5a8], 0
jne 0x14003d047
jmp 0x14003d208
mov dword [rbp + 0x5a8], 0
cmp qword [rbp + 0x500], 0
je case.0x14003cf9d.68
mov rcx, qword [rbp + 0x508]
mov edx, 2
call fcn.1400014a0
cmp byte [rbp + 0x5a8], 0
je 0x14003d208
mov qword [rbp + 0x500], 0
lea rax, [rbp + 0x508]
mov qword [rbp + 0x578], rax
mov qword [rbp + 0x508], 2
mov qword [rbp + 0x510], 0
mov esi, 0x200
mov eax, 2
mov qword [rbp + 0x5b8], rax
xor eax, eax
mov qword [rbp + 0x4e0], rax
xor edi, edi
xor ebx, ebx
cmp rsi, 0x201
jb 0x14003d0af
jmp 0x14003d0c0
jae 0x14003d185
cmp rsi, 0x201
jae 0x14003d0c0
mov r12d, 0x200
lea r15, [rbp - 0x30]
mov r13, rsi
jmp 0x14003d125
sub rsi, rbx
sub rdi, rbx
cmp rsi, rdi
jbe 0x14003d0f9
lea rcx, [rbp + 0x500]
mov rdx, rbx
mov r8, rsi
call fcn.14001a070
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x4e0], rax
mov rax, qword [rbp + 0x508]
mov qword [rbp + 0x5b8], rax
mov eax, 0xffffffff
mov rdi, qword [rbp + 0x4e0]
cmp rdi, rax
mov ebx, 0xffffffff
cmovb rbx, rdi
mov qword [rbp + 0x510], rbx
mov r12, rbx
mov r15, qword [rbp + 0x5b8]
mov r13, rbx
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r15
mov edx, r13d
call sub.kernel32.dll_GetSystemDirectoryW
mov r14d, eax
test eax, eax
jne 0x14003d147
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14003d1bb
mov esi, r14d
cmp r13, rsi
jne 0x14003d0a0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14003ef61
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov rsi, r13
cmp rsi, 0x201
jae 0x14003d0c0
jmp 0x14003d0af
cmp r12, rsi
jb 0x14003f088
test r14d, r14d
je 0x14003d370
lea rdi, [rsi + rsi]
movzx eax, byte [0x1401c90e8]
mov rcx, rdi
call fcn.140045e10
test rax, rax
je 0x14003f09c
mov rbx, rax
jmp 0x14003d377
call sub.kernel32.dll_GetLastError
shl rax, 0x20
cmp qword [rbp + 0x500], 0
je 0x14003d1e5
mov rcx, qword [rbp + 0x508]
mov edx, 2
mov rsi, rax
call fcn.1400014a0
mov rax, rsi
or rax, 2
mov rcx, rax
jmp 0x14003d572
mov dword [rbp + 0x5a8], 0
cmp byte [rbp + 0x5a8], 0
jne 0x14003d047
mov rax, rsi
mov rsi, qword [rsi + 0x28]
mov rdi, qword [rax + 0x30]
movzx ebx, byte [rax + 0xc9]
mov qword [rbp + 0x500], 0
mov qword [rbp + 0x508], 2
mov qword [rbp + 0x510], 0
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov rax, qword [rbp + 0x508]
mov word [rax], 0x22
mov qword [rbp + 0x510], 1
mov qword [rbp - 0x30], r12
mov rax, qword [rbp + 0x4e0]
mov qword [rbp - 0x28], rax
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x30]
call fcn.140036d60
mov r14, qword [rbp + 0x510]
cmp r14, qword [rbp + 0x500]
jne 0x14003d29f
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov rax, qword [rbp + 0x508]
mov word [rax + r14*2], 0x22
inc r14
mov qword [rbp + 0x510], r14
shl rdi, 3
lea r14, [rdi + rdi*4]
lea rdi, [rbp + 0x500]
nop word cs:[rax + rax]
test r14, r14
je 0x14003d34a
mov r15, qword [rbp + 0x510]
cmp r15, qword [rbp + 0x500]
jne 0x14003d2ed
mov rcx, rdi
call fcn.140036cc0
mov rax, qword [rbp + 0x508]
mov word [rax + r15*2], 0x20
inc r15
mov qword [rbp + 0x510], r15
mov rcx, rdi
mov rdx, rsi
mov r8d, ebx
call fcn.140041660
mov r13, rax
add rsi, 0x28
add r14, 0xffffffffffffffd8
test rax, rax
movabs r15, 0x8000000000000000
je 0x14003d2d0
cmp qword [rbp + 0x500], 0
je 0x14003d361
mov rcx, qword [rbp + 0x508]
mov edx, 2
call fcn.1400014a0
jmp 0x14003d361
mov rax, qword [rbp + 0x500]
mov r13, qword [rbp + 0x508]
cmp rax, r15
jne 0x14003d7e9
mov rax, qword [rbp + 0x4d8]
mov qword [rax], r13
jmp 0x14003d57c
mov ebx, 2
xor edi, edi
mov rcx, rbx
mov rdx, r15
mov r8, rdi
call sub.msvcrt.dll_memcpy
cmp qword [rbp + 0x500], 0
je 0x14003d3a0
mov rcx, qword [rbp + 0x508]
mov edx, 2
call fcn.1400014a0
mov qword [rbp + 0x420], rsi
lea rax, [rbp + 0x428]
mov qword [rbp + 0x578], rax
mov qword [rbp + 0x428], rbx
mov qword [rbp + 0x430], rsi
lea r12, [0x1401c185a]
xor r13d, r13d
lea rdi, [rbp + 0x420]
xor r14d, r14d
jmp 0x14003d3f2
mov r14d, ecx
mov word [rbx + rsi*2], r15w
inc rsi
mov qword [rbp + 0x430], rsi
movabs rax, 0x8000000000000000
test r12, r12
je 0x14003d470
test r14w, r14w
je 0x14003d450
xor ecx, ecx
mov r15d, r14d
cmp rsi, qword [rbp + 0x420]
jne 0x14003d3e0
lea rax, [0x1401c185a]
sub rax, r12
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r8, rdx
shr r8, 1
cmp cx, 1
mov rax, r13
adc rax, 0xffffffffffffffff
sub r8, rax
inc r8
mov r14d, ecx
jmp 0x14003d49f
lea rcx, [0x1401c1862]
cmp r12, rcx
je 0x14003d470
movzx r15d, byte [r12]
test r15b, r15b
js 0x14003d4b9
inc r12
xor ecx, ecx
jmp 0x14003d40c
mov rdx, qword [rbp + 0x420]
cmp r13, 1
je 0x14003d558
mov r13d, 1
xor r15d, r15d
mov r12d, 0
mov r8d, 0
cmp rsi, rdx
jne 0x14003d3e3
inc r8
mov rcx, rdi
mov rdx, rsi
call fcn.14001a070
mov rbx, qword [rbp + 0x428]
jmp 0x14003d3e3
mov eax, r15d
and eax, 0x1f
movzx edx, byte [r12 + 1]
and edx, 0x3f
cmp r15b, 0xdf
jbe 0x14003d501
movzx ecx, byte [r12 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r15b, 0xf0
jb 0x14003d514
movzx r15d, byte [r12 + 3]
add r12, 4
and eax, 7
shl eax, 0x12
shl ecx, 6
and r15d, 0x3f
or r15d, ecx
or r15d, eax
jmp 0x14003d520
add r12, 2
shl eax, 6
or eax, edx
mov r15d, eax
xor ecx, ecx
jmp 0x14003d40c
add r12, 3
shl eax, 0xc
or ecx, eax
mov r15d, ecx
cmp r15d, 0xffff
jbe 0x14003d551
lea eax, [r15 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r15d, 0x3ff
or r15d, 0xdc00
mov ecx, r15d
mov r15d, eax
jmp 0x14003d40c
xor ecx, ecx
jmp 0x14003d40c
mov rcx, qword [rbp + 0x428]
mov qword [rbp + 0x5b8], rcx
cmp rdx, rax
jne 0x14003d5af
mov rcx, qword [rbp + 0x5b8]
mov rax, qword [rbp + 0x4d8]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
xor esi, esi
cmp qword [rbp + 0x570], 0
je 0x14003d5a1
mov edx, 2
mov rcx, qword [rbp + 0x5b0]
call fcn.1400014a0
test sil, sil
je 0x14003c0fa
jmp 0x14003c15e
mov qword [rbp + 0x4e0], rdx
xor ecx, ecx
test cl, cl
jne 0x14003f0b0
mov rax, qword [rbp + 0x4f0]
mov rcx, qword [rax + 0x28]
mov qword [rbp + 0x578], rcx
mov rcx, qword [rax + 0x30]
mov qword [rbp + 0x4f8], rcx
movzx eax, byte [rax + 0xc9]
mov byte [rbp + 0x418], al
movzx eax, byte [0x1401c90e8]
mov ecx, 0x14
call fcn.140045e10
test rax, rax
je 0x14003f0ab
mov ecx, 0xa
mov word [rax], 0x63
mov qword [rbp - 0x30], rcx
lea rcx, [rbp - 0x28]
mov qword [rbp + 0x480], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 1
lea r13, [0x1401c1371]
mov esi, 1
xor ebx, ebx
lea r15, [0x1401c138c]
lea r12, [0x1401c1370]
lea rdi, [rbp - 0x30]
jmp 0x14003d694
mov rax, r12
sub rax, r13
add rax, 0x1e
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
cmp r14w, 1
sbb rdx, 0
lea r8, [rdx + 2]
mov rcx, rdi
mov rdx, rsi
call fcn.14001a070
mov rax, qword [rbp - 0x28]
mov word [rax + rsi*2], bx
inc rsi
mov qword [rbp - 0x20], rsi
mov ebx, r14d
test bx, bx
jne 0x14003d710
cmp r13, r15
je 0x14003d764
movzx ebx, byte [r13]
test bl, bl
js 0x14003d6b0
inc r13
jmp 0x14003d710
mov ecx, ebx
and ecx, 0x1f
movzx r8d, byte [r13 + 1]
and r8d, 0x3f
cmp bl, 0xdf
jbe 0x14003d6fa
movzx edx, byte [r13 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bl, 0xf0
jb 0x14003d722
movzx ebx, byte [r13 + 3]
add r13, 4
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebx, 0x3f
or ebx, edx
or ebx, ecx
cmp ebx, 0xffff
jbe 0x14003d710
jmp 0x14003d735
add r13, 2
shl ecx, 6
or ecx, r8d
mov ebx, ecx
nop word cs:[rax + rax]
xor r14d, r14d
cmp rsi, qword [rbp - 0x30]
jne 0x14003d686
jmp 0x14003d650
add r13, 3
shl ecx, 0xc
or edx, ecx
mov ebx, edx
cmp ebx, 0xffff
jbe 0x14003d710
lea ecx, [rbx + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebx, 0x3ff
or ebx, 0xdc00
mov r14d, ebx
mov ebx, ecx
cmp rsi, qword [rbp - 0x30]
jne 0x14003d686
jmp 0x14003d650
mov rsi, qword [rbp - 0x20]
mov qword [rbp + 0x510], rsi
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x500], xmm0
cmp rsi, qword [rbp + 0x500]
jne 0x14003d78f
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov r14, qword [rbp + 0x508]
mov word [r14 + rsi*2], 0x22
inc rsi
mov qword [rbp + 0x510], rsi
mov r8, qword [rbp + 0x4e8]
lea rax, [r8 + r8]
xor ecx, ecx
lea r13, str.Windows_file_names_may_not_contain_____or_end_with___
mov rdx, qword [rbp + 0x5b0]
nop word cs:[rax + rax]
cmp rax, rcx
je 0x14003d8d4
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x14003d7d0
jmp 0x14003e4be
mov rsi, qword [rbp + 0x510]
mov rcx, qword [rbp + 0x570]
mov qword [rbp + 0x4e0], rcx
mov rcx, qword [rbp + 0x5b0]
mov qword [rbp + 0x5b8], rcx
mov qword [rbp + 0x4b0], rax
mov qword [rbp + 0x4b8], r13
mov qword [rbp + 0x4c0], rsi
cmp rsi, rax
jne 0x14003d839
lea rcx, [rbp + 0x4b0]
call fcn.140036cc0
mov r13, qword [rbp + 0x4b8]
mov word [r13 + rsi*2], 0
inc rsi
mov qword [rbp + 0x4c0], rsi
mov rcx, qword [rbp + 0x4f0]
cmp byte [rcx + 0xc8], 0
mov eax, 0x400
mov edi, 0x608
cmove edi, eax
or edi, dword [rcx + 0xc4]
cmp qword [rbp + 0x3e8], 0
je 0x14003d941
mov dword [rbp + 0x4f8], edi
mov rax, qword [rbp + 0x4d0]
mov rdi, qword [rax + 0x10]
mov qword [rbp + 0x4a0], rdi
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x490], xmm0
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
test rdi, rdi
je 0x14003e0a1
mov r14d, 2
xor r13d, r13d
jmp 0x14003e0ce
test r8, r8
je 0x14003d9d9
mov rax, qword [rbp + 0x5b0]
movzx eax, word [rax + r8*2 - 2]
cmp ax, 0x5c
je 0x14003e4be
xor edi, edi
test ax, ax
mov rax, qword [rbp + 0x5b0]
cmove rdi, rax
jmp 0x14003d9e2
test r13, r13
je 0x14003d91b
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
lea rbx, [0x1401c1838]
jmp 0x14003c0e5
mov qword [rbp + 0x570], rax
mov rdx, qword [rbp + 0x428]
mov rbx, qword [rbp + 0x430]
jmp 0x14003ccb9
mov r14d, 2
xor eax, eax
mov qword [rbp + 0x578], rax
xor r12d, r12d
mov rsi, qword [rbp + 0x488]
mov rcx, qword [rbp + 0x4f0]
cmp qword [rcx + 0x38], r15
jne 0x14003e50d
mov eax, 2
xor r13d, r13d
xor ecx, ecx
mov qword [rbp + 0x4d0], rcx
mov qword [rbp + 0x418], rax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x490], xmm0
mov qword [rbp + 0x4a0], 0
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1401c90d0], cl
jne 0x14003e967
mov rax, qword [0x1401c90b0]
dec r15
test rax, r15
mov qword [rbp + 0x4f8], r14
mov qword [rbp + 0x4e8], r12
je 0x14003e6f1
call fcn.14001a1c0
mov ebx, edi
xor al, 1
jmp 0x14003e6f5
xor edi, edi
mov rax, qword [rbp + 0x5b0]
lea rbx, [r8 - 1]
test rdi, rdi
cmove rbx, r8
cmove rdi, rax
mov r15, qword [rbp + 0x500]
mov rax, r15
sub rax, rsi
cmp rax, rbx
jae 0x14003da2a
lea rcx, [rbp + 0x500]
mov rdx, rsi
mov r8, rbx
call fcn.14001a070
mov rsi, qword [rbp + 0x510]
mov r15, qword [rbp + 0x500]
mov r14, qword [rbp + 0x508]
mov r12, qword [rbp + 0x4f8]
lea r8, [rbx + rbx]
lea rcx, [r14 + rsi*2]
mov rdx, rdi
call sub.msvcrt.dll_memcpy
add rsi, rbx
mov qword [rbp + 0x510], rsi
cmp rsi, r15
movabs r15, 0x8000000000000000
jne 0x14003da74
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov r14, qword [rbp + 0x508]
mov r12, qword [rbp + 0x4f8]
mov word [r14 + rsi*2], 0x22
inc rsi
mov qword [rbp + 0x510], rsi
test r12, r12
je 0x14003e912
lea rax, [r12 + r12*4]
mov rcx, qword [rbp + 0x578]
lea rdi, [rcx + rax*8]
movdqa xmm6, xmmword [0x14004f770]
lea r13, str.nul_byte_found_in_provided_data
mov qword [rbp + 0x578], rcx
mov rsi, qword [rbp + 0x510]
cmp rsi, qword [rbp + 0x500]
jne 0x14003dacf
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov r14, qword [rbp + 0x508]
mov word [r14 + rsi*2], 0x20
lea r12, [rsi + 1]
mov qword [rbp + 0x510], r12
mov rdx, qword [rbp + 0x578]
cmp qword [rdx], 0
je 0x14003db27
lea rcx, [rbp + 0x500]
movzx r8d, byte [rbp + 0x418]
call fcn.140041660
test rax, rax
jne 0x14003e951
mov rcx, qword [rbp + 0x578]
add rcx, 0x28
cmp rcx, rdi
jne 0x14003daac
jmp 0x14003e90b
mov rbx, qword [rdx + 0x10]
mov rax, qword [rdx + 0x18]
lea rcx, [rbx + rax]
mov qword [rbp + 0x4e8], rcx
xor ecx, ecx
cmp rax, rcx
je 0x14003db5b
movzx edx, byte [rbx + rcx]
cmp edx, 0xa
je 0x14003e4b7
inc rcx
cmp edx, 0xd
jne 0x14003db3c
jmp 0x14003e4b7
xor r9d, r9d
mov rcx, rbx
jmp 0x14003db6f
xor r9d, r9d
test dx, dx
je 0x14003e4be
mov dx, 1
test r9w, r9w
jne 0x14003db63
cmp rcx, qword [rbp + 0x4e8]
je 0x14003dc2c
movzx r8d, byte [rcx]
test r8b, r8b
js 0x14003db97
inc rcx
jmp 0x14003dc21
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14003dbe4
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x14003dbf4
movzx r8d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
jmp 0x14003dc02
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x14003dc21
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x14003dc21
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x14003db66
xor r9d, r9d
mov edx, r8d
jmp 0x14003db66
test rax, rax
mov qword [rbp + 0x3d0], rdi
mov qword [rbp + 0x4f8], rbx
je 0x14003dd4c
cmp byte [rbp + 0x418], 0
setne cl
cmp byte [rax + rbx - 1], 0x5c
mov rdi, rbx
sete bl
or bl, cl
jmp 0x14003dc6b
mov bl, 1
cmp rdi, qword [rbp + 0x4e8]
je 0x14003dd3f
movzx ecx, byte [rdi]
test cl, cl
js 0x14003dc77
inc rdi
jmp 0x14003dcd0
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14003dcb7
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14003dcc5
movzx ecx, byte [rdi + 3]
add rdi, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
jmp 0x14003dcd0
add rdi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14003dcd0
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
cmp ecx, 0x110000
je 0x14003dc5e
mov eax, ecx
and eax, 0x1ff800
cmp eax, 0xd800
je 0x14003dc5e
cmp ecx, 0x80
jae 0x14003dd2d
lea eax, [rcx - 0x30]
cmp eax, 0xa
jb 0x14003dd2d
mov eax, ecx
and eax, 0x5f
add eax, 0xffffffbf
cmp eax, 0x19
jbe 0x14003dd2d
xor eax, eax
lea rdx, [0x1401c1364]
movzx edx, byte [rax + rdx]
cmp dl, cl
je 0x14003dd25
lea r8, [rax + 1]
cmp rax, 0xb
mov rax, r8
jne 0x14003dd09
cmp dl, cl
jne 0x14003dc5c
call fcn.140008590
test al, al
jne 0x14003dc5c
jmp 0x14003dc5e
mov al, 1
mov dword [rbp + 0x480], eax
test bl, 1
je 0x14003dd88
cmp r12, qword [rbp + 0x500]
jne 0x14003dd68
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov r14, qword [rbp + 0x508]
mov word [r14 + rsi*2 + 2], 0x22
add rsi, 2
mov qword [rbp + 0x510], rsi
mov dword [rbp + 0x480], 0
mov r12, rsi
xor ebx, ebx
xor esi, esi
jmp 0x14003dda6
mov r14, qword [rbp + 0x508]
mov word [r14 + r12*2], bx
inc r12
mov qword [rbp + 0x510], r12
mov ebx, edi
test bx, bx
jne 0x14003de6e
mov r8, qword [rbp + 0x4f8]
cmp r8, qword [rbp + 0x4e8]
je 0x14003dfcf
movzx ebx, byte [r8]
test bl, bl
js 0x14003ddda
inc r8
mov qword [rbp + 0x4f8], r8
jmp 0x14003de6e
mov eax, ebx
and eax, 0x1f
movzx edx, byte [r8 + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x14003de20
movzx ecx, byte [r8 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x14003de34
movzx ebx, byte [r8 + 3]
add r8, 4
mov qword [rbp + 0x4f8], r8
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
jmp 0x14003de46
add r8, 2
mov qword [rbp + 0x4f8], r8
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x14003de6e
add r8, 3
mov qword [rbp + 0x4f8], r8
shl eax, 0xc
or ecx, eax
mov ebx, ecx
cmp ebx, 0xffff
jbe 0x14003de6e
lea eax, [rbx + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and ebx, 0x3ff
or ebx, 0xdc00
mov edi, ebx
mov ebx, eax
jmp 0x14003de70
xor edi, edi
movzx eax, bx
cmp eax, 0x24
jg 0x14003debe
cmp eax, 0xd
je 0x14003ded4
cmp eax, 0x22
jne 0x14003dfaf
mov rax, qword [rbp + 0x500]
mov rcx, rax
sub rcx, r12
cmp rcx, rsi
jae 0x14003df2a
lea rcx, [rbp + 0x500]
mov rdx, r12
mov r8, rsi
call fcn.14001a070
mov r14, qword [rbp + 0x508]
mov r12, qword [rbp + 0x510]
jmp 0x14003df2f
cmp eax, 0x25
je 0x14003ded4
cmp eax, 0x5c
jne 0x14003dfaf
inc rsi
jmp 0x14003dfb1
mov rax, qword [rbp + 0x500]
sub rax, r12
cmp rax, 6
ja 0x14003df07
mov r8d, 7
lea rcx, [rbp + 0x500]
mov rdx, r12
call fcn.14001a070
mov r14, qword [rbp + 0x508]
mov r12, qword [rbp + 0x510]
movabs rax, 0x2c007e003a0064
mov qword [r14 + r12*2 + 6], rax
movabs rax, 0x64006300250025
mov qword [r14 + r12*2], rax
add r12, 7
jmp 0x14003dfa8
test rsi, rsi
je 0x14003df7f
cmp rsi, 0x10
jae 0x14003df39
xor eax, eax
jmp 0x14003df66
mov rax, rsi
and rax, 0xfffffffffffffff0
lea rcx, [r14 + r12*2]
add rcx, 0x10
xor edx, edx
movdqu xmmword [rcx + rdx*2 - 0x10], xmm6
movdqu xmmword [rcx + rdx*2], xmm6
add rdx, 0x10
cmp rax, rdx
jne 0x14003df4a
add r12, rax
cmp rsi, rax
je 0x14003df78
sub rsi, rax
mov word [r14 + r12*2], 0x5c
inc r12
dec rsi
jne 0x14003df69
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x510], r12
cmp r12, rax
jne 0x14003df9e
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov r14, qword [rbp + 0x508]
mov word [r14 + r12*2], 0x22
inc r12
mov qword [rbp + 0x510], r12
xor esi, esi
cmp r12, qword [rbp + 0x500]
jne 0x14003dd95
lea rcx, [rbp + 0x500]
call fcn.140036cc0
jmp 0x14003dd8e
cmp byte [rbp + 0x480], 0
mov rdi, qword [rbp + 0x3d0]
jne 0x14003db12
mov rax, qword [rbp + 0x500]
mov rcx, rax
sub rcx, r12
cmp rcx, rsi
jae 0x14003e017
lea rcx, [rbp + 0x500]
mov rdx, r12
mov r8, rsi
call fcn.14001a070
mov r14, qword [rbp + 0x508]
mov r12, qword [rbp + 0x510]
jmp 0x14003e01c
test rsi, rsi
je 0x14003e06c
cmp rsi, 0x10
jae 0x14003e026
xor eax, eax
jmp 0x14003e053
mov rax, rsi
and rax, 0xfffffffffffffff0
lea rcx, [r14 + r12*2]
add rcx, 0x10
xor edx, edx
movdqu xmmword [rcx + rdx*2 - 0x10], xmm6
movdqu xmmword [rcx + rdx*2], xmm6
add rdx, 0x10
cmp rax, rdx
jne 0x14003e037
add r12, rax
cmp rsi, rax
je 0x14003e065
sub rsi, rax
mov word [r14 + r12*2], 0x5c
inc r12
dec rsi
jne 0x14003e056
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x510], r12
cmp r12, rax
jne 0x14003e08b
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov r14, qword [rbp + 0x508]
mov word [r14 + r12*2], 0x22
inc r12
mov qword [rbp + 0x510], r12
jmp 0x14003db12
mov sil, 1
lea rcx, [rbp + 0x580]
call fcn.140036cc0
mov r14, qword [rbp + 0x588]
mov word [r14], 0
mov qword [rbp + 0x590], 1
mov r13d, 1
mov rax, qword [rbp + 0x490]
mov rcx, qword [rbp + 0x498]
xor edx, edx
test rax, rax
setne dl
cmove rdi, rax
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], 0
mov qword [rbp], rax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rdi
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x30]
call fcn.14003ae20
mov rdx, qword [rbp + 0x500]
test rdx, rdx
je 0x14003e85c
mov r9, qword [rbp + 0x510]
imul r8, r9, 0x38
mov rax, qword [rdx + r8 + 0x168]
cmp rax, r15
je 0x14003e85c
mov qword [rbp + 0x578], r14
mov rcx, qword [rdx + r8 + 0x170]
mov rsi, qword [rdx + r8 + 0x188]
mov rbx, qword [rdx + r8 + 0x190]
mov rdi, qword [rdx + r8 + 0x198]
shl r9, 5
mov r10, qword [rdx + r9]
mov qword [rbp + 0x4d0], r10
mov r10, qword [rdx + r9 + 8]
mov qword [rbp + 0x4e8], r10
mov r14, qword [rdx + r9 + 0x10]
mov rdx, qword [rdx + r8 + 0x178]
add rdx, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x14003e1b7
xor r11d, r11d
test r9w, r9w
je 0x14003e470
mov r9w, 1
test r11w, r11w
jne 0x14003e1aa
cmp r8, rdx
je 0x14003e27b
movzx r10d, byte [r8]
test r10b, r10b
js 0x14003e1dc
inc r8
jmp 0x14003e270
mov r11d, r10d
and r11d, 0x1f
movzx r12d, byte [r8 + 1]
and r12d, 0x3f
cmp r10b, 0xdf
jbe 0x14003e229
movzx r15d, byte [r8 + 2]
shl r12d, 6
and r15d, 0x3f
or r15d, r12d
cmp r10b, 0xf0
jb 0x14003e239
movzx r10d, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl r15d, 6
and r10d, 0x3f
or r10d, r15d
or r10d, r11d
jmp 0x14003e247
add r8, 2
shl r11d, 6
or r11d, r12d
mov r10d, r11d
jmp 0x14003e270
add r8, 3
shl r11d, 0xc
or r15d, r11d
mov r10d, r15d
cmp r10d, 0xffff
movabs r15, 0x8000000000000000
jbe 0x14003e270
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14003e1ad
xor r11d, r11d
mov r9d, r10d
jmp 0x14003e1ad
test rax, rax
je 0x14003e28a
mov edx, 1
call fcn.1400014a0
mov rax, qword [rbp + 0x580]
sub rax, r13
cmp rax, rdi
jae 0x14003e2bb
lea rcx, [rbp + 0x580]
mov rdx, r13
mov r8, rdi
call fcn.14001a070
mov rax, qword [rbp + 0x588]
mov r13, qword [rbp + 0x590]
jmp 0x14003e2c2
mov rax, qword [rbp + 0x578]
lea r8, [rdi + rdi]
mov r12, rax
lea rcx, [rax + r13*2]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
add r13, rdi
mov qword [rbp + 0x590], r13
test rsi, rsi
je 0x14003e2f1
mov edx, 2
mov rcx, rbx
call fcn.1400014a0
cmp r13, qword [rbp + 0x580]
mov rsi, qword [rbp + 0x4e8]
jne 0x14003e314
lea rcx, [rbp + 0x580]
call fcn.140036cc0
mov r12, qword [rbp + 0x588]
mov word [r12 + r13*2], 0x3d
inc r13
mov qword [rbp + 0x590], r13
add r14, rsi
xor r8d, r8d
mov rax, rsi
mov rdi, qword [rbp + 0x4d0]
jmp 0x14003e343
xor r8d, r8d
test cx, cx
je 0x14003e69b
mov cx, 1
test r8w, r8w
jne 0x14003e337
cmp rax, r14
je 0x14003e3f2
movzx edx, byte [rax]
test dl, dl
js 0x14003e365
inc rax
jmp 0x14003e3e8
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14003e3ae
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14003e3be
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
jmp 0x14003e3cc
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x14003e3e8
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x14003e3e8
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14003e33a
xor r8d, r8d
mov ecx, edx
jmp 0x14003e33a
cmp rdi, r15
je 0x14003edec
mov qword [rbp + 0x420], rsi
mov qword [rbp + 0x428], r14
mov word [rbp + 0x430], 0
lea rcx, [rbp + 0x580]
lea rdx, [rbp + 0x420]
call fcn.140036d60
test rdi, rdi
je 0x14003e437
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
mov r13, qword [rbp + 0x590]
cmp r13, qword [rbp + 0x580]
jne 0x14003e453
lea rcx, [rbp + 0x580]
call fcn.140036cc0
mov r14, qword [rbp + 0x588]
mov word [r14 + r13*2], 0
inc r13
mov qword [rbp + 0x590], r13
jmp 0x14003e114
test rax, rax
je 0x14003e47f
mov edx, 1
call fcn.1400014a0
cmp qword [rbp + 0x4d0], 0
je 0x14003e49a
mov edx, 1
mov rcx, qword [rbp + 0x4e8]
call fcn.1400014a0
lea r14, str.nul_byte_found_in_provided_data
test rsi, rsi
je 0x14003e6b4
mov edx, 2
mov rcx, rbx
jmp 0x14003e6af
lea r13, [0x1401c13b0]
cmp qword [rbp + 0x500], 0
je 0x14003e4d9
mov rcx, qword [rbp + 0x508]
mov edx, 2
call fcn.1400014a0
mov rax, qword [rbp + 0x4d8]
mov qword [rax], r13
mov qword [rax + 0x10], 2
cmp qword [rbp + 0x4e0], 0
je 0x14003e506
mov edx, 2
mov rcx, qword [rbp + 0x5b8]
call fcn.1400014a0
xor esi, esi
jmp 0x14003d586
mov rax, qword [rcx + 0x40]
mov rcx, qword [rcx + 0x48]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x14003e52d
xor r10d, r10d
test r8w, r8w
je 0x14003e67d
mov r8w, 1
test r10w, r10w
jne 0x14003e520
cmp rdx, rcx
je 0x14003e7e4
movzx r9d, byte [rdx]
test r9b, r9b
js 0x14003e552
inc rdx
jmp 0x14003e5d9
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x14003e59c
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x14003e5ac
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 0x14003e5ba
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x14003e5d9
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x14003e5d9
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x14003e523
xor r10d, r10d
mov r8d, r9d
jmp 0x14003e523
jne 0x14003c491
cmp rdi, rdx
jb 0x14003e5f2
mov rdi, rdx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], r14
lea rcx, [rbp - 0x30]
mov rdx, r12
mov r8, qword [rbp + 0x5b0]
call case.0x14003861f.445
cmp qword [rbp + 0x570], 1
je 0x14003e628
lea rcx, [rbp - 0x30]
call fcn.14003a740
mov rsi, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x500]
mov rdx, rsi
call fcn.1400415a0
cmp qword [rbp - 0x30], 0
je 0x14003e653
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
mov rax, qword [rbp + 0x500]
cmp rax, r15
je 0x14003c4fa
mov qword [rbp + 0x570], rax
mov rdx, qword [rbp + 0x508]
mov rbx, qword [rbp + 0x510]
jmp 0x14003ccb9
lea r13, str.nul_byte_found_in_provided_data
mov rax, qword [rbp + 0x4d8]
mov qword [rax], r13
mov qword [rax + 0x10], 2
jmp 0x14003ed7e
lea r14, str.nul_byte_found_in_provided_data
test rdi, rdi
je 0x14003e6b4
mov edx, 1
mov rcx, rsi
call fcn.1400014a0
xor esi, esi
lea rcx, [rbp - 0x30]
call fcn.140041ad0
cmp qword [rbp + 0x580], 0
je 0x14003e6da
mov rcx, qword [rbp + 0x588]
mov edx, 2
call fcn.1400014a0
mov rax, qword [rbp + 0x4d8]
mov qword [rax], r14
mov qword [rax + 0x10], 2
jmp 0x14003ed90
mov ebx, edi
xor eax, eax
lea rcx, [0x1401c90d0]
movzx edx, byte [0x1401c90d1]
xor r8d, r8d
test dl, dl
setne r8b
mov qword [rbp + 0x588], rcx
mov byte [rbp + 0x590], al
mov qword [rbp + 0x580], r8
mov qword [rbp + 0x420], 0
mov qword [rbp + 0x430], 0
mov qword [rbp + 0x440], 0
mov dword [rbp + 0x408], 2
mov rdx, qword [rbp + 0x4f0]
lea rax, [rdx + 0x58]
cmp dword [rdx + 0x58], 6
lea rcx, [rbp + 0x408]
cmovne rcx, rax
cmp dword [rdx + 0x68], 6
lea r14, [rdx + 0x68]
cmove r14, rsi
lea rdi, [rdx + 0x78]
cmp dword [rdx + 0x78], 6
cmove rdi, rsi
lea r8, [rbp + 0x420]
mov edx, 0xfffffff6
call fcn.140041b80
mov r12, rdx
test rax, rax
je 0x14003e7ad
mov rax, qword [rbp + 0x4d8]
mov qword [rax], r12
mov qword [rax + 0x10], 2
jmp 0x14003ecb7
lea r8, [rbp + 0x430]
mov rcx, r14
mov edx, 0xfffffff5
call fcn.140041b80
mov r14, rdx
test rax, rax
je 0x14003e8c3
mov rax, qword [rbp + 0x4d8]
mov qword [rax], r14
mov qword [rax + 0x10], 2
jmp 0x14003ec9a
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x30]
call fcn.14003f6a0
mov rax, qword [rbp + 0x500]
mov rsi, qword [rbp + 0x510]
cmp rsi, rax
jne 0x14003e828
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov rax, qword [rbp + 0x500]
mov r13, qword [rbp + 0x508]
mov word [r13 + rsi*2], 0
mov rdx, rax
mov rax, r13
mov rcx, rdx
mov qword [rbp + 0x4d0], rdx
cmp rdx, r15
mov rsi, qword [rbp + 0x488]
jne 0x14003d97c
jmp 0x14003e684
xor esi, esi
lea rcx, [rbp - 0x30]
call fcn.140041ad0
cmp r13, qword [rbp + 0x580]
mov rsi, qword [rbp + 0x488]
jne 0x14003e893
xor esi, esi
lea rcx, [rbp + 0x580]
call fcn.140036cc0
mov r14, qword [rbp + 0x588]
mov rsi, qword [rbp + 0x488]
mov word [r14 + r13*2], 0
mov r12, qword [rbp + 0x580]
cmp r12, r15
je 0x14003e6da
mov qword [rbp + 0x578], r14
mov r14, qword [rbp + 0x588]
mov edi, dword [rbp + 0x4f8]
jmp 0x14003d95a
lea r8, [rbp + 0x440]
mov rcx, rdi
mov edx, 0xfffffff4
call fcn.140041b80
mov rdi, rdx
test rax, rax
je 0x14003e978
mov rax, qword [rbp + 0x4d8]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
jmp 0x14003ec92
lea rcx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_srccollections_btree_navigate.rs
call fcn.140006140
jmp 0x14003f0ff
mov rsi, qword [rbp + 0x510]
mov rax, qword [rbp + 0x500]
cmp rsi, rax
jne 0x14003e931
lea rcx, [rbp + 0x500]
call fcn.140036cc0
mov rax, qword [rbp + 0x500]
mov r13, qword [rbp + 0x508]
mov word [r13 + rsi*2], 0x22
cmp rax, r15
je 0x14003e4d9
inc rsi
jmp 0x14003d80c
mov r13, rax
cmp qword [rbp + 0x500], 0
jne 0x14003e4c8
jmp 0x14003e4d9
lea rcx, [0x1401c90d0]
call fcn.14001a110
jmp 0x14003d9aa
mov qword [rbp + 0x480], r15
xorps xmm0, xmm0
movups xmmword [rbp + 0x534], xmm0
movups xmmword [rbp + 0x528], xmm0
movups xmmword [rbp + 0x518], xmm0
movups xmmword [rbp + 0x508], xmm0
movups xmmword [rbp + 0x548], xmm0
movups xmmword [rbp + 0x558], xmm0
test rdi, rdi
jne 0x14003e9c0
test r14, r14
jne 0x14003e9c0
mov eax, 1
test r12, r12
je 0x14003e9e4
mov dword [rbp + 0x53c], 0x100
mov qword [rbp + 0x550], r12
mov qword [rbp + 0x558], r14
mov qword [rbp + 0x560], rdi
mov eax, 0x101
mov rdx, qword [rbp + 0x4f0]
cmp word [rdx + 0xc0], 0
je 0x14003ea09
movzx ecx, word [rdx + 0xc2]
mov dword [rbp + 0x53c], eax
mov word [rbp + 0x540], cx
mov rsi, qword [rdx + 0xb8]
test rsi, rsi
je 0x14003eab4
add rdx, 0xa8
mov dword [rbp + 0x500], 0x70
lea rcx, [rbp + 0x3d8]
call fcn.140042300
mov rcx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3e0]
mov qword [rbp + 0x4f0], rax
test rcx, rcx
je 0x14003ec6a
mov r15, rcx
or ebx, 0x80000
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x30], rax
movups xmm0, xmmword [rbp + 0x550]
movaps xmmword [rbp + 0x20], xmm0
movups xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [rbp + 0x500]
movups xmm1, xmmword [rbp + 0x510]
movups xmm2, xmmword [rbp + 0x520]
movups xmm3, xmmword [rbp + 0x530]
movaps xmmword [rbp], xmm3
movaps xmmword [rbp - 0x10], xmm2
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp + 0x38], rcx
lea rax, [rbp - 0x30]
jmp 0x14003eac5
mov dword [rbp + 0x500], 0x68
lea rax, [rbp + 0x500]
mov rdx, qword [rbp + 0x4b8]
lea rcx, [rbp + 0x490]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r13
mov rax, qword [rbp + 0x578]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], 1
mov rcx, qword [rbp + 0x5b8]
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x14003ec35
movups xmm0, xmmword [rbp + 0x420]
movups xmm1, xmmword [rbp + 0x430]
movups xmm2, xmmword [rbp + 0x440]
mov rax, qword [rbp + 0x4d8]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x490]
movups xmmword [rax], xmm0
test rsi, rsi
je 0x14003eb5a
mov rcx, r15
mov rdx, qword [rbp + 0x4f0]
call fcn.1400426c0
mov rcx, rdi
call sub.kernel32.dll_CloseHandle
mov rcx, r14
call sub.kernel32.dll_CloseHandle
mov rcx, r12
call sub.kernel32.dll_CloseHandle
cmp dword [rbp + 0x408], 4
jb 0x14003eb87
mov rcx, qword [rbp + 0x410]
call sub.kernel32.dll_CloseHandle
lea rcx, [rbp + 0x580]
mov r14, qword [rbp + 0x4f8]
mov r12, qword [rbp + 0x4e8]
call fcn.140042700
cmp qword [rbp + 0x4d0], 0
je 0x14003ebbc
mov edx, 2
mov rcx, qword [rbp + 0x418]
call fcn.1400014a0
test r12, r12
je 0x14003ebce
mov edx, 2
mov rcx, r14
call fcn.1400014a0
cmp qword [rbp + 0x4b0], 0
je 0x14003ebe9
mov rcx, qword [rbp + 0x4b8]
mov edx, 2
call fcn.1400014a0
cmp qword [rbp + 0x4e0], 0
je 0x14003ec04
mov edx, 2
mov rcx, qword [rbp + 0x5b8]
call fcn.1400014a0
cmp qword [rbp + 0x570], 0
je 0x14003c15e
cmp byte [rbp + 0x5a8], 0
je 0x14003c15e
mov edx, 2
mov rcx, qword [rbp + 0x5b0]
call fcn.1400014a0
jmp 0x14003c15e
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp + 0x4d8]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
test rsi, rsi
je 0x14003ec83
mov rcx, r15
mov rdx, qword [rbp + 0x4f0]
call fcn.1400426c0
jmp 0x14003ec83
mov rax, qword [rbp + 0x4d8]
mov rcx, qword [rbp + 0x4f0]
mov qword [rax], rcx
mov qword [rax + 0x10], 2
mov rcx, rdi
call sub.kernel32.dll_CloseHandle
mov r15, qword [rbp + 0x480]
mov rcx, r14
call sub.kernel32.dll_CloseHandle
mov rcx, r12
call sub.kernel32.dll_CloseHandle
cmp dword [rbp + 0x408], 4
jb 0x14003ecb7
mov rcx, qword [rbp + 0x410]
call sub.kernel32.dll_CloseHandle
cmp qword [rbp + 0x420], 0
mov r14, qword [rbp + 0x4f8]
mov r12, qword [rbp + 0x4e8]
je 0x14003ecdb
mov rcx, qword [rbp + 0x428]
call sub.kernel32.dll_CloseHandle
cmp qword [rbp + 0x430], 0
je 0x14003ecf1
mov rcx, qword [rbp + 0x438]
call sub.kernel32.dll_CloseHandle
cmp qword [rbp + 0x440], 0
je 0x14003ed07
mov rcx, qword [rbp + 0x448]
call sub.kernel32.dll_CloseHandle
cmp qword [rbp + 0x580], 0
mov rdi, qword [rbp + 0x588]
movzx eax, byte [rbp + 0x590]
je 0x14003ed36
test al, al
jne 0x14003ed53
mov rax, qword [0x1401c90b0]
test rax, r15
je 0x14003ed53
call fcn.14001a1c0
jmp 0x14003ed4b
test al, al
jne 0x14003ed53
mov rax, qword [0x1401c90b0]
test rax, r15
je 0x14003ed53
call fcn.14001a1c0
test al, al
jne 0x14003ed53
mov byte [rdi + 1], 1
xor eax, eax
xchg byte [rdi], al
cmp al, 2
jne 0x14003ed63
mov rcx, rdi
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
cmp qword [rbp + 0x4d0], 0
je 0x14003ed7e
mov edx, 2
mov rcx, qword [rbp + 0x418]
call fcn.1400014a0
test r12, r12
je 0x14003ed90
mov edx, 2
mov rcx, r14
call fcn.1400014a0
cmp qword [rbp + 0x4b0], 0
je 0x14003edab
mov rcx, qword [rbp + 0x4b8]
mov edx, 2
call fcn.1400014a0
cmp qword [rbp + 0x4e0], 0
je 0x14003edc6
mov edx, 2
mov rcx, qword [rbp + 0x5b8]
call fcn.1400014a0
mov sil, 1
cmp byte [rbp + 0x5a8], 0
jne 0x14003d586
jmp 0x14003c15e
lea rcx, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_srccollections_btree_navigate.rs
call fcn.140006140
jmp 0x14003f0ff
mov r14, rsi
jmp 0x14003e6b4
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x580], rax
lea rax, [rbp + 0x580]
mov qword [rbp + 0x420], rax
lea rax, case.0x140030b40.245
mov qword [rbp + 0x428], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], 1
mov qword [rbp + 0x520], 0
lea rax, [rbp + 0x420]
mov qword [rbp + 0x510], rax
mov qword [rbp + 0x518], 1
lea rdx, str.library_std_src_syspalwindowsprocess.rs
lea rcx, [rbp + 0x500]
call fcn.140004390
jmp 0x14003f0ff
mov eax, 1
mov qword [rbp + 0x5a8], rax
jmp 0x14003ee8a
mov rbx, r8
mov rcx, qword [rbp + 0x5a8]
mov rdx, rbx
call fcn.140003b20
jmp 0x14003f0ff
mov eax, 2
mov qword [rbp + 0x5a8], rax
mov rcx, qword [rbp + 0x5a8]
mov rdx, r14
call fcn.140003b20
jmp 0x14003f0ff
mov eax, 1
mov qword [rbp + 0x5a8], rax
mov rcx, qword [rbp + 0x5a8]
mov rdx, rsi
call fcn.140003b20
jmp 0x14003f0ff
lea r8, str.library_std_src_syspalwindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.1400043d0
jmp 0x14003f0ff
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140004ff0
jmp 0x14003f0ff
lea rax, str.library_std_src_syspalwindowsos.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.140004d10
jmp 0x14003f0ff
lea r8, str.library_std_src_syspalwindowsos.rs
mov rcx, rsi
mov rdx, r12
call fcn.1400043d0
jmp 0x14003f0ff
lea rcx, str.assertion_failed:_self.height___0
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_srccollections_btree_node.rsassertion_failed:_edge.height__self.height___1
mov edx, 0x21
call fcn.140004ff0
jmp 0x14003f0ff
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140004ff0
jmp 0x14003f0ff
mov eax, 4
mov qword [rbp + 0x5b0], rax
mov ecx, 1
mov rdx, qword [rbp + 0x5b0]
call fcn.140003b20
jmp 0x14003f0ff
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140004ff0
jmp 0x14003f0ff
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140004ff0
jmp 0x14003f0ff
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140004ff0
jmp 0x14003f0ff
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x420], rax
lea rax, [rbp + 0x420]
mov qword [rbp + 0x500], rax
lea rax, case.0x140030b40.245
mov qword [rbp + 0x508], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 1
mov qword [rbp - 0x10], 0
lea rax, [rbp + 0x500]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
lea rdx, str.library_std_src_syspalwindowsos.rs
lea rcx, [rbp - 0x30]
call fcn.140004390
jmp 0x14003f0ff
xor ecx, ecx
jmp 0x14003ef8f
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.140004d10
jmp 0x14003f0ff
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, rsi
mov rdx, r12
call fcn.140004d10
jmp 0x14003f0ff
mov ecx, 2
mov rdx, rdi
call fcn.140003b20
jmp 0x14003f0ff
mov ecx, 2
mov edx, 0x14
call fcn.140003b20
jmp 0x14003f0ff
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.140004d10
jmp 0x14003f0ff
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.140004d10
jmp 0x14003f0ff
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.140004d10
ud2