Function at 0x14001b500
Capabilities:
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, 0x698
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x600], xmm6
mov qword [rbp + 0x5f8], 0xfffffffffffffffe
mov rbx, rcx
mov rsi, qword [rdx + 0x60]
movzx eax, byte [rdx + 0x68]
test al, al
mov qword [rbp + 0x5b0], rdx
jne 0x14001b55c
test rsi, rsi
jne 0x14001b55c
mov qword [rbp + 0x3f0], 0
xor r15d, r15d
jmp 0x14001c304
mov qword [rbp + 0x5c8], rbx
mov qword [rbp + 0x4d8], 0
mov qword [rbp + 0x4e8], 0
test al, al
jne 0x14001b865
call qword [sym.imp.kernel32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x14001eba7
mov qword [rbp + 0x5d8], rsi
lea r14, [rbp - 0x18]
mov qword [rbp + 0x5e8], rax
mov r15, rax
nop word cs:[rax + rax]
cmp word [r15], 0
je 0x14001b84a
mov rsi, r15
mov rcx, 0xfffffffffffffffe
xor r13d, r13d
nop dword [rax + rax]
mov r12, r13
mov rax, rcx
inc r13
cmp word [r15], 0
lea r15, [r15 + 2]
lea rcx, [rcx + 2]
jne 0x14001b5d0
cmp r12, 1
je 0x14001b5b0
test r12, r12
je 0x14001eaef
mov rdi, 0xfffffffffffffffc
xor ebx, ebx
cmp word [rsi + rbx*2 + 2], 0x3d
je 0x14001b620
inc rbx
add rdi, 0xfffffffffffffffe
add rax, 0xfffffffffffffffe
jne 0x14001b600
jmp 0x14001b5b0
lea r8, [rbx + 1]
cmp rbx, r12
jae 0x14001eb07
lea rcx, [rbp + 0x520]
mov rdx, rsi
call fcn.1400125d0
lea rcx, [rbx + 2]
cmp r12, rcx
jb 0x14001eb21
sub r13, rbx
add r13, 0xfffffffffffffffd
sub rsi, rdi
lea rcx, [rbp + 0x480]
mov rdx, rsi
mov r8, r13
call fcn.1400125d0
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x430], rax
movups xmm0, xmmword [rbp + 0x520]
movaps xmmword [rbp + 0x420], xmm0
movzx esi, byte [rbp + 0x538]
lea rcx, [rbp + 0x539]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x2d], ecx
movups xmm0, xmmword [rbp + 0x480]
movups xmm1, xmmword [rbp + 0x490]
movups xmmword [r14 - 1], xmm1
movups xmmword [r14 - 0x11], xmm0
mov eax, dword [rbp - 0x30]
movzx ecx, word [rbp - 0x2c]
movzx edx, byte [rbp - 0x2a]
mov r8, qword [rbp - 0x29]
movzx r9d, byte [rbp - 0x21]
movups xmm0, xmmword [rbp - 0x20]
mov dword [rbp + 0x550], eax
mov word [rbp + 0x554], cx
mov byte [rbp + 0x556], dl
mov qword [rbp + 0x557], r8
mov byte [rbp + 0x55f], r9b
movaps xmmword [rbp + 0x560], xmm0
mov rax, qword [rbp - 0x11]
mov qword [rbp + 0x56f], rax
cmp sil, 2
je 0x14001b84a
mov rax, qword [rbp + 0x430]
mov qword [rbp + 0x500], rax
movaps xmm0, xmmword [rbp + 0x420]
movaps xmmword [rbp + 0x4f0], xmm0
mov byte [rbp + 0x508], sil
mov eax, dword [rbp + 0x550]
mov ecx, dword [rbp + 0x553]
lea rdx, [rbp + 0x509]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
lea rdi, [rbp + 0x557]
movdqu xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rbp + 0x460], xmm1
movdqa xmmword [rbp + 0x450], xmm0
mov rax, qword [rbp + 0x4f0]
mov rcx, qword [rbp + 0x500]
add rcx, rax
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x488], rcx
mov word [rbp + 0x490], 0
lea rbx, [rbp + 0x520]
mov rcx, rbx
lea r12, [rbp + 0x480]
mov rdx, r12
call fcn.14001fd90
mov rax, qword [rbp + 0x430]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [rbp + 0x420]
movups xmmword [r14], xmm0
mov byte [rbp], sil
mov eax, dword [rbp + 0x550]
mov ecx, dword [rbp + 0x553]
mov dword [r14 + 0x1c], ecx
mov dword [r14 + 0x19], eax
movups xmm0, xmmword [rbp + 0x520]
movaps xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x530]
mov qword [rbp - 0x20], rax
movdqu xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movaps xmmword [rbp + 0x490], xmm1
movdqa xmmword [rbp + 0x480], xmm0
mov byte [rbp + 0x5c7], 0
mov rcx, rbx
lea rdx, [rbp + 0x4d8]
lea r8, [rbp - 0x30]
mov r9, r12
call fcn.140020720
cmp byte [rbp + 0x538], 2
je 0x14001b5b0
cmp qword [rbp + 0x528], 0
je 0x14001b5b0
mov rcx, qword [rbp + 0x520]
mov edx, 1
call fcn.140001e30
jmp 0x14001b5b0
mov rcx, qword [rbp + 0x5e8]
call qword [sym.imp.kernel32.dll_FreeEnvironmentStringsW]
mov rdx, qword [rbp + 0x5b0]
mov rsi, qword [rbp + 0x5d8]
mov rax, qword [rdx + 0x50]
mov r8, qword [rdx + 0x58]
xor r9d, r9d
test rax, rax
setne r9b
cmove rsi, rax
xor r14d, r14d
jmp 0x14001b890
xor eax, eax
mov r9, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d0]
test rsi, rsi
je 0x14001c101
test r9, r9
je 0x14001b8f0
test r14, r14
jne 0x14001b8f0
mov r9d, 1
test r8, r8
je 0x14001b8fa
mov rdx, r8
mov rcx, r8
and rdx, 7
je 0x14001b8ff
and rcx, 0xfffffffffffffff8
mov r14, rax
nop word cs:[rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rdx
jne 0x14001b8d0
cmp r8, 8
jae 0x14001b910
jmp 0x14001b94e
test r9, r9
jne 0x14001b953
jmp 0x14001ea72
mov r14, rax
jmp 0x14001b94e
mov r14, rax
cmp r8, 8
jb 0x14001b94e
nop dword [rax + rax]
mov rax, qword [r14 + 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 r14, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14001b910
xor r8d, r8d
xor eax, eax
movzx ecx, word [r14 + 0x3d2]
mov r13, r14
mov r15, r8
cmp r8, rcx
jb 0x14001b998
nop word cs:[rax + rax]
mov rcx, qword [r13 + 0x160]
test rcx, rcx
je 0x14001e94f
movzx r15d, word [r13 + 0x3d0]
inc rax
mov r13, rcx
cmp r15w, word [rcx + 0x3d2]
jae 0x14001b970
test rax, rax
je 0x14001ba40
mov r14, qword [r13 + r15*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14001ba2e
lea rdx, [rax - 2]
mov r8, rcx
and r8, 7
je 0x14001b9e5
mov rcx, r8
nop word cs:[rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rcx
jne 0x14001b9d0
not r8
add rax, r8
mov rcx, rax
cmp rdx, 7
jb 0x14001ba2e
nop dword [rax + rax]
mov rax, qword [r14 + 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 r14, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14001b9f0
xor r8d, r8d
jmp 0x14001ba47
lea r8, [r15 + 1]
mov r14, r13
dec rsi
imul rax, r15, 0x38
lea r12, [rax + r13]
add r12, 0x168
shl r15, 5
cmp byte [r13 + r15 + 0x18], 2
jne 0x14001bad0
mov rdi, qword [rbp + 0x4d8]
mov eax, 0
test rdi, rdi
je 0x14001b890
mov r13, r8
mov rbx, r9
mov r9, qword [r12]
mov rax, qword [r12 + 0x10]
mov r12, qword [rbp + 0x4e0]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x520]
mov rdx, rdi
mov r8, r12
call fcn.14001ffd0
cmp qword [rbp + 0x520], 0
je 0x14001bbb7
xor eax, eax
mov r9, rbx
mov r8, r13
jmp 0x14001b890
mov qword [rbp + 0x5d8], rsi
mov rsi, qword [r12 + 0x18]
mov rdi, qword [r12 + 0x28]
test rdi, rdi
mov qword [rbp + 0x5e8], r9
mov qword [rbp + 0x5d0], r8
je 0x14001bb1b
js 0x14001ead3
movzx eax, byte [0x14003d280]
mov edx, 1
mov rcx, rdi
call fcn.140001de0
mov rbx, rax
test rax, rax
jne 0x14001bb20
jmp 0x14001eadd
mov ebx, 1
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.14002b4c0
movzx eax, byte [r12 + 0x30]
mov qword [rbp + 0x550], rbx
mov qword [rbp + 0x558], rdi
mov qword [rbp + 0x560], rdi
mov byte [rbp + 0x568], al
mov rdx, qword [r12]
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x14001bbaa
xor ebx, ebx
mov rax, rdi
shr rax, 0x3e
sete al
jne 0x14001ea8f
lea r12, [rdi + rdi]
mov bl, al
add rbx, rbx
test r12, r12
je 0x14001bd4c
movzx eax, byte [0x14003d280]
mov rcx, r12
mov rsi, rdx
mov rdx, rbx
call fcn.140001de0
mov rdx, rsi
mov rsi, rax
test rsi, rsi
jne 0x14001bd58
jmp 0x14001ea99
mov esi, 2
xor r12d, r12d
jmp 0x14001bd58
mov rax, qword [rbp + 0x528]
mov rdx, qword [rbp + 0x530]
mov rcx, qword [rbp + 0x538]
mov byte [rbp + 0x420], 0
test rdx, rdx
je 0x14001be51
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x14001bcae
lea r8, [rdx - 2]
mov r9, rcx
and r9, 7
je 0x14001bc1e
mov rcx, r9
movzx r10d, word [rax + 0x3d2]
mov rax, qword [rax + r10*8 + 0x3d8]
dec rcx
jne 0x14001bc00
not r9
add rdx, r9
mov rcx, rdx
cmp r8, 7
jb 0x14001bcae
nop dword [rax + 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 0x14001bc30
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rbp + 0x450], rax
mov qword [rbp + 0x458], 0
mov qword [rbp + 0x460], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x450]
lea r8, [rbp + 0x420]
call fcn.140020170
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x4d0], rax
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x4c0], xmm0
movdqu xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movups xmm2, xmmword [rbp - 0x10]
movups xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x4b0], xmm3
movaps xmmword [rbp + 0x4a0], xmm2
movaps xmmword [rbp + 0x490], xmm1
movdqa xmmword [rbp + 0x480], xmm0
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x38]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x14001be86
mov rcx, rdx
jmp 0x14001beb9
mov rsi, rbx
test rsi, rsi
je 0x14001ea99
add r13, r15
mov rcx, rsi
mov r8, r12
call fcn.14002b4c0
movdqu xmm0, xmmword [rbp + 0x550]
movups xmm1, xmmword [rbp + 0x560]
lea rax, [rbp - 0x18]
movdqu xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rdi
mov rsi, qword [r13]
mov rdi, qword [r13 + 0x10]
test rdi, rdi
je 0x14001bdc1
js 0x14001eaa9
movzx eax, byte [0x14003d280]
mov edx, 1
mov rcx, rdi
call fcn.140001de0
mov rbx, rax
test rax, rax
jne 0x14001bdc6
jmp 0x14001eaba
mov ebx, 1
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.14002b4c0
movzx eax, byte [r13 + 0x18]
mov qword [rbp + 0x550], rbx
mov qword [rbp + 0x558], rdi
mov qword [rbp + 0x560], rdi
mov byte [rbp + 0x568], al
mov byte [rbp + 0x5e7], 0
lea rcx, [rbp + 0x480]
lea rdx, [rbp + 0x4d8]
lea r8, [rbp - 0x30]
lea r9, [rbp + 0x550]
call fcn.140020720
cmp byte [rbp + 0x498], 2
mov rsi, qword [rbp + 0x5d8]
je 0x14001b880
cmp qword [rbp + 0x488], 0
je 0x14001b880
mov rcx, qword [rbp + 0x480]
mov edx, 1
call fcn.140001e30
jmp 0x14001b880
mov qword [rbp + 0x550], rax
mov qword [rbp + 0x558], 0
mov qword [rbp + 0x560], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x550]
lea r8, [rbp + 0x420]
call fcn.140020170
jmp 0x14001bfab
mov r8, qword [rbp + 0x30]
nop word [rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x14001beb4
movzx eax, word [rdx + 0x3d0]
inc r8
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x14001be90
jmp 0x14001beb9
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rbp + 0x580], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rbp + 0x570], xmm2
movaps xmmword [rbp + 0x560], xmm1
movaps xmmword [rbp + 0x550], xmm0
mov r8, qword [rbp + 0x4b0]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rbp + 0x480]
movaps xmm1, xmmword [rbp + 0x490]
movaps xmm2, xmmword [rbp + 0x4a0]
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 + 0x588]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rbp + 0x4b8]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rbp + 0x5a0]
mov qword [rbp + 0x20], rax
movaps xmm0, xmmword [rbp + 0x590]
movaps xmmword [rbp + 0x10], xmm0
movdqa xmm0, xmmword [rbp + 0x550]
movaps xmm1, xmmword [rbp + 0x560]
movaps xmm2, xmmword [rbp + 0x570]
movaps xmm3, xmmword [rbp + 0x580]
movaps xmmword [rbp], xmm3
movaps xmmword [rbp - 0x10], xmm2
movaps xmmword [rbp - 0x20], xmm1
movdqa xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x5a0], rax
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x590], xmm0
movdqa xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
movaps xmm2, xmmword [rbp - 0x10]
movaps xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x580], xmm3
movaps xmmword [rbp + 0x570], xmm2
dec qword [rbp + 0x4e8]
movaps xmmword [rbp + 0x560], xmm1
movdqa xmmword [rbp + 0x550], xmm0
cmp byte [rbp + 0x420], 0
je 0x14001c038
test r12, r12
je 0x14001eb35
mov rax, qword [rdi + 0x3d8]
mov qword [rbp + 0x4d8], rax
dec r12
mov qword [rbp + 0x4e0], r12
mov qword [rax + 0x160], 0
mov edx, 8
mov rcx, rdi
call fcn.140001e30
cmp byte [rbp + 0x580], 2
mov eax, 0
mov r9, rbx
mov r8, r13
je 0x14001b890
mov rdi, rsi
mov rsi, qword [rbp + 0x550]
mov r12, qword [rbp + 0x558]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x5b8], rax
mov rax, qword [rbp + 0x590]
mov qword [rbp + 0x5d8], rax
movzx r15d, byte [rbp + 0x5a0]
cmp qword [rbp + 0x570], 0
je 0x14001c0a6
mov rcx, qword [rbp + 0x568]
mov edx, 1
call fcn.140001e30
mov r8, r13
mov r9, rbx
test r12, r12
je 0x14001c0be
mov edx, 2
mov rcx, rsi
call fcn.140001e30
mov r8, r13
mov r9, rbx
mov eax, 0
cmp r15b, 2
mov rsi, rdi
je 0x14001b890
mov eax, 0
cmp qword [rbp + 0x5d8], 0
je 0x14001b890
mov edx, 1
mov rcx, qword [rbp + 0x5b8]
call fcn.140001e30
mov r8, r13
mov r9, rbx
xor eax, eax
jmp 0x14001b890
mov rax, qword [rbp + 0x4e8]
mov qword [rbp + 0x408], rax
movdqu xmm0, xmmword [rbp + 0x4d8]
movdqu xmmword [rbp + 0x3f8], xmm0
mov qword [rbp + 0x3f0], 1
movzx eax, byte [0x14003d280]
mov ecx, 4
mov edx, 1
call fcn.140001de0
test rax, rax
je 0x14001eb52
mov dword [rax], 0x48544150
mov qword [rbp + 0x550], rax
mov qword [rbp + 0x558], 4
mov qword [rbp + 0x560], 4
mov byte [rbp + 0x568], 0
mov rcx, rax
add rcx, 4
mov qword [rbp + 0x480], rax
mov qword [rbp + 0x488], rcx
mov word [rbp + 0x490], 0
lea rcx, [rbp + 0x520]
lea rdx, [rbp + 0x480]
call fcn.14001fd90
movups xmm0, xmmword [rbp + 0x550]
movups xmm1, xmmword [rbp + 0x560]
movups xmmword [rbp - 8], xmm1
movups xmmword [rbp - 0x18], xmm0
movdqu xmm0, xmmword [rbp + 0x520]
movdqa xmmword [rbp - 0x30], xmm0
mov r14, qword [rbp + 0x530]
mov qword [rbp - 0x20], r14
mov rsi, qword [rbp - 0x30]
mov rax, qword [rbp + 0x3f8]
test rax, rax
je 0x14001c2d1
mov rcx, qword [rbp + 0x400]
mov qword [rbp + 0x5e8], rcx
mov r15, qword [sym.imp.kernel32.dll_CompareStringOrdinal]
lea rcx, [rax + 0x168]
movzx edx, word [rax + 0x3d2]
mov qword [rbp + 0x5d0], rdx
imul r13, rdx, 0x38
mov qword [rbp + 0x5d8], rax
lea rdi, [rax - 0x10]
mov rbx, 0xffffffffffffffff
nop word cs:[rax + rax]
test r13, r13
je 0x14001c270
lea r12, [rcx + 0x38]
mov r8, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov edx, r14d
call r15
add r13, 0xffffffffffffffc8
add rdi, 0x20
inc rbx
mov rcx, r12
cmp eax, 3
je 0x14001c230
cmp eax, 1
jne 0x14001c2a3
jmp 0x14001c277
mov rbx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x5e8]
sub rax, 1
jb 0x14001c737
mov qword [rbp + 0x5e8], rax
mov rax, qword [rbp + 0x5d8]
mov rax, qword [rax + rbx*8 + 0x3d8]
jmp 0x14001c1fb
cmp eax, 2
jne 0x14001e9ec
cmp qword [rbp + 0x5d8], 0
mov rbx, qword [rbp + 0x5c8]
je 0x14001c481
mov r15, qword [rdi - 0x10]
mov rdi, qword [rdi]
cmp qword [rbp - 0x10], 0
jne 0x14001c2e2
jmp 0x14001c2f0
xor r15d, r15d
mov rbx, qword [rbp + 0x5c8]
cmp qword [rbp - 0x10], 0
je 0x14001c2f0
mov rcx, qword [rbp - 0x18]
mov edx, 1
call fcn.140001e30
cmp qword [rbp - 0x28], 0
je 0x14001c304
mov edx, 2
mov rcx, rsi
call fcn.140001e30
mov rax, qword [rbp + 0x5b0]
mov r8, qword [rax + 0x40]
lea r14, str.program_path_has_no_file_name
test r8, r8
je 0x14001db37
mov rdx, qword [rax + 0x30]
cmp r8, 4
jae 0x14001c332
lea rax, [0x140021f30]
jmp 0x14001c34a
cmp dword [rdx], 0x5c3f5c5c
lea rcx, [0x140021f20]
lea rax, [0x140021f30]
cmove rax, rcx
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5d8], r8
movzx esi, byte [r8 + rdx - 1]
mov rdx, qword [0x1400303c0]
mov byte [rbp + 0x5f7], 1
mov ecx, esi
call rdx
test al, al
jne 0x14001db37
mov r8, qword [rbp + 0x5d8]
cmp r8, 4
jb 0x14001c3ec
mov rdx, qword [rbp + 0x5e8]
movzx eax, byte [r8 + rdx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14001c3ec
movzx eax, byte [rdx + r8 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14001c3ec
movzx eax, byte [rdx + r8 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14001c3ec
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14001c3ee
xor eax, eax
mov rdx, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d8]
lea r14, [rdx + r8]
xor ecx, ecx
nop word cs:[rax + rax]
cmp r8, rcx
je 0x14001c494
movzx r9d, byte [rdx + rcx]
cmp r9d, 0x2f
je 0x14001c429
inc rcx
cmp r9d, 0x5c
jne 0x14001c410
test al, al
je 0x14001c582
mov r15, r14
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp - 0x30]
call fcn.1400110c0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
test rcx, rcx
je 0x14001c662
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x4f0]
lea rdx, [rbp - 0x30]
call fcn.1400220f0
jmp 0x14001c674
xor r15d, r15d
cmp qword [rbp - 0x10], 0
jne 0x14001c2e2
jmp 0x14001c2f0
xor r9d, r9d
lea r11, str.nul_byte_found_in_provided_data
mov rax, rdx
jmp 0x14001c4bc
xor r9d, r9d
test cx, cx
je 0x14001c65a
mov cx, 1
test r9w, r9w
jne 0x14001c4b0
cmp rax, r14
je 0x14001c704
movzx r9d, byte [rax]
movzx esi, r9b
test sil, sil
js 0x14001c4e1
inc rax
jmp 0x14001c544
mov r8d, esi
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp sil, 0xdf
jbe 0x14001c536
movzx esi, byte [rax + 2]
shl r10d, 6
and esi, 0x3f
or esi, r10d
cmp r9b, 0xf0
jb 0x14001c55e
movzx r9d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl esi, 6
and r9d, 0x3f
or r9d, esi
or r9d, r8d
mov esi, r9d
cmp esi, 0xffff
jbe 0x14001c544
jmp 0x14001c571
add rax, 2
shl r8d, 6
or r8d, r10d
mov esi, r8d
xor r9d, r9d
mov ecx, esi
mov r8, qword [rbp + 0x5d8]
test cx, cx
jne 0x14001c4bc
jmp 0x14001c65a
add rax, 3
shl r8d, 0xc
or esi, r8d
cmp esi, 0xffff
jbe 0x14001c544
and esi, 0x3ff
or esi, 0xdc00
mov r9d, esi
jmp 0x14001c549
xor esi, esi
test r8, r8
setns al
mov rdi, qword [rbp + 0x5b0]
js 0x14001ec1b
mov r15, r8
mov sil, al
movzx eax, byte [0x14003d280]
mov rcx, r8
mov rdx, rsi
call fcn.140001de0
test rax, rax
je 0x14001ec2c
mov r12, rax
mov rcx, rax
mov rdx, qword [rbp + 0x5e8]
mov r8, r15
call fcn.14002b4c0
mov qword [rbp + 0x5d0], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
mov byte [rbp - 0x18], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rbp - 0x30]
mov r8d, 4
call fcn.1400178b0
mov r12, qword [rbp - 0x30]
mov r13, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x20]
mov qword [rbp + 0x3e0], r13
mov qword [rbp + 0x3d8], r12
mov byte [rbp + 0x5c5], 1
lea rcx, [rbp + 0x550]
mov rdx, r12
mov r8, rsi
call fcn.140021f40
cmp qword [rbp + 0x550], 0
je 0x14001c680
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x500], rax
movdqu xmm0, xmmword [rbp + 0x550]
movdqa xmmword [rbp + 0x4f0], xmm0
jmp 0x14001c7c2
mov r14, r11
jmp 0x14001db37
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x4f0], 0
mov rdi, qword [rbp + 0x5b0]
jmp 0x14001c7d7
mov qword [rbp + 0x5d0], r13
mov qword [rbp + 0x5d8], r12
mov rcx, r12
mov rdx, rsi
call fcn.14001ad70
test rax, rax
je 0x14001c75d
cmp rdx, 2
mov r9, qword [rbp + 0x5d8]
jne 0x14001c6c1
movzx r8d, word [rax]
mov ecx, 2
cmp r8d, 0x2e2e
je 0x14001c6f5
mov r8, rdx
nop word cs:[rax + rax]
test r8, r8
je 0x14001c6f2
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x14001c6d0
cmp rdx, rcx
jb 0x14001ec74
test r8, r8
cmovne rdx, r8
mov rcx, rdx
add rax, rcx
sub rax, r9
cmp rsi, rax
cmovae rsi, rax
jmp 0x14001c764
cmp r8, 0xf
ja 0x14001c751
xor eax, eax
mov qword [rbp + 0x5b8], rax
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rdx + rax], 0x2e
je 0x14001d224
inc rax
cmp r8, rax
jne 0x14001c720
jmp 0x14001d230
mov rbx, qword [rbp + 0x5c8]
xor r15d, r15d
cmp qword [rbp - 0x10], 0
jne 0x14001c2e2
jmp 0x14001c2f0
mov cl, 0x2e
call fcn.140005c50
jmp 0x14001d229
mov r9, qword [rbp + 0x5d8]
lea rcx, [rbp - 0x30]
mov rdx, r9
mov r8, rsi
call fcn.1400110c0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
test rcx, rcx
je 0x14001c7a2
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
lea rcx, [rbp + 0x4f0]
lea rdx, [rbp - 0x30]
call fcn.1400220f0
jmp 0x14001c7b4
mov qword [rbp + 0x4f8], rax
mov qword [rbp + 0x4f0], 0
mov r12, qword [rbp + 0x5d8]
mov r13, qword [rbp + 0x5d0]
mov r15, r14
test r13, r13
je 0x14001c7d7
mov edx, 1
mov rcx, r12
call fcn.140001e30
mov r8, qword [rbp + 0x4f0]
mov r14, qword [rbp + 0x4f8]
test r8, r8
je 0x14001db37
mov r9, qword [rbp + 0x500]
mov qword [rbp + 0x5d8], r14
mov qword [rbp + 0x5c8], rbx
cmp r9, 5
mov qword [rbp + 0x5d0], r8
jb case.0x14001cb2e.68
cmp word [r8 + r9*2 - 0xa], 0x2e
jne case.0x14001cb2e.68
cmp word [r8 + r9*2 - 2], 0
je 0x14001cb0e
mov rsi, qword [rdi + 0x90]
mov rbx, qword [rdi + 0xa0]
mov dil, byte [rdi + 0xad]
mov qword [rbp + 0x550], 2
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x558], xmm0
lea rcx, [rbp + 0x550]
xor edx, edx
call fcn.1400115a0
mov rax, qword [rbp + 0x550]
mov rcx, qword [rbp + 0x560]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rbp + 0x560], rcx
mov rax, qword [rbp + 0x5e8]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r15
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x550]
lea rdx, [rbp - 0x30]
call fcn.140011410
mov rdx, qword [rbp + 0x560]
cmp rdx, qword [rbp + 0x558]
jne 0x14001c8c6
lea rcx, [rbp + 0x550]
call fcn.1400115a0
mov rdx, qword [rbp + 0x560]
mov rax, qword [rbp + 0x550]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rbp + 0x560], rdx
lea rax, [rbx + rbx*4]
lea r15, [rsi + rax*8]
lea r14, [rbp + 0x550]
nop dword [rax]
cmp rsi, r15
je 0x14001c969
mov rdx, qword [rbp + 0x560]
cmp rdx, qword [rbp + 0x558]
jne 0x14001c914
mov rcx, r14
call fcn.1400115a0
mov rdx, qword [rbp + 0x560]
mov rax, qword [rbp + 0x550]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rbp + 0x560], rdx
mov rcx, r14
mov rdx, rsi
mov r8d, edi
call fcn.140022200
mov rbx, rax
add rsi, 0x28
test rax, rax
je 0x14001c8f0
cmp qword [rbp + 0x558], 0
je 0x14001c9f7
mov rcx, qword [rbp + 0x550]
mov edx, 2
call fcn.140001e30
jmp 0x14001c9f7
mov rax, qword [rbp + 0x550]
mov rbx, qword [rbp + 0x558]
test rax, rax
je 0x14001c9f7
mov rdx, qword [rbp + 0x560]
mov r12b, 1
mov dword [rbp + 0x410], 0
mov rcx, qword [rbp + 0x5d8]
mov qword [rbp + 0x5e8], rcx
mov rcx, qword [rbp + 0x5d0]
mov qword [rbp + 0x540], rcx
mov rsi, qword [rbp + 0x5b0]
mov qword [rbp + 0x4d8], rax
mov qword [rbp + 0x4e0], rbx
mov qword [rbp + 0x4e8], rdx
cmp rdx, rbx
jne 0x14001ca42
mov byte [rbp + 0x5f3], 1
lea rcx, [rbp + 0x4d8]
call fcn.1400115a0
mov rbx, qword [rbp + 0x5c8]
mov rax, qword [rbp + 0x4d8]
mov rdx, qword [rbp + 0x4e8]
jmp 0x14001ca49
mov rax, qword [rbp + 0x5c8]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
xor esi, esi
cmp qword [rbp + 0x5d8], 0
je 0x14001ca26
mov edx, 2
mov rcx, qword [rbp + 0x5d0]
call fcn.140001e30
test sil, sil
jne 0x14001dba6
cmp qword [rbp + 0x3f0], 0
jne 0x14001db4c
jmp 0x14001dba6
mov rbx, qword [rbp + 0x5c8]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rbp + 0x4e8], rdx
cmp byte [rsi + 0xac], 0
mov eax, 0x400
mov r15d, 0x608
cmove r15d, eax
or r15d, dword [rsi + 0xa8]
cmp qword [rbp + 0x3f0], 0
je 0x14001cad3
mov dword [rbp + 0x5b8], r12d
mov rsi, qword [rbp + 0x408]
mov qword [rbp + 0x430], rsi
movdqu xmm0, xmmword [rbp + 0x3f8]
movdqa xmmword [rbp + 0x420], xmm0
mov qword [rbp + 0x4f0], 2
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x4f8], xmm0
test rsi, rsi
je 0x14001cc99
mov r14d, 2
xor r12d, r12d
jmp 0x14001cccd
mov edi, 2
xor r13d, r13d
xor r14d, r14d
cmp byte [rsi + 0x88], 2
jne 0x14001dc7c
mov qword [rbp + 0x448], rdi
xor eax, eax
mov qword [rbp + 0x3e8], rax
mov eax, 2
mov qword [rbp + 0x418], rax
xor esi, esi
jmp 0x14001ddec
movzx eax, word [r8 + r9*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x14001cb2e.68
lea rdx, [0x14001fc6c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [r8 + r9*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x14001cb4c
movzx ecx, word [r8 + r9*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x14001cb7c
cmp ax, 0x43
jne case.0x14001cb2e.68
movzx eax, word [r8 + r9*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x14001cb2e.68
movzx eax, word [r8 + r9*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x14001cb2e.68
mov qword [rbp + 0x518], r9
mov qword [rbp + 0x550], 2
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x558], xmm0
mov eax, 0x200
mov ecx, 2
mov qword [rbp + 0x5e8], rcx
xor edi, edi
xor esi, esi
xor ebx, ebx
cmp rax, 0x201
jb 0x14001cbc9
jmp 0x14001cbd8
jae 0x14001dbc1
cmp rax, 0x201
jae 0x14001cbd8
mov r15d, 0x200
lea r14, [rbp - 0x30]
mov r12, rax
jmp 0x14001cc32
sub rax, rbx
sub rsi, rbx
cmp rsi, rax
jae 0x14001cc0a
lea rcx, [rbp + 0x550]
mov rdx, rbx
mov r8, rax
call fcn.14002f390
mov rax, qword [rbp + 0x550]
mov qword [rbp + 0x5e8], rax
mov rdi, qword [rbp + 0x558]
mov eax, 0xffffffff
cmp rdi, rax
mov ebx, 0xffffffff
cmovb rbx, rdi
mov qword [rbp + 0x560], rbx
mov rsi, rdi
mov r15, rbx
mov r14, qword [rbp + 0x5e8]
mov r12, rbx
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, r14
mov edx, r12d
call qword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov r13d, eax
test eax, eax
jne 0x14001cc5b
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14001df60
mov eax, r13d
cmp r12, rax
jne 0x14001cbbb
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001ec43
add r12, r12
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov rax, r12
cmp rax, 0x201
jae 0x14001cbd8
jmp 0x14001cbc9
mov byte [rbp + 0x5f4], 1
lea rcx, [rbp + 0x4f0]
xor edx, edx
call fcn.1400115a0
mov r14, qword [rbp + 0x4f0]
mov r12, qword [rbp + 0x500]
mov word [r14 + r12*2], 0
inc r12
mov qword [rbp + 0x500], r12
mov rax, qword [rbp + 0x420]
mov rcx, qword [rbp + 0x428]
xor edx, edx
test rax, rax
setne dl
cmove rsi, 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], rsi
lea rcx, [rbp + 0x520]
lea rdx, [rbp - 0x30]
mov rsi, rdx
call fcn.14001b180
mov r8, qword [rbp + 0x520]
test r8, r8
je 0x14001dbff
mov r9, qword [rbp + 0x530]
imul r10, r9, 0x38
mov rax, qword [r8 + r10 + 0x168]
mov qword [rbp + 0x548], rax
mov rax, qword [r8 + r10 + 0x170]
mov qword [rbp + 0x518], rax
mov rdi, qword [r8 + r10 + 0x178]
mov rcx, qword [r8 + r10 + 0x180]
mov rax, qword [r8 + r10 + 0x188]
mov rdx, qword [r8 + r10 + 0x190]
movzx r11d, byte [r8 + r10 + 0x198]
mov ebx, dword [r8 + r10 + 0x19c]
mov dword [rbp + 0x553], ebx
mov r10d, dword [r8 + r10 + 0x199]
mov dword [rbp + 0x550], r10d
shl r9, 5
movups xmm0, xmmword [r8 + r9]
movups xmm1, xmmword [r8 + r9 + 0x10]
lea r8, [rbp + 0x557]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
mov r8, qword [rbp + 0x56f]
mov qword [rbp + 0x49f], r8
mov r8d, dword [rbp + 0x550]
movzx r9d, word [rbp + 0x554]
movzx r10d, byte [rbp + 0x556]
mov rbx, qword [rbp + 0x557]
movzx r13d, byte [rbp + 0x55f]
movdqu xmm0, xmmword [rbp + 0x560]
movdqa xmmword [rbp + 0x490], xmm0
mov dword [rbp + 0x480], r8d
mov word [rbp + 0x484], r9w
mov byte [rbp + 0x486], r10b
mov qword [rbp + 0x487], rbx
mov rbx, qword [rbp + 0x5c8]
mov byte [rbp + 0x48f], r13b
cmp r11b, 2
je 0x14001dbff
lea r8, [rbp + 0x487]
movdqu xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movaps xmmword [rbp + 0x530], xmm1
movdqa xmmword [rbp + 0x520], xmm0
add rdx, rcx
xor r11d, r11d
mov r8, rcx
jmp 0x14001ce7d
xor r11d, r11d
test r9w, r9w
je 0x14001d1d1
mov r9w, 1
test r11w, r11w
jne 0x14001ce70
cmp r8, rdx
je 0x14001cf51
movzx r13d, byte [r8]
movzx r10d, r13b
test r10b, r10b
js 0x14001cea6
inc r8
jmp 0x14001cf30
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x14001cef3
movzx r10d, byte [r8 + 2]
shl ebx, 6
and r10d, 0x3f
or r10d, ebx
cmp r13b, 0xf0
jb 0x14001cf0a
movzx ebx, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl r10d, 6
and ebx, 0x3f
or ebx, r10d
or ebx, r11d
mov r10d, ebx
jmp 0x14001cf15
add r8, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
mov rbx, qword [rbp + 0x5c8]
jmp 0x14001cf30
add r8, 3
shl r11d, 0xc
or r10d, r11d
mov rbx, qword [rbp + 0x5c8]
cmp r10d, 0xffff
ja 0x14001cf3b
nop word cs:[rax + rax]
xor r11d, r11d
mov r9d, r10d
jmp 0x14001ce73
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14001ce73
test rax, rax
je 0x14001cf60
mov edx, 1
call fcn.140001e30
mov rax, qword [rbp + 0x4f8]
sub rax, r12
cmp rax, rdi
jae 0x14001cf8f
lea rcx, [rbp + 0x4f0]
mov rdx, r12
mov r8, rdi
call fcn.14002f390
mov r14, qword [rbp + 0x4f0]
mov r12, qword [rbp + 0x500]
lea r8, [rdi + rdi]
lea rcx, [r14 + r12*2]
mov r13, qword [rbp + 0x548]
mov rdx, r13
call fcn.14002b4c0
add r12, rdi
mov qword [rbp + 0x500], r12
cmp qword [rbp + 0x518], 0
je 0x14001cfc7
mov edx, 2
mov rcx, r13
call fcn.140001e30
cmp r12, qword [rbp + 0x4f8]
jne 0x14001cff4
mov byte [rbp + 0x5f2], 1
lea rcx, [rbp + 0x4f0]
mov rdx, r12
call fcn.1400115a0
mov r14, qword [rbp + 0x4f0]
mov r12, qword [rbp + 0x500]
mov word [r14 + r12*2], 0x3d
inc r12
mov qword [rbp + 0x500], r12
mov rdi, qword [rbp + 0x520]
mov r12, qword [rbp + 0x528]
mov rcx, qword [rbp + 0x530]
movzx edx, byte [rbp + 0x538]
lea rax, [rdi + rcx]
xor r11d, r11d
mov r8, rdi
jmp 0x14001d03a
xor r11d, r11d
test r9w, r9w
je 0x14001dab7
mov r9w, 1
test r11w, r11w
jne 0x14001d02d
cmp r8, rax
je 0x14001d100
movzx r14d, byte [r8]
movzx r10d, r14b
test r10b, r10b
js 0x14001d060
inc r8
jmp 0x14001d0df
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [r8 + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x14001d0ad
movzx r10d, byte [r8 + 2]
shl ebx, 6
and r10d, 0x3f
or r10d, ebx
cmp r14b, 0xf0
jb 0x14001d0c4
movzx ebx, byte [r8 + 3]
add r8, 4
and r11d, 7
shl r11d, 0x12
shl r10d, 6
and ebx, 0x3f
or ebx, r10d
or ebx, r11d
mov r10d, ebx
jmp 0x14001d0cf
add r8, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
mov rbx, qword [rbp + 0x5c8]
jmp 0x14001d0df
add r8, 3
shl r11d, 0xc
or r10d, r11d
mov rbx, qword [rbp + 0x5c8]
cmp r10d, 0xffff
ja 0x14001d0ea
xor r11d, r11d
mov r9d, r10d
jmp 0x14001d030
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x14001d030
cmp dl, 2
je 0x14001e9e4
lea r9, [rbp + 0x539]
mov r8d, dword [r9]
mov r9d, dword [r9 + 3]
lea r10, [rbp + 0x557]
mov dword [r10 + 0x15], r9d
mov dword [r10 + 0x12], r8d
mov qword [rbp + 0x550], rdi
mov qword [rbp + 0x558], r12
mov qword [rbp + 0x560], rcx
mov byte [rbp + 0x568], dl
mov qword [rbp + 0x450], rdi
mov qword [rbp + 0x458], rax
mov word [rbp + 0x460], 0
lea rcx, [rbp + 0x4f0]
lea rdx, [rbp + 0x450]
call fcn.140011410
test r12, r12
je 0x14001d17d
mov edx, 1
mov rcx, rdi
call fcn.140001e30
mov r12, qword [rbp + 0x500]
cmp r12, qword [rbp + 0x4f8]
jne 0x14001d1aa
mov byte [rbp + 0x5f2], 0
lea rcx, [rbp + 0x4f0]
mov rdx, r12
call fcn.1400115a0
mov r12, qword [rbp + 0x500]
lea rcx, [rbp + 0x520]
mov rdx, rsi
mov r14, qword [rbp + 0x4f0]
mov word [r14 + r12*2], 0
inc r12
mov qword [rbp + 0x500], r12
jmp 0x14001cd1e
test rax, rax
je 0x14001d1e0
mov edx, 1
call fcn.140001e30
cmp qword [rbp + 0x528], 0
mov rsi, qword [rbp + 0x548]
je 0x14001d202
mov rcx, qword [rbp + 0x520]
mov edx, 1
call fcn.140001e30
lea r14, str.nul_byte_found_in_provided_data
cmp qword [rbp + 0x518], 0
je 0x14001dad0
mov edx, 2
mov rcx, rsi
jmp 0x14001dacb
mov eax, 1
mov qword [rbp + 0x5b8], rax
mov qword [rbp + 0x540], r14
test r15, r15
je 0x14001d280
add rdi, r15
mov qword [rbp + 0x480], r15
mov qword [rbp + 0x488], rdi
mov word [rbp + 0x490], 0
mov byte [rbp + 0x498], 1
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x480]
call fcn.140016240
movzx eax, byte [rbp - 0x18]
cmp al, 2
jne 0x14001d55c
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x550]
call fcn.140016b60
cmp byte [rbp + 0x568], 2
jne 0x14001d2b4
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x550]
call fcn.1400124f0
jmp 0x14001d38e
mov rcx, qword [rbp + 0x550]
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x548], rax
mov rsi, qword [rbp + 0x560]
mov byte [rbp + 0x5c6], 1
mov qword [rbp + 0x5d0], rcx
mov rdx, rsi
call fcn.140019780
cmp rsi, rdx
cmovb rdx, rsi
test rax, rax
cmove rdx, rsi
mov rax, qword [rbp + 0x5d0]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x548]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
mov rax, qword [rbp + 0x568]
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x30]
mov rdx, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d8]
call fcn.1400183f0
mov rdi, qword [rbp + 0x5b0]
cmp qword [rbp + 0x5b8], 1
je 0x14001d34a
lea rcx, [rbp - 0x30]
call fcn.14001aef0
mov rsi, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x480]
mov rdx, rsi
call fcn.140021f40
cmp qword [rbp - 0x28], 0
je 0x14001d375
mov edx, 1
mov rcx, rsi
call fcn.140001e30
mov r8, qword [rbp + 0x480]
test r8, r8
je 0x14001d38e
movdqu xmm6, xmmword [rbp + 0x488]
jmp 0x14001d90f
mov qword [rbp + 0x5c8], rbx
mov qword [rbp + 0x450], 2
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x458], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d0], rax
xor ebx, ebx
xor esi, esi
xor r12d, r12d
cmp r8, 0x201
jb 0x14001d3df
jmp 0x14001d3f0
jae 0x14001d4af
cmp r8, 0x201
jae 0x14001d3f0
mov r14d, 0x200
lea r13, [rbp - 0x30]
mov r15, r8
jmp 0x14001d448
sub r8, r12
sub rsi, r12
cmp rsi, r8
jae 0x14001d41f
lea rcx, [rbp + 0x450]
mov rdx, r12
call fcn.14002f390
mov rax, qword [rbp + 0x450]
mov qword [rbp + 0x5d0], rax
mov rbx, qword [rbp + 0x458]
mov eax, 0xffffffff
cmp rbx, rax
mov r12d, 0xffffffff
cmovb r12, rbx
mov qword [rbp + 0x460], r12
mov rsi, rbx
mov r14, r12
mov r13, qword [rbp + 0x5d0]
mov r15, r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, r13
mov edx, r15d
call qword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov edi, eax
test eax, eax
jne 0x14001d470
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14001d668
mov r8d, edi
cmp r15, r8
jne 0x14001d3d0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001eb6d
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x14001d3f0
jmp 0x14001d3df
cmp r14, r8
jb 0x14001ec5d
lea rcx, [rbp + 0x550]
mov rdx, r13
call fcn.1400125d0
lea rcx, [rbp + 0x550]
mov rdx, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d8]
call fcn.1400183f0
cmp qword [rbp + 0x5b8], 1
je 0x14001d4f7
lea rcx, [rbp + 0x550]
call fcn.14001aef0
mov rdi, qword [rbp + 0x550]
mov r8, qword [rbp + 0x560]
lea rcx, [rbp + 0x520]
mov rdx, rdi
call fcn.140021f40
cmp qword [rbp + 0x558], 0
je 0x14001d52b
mov edx, 1
mov rcx, rdi
call fcn.140001e30
movdqu xmm0, xmmword [rbp + 0x520]
movdqu xmmword [rbp + 0x488], xmm0
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x480], 0
mov sil, 1
jmp 0x14001d68a
lea r12, [rbp - 0x17]
lea r13, [rbp + 0x569]
lea rsi, [rbp - 0x30]
lea rdi, [rbp + 0x480]
lea r15, [rbp + 0x550]
jmp 0x14001d59e
mov byte [rbp + 0x5f7], 1
mov rcx, rsi
mov rdx, rdi
call fcn.140016240
movzx eax, byte [rbp - 0x18]
cmp al, 2
je 0x14001d280
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
test r8, r8
jne 0x14001d5c0
test rdx, rdx
je 0x14001d580
mov edx, 1
call fcn.140001e30
jmp 0x14001d580
mov r9d, dword [r12]
mov r10d, dword [r12 + 3]
mov dword [r13 + 3], r10d
mov dword [r13], r9d
mov qword [rbp + 0x550], rcx
mov qword [rbp + 0x558], rdx
mov qword [rbp + 0x560], r8
mov byte [rbp + 0x568], al
mov rcx, r15
mov rdx, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d8]
call fcn.1400183f0
cmp qword [rbp + 0x5b8], 1
je 0x14001d614
mov rcx, r15
call fcn.14001aef0
mov r14, qword [rbp + 0x550]
mov r8, qword [rbp + 0x560]
mov rcx, rsi
mov rdx, r14
call fcn.140021f40
cmp qword [rbp + 0x558], 0
je 0x14001d644
mov edx, 1
mov rcx, r14
call fcn.140001e30
mov r8, qword [rbp - 0x30]
test r8, r8
jne 0x14001e0df
mov byte [rbp + 0x5f7], 1
mov rcx, rsi
mov rdx, rdi
call fcn.140016240
jmp 0x14001d592
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x480], 1
xor esi, esi
test rbx, rbx
mov rdi, qword [rbp + 0x5b0]
je 0x14001d6a7
mov edx, 2
mov rcx, qword [rbp + 0x5d0]
call fcn.140001e30
test sil, sil
mov rbx, qword [rbp + 0x5c8]
je 0x14001d6cc
mov r8, qword [rbp + 0x488]
test r8, r8
je 0x14001d6cc
movdqu xmm6, xmmword [rbp + 0x490]
jmp 0x14001d90f
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x480]
call fcn.140022010
mov qword [rbp + 0x450], 2
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x458], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d0], rax
xor esi, esi
xor ebx, ebx
xor r15d, r15d
cmp r8, 0x201
jb 0x14001d72f
jmp 0x14001d740
jae 0x14001d7ff
cmp r8, 0x201
jae 0x14001d740
mov r12d, 0x200
lea r13, [rbp - 0x30]
mov r14, r8
jmp 0x14001d798
sub r8, r15
sub rbx, r15
cmp rbx, r8
jae 0x14001d76f
lea rcx, [rbp + 0x450]
mov rdx, r15
call fcn.14002f390
mov rax, qword [rbp + 0x450]
mov qword [rbp + 0x5d0], rax
mov rsi, qword [rbp + 0x458]
mov eax, 0xffffffff
cmp rsi, rax
mov r15d, 0xffffffff
cmovb r15, rsi
mov qword [rbp + 0x460], r15
mov rbx, rsi
mov r12, r15
mov r13, qword [rbp + 0x5d0]
mov r14, r15
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, r13
mov edx, r14d
call qword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
mov edi, eax
test eax, eax
jne 0x14001d7c0
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14001d8b0
mov r8d, edi
cmp r14, r8
jne 0x14001d720
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14001eb8a
add r14, r14
mov eax, 0xffffffff
cmp r14, rax
cmovae r14, rax
mov r8, r14
cmp r8, 0x201
jae 0x14001d740
jmp 0x14001d72f
cmp r12, r8
jb 0x14001ec82
lea rcx, [rbp + 0x550]
mov rdx, r13
call fcn.1400125d0
lea rcx, [rbp + 0x550]
mov rdx, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d8]
call fcn.1400183f0
cmp qword [rbp + 0x5b8], 1
je 0x14001d847
lea rcx, [rbp + 0x550]
call fcn.14001aef0
mov rdi, qword [rbp + 0x550]
mov r8, qword [rbp + 0x560]
lea rcx, [rbp + 0x520]
mov rdx, rdi
call fcn.140021f40
cmp qword [rbp + 0x558], 0
mov rbx, qword [rbp + 0x5c8]
je 0x14001d882
mov edx, 1
mov rcx, rdi
call fcn.140001e30
movdqu xmm0, xmmword [rbp + 0x520]
movdqu xmmword [rbp + 0x488], xmm0
mov rax, qword [rbp + 0x530]
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x480], 0
mov dil, 1
jmp 0x14001d8d9
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x488], rax
mov qword [rbp + 0x480], 1
xor edi, edi
mov rbx, qword [rbp + 0x5c8]
test rsi, rsi
je 0x14001d8ef
mov edx, 2
mov rcx, qword [rbp + 0x5d0]
call fcn.140001e30
test dil, dil
je 0x14001d92a
mov r8, qword [rbp + 0x488]
test r8, r8
je 0x14001d92a
movdqu xmm6, xmmword [rbp + 0x490]
mov rdi, qword [rbp + 0x5b0]
mov r15, qword [rbp + 0x540]
movq r14, xmm6
pshufd xmm0, xmm6, 0xee
movq r9, xmm0
jmp 0x14001c7f5
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x480]
call fcn.140022010
mov byte [rbp + 0x5f7], 1
lea rdx, str.PATHRUST_MIN_STACKlibrary_std_src_sys_common_thread_info.rs
lea rcx, [rbp + 0x450]
mov r8d, 4
call fcn.140014270
cmp byte [rbp + 0x468], 2
je 0x14001db30
movdqu xmm0, xmmword [rbp + 0x450]
movups xmm1, xmmword [rbp + 0x460]
movdqa xmmword [rbp + 0x520], xmm0
movaps xmmword [rbp + 0x530], xmm1
mov rsi, qword [rbp + 0x520]
mov rax, qword [rbp + 0x530]
add rax, rsi
mov qword [rbp + 0x480], rsi
mov qword [rbp + 0x488], rax
mov word [rbp + 0x490], 0
mov byte [rbp + 0x498], 1
lea r13, [rbp - 0x17]
lea r12, [rbp + 0x569]
lea rdi, [rbp - 0x30]
lea r15, [rbp + 0x480]
jmp 0x14001d9dc
mov r14, qword [rbp - 0x30]
test r14, r14
jne 0x14001e90b
mov rcx, rdi
mov rdx, r15
call fcn.140016240
jmp 0x14001d9f4
mov rcx, rdi
mov rdx, r15
call fcn.140016240
movzx eax, byte [rbp - 0x18]
cmp al, 2
je 0x14001db19
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
test r8, r8
jne 0x14001da22
test rdx, rdx
je 0x14001d9e9
mov edx, 1
call fcn.140001e30
jmp 0x14001d9e9
mov r9d, dword [r13]
mov r10d, dword [r13 + 3]
mov dword [r12 + 3], r10d
mov dword [r12], r9d
mov qword [rbp + 0x550], rcx
mov qword [rbp + 0x558], rdx
mov qword [rbp + 0x560], r8
mov byte [rbp + 0x568], al
lea rcx, [rbp + 0x550]
mov rdx, qword [rbp + 0x5e8]
mov r8, qword [rbp + 0x5d8]
call fcn.1400183f0
cmp qword [rbp + 0x5b8], 1
je 0x14001da7e
lea rcx, [rbp + 0x550]
call fcn.14001aef0
mov r14, qword [rbp + 0x550]
mov r8, qword [rbp + 0x560]
mov rcx, rdi
mov rdx, r14
call fcn.140021f40
cmp qword [rbp + 0x558], 0
je 0x14001d9cf
mov edx, 1
mov rcx, r14
call fcn.140001e30
jmp 0x14001d9cf
lea r14, str.nul_byte_found_in_provided_data
test r12, r12
je 0x14001dad0
mov edx, 1
mov rcx, rdi
call fcn.140001e30
mov byte [rbp + 0x5f4], 0
lea rcx, [rbp - 0x30]
call fcn.140022680
cmp qword [rbp + 0x4f8], 0
je 0x14001dafb
mov rcx, qword [rbp + 0x4f0]
mov edx, 2
call fcn.140001e30
mov rax, qword [rbp + 0x5e8]
mov r12d, dword [rbp + 0x5b8]
mov qword [rbx], r14
mov qword [rbx + 0x10], 2
jmp 0x14001e096
cmp qword [rbp + 0x528], 0
je 0x14001db30
mov edx, 1
mov rcx, rsi
call fcn.140001e30
lea r14, [0x140034bb0]
mov qword [rbx], r14
mov qword [rbx + 0x10], 2
cmp qword [rbp + 0x3f0], 0
je 0x14001dba6
mov rcx, qword [rbp + 0x3f8]
test rcx, rcx
je 0x14001db8d
mov rdx, qword [rbp + 0x400]
mov rax, qword [rbp + 0x408]
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 0x14001db91
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.140022680
movaps xmm6, xmmword [rbp + 0x600]
add rsp, 0x698
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp r15, rax
jb 0x14001ec99
test r13d, r13d
je 0x14001e0e8
mov rsi, rax
lea rbx, [rax + rax]
movzx eax, byte [0x14003d280]
mov edx, 2
mov rcx, rbx
call fcn.140001de0
test rax, rax
je 0x14001ecc1
mov r13, rax
jmp 0x14001e0f3
mov byte [rbp + 0x5f4], 0
lea rcx, [rbp - 0x30]
call fcn.140022680
mov rsi, qword [rbp + 0x5b0]
cmp r12, qword [rbp + 0x4f8]
jne 0x14001dc43
mov byte [rbp + 0x5f4], 0
lea rcx, [rbp + 0x4f0]
mov rdx, r12
call fcn.1400115a0
mov r14, qword [rbp + 0x4f0]
mov r12, qword [rbp + 0x500]
mov word [r14 + r12*2], 0
mov rdi, qword [rbp + 0x4f0]
test rdi, rdi
mov rax, qword [rbp + 0x5e8]
je 0x14001db02
mov r13, qword [rbp + 0x4f8]
mov r12d, dword [rbp + 0x5b8]
cmp byte [rsi + 0x88], 2
je 0x14001caeb
mov rax, qword [rsi + 0x70]
mov rcx, qword [rsi + 0x80]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x14001dc9f
xor r10d, r10d
test r8w, r8w
je 0x14001dd57
mov r8w, 1
test r10w, r10w
jne 0x14001dc92
cmp rdx, rcx
je 0x14001dd6e
movzx r11d, byte [rdx]
movzx r9d, r11b
test r9b, r9b
js 0x14001dcc5
inc rdx
jmp 0x14001dd36
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x14001dd12
movzx r9d, byte [rdx + 2]
shl esi, 6
and r9d, 0x3f
or r9d, esi
cmp r11b, 0xf0
jb 0x14001dd22
movzx r11d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
or r11d, r10d
mov r9d, r11d
jmp 0x14001dd2d
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
jmp 0x14001dd36
add rdx, 3
shl r10d, 0xc
or r9d, r10d
cmp r9d, 0xffff
ja 0x14001dd41
xor r10d, r10d
mov r8d, r9d
jmp 0x14001dc95
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x14001dc95
lea rax, str.nul_byte_found_in_provided_data
mov qword [rbx], rax
mov qword [rbx + 0x10], 2
jmp 0x14001e076
mov qword [rbp + 0x548], r13
mov qword [rbp + 0x448], rdi
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rcx
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x550]
lea rdx, [rbp - 0x30]
call fcn.14001fd90
mov rsi, qword [rbp + 0x558]
mov rdx, qword [rbp + 0x560]
cmp rdx, rsi
jne 0x14001ddc7
lea rcx, [rbp + 0x550]
call fcn.1400115a0
mov rsi, qword [rbp + 0x558]
mov rdx, qword [rbp + 0x560]
mov rcx, qword [rbp + 0x550]
mov word [rcx + rdx*2], 0
mov rax, rcx
mov qword [rbp + 0x3e8], rcx
mov qword [rbp + 0x418], rcx
mov r13, qword [rbp + 0x548]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x520], xmm0
mov qword [rbp + 0x530], 0
lea rdi, [0x14003d210]
mov rcx, rdi
call qword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14003d1e0]
shl rax, 1
test rax, rax
mov dword [rbp + 0x5b8], r12d
mov qword [rbp + 0x548], r13
mov qword [rbp + 0x518], rsi
jne 0x14001e754
xor eax, eax
mov r12b, byte [0x14003d218]
xor ecx, ecx
test r12b, r12b
setne cl
mov qword [rbp + 0x488], rdi
mov dword [rbp + 0x47c], eax
mov byte [rbp + 0x490], al
mov qword [rbp + 0x480], rcx
mov qword [rbp + 0x550], 0
mov qword [rbp + 0x560], 0
mov qword [rbp + 0x570], 0
mov rdx, qword [rbp + 0x5b0]
lea rbx, [rdx + 0x10]
mov rsi, qword [rdx + 0x10]
xor eax, eax
cmp rsi, 5
cmove rbx, rax
lea rdi, [rdx + 0x20]
mov r13, qword [rdx + 0x20]
cmp r13, 5
cmove rdi, rax
mov rcx, qword [rdx]
mov rdx, qword [rdx + 8]
cmp rcx, 5
cmove rcx, rax
lea r9, [rbp + 0x550]
mov r8d, 0xfffffff6
call fcn.140022730
test rax, rax
je 0x14001df09
mov rax, qword [rbp + 0x5c8]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov rdi, qword [rbp + 0x448]
mov r13, qword [rbp + 0x548]
mov rbx, qword [rbp + 0x518]
mov esi, dword [rbp + 0x47c]
jmp 0x14001dfeb
mov qword [rbp + 0x5b0], rdx
lea r9, [rbp + 0x560]
xor ecx, ecx
cmp rsi, 5
cmovne rcx, rsi
je 0x14001df27
mov rdx, qword [rbx + 8]
mov r8d, 0xfffffff5
call fcn.140022730
test rax, rax
mov rsi, qword [rbp + 0x5c8]
je 0x14001df76
mov qword [rsi], rdx
mov qword [rsi + 0x10], 2
mov rdi, qword [rbp + 0x448]
mov r13, qword [rbp + 0x548]
mov rbx, qword [rbp + 0x518]
jmp 0x14001dfd8
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
xor r13d, r13d
jmp 0x14001e104
mov qword [rbp + 0x440], rdx
lea r9, [rbp + 0x570]
xor ecx, ecx
cmp r13, 5
cmovne rcx, r13
je 0x14001df94
mov rdx, qword [rdi + 8]
mov r8d, 0xfffffff4
call fcn.140022730
mov rdi, rdx
test rax, rax
je 0x14001e760
mov qword [rsi], rdi
mov qword [rsi + 0x10], 2
mov r13, qword [rbp + 0x548]
mov rbx, qword [rbp + 0x518]
mov rcx, qword [rbp + 0x440]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rdi, qword [rbp + 0x448]
mov esi, dword [rbp + 0x47c]
mov rcx, qword [rbp + 0x5b0]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rbp + 0x550], 0
je 0x14001e002
mov rcx, qword [rbp + 0x558]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rbp + 0x560], 0
je 0x14001e019
mov rcx, qword [rbp + 0x568]
call qword [sym.imp.kernel32.dll_CloseHandle]
cmp qword [rbp + 0x570], 0
je 0x14001e030
mov rcx, qword [rbp + 0x578]
call qword [sym.imp.kernel32.dll_CloseHandle]
test r12b, r12b
test sil, sil
mov r12d, dword [rbp + 0x5b8]
jne 0x14001e053
mov rax, qword [0x14003d1e0]
shl rax, 1
test rax, rax
jne 0x14001e936
lea rcx, [0x14003d210]
call qword [sym.imp.kernel32.dll_ReleaseSRWLockExclusive]
test rbx, rbx
je 0x14001e076
mov edx, 2
mov rcx, qword [rbp + 0x418]
call fcn.140001e30
test r13, r13
mov rax, qword [rbp + 0x5e8]
je 0x14001e096
mov edx, 2
mov rcx, rdi
call fcn.140001e30
mov rax, qword [rbp + 0x5e8]
cmp qword [rbp + 0x4e0], 0
je 0x14001e0b8
mov rcx, qword [rbp + 0x4d8]
mov edx, 2
call fcn.140001e30
mov rax, qword [rbp + 0x5e8]
test rax, rax
je 0x14001e0ce
mov edx, 2
mov rcx, qword [rbp + 0x540]
call fcn.140001e30
mov sil, 1
test r12b, r12b
je 0x14001ca0b
jmp 0x14001dba6
movups xmm6, xmmword [rbp - 0x28]
jmp 0x14001d908
mov rsi, rax
mov r13d, 2
xor ebx, ebx
mov rcx, r13
mov rdx, r14
mov r8, rbx
call fcn.14002b4c0
mov rax, rsi
test rdi, rdi
mov rbx, qword [rbp + 0x5c8]
je 0x14001e127
mov edx, 2
mov rcx, qword [rbp + 0x5e8]
mov rsi, rax
call fcn.140001e30
mov rax, rsi
test r13, r13
je 0x14001e4d6
mov qword [rbp + 0x480], r13
mov qword [rbp + 0x488], rax
mov r14, rax
mov qword [rbp + 0x490], rax
lea r12, [0x140034bcb]
xor eax, eax
lea rdi, [rbp + 0x480]
xor r15d, r15d
jmp 0x14001e17c
mov eax, ebx
mov rbx, qword [rbp + 0x5c8]
mov rcx, r14
mov word [r13 + r14*2], si
inc rcx
mov r14, rcx
mov qword [rbp + 0x490], rcx
test r12, r12
je 0x14001e20a
test ax, ax
je 0x14001e19f
xor ebx, ebx
mov esi, eax
mov rdx, r14
cmp rdx, qword [rbp + 0x488]
jne 0x14001e15d
jmp 0x14001e26a
lea rcx, [0x140034bd3]
cmp r12, rcx
je 0x14001e20a
movzx r8d, byte [r12]
movzx esi, r8b
test sil, sil
js 0x14001e1c1
inc r12
jmp 0x14001e258
mov ecx, esi
and ecx, 0x1f
movzx r9d, byte [r12 + 1]
and r9d, 0x3f
cmp sil, 0xdf
jbe 0x14001e231
movzx edx, byte [r12 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14001e23f
movzx esi, byte [r12 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, ecx
cmp esi, 0x110000
jne 0x14001e24c
cmp r15, 1
je 0x14001e2d3
mov r15d, 1
xor esi, esi
mov r12d, 0
cmp r14, qword [rbp + 0x488]
jne 0x14001e166
jmp 0x14001e28b
add r12, 2
shl ecx, 6
or ecx, r9d
mov esi, ecx
jmp 0x14001e258
add r12, 3
shl ecx, 0xc
or edx, ecx
mov esi, edx
jmp 0x14001e250
add r12, 4
cmp esi, 0xffff
ja 0x14001e2b0
mov rdx, r14
xor ebx, ebx
cmp rdx, qword [rbp + 0x488]
jne 0x14001e15d
test r12, r12
je 0x14001e289
lea r8, [0x140034bcb]
sub r8, r12
add r8, 0xb
shr r8, 2
sub r8, r15
inc r8
jmp 0x14001e299
mov eax, ebx
mov r8d, 1
sub r8, r15
mov ebx, eax
mov rdx, r14
inc r8
mov rcx, rdi
call fcn.14002f390
mov r13, qword [rbp + 0x480]
jmp 0x14001e15d
lea eax, [rsi + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and esi, 0x3ff
or esi, 0xdc00
mov ebx, esi
mov esi, eax
jmp 0x14001e18e
mov rcx, qword [rbp + 0x480]
mov rax, qword [rbp + 0x488]
mov qword [rbp + 0x540], rcx
test rcx, rcx
je 0x14001e4d6
mov qword [rbp + 0x5e8], rax
mov rcx, qword [rbp + 0x5b0]
movzx eax, byte [rcx + 0xad]
mov byte [rbp + 0x548], al
test al, al
setne byte [rbp + 0x5b8]
lea r14, str.cmd.exe__d__c___t____________
mov rax, r14
not rax
add rax, r14
add rax, 0x12
shr rax, 2
cmp rax, 4
mov r15d, 3
cmovae r15, rax
movabs rax, 0x3fffffffffffffff
xor edi, edi
cmp r15, rax
setne al
je 0x14001ecad
mov dil, al
add rdi, rdi
mov rsi, qword [rcx + 0x90]
mov rax, qword [rcx + 0xa0]
mov qword [rbp + 0x410], rax
lea rbx, [r15 + r15]
add rbx, 2
movzx eax, byte [0x14003d280]
mov rcx, rbx
mov rdx, rdi
call fcn.140001de0
test rax, rax
je 0x14001ecb4
inc r15
mov word [rax], 0x63
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 1
lea r15, [0x1400346f9]
mov edi, 1
xor r13d, r13d
lea rbx, [rbp - 0x30]
jmp 0x14001e3cd
mov word [rax + rdi*2], r13w
inc rdi
mov qword [rbp - 0x20], rdi
mov r13d, r12d
test r13w, r13w
je 0x14001e3db
xor r12d, r12d
jmp 0x14001e4a7
lea rcx, [0x140034707]
cmp r15, rcx
je 0x14001e4e6
movzx r8d, byte [r15]
movzx r13d, r8b
test r13b, r13b
js 0x14001e403
inc r15
xor r12d, r12d
jmp 0x14001e4a7
mov ecx, r13d
and ecx, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp r13b, 0xdf
jbe 0x14001e458
movzx edx, byte [r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14001e46a
movzx r13d, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r13d, 0x3f
or r13d, edx
or r13d, ecx
cmp r13d, 0x110000
je 0x14001e4e6
add r15, 4
jmp 0x14001e476
add r15, 2
shl ecx, 6
or ecx, r9d
mov r13d, ecx
xor r12d, r12d
jmp 0x14001e4a7
add r15, 3
shl ecx, 0xc
or edx, ecx
mov r13d, edx
cmp r13d, 0xffff
jbe 0x14001e3d3
lea ecx, [r13 + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and r13d, 0x3ff
or r13d, 0xdc00
mov r12d, r13d
mov r13d, ecx
cmp rdi, qword [rbp - 0x28]
jne 0x14001e3be
mov r8, r14
sub r8, r15
add r8, 0x12
shr r8, 2
inc r8
mov rcx, rbx
mov rdx, rdi
call fcn.14002f390
mov rax, qword [rbp - 0x30]
jmp 0x14001e3be
mov qword [rbx], rax
mov qword [rbx + 0x10], 2
jmp 0x14001ca09
mov rdi, qword [rbp - 0x20]
mov qword [rbp + 0x560], rdi
movdqu xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x550], xmm0
cmp rdi, qword [rbp + 0x558]
jne 0x14001e52d
lea rcx, [rbp + 0x550]
mov rdx, rdi
call fcn.1400115a0
mov r8, qword [rbp + 0x518]
mov rdi, qword [rbp + 0x560]
mov rbx, qword [rbp + 0x5c8]
jmp 0x14001e53b
mov rbx, qword [rbp + 0x5c8]
mov r8, qword [rbp + 0x518]
mov r12, qword [rbp + 0x550]
mov word [r12 + rdi*2], 0x22
inc rdi
mov qword [rbp + 0x560], rdi
lea rax, [r8 + r8]
xor ecx, ecx
lea r14, [0x1400346e0]
mov rdx, qword [rbp + 0x5d0]
cmp rax, rcx
je 0x14001e57c
cmp word [rdx + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x14001e567
jmp 0x14001e70a
mov rax, qword [rbp + 0x5d0]
movzx eax, word [rax + r8*2 - 2]
cmp ax, 0x5c
je 0x14001e70a
lea rbx, [r8 - 1]
xor r14d, r14d
test ax, ax
mov rax, qword [rbp + 0x5d0]
cmove r14, rax
test r14, r14
cmove r14, rax
cmove rbx, r8
mov r15, qword [rbp + 0x558]
mov rax, r15
sub rax, rdi
cmp rax, rbx
jae 0x14001e5ec
lea rcx, [rbp + 0x550]
mov rdx, rdi
mov r8, rbx
call fcn.14002f390
mov rdi, qword [rbp + 0x560]
mov r12, qword [rbp + 0x550]
mov r15, qword [rbp + 0x558]
lea r8, [rbx + rbx]
lea rcx, [r12 + rdi*2]
mov rdx, r14
call fcn.14002b4c0
add rdi, rbx
mov qword [rbp + 0x560], rdi
cmp rdi, r15
jne 0x14001e628
lea rcx, [rbp + 0x550]
mov rdx, r15
call fcn.1400115a0
mov r12, qword [rbp + 0x550]
mov rdi, qword [rbp + 0x560]
mov word [r12 + rdi*2], 0x22
inc rdi
mov qword [rbp + 0x560], rdi
mov rax, qword [rbp + 0x410]
lea rax, [rax + rax*4]
lea r15, [rsi + rax*8]
lea rbx, [0x140034707]
cmp rsi, r15
je 0x14001e993
mov rdx, qword [rbp + 0x560]
cmp rdx, qword [rbp + 0x558]
jne 0x14001e67b
lea rcx, [rbp + 0x550]
call fcn.1400115a0
mov rdx, qword [rbp + 0x560]
lea rax, [rdx + 1]
mov rcx, qword [rbp + 0x550]
mov word [rcx + rdx*2], 0x20
mov qword [rbp + 0x560], rax
movzx r14d, byte [rbp + 0x5b8]
cmp byte [rbp + 0x548], 0
jne 0x14001e6e1
cmp qword [rsi], 0
movzx r14d, byte [rbp + 0x5b8]
jne 0x14001e6e1
mov r12, qword [rsi + 8]
mov r13, qword [rsi + 0x18]
xor edi, edi
cmp r13, rdi
setne r14b
je 0x14001e6e1
movzx ecx, byte [r12 + rdi]
mov r8d, 0x16
mov rdx, rbx
call fcn.140005c50
inc rdi
cmp rax, 1
jne 0x14001e6bc
lea rcx, [rbp + 0x550]
mov rdx, rsi
mov r8d, r14d
call fcn.140022200
mov r14, rax
add rsi, 0x28
test rax, rax
je 0x14001e64f
mov rbx, qword [rbp + 0x5c8]
cmp qword [rbp + 0x558], 0
je 0x14001e725
mov rcx, qword [rbp + 0x550]
mov edx, 2
call fcn.140001e30
mov qword [rbx], r14
mov qword [rbx + 0x10], 2
cmp qword [rbp + 0x5e8], 0
je 0x14001ca09
mov edx, 2
mov rcx, qword [rbp + 0x540]
call fcn.140001e30
jmp 0x14001ca09
call fcn.14002f510
xor al, 1
jmp 0x14001de3e
pxor xmm0, xmm0
movdqu xmmword [rbp + 4], xmm0
movdqu xmmword [rbp - 8], xmm0
movdqu xmmword [rbp - 0x18], xmm0
movdqu xmmword [rbp - 0x28], xmm0
movdqu xmmword [rbp + 0x18], xmm0
movdqu xmmword [rbp + 0x28], xmm0
mov dword [rbp - 0x30], 0x68
test rdi, rdi
mov r13, qword [rbp + 0x548]
mov rbx, qword [rbp + 0x518]
mov rax, qword [rbp + 0x5b0]
mov rcx, qword [rbp + 0x440]
jne 0x14001e7b4
test rcx, rcx
jne 0x14001e7b4
test rax, rax
je 0x14001e7c7
mov dword [rbp + 0xc], 0x100
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rdi
mov rcx, qword [rbp + 0x4d8]
lea rax, [rbp + 0x520]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x3e8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov r14, rcx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 1
mov rcx, qword [rbp + 0x540]
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.kernel32.dll_CreateProcessW]
test eax, eax
je 0x14001e96c
movups xmm0, xmmword [rbp + 0x550]
movups xmm1, xmmword [rbp + 0x560]
movups xmm2, xmmword [rbp + 0x570]
movups xmmword [rsi + 0x30], xmm2
movups xmmword [rsi + 0x20], xmm1
movups xmmword [rsi + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x520]
movups xmmword [rsi], xmm0
mov rsi, qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, rdi
call rsi
mov rcx, qword [rbp + 0x440]
call rsi
mov rcx, qword [rbp + 0x5b0]
call rsi
lea rcx, [rbp + 0x480]
call fcn.1400235b0
test rbx, rbx
je 0x14001e88d
mov edx, 2
mov rcx, qword [rbp + 0x418]
call fcn.140001e30
test r13, r13
mov rsi, qword [rbp + 0x5d8]
mov edi, dword [rbp + 0x5b8]
je 0x14001e8b0
mov edx, 2
mov rcx, qword [rbp + 0x448]
call fcn.140001e30
cmp qword [rbp + 0x4e0], 0
je 0x14001e8c7
mov edx, 2
mov rcx, r14
call fcn.140001e30
cmp qword [rbp + 0x5e8], 0
je 0x14001e8e2
mov edx, 2
mov rcx, qword [rbp + 0x540]
call fcn.140001e30
test rsi, rsi
sete al
or dil, al
cmp dil, 1
je 0x14001dba6
mov edx, 2
mov rcx, qword [rbp + 0x5d0]
call fcn.140001e30
jmp 0x14001dba6
movdqu xmm6, xmmword [rbp - 0x28]
cmp qword [rbp + 0x528], 0
je 0x14001e927
mov edx, 1
mov rcx, rsi
call fcn.140001e30
mov rdi, qword [rbp + 0x5b0]
mov r8, r14
jmp 0x14001d90f
call fcn.14002f510
test al, al
jne 0x14001e053
mov byte [0x14003d218], 1
jmp 0x14001e053
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_f8582b198e80a9d5d5341ce9145ad2f51c42742flibrary_alloc_srccollections_btree_navigate.rs
lea r8, [0x140032dc0]
mov edx, 0x2b
call fcn.14002e690
jmp 0x14001ecce
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rsi], rax
mov qword [rsi + 0x10], 2
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x14001dfc4
mov rdx, qword [rbp + 0x560]
cmp rdx, qword [rbp + 0x558]
jne 0x14001e9b6
lea rcx, [rbp + 0x550]
call fcn.1400115a0
mov rdx, qword [rbp + 0x560]
mov rsi, qword [rbp + 0x5b0]
mov rax, qword [rbp + 0x550]
mov word [rax + rdx*2], 0x22
inc rdx
mov rbx, qword [rbp + 0x558]
mov cl, 1
mov dword [rbp + 0x410], ecx
xor r12d, r12d
jmp 0x14001c9b3
mov r14, rdi
jmp 0x14001dad0
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x520], rax
lea rax, [rbp + 0x520]
mov qword [rbp + 0x480], rax
lea rax, [0x140015100]
mov qword [rbp + 0x488], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rbp + 0x550], rax
mov qword [rbp + 0x558], 1
mov qword [rbp + 0x570], 0
lea rax, [rbp + 0x480]
mov qword [rbp + 0x560], rax
mov qword [rbp + 0x568], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rbp + 0x550]
call fcn.14002e490
jmp 0x14001ecce
lea rcx, str.called__Option::unwrap____on_a__None__value_rustc_f8582b198e80a9d5d5341ce9145ad2f51c42742flibrary_alloc_srccollections_btree_navigate.rs
lea r8, [0x140032310]
mov edx, 0x2b
call fcn.14002e690
jmp 0x14001ecce
call fcn.140001e80
jmp 0x14001ecce
mov rcx, rbx
mov rdx, r12
call fcn.14002e3c0
jmp 0x14001ecce
mov byte [rbp + 0x5e7], 1
call fcn.140001e80
jmp 0x14001ecce
mov byte [rbp + 0x5e7], 1
mov ecx, 1
mov rdx, rdi
call fcn.14002e3c0
jmp 0x14001ecce
call fcn.140001e80
jmp 0x14001ecce
mov ecx, 1
mov rdx, rdi
call fcn.14002e3c0
jmp 0x14001ecce
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.14002e570
jmp 0x14001ecce
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.14002e600
jmp 0x14001ecce
lea r8, str.library_std_src_syswindowsos.rs
mov rdx, r12
call fcn.14002e570
jmp 0x14001ecce
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x140032a60]
mov edx, 0x21
call fcn.14002e690
jmp 0x14001ecce
mov byte [rbp + 0x5f7], 1
mov ecx, 1
mov edx, 4
call fcn.14002e3c0
jmp 0x14001ecce
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14002e690
jmp 0x14001ecce
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14002e690
jmp 0x14001ecce
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x480], rax
lea rax, [rbp + 0x480]
mov qword [rbp + 0x550], rax
lea rax, [0x140015100]
mov qword [rbp + 0x558], 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 + 0x550]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rbp - 0x30]
call fcn.14002e490
jmp 0x14001ecce
mov byte [rbp + 0x5f7], 1
call fcn.140001e80
jmp 0x14001ecce
mov byte [rbp + 0x5f7], 1
mov rcx, rsi
mov rdx, r15
call fcn.14002e3c0
jmp 0x14001ecce
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14002e690
jmp 0x14001ecce
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14002e600
jmp 0x14001ecce
lea r8, str._rustc_f8582b198e80a9d5d5341ce9145ad2f51c42742flibrarycore_src_sliceiter.rs
call fcn.14002e570
jmp 0x14001ecce
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r12
mov r8, rax
call fcn.14002e600
jmp 0x14001ecce
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, rax
mov rdx, r15
call fcn.14002e600
jmp 0x14001ecce
call fcn.140001e80
jmp 0x14001ecce
mov rcx, rdi
mov rdx, rbx
call fcn.14002e3c0
jmp 0x14001ecce
mov ecx, 2
mov rdx, rbx
call fcn.14002e3c0
ud2