Function at 0x14009caa0
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 qword [rbp + 0x438], r8
mov r14, rdx
mov qword [rbp + 0x4f0], rcx
movzx eax, byte [rdx + 0x68]
mov rbx, qword [rdx + 0x60]
test al, al
mov qword [rbp + 0x580], rdx
jne 0x14009cb0a
test rbx, rbx
jne 0x14009cb0a
mov qword [rbp + 0x408], 0
xor r12d, r12d
jmp 0x14009d774
mov qword [rbp + 0x4d0], 0
mov qword [rbp + 0x4e0], 0
test al, al
jne 0x14009cd52
mov qword [rbp + 0x5c8], rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x14009ffa7
lea rsi, [rbp + 0x450]
lea rdi, [rbp - 0x20]
lea r14, [rbp + 0x588]
mov qword [rbp + 0x570], rax
mov rbx, rax
nop word [rax + rax]
cmp word [rbx], 0
je 0x14009cd37
mov r12, rbx
mov rcx, 0xfffffffffffffffe
xor edx, edx
nop word cs:[rax + rax]
mov r15, rdx
mov rax, rcx
inc rdx
add rcx, 2
cmp word [r12 + r15*2], 0
jne 0x14009cb80
lea rbx, [r12 + rdx*2]
cmp r15, 1
je 0x14009cb60
test r15, r15
je 0x14009feec
xor r13d, r13d
nop dword [rax + rax]
cmp word [r12 + r13*2 + 2], 0x3d
je 0x14009cbd0
inc r13
add rax, 0xfffffffffffffffe
jne 0x14009cbb0
jmp 0x14009cb60
lea r8, [r13 + 1]
cmp r13, r15
jae 0x14009ff04
mov rcx, rsi
mov rdx, r12
call fcn.1400936f0
add r13, 2
mov r8, r15
sub r8, r13
jb 0x14009ff1e
lea rdx, [r12 + r13*2]
mov rcx, rdi
call fcn.1400936f0
mov r8, qword [rbp + 0x450]
mov r9, qword [rbp + 0x458]
movdqu xmm6, xmmword [rbp + 0x460]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
lea rax, [rbp - 0x10]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x4b0], xmm0
movdqa xmmword [rbp - 0x30], xmm6
cmp byte [rbp - 0x28], 2
je 0x14009cd37
mov qword [rbp + 0x5d8], r9
mov qword [rbp + 0x5e8], rdx
mov qword [rbp + 0x5c0], rcx
movq rax, xmm6
add rax, r8
mov qword [rbp + 0x450], r8
mov qword [rbp + 0x458], rax
mov word [rbp + 0x460], 0
mov r15, r14
mov rcx, r14
mov rdx, rsi
mov qword [rbp + 0x5b0], r8
call fcn.1400a1460
mov rax, qword [rbp + 0x5b0]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x5d8]
mov qword [rbp], rax
movdqu xmmword [rbp + 8], xmm6
movups xmm0, xmmword [rbp + 0x588]
movaps xmmword [rbp - 0x20], xmm0
mov rax, qword [rbp + 0x598]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x5c0]
mov qword [rbp + 0x450], rax
mov rax, qword [rbp + 0x5e8]
mov qword [rbp + 0x458], rax
movdqa xmm0, xmmword [rbp + 0x4b0]
lea rax, [rbp + 0x460]
movdqu xmmword [rax], xmm0
mov byte [rbp + 0x5bf], 0
mov rcx, r15
lea rdx, [rbp + 0x4d0]
mov r8, rdi
mov r9, rsi
call fcn.1400a1690
cmp byte [rbp + 0x5a0], 2
je 0x14009cb60
cmp qword [rbp + 0x590], 0
je 0x14009cb60
mov rcx, qword [rbp + 0x588]
mov edx, 1
call fcn.14002fd20
jmp 0x14009cb60
mov rcx, qword [rbp + 0x570]
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov r14, qword [rbp + 0x580]
mov rbx, qword [rbp + 0x5c8]
mov rax, qword [r14 + 0x50]
mov r8, qword [r14 + 0x58]
xor edi, edi
test rax, rax
setne dil
cmove rbx, rax
xor r15d, r15d
jmp 0x14009cd79
xor eax, eax
mov r8, qword [rbp + 0x570]
test rbx, rbx
je 0x14009d59c
test rdi, rdi
je 0x14009cdd0
test r15, r15
jne 0x14009cdd0
mov edi, 1
test r8, r8
je 0x14009cdda
mov rdx, r8
and rdx, 7
je 0x14009cddf
mov rcx, r8
and rcx, 0xfffffffffffffff8
mov r15, rax
nop dword [rax]
mov r15, qword [r15 + 0x3d8]
dec rdx
jne 0x14009cdb0
cmp r8, 8
jae 0x14009cdf0
jmp 0x14009ce2e
test rdi, rdi
jne 0x14009ce33
jmp 0x14009fe6d
mov r15, rax
jmp 0x14009ce2e
mov r15, rax
mov rcx, r8
cmp r8, 8
jb 0x14009ce2e
nop dword [rax + rax]
mov rax, qword [r15 + 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 r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14009cdf0
xor r8d, r8d
xor eax, eax
movzx ecx, word [r15 + 0x3d2]
mov rsi, r15
mov r12, r8
cmp r8, rcx
jb 0x14009ce78
nop word cs:[rax + rax]
mov rcx, qword [rsi + 0x160]
test rcx, rcx
je 0x14009fa78
inc rax
movzx r12d, word [rsi + 0x3d0]
mov rsi, rcx
cmp r12w, word [rcx + 0x3d2]
jae 0x14009ce50
test rax, rax
je 0x14009cf10
mov r15, qword [rsi + r12*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14009cefe
mov rdx, rcx
and rdx, 7
je 0x14009ceb5
mov rcx, rdx
nop dword [rax]
mov r15, qword [r15 + 0x3d8]
dec rcx
jne 0x14009cea0
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x14009cefe
nop
mov rax, qword [r15 + 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 r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14009cec0
xor r8d, r8d
jmp 0x14009cf18
lea r8, [r12 + 1]
mov r15, rsi
dec rbx
imul rax, r12, 0x38
lea r14, [rsi + rax]
add r14, 0x168
shl r12, 5
cmp byte [rsi + r12 + 0x18], 2
jne 0x14009cfa0
mov r13, qword [rbp + 0x4d0]
mov eax, 0
test r13, r13
je 0x14009cd79
mov rsi, r8
mov r12, rdi
mov r9, qword [r14]
mov rax, qword [r14 + 0x10]
mov rdi, qword [rbp + 0x4d8]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x588]
mov rdx, r13
mov r8, rdi
call fcn.1400a2e00
cmp qword [rbp + 0x588], 0
je 0x14009d189
xor eax, eax
mov rdi, r12
mov r8, rsi
jmp 0x14009cd79
mov qword [rbp + 0x5c0], rdi
mov rdi, qword [r14 + 0x18]
mov r13, qword [r14 + 0x28]
test r13, r13
mov qword [rbp + 0x570], r8
mov qword [rbp + 0x5c8], rbx
je 0x14009cfe6
js 0x14009fe8a
movzx eax, byte [0x1401c4ce0]
mov edx, 1
mov rcx, r13
call fcn.14002fc90
test rax, rax
jne 0x14009cfeb
jmp 0x14009fec8
mov eax, 1
mov qword [rbp + 0x5b0], rax
mov rcx, rax
mov rdx, rdi
mov r8, r13
call fcn.1400ffba0
movzx ebx, byte [r14 + 0x30]
mov rdx, qword [r14]
mov r14, qword [r14 + 0x10]
mov eax, 2
mov qword [rbp + 0x5e8], rax
test r14, r14
mov qword [rbp + 0x5d8], r13
je 0x14009d070
mov rax, r14
shr rax, 0x3e
jne 0x14009fe94
mov r13, r14
add r13, r14
je 0x14009d070
mov rdi, rdx
movzx eax, byte [0x1401c4ce0]
mov edx, 2
mov rcx, r13
call fcn.14002fc90
mov qword [rbp + 0x5e8], rax
test rax, rax
je 0x14009feda
mov rdx, rdi
jmp 0x14009d073
xor r13d, r13d
add rsi, r12
mov r12, qword [rbp + 0x5e8]
mov rcx, r12
mov r8, r13
call fcn.1400ffba0
mov rax, qword [rbp + 0x5b0]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x5d8]
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov byte [rbp + 0x10], bl
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
mov r13, qword [rsi]
mov rdi, qword [rsi + 0x10]
test rdi, rdi
mov qword [rbp + 0x578], r14
je 0x14009d0f2
mov rbx, qword [rbp + 0x5c8]
js 0x14009feb7
movzx eax, byte [0x1401c4ce0]
mov edx, 1
mov rcx, rdi
call fcn.14002fc90
mov r12, rax
test rax, rax
jne 0x14009d0ff
jmp 0x14009fe9e
mov r12d, 1
mov rbx, qword [rbp + 0x5c8]
mov rcx, r12
mov rdx, r13
mov r8, rdi
call fcn.1400ffba0
movzx eax, byte [rsi + 0x18]
mov qword [rbp + 0x450], r12
mov qword [rbp + 0x458], rdi
mov qword [rbp + 0x460], rdi
mov byte [rbp + 0x468], al
mov byte [rbp + 0x5d7], 0
lea rcx, [rbp + 0x588]
lea rdx, [rbp + 0x4d0]
lea r8, [rbp - 0x20]
lea r9, [rbp + 0x450]
call fcn.1400a1690
cmp byte [rbp + 0x5a0], 2
mov rdi, qword [rbp + 0x5c0]
je 0x14009cd70
cmp qword [rbp + 0x590], 0
je 0x14009cd70
mov rcx, qword [rbp + 0x588]
mov edx, 1
call fcn.14002fd20
jmp 0x14009cd70
mov rax, qword [rbp + 0x590]
mov rdx, qword [rbp + 0x598]
mov rcx, qword [rbp + 0x5a0]
mov byte [rbp + 0x3f8], 0
test rdx, rdx
je 0x14009d315
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x14009d27e
mov r8, rcx
and r8, 7
je 0x14009d1ee
mov rcx, r8
nop
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x14009d1d0
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x14009d27e
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 0x14009d200
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rbp + 0x4b0], rax
mov qword [rbp + 0x4b8], 0
mov qword [rbp + 0x4c0], rcx
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x4b0]
lea r8, [rbp + 0x3f8]
call fcn.1400a2fa0
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x4a0], rax
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x490], xmm0
movdqu xmm0, xmmword [rbp - 0x20]
movups xmm1, xmmword [rbp - 0x10]
movups xmm2, xmmword [rbp]
movups xmm3, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x480], xmm3
movaps xmmword [rbp + 0x470], xmm2
movaps xmmword [rbp + 0x460], xmm1
movdqa xmmword [rbp + 0x450], xmm0
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x48]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x14009d34a
mov rcx, rdx
jmp 0x14009d379
mov qword [rbp + 0x450], rax
mov qword [rbp + 0x458], 0
mov qword [rbp + 0x460], rcx
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x450]
lea r8, [rbp + 0x3f8]
call fcn.1400a2fa0
jmp 0x14009d46b
mov r8, qword [rbp + 0x40]
nop
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x14009d374
inc r8
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x14009d350
jmp 0x14009d379
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 + 0x480]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rbp + 0x450]
movaps xmm1, xmmword [rbp + 0x460]
movaps xmm2, xmmword [rbp + 0x470]
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 + 0x488]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rbp + 0x550]
mov qword [rbp + 0x30], rax
movaps xmm0, xmmword [rbp + 0x540]
movaps xmmword [rbp + 0x20], xmm0
movdqa xmm0, xmmword [rbp + 0x500]
movaps xmm1, xmmword [rbp + 0x510]
movaps xmm2, xmmword [rbp + 0x520]
movaps xmm3, xmmword [rbp + 0x530]
movaps xmmword [rbp + 0x10], xmm3
movaps xmmword [rbp], xmm2
movaps xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
mov r14, rbx
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x5c0], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x5e8], rax
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
movzx ebx, byte [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x578], rax
dec qword [rbp + 0x4e0]
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x5b0], rax
movzx eax, byte [rbp + 0x30]
mov byte [rbp + 0x5d8], al
cmp byte [rbp + 0x3f8], 0
je 0x14009d515
mov qword [rbp + 0x5a8], rdx
mov qword [rbp + 0x4f8], rcx
test rdi, rdi
je 0x14009ff35
mov rax, qword [r13 + 0x3d8]
mov qword [rbp + 0x4d0], rax
dec rdi
mov qword [rbp + 0x4d8], rdi
mov qword [rax + 0x160], 0
mov edx, 8
mov rcx, r13
call fcn.14002fd20
mov rcx, qword [rbp + 0x4f8]
mov rdx, qword [rbp + 0x5a8]
mov eax, 0
cmp bl, 2
mov rbx, r14
mov rdi, r12
mov r8, rsi
je 0x14009cd79
test rdx, rdx
je 0x14009d53e
mov edx, 1
call fcn.14002fd20
mov r8, rsi
cmp qword [rbp + 0x5e8], 0
je 0x14009d55c
mov edx, 2
mov rcx, qword [rbp + 0x5c0]
call fcn.14002fd20
mov r8, rsi
mov eax, 0
cmp byte [rbp + 0x5d8], 2
je 0x14009cd79
mov eax, 0
cmp qword [rbp + 0x5b0], 0
je 0x14009cd79
mov edx, 1
mov rcx, qword [rbp + 0x578]
call fcn.14002fd20
mov r8, rsi
xor eax, eax
jmp 0x14009cd79
mov rax, qword [rbp + 0x4e0]
mov qword [rbp + 0x420], rax
movdqu xmm0, xmmword [rbp + 0x4d0]
movdqu xmmword [rbp + 0x410], xmm0
mov qword [rbp + 0x408], 1
movzx eax, byte [0x1401c4ce0]
mov ecx, 4
mov edx, 1
call fcn.14002fc90
test rax, rax
je 0x14009ff52
mov dword [rax], 0x48544150
mov rcx, rax
add rcx, 4
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], rcx
mov word [rbp + 0x510], 0
lea rcx, [rbp + 0x450]
lea rdx, [rbp + 0x500]
mov qword [rbp + 0x5c8], rax
call fcn.1400a1460
mov rcx, qword [rbp + 0x5c8]
mov qword [rbp - 8], rcx
mov qword [rbp], 4
mov qword [rbp + 8], 4
mov byte [rbp + 0x10], 0
movdqu xmm0, xmmword [rbp + 0x450]
movdqa xmmword [rbp - 0x20], xmm0
mov r14, qword [rbp + 0x460]
mov qword [rbp - 0x10], r14
mov rsi, qword [rbp - 0x20]
mov rbx, qword [rbp + 0x410]
test rbx, rbx
je 0x14009d740
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x5e8], rax
mov r13, qword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
lea rcx, [rbx + 0x168]
movzx eax, word [rbx + 0x3d2]
mov qword [rbp + 0x5d8], rax
imul rdi, rax, 0x38
mov r15, 0xffffffffffffffff
nop word cs:[rax + rax]
test rdi, rdi
je 0x14009d6f0
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 r13
inc r15
add rdi, 0xffffffffffffffc8
mov rcx, r12
cmp eax, 3
je 0x14009d6b0
cmp eax, 1
jne 0x14009d71c
jmp 0x14009d6f7
mov r15, qword [rbp + 0x5d8]
mov rax, qword [rbp + 0x5e8]
sub rax, 1
jb 0x14009dbd7
mov qword [rbp + 0x5e8], rax
mov rbx, qword [rbx + r15*8 + 0x3d8]
jmp 0x14009d682
cmp eax, 2
jne 0x14009fde8
test rbx, rbx
mov r14, qword [rbp + 0x580]
je 0x14009d74c
shl r15, 5
mov r12, qword [rbx + r15]
mov rdi, qword [rbx + r15 + 0x10]
jmp 0x14009d74f
xor r12d, r12d
mov r14, qword [rbp + 0x580]
jmp 0x14009d756
xor r12d, r12d
mov rcx, qword [rbp + 0x5c8]
mov edx, 1
call fcn.14002fd20
cmp qword [rbp - 0x18], 0
je 0x14009d774
mov edx, 2
mov rcx, rsi
call fcn.14002fd20
mov rax, qword [r14 + 0x40]
lea rbx, str.program_path_has_no_file_name
test rax, rax
je 0x14009d7e9
mov rdx, qword [r14 + 0x30]
mov qword [rbp + 0x5e8], rax
cmp rax, 4
jae 0x14009d79e
lea rax, [0x1400a34a0]
jmp 0x14009d7c6
mov eax, dword [rdx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x1400a3490]
lea rax, [0x1400a34a0]
cmove rax, rcx
mov qword [rbp + 0x5c8], rdx
mov r14, qword [rbp + 0x5e8]
movzx esi, byte [r14 + rdx - 1]
mov byte [rbp + 0x5f7], 1
mov ecx, esi
call rax
test al, al
je 0x14009d851
cmp r14, 3
jbe 0x14009d8be
mov rdx, qword [rbp + 0x5c8]
movzx eax, byte [r14 + rdx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14009d8be
movzx eax, byte [rdx + r14 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14009d8be
movzx eax, byte [rdx + r14 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14009d8be
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14009d8c0
xor eax, eax
mov rsi, qword [rbp + 0x5c8]
lea r11, [rsi + r14]
xor ecx, ecx
nop dword [rax]
cmp r14, rcx
je 0x14009d996
movzx edx, byte [rsi + rcx]
cmp edx, 0x2f
je 0x14009d8ea
inc rcx
cmp edx, 0x5c
jne 0x14009d8d0
test al, al
mov qword [rbp + 0x5b0], r11
je 0x14009da73
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp - 0x20]
mov rdx, rsi
mov r8, r14
call fcn.140091ce0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
test rcx, rcx
je 0x14009db47
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdx
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x4d0]
lea rdx, [rbp - 0x20]
call fcn.1400a34b0
jmp 0x14009db59
xor r8d, r8d
lea rbx, str.nul_byte_found_in_provided_data
mov rax, rsi
jmp 0x14009d9bc
xor r8d, r8d
test cx, cx
je 0x14009d7e9
mov cx, 1
test r8w, r8w
jne 0x14009d9b0
cmp rax, r11
je 0x14009dbad
movzx r9d, byte [rax]
movzx edx, r9b
test dl, dl
js 0x14009d9e0
inc rax
jmp 0x14009da42
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14009da34
movzx edx, byte [rax + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x14009da4c
movzx r9d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x14009da42
jmp 0x14009da5f
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x14009d9b3
add rax, 3
shl r8d, 0xc
or edx, r8d
cmp edx, 0xffff
jbe 0x14009da42
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14009d9b3
test r14, r14
js 0x1400a001a
movzx eax, byte [0x1401c4ce0]
mov edx, 1
mov rcx, r14
call fcn.14002fc90
test rax, rax
je 0x1400a002b
mov rdi, rax
mov rcx, rax
mov rdx, rsi
mov r8, r14
call fcn.1400ffba0
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], r14
mov byte [rbp - 8], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rbp - 0x20]
mov r8d, 4
mov qword [rbp + 0x5d8], rdi
call fcn.140096630
mov r13, qword [rbp + 0x580]
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x10]
mov qword [rbp + 0x3e8], rbx
mov qword [rbp + 0x3e0], rdi
mov byte [rbp + 0x5be], 1
lea rcx, [rbp + 0x500]
mov rdx, rdi
mov r8, rsi
call fcn.1400a3580
cmp qword [rbp + 0x500], 0
je 0x14009db65
mov rax, qword [rbp + 0x510]
mov qword [rbp + 0x4e0], rax
movdqu xmm0, xmmword [rbp + 0x500]
movdqa xmmword [rbp + 0x4d0], xmm0
test rbx, rbx
jne 0x14009e598
jmp 0x14009e5a5
mov qword [rbp + 0x4d8], rax
mov qword [rbp + 0x4d0], 0
mov r13, qword [rbp + 0x580]
jmp 0x14009e5a5
mov qword [rbp + 0x5d8], rbx
mov qword [rbp + 0x5e8], rdi
mov rcx, rdi
mov rdx, rsi
call fcn.14009bb60
test rax, rax
je 0x14009dc37
cmp rdx, 2
jne 0x14009dbe6
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x14009dbe6
mov r8d, 2
xor r9d, r9d
mov r11, qword [rbp + 0x5e8]
jmp 0x14009e515
cmp r14, 0xf
mov qword [rbp + 0x5b0], r11
ja 0x14009dc25
xor ebx, ebx
xor eax, eax
nop
cmp byte [rsi + rax], 0x2e
je 0x14009dc4d
inc rax
cmp r14, rax
jne 0x14009dbc0
jmp 0x14009dc52
mov r14, qword [rbp + 0x580]
xor r12d, r12d
jmp 0x14009d74f
mov r8, rdx
mov r11, qword [rbp + 0x5e8]
test r8, r8
je 0x14009dc43
mov rcx, r8
dec r8
cmp byte [rax + rcx - 1], 0x2e
jne 0x14009dbf0
mov r10, rdx
sub r10, rcx
jb 0x1400a0075
test r8, r8
je 0x14009e50f
mov r9, rax
add r9, rcx
mov rdx, r10
jmp 0x14009e515
mov cl, 0x2e
mov rdx, rsi
mov r8, r14
call fcn.14003b370
mov rbx, rax
jmp 0x14009dc52
mov r11, qword [rbp + 0x5e8]
jmp 0x14009e535
mov r9, rax
xor eax, eax
jmp 0x14009e515
mov ebx, 1
test r12, r12
je 0x14009dc9b
add rdi, r12
mov qword [rbp + 0x450], r12
mov qword [rbp + 0x458], rdi
mov word [rbp + 0x460], 0
mov byte [rbp + 0x468], 1
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x450]
call fcn.1400960a0
movzx eax, byte [rbp - 8]
cmp al, 2
jne 0x14009df87
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x500]
call fcn.140096310
cmp byte [rbp + 0x518], 2
jne 0x14009dccf
mov byte [rbp + 0x5f7], 1
lea rcx, [rbp + 0x500]
call fcn.14008fb90
jmp 0x14009ddae
mov rcx, qword [rbp + 0x500]
mov rax, qword [rbp + 0x508]
mov qword [rbp + 0x5c0], rax
mov rsi, qword [rbp + 0x510]
mov rdi, qword [rbp + 0x518]
mov byte [rbp + 0x5bd], 0
mov qword [rbp + 0x5d8], rcx
mov rdx, rsi
call fcn.140098c80
cmp rsi, rdx
cmovb rdx, rsi
test rax, rax
cmove rdx, rsi
mov rax, qword [rbp + 0x5d8]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x5c0]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rdi
lea rcx, [rbp - 0x20]
mov rdx, qword [rbp + 0x5c8]
mov r8, r14
call fcn.1400977a0
cmp rbx, 1
je 0x14009dd63
lea rdx, str.exeNULcmd.exemaximum_number_of_ProcThreadAttributes_exceeded
lea rcx, [rbp - 0x20]
mov r8d, 3
call fcn.14009bc90
mov rsi, qword [rbp - 0x20]
mov r8, qword [rbp - 0x10]
lea rcx, [rbp + 0x450]
mov rdx, rsi
call fcn.1400a3580
cmp qword [rbp - 0x18], 0
mov r13, qword [rbp + 0x580]
je 0x14009dd95
mov edx, 1
mov rcx, rsi
call fcn.14002fd20
mov r8, qword [rbp + 0x450]
test r8, r8
je 0x14009ddae
movdqu xmm6, xmmword [rbp + 0x458]
jmp 0x14009e348
mov qword [rbp + 0x5c0], rbx
mov qword [rbp + 0x4b0], 2
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x4b8], xmm0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
xor ebx, ebx
xor esi, esi
xor r12d, r12d
cmp r8, 0x201
jb 0x14009ddff
jmp 0x14009de10
lea r13, [rbp - 7]
lea r12, [rbp + 0x519]
lea rsi, [rbp - 0x20]
lea rdi, [rbp + 0x450]
lea r15, [rbp + 0x500]
jmp 0x14009dfce
mov byte [rbp + 0x5f7], 1
mov rcx, rsi
mov rdx, rdi
call fcn.1400960a0
movzx eax, byte [rbp - 8]
cmp al, 2
je 0x14009dc9b
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
test r8, r8
jne 0x14009dff0
test rdx, rdx
je 0x14009dfb0
mov edx, 1
call fcn.14002fd20
jmp 0x14009dfb0
mov r9d, dword [r13]
mov r10d, dword [r13 + 3]
mov dword [r12 + 3], r10d
mov dword [r12], r9d
mov qword [rbp + 0x500], rcx
mov qword [rbp + 0x508], rdx
mov qword [rbp + 0x510], r8
mov byte [rbp + 0x518], al
mov rcx, r15
mov rdx, qword [rbp + 0x5c8]
mov r8, r14
call fcn.1400977a0
cmp rbx, 1
je 0x14009e049
mov r8d, 3
mov rcx, r15
lea rdx, str.exeNULcmd.exemaximum_number_of_ProcThreadAttributes_exceeded
call fcn.14009bc90
mov r14, qword [rbp + 0x500]
mov r8, qword [rbp + 0x510]
mov rcx, rsi
mov rdx, r14
call fcn.1400a3580
cmp qword [rbp + 0x508], 0
je 0x14009e079
mov edx, 1
mov rcx, r14
call fcn.14002fd20
mov r8, qword [rbp - 0x20]
test r8, r8
jne 0x14009f296
mov byte [rbp + 0x5f7], 1
mov rcx, rsi
mov rdx, rdi
call fcn.1400960a0
mov r14, qword [rbp + 0x5e8]
jmp 0x14009dfc2
invalid
invalid
invalid
xor r9d, r9d
mov r8, rdx
test rax, rax
cmovne r9, rax
test r9, r9
movups xmm6, xmmword [rbp - 0x18]
jmp 0x14009e341
lea rcx, [0x14016d772]
lea r8, str._rustc_a57770440f1ebe5b992551d3bcc489ae211908d4library_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.14010dcc0
jmp 0x1400a00d3
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x588], rax
lea rax, [rbp + 0x588]
mov qword [rbp + 0x450], rax
lea rax, [fcn.140095640]
mov qword [rbp + 0x458], 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 + 0x450]
mov qword [rbp + 0x510], rax
mov qword [rbp + 0x518], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rbp + 0x500]
call fcn.14010db00
jmp 0x1400a00d3
lea rcx, [0x14016d772]
lea r8, str._rustc_a57770440f1ebe5b992551d3bcc489ae211908d4library_alloc_srccollections_btree_navigate.rs
mov edx, 0x2b
call fcn.14010dcc0
jmp 0x1400a00d3
call fcn.1400327d0
jmp 0x1400a00d3
call fcn.1400327d0
jmp 0x1400a00d3
mov byte [rbp + 0x5d7], 1
mov ecx, 1
mov rdx, rdi
call fcn.14010d920
jmp 0x1400a00d3
mov byte [rbp + 0x5d7], 1
call fcn.1400327d0
jmp 0x1400a00d3
mov ecx, 1
mov rdx, r13
call fcn.14010d920
jmp 0x1400a00d3
mov ecx, 2
mov rdx, r13
call fcn.14010d920
jmp 0x1400a00d3
lea r8, str.library_std_src_syswindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.14010db40
jmp 0x1400a00d3
lea rax, str.library_std_src_syswindowsos.rs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.14010dc40
jmp 0x1400a00d3
lea r8, str.library_std_src_syswindowsos.rs
mov rcx, r13
mov rdx, r15
call fcn.14010db40
jmp 0x1400a00d3
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x1401426c0]
mov edx, 0x21
call fcn.14010dcc0
jmp 0x1400a00d3
mov byte [rbp + 0x5f7], 1
mov ecx, 1
mov edx, 4
call fcn.14010d920
jmp 0x1400a00d3
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x588], rax
lea rax, [rbp + 0x588]
mov qword [rbp + 0x450], rax
lea rax, [fcn.140095640]
mov qword [rbp + 0x458], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
mov qword [rbp], 0
lea rax, [rbp + 0x450]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rbp - 0x20]
call fcn.14010db00
jmp 0x1400a00d3
mov byte [rbp + 0x5f7], 1
call fcn.1400327d0
jmp 0x1400a00d3
mov byte [rbp + 0x5f7], 1
mov ecx, 1
mov rdx, r14
call fcn.14010d920
jmp 0x1400a00d3
lea r8, [0x140142110]
call fcn.14010db40
jmp 0x1400a00d3