Function at 0x14018bad0
Capabilities:
Create process on windows
Encode data using base64
Encrypt data using speck
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, 0x6d8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x640], xmm6
mov byte [rbp + 0x4f8], r9b
mov qword [rbp + 0x4f0], r8
mov rsi, rdx
mov qword [rbp + 0x5d0], rcx
movzx eax, byte [rdx + 0xa0]
mov rcx, qword [rdx + 0x98]
test al, al
mov qword [rbp + 0x5d8], rdx
jne 0x14018bb3b
test rcx, rcx
jne 0x14018bb3b
mov qword [rbp + 0x450], 0
xor r15d, r15d
jmp 0x14018c6a6
mov qword [rbp + 0x540], 0
mov qword [rbp + 0x550], 0
test al, al
jne 0x14018bcaa
mov qword [rbp + 0x638], rcx
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x14018e786
mov qword [rbp + 0x520], rax
mov qword [rbp + 0x528], rax
lea r15, [rbp + 0x580]
lea rbx, [rbp + 0x600]
lea r14, [rbp + 0x490]
nop word cs:[rax + rax]
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x528]
call fcn.14018a460
mov r12, qword [rbp + 0x20]
movabs rax, 0x8000000000000000
cmp r12, rax
je 0x14018bc90
mov rsi, qword [rbp + 0x28]
movups xmm6, xmmword [rbp + 0x30]
mov rdi, qword [rbp + 0x40]
mov r13, qword [rbp + 0x48]
mov rax, qword [rbp + 0x30]
add rax, rsi
mov qword [rbp + 0x490], rsi
mov qword [rbp + 0x498], rax
mov word [rbp + 0x4a0], 0
mov rcx, rbx
mov rdx, r14
call fcn.140173d80
mov qword [rbp + 0x560], r12
mov qword [rbp + 0x568], rsi
movups xmmword [rbp + 0x570], xmm6
mov rax, qword [rbp + 0x610]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rbp + 0x600]
movups xmmword [r15], xmm0
mov qword [rbp + 0x490], rdi
mov qword [rbp + 0x498], r13
lea rax, [rbp + 0x50]
movups xmm0, xmmword [rax]
lea rax, [rbp + 0x4a0]
movups xmmword [rax], xmm0
mov rcx, rbx
lea rdx, [rbp + 0x540]
lea r8, [rbp + 0x560]
mov r9, r14
call fcn.1401667f0
mov rax, qword [rbp + 0x600]
shl rax, 1
test rax, rax
je 0x14018bba0
mov r8, qword [rbp + 0x608]
mov rcx, qword [0x1403c7148]
xor edx, edx
call fcn.140212404
jmp 0x14018bba0
mov rcx, qword [rbp + 0x520]
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov rsi, qword [rbp + 0x5d8]
mov rcx, qword [rbp + 0x638]
mov rax, qword [rsi + 0x88]
mov r13, qword [rsi + 0x90]
xor edx, edx
test rax, rax
setne dl
mov qword [rbp + 0x5f0], rdx
cmove rcx, rax
mov qword [rbp + 0x638], rcx
xor ecx, ecx
mov qword [rbp + 0x5f8], rcx
xor r14d, r14d
jmp 0x14018bce2
xor eax, eax
mov rbx, qword [rbp + 0x638]
test rbx, rbx
je 0x14018c4dc
cmp qword [rbp + 0x5f0], 0
je 0x14018e62a
test r14, r14
jne 0x14018bda3
mov ecx, 1
mov qword [rbp + 0x5f0], rcx
test r13, r13
je 0x14018bd4b
mov rcx, r13
mov r14, rax
and rcx, 7
je 0x14018bd50
nop word cs:[rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rcx
jne 0x14018bd30
mov rax, r13
and rax, 0xfffffffffffffff8
cmp r13, 8
jae 0x14018bd60
jmp 0x14018bd9e
mov r14, rax
jmp 0x14018bd9e
mov rax, r13
cmp r13, 8
jb 0x14018bd9e
nop dword [rax]
mov rcx, qword [r14 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r14, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x14018bd60
xor r13d, r13d
xor eax, eax
movzx ecx, word [r14 + 0x3d2]
cmp r13, rcx
jae 0x14018bdc0
mov rdi, r13
mov r13, r14
jmp 0x14018bde8
mov r13, qword [r14 + 0x160]
test r13, r13
je 0x14018e2d8
inc rax
movzx edi, word [r14 + 0x3d0]
mov r14, r13
cmp di, word [r13 + 0x3d2]
jae 0x14018bdc0
test rax, rax
je 0x14018be80
mov r14, qword [r13 + rdi*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14018be6e
mov rdx, rcx
and rdx, 7
je 0x14018be20
nop word [rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rdx
jne 0x14018be10
and rcx, 0xfffffffffffffff8
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x14018be6e
nop word [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 0x14018be30
xor eax, eax
mov qword [rbp + 0x630], rax
jmp 0x14018be8e
lea rax, [rdi + 1]
mov qword [rbp + 0x630], rax
mov r14, r13
dec rbx
imul rax, rdi, 0x38
lea r12, [rax + r13]
add r12, 0x168
shl rdi, 5
movabs rax, 0x8000000000000000
cmp qword [r13 + rdi], rax
mov qword [rbp + 0x638], rbx
jne 0x14018bf20
mov rsi, qword [rbp + 0x540]
mov eax, 0
test rsi, rsi
mov r13, qword [rbp + 0x630]
je 0x14018bce2
mov r9, qword [r12 + 0x28]
mov rax, qword [r12 + 0x30]
mov rbx, qword [rbp + 0x548]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x600]
mov rdx, rsi
mov r8, rbx
call fcn.140169c80
cmp qword [rbp + 0x600], 0
je 0x14018c0c9
xor eax, eax
jmp 0x14018bce2
mov rsi, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
test r8, r8
je 0x14018bf57
js 0x14018e6ce
mov rax, qword [str.Lp__]
movzx eax, byte [rax]
xor edx, edx
mov r15, r8
call fcn.1401876d0
test rax, rax
je 0x14018e6c0
mov r8, r15
jmp 0x14018bf5c
mov eax, 1
mov qword [rbp + 0x628], rax
mov rcx, rax
mov rdx, rsi
mov qword [rbp + 0x620], r8
call sub.msvcrt.dll_memcpy
movzx esi, byte [r12 + 0x18]
mov rdx, qword [r12 + 0x28]
mov rbx, qword [r12 + 0x30]
test rbx, rbx
je 0x14018bfce
mov qword [rbp + 0x5e0], rdx
mov rax, rbx
shr rax, 0x3e
lea r15, [rbx + rbx]
test rax, rax
jne 0x14018e6f1
mov rax, qword [str.Lp__]
movzx eax, byte [rax]
xor edx, edx
mov r8, r15
call fcn.1401876d0
test rax, rax
je 0x14018e6e5
mov r12, rax
mov rdx, qword [rbp + 0x5e0]
jmp 0x14018bfd7
mov r12d, 2
xor r15d, r15d
add r13, rdi
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 0x620]
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x628]
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
mov byte [rbp + 0x38], sil
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x50], rbx
mov rdi, qword [r13 + 8]
mov rsi, qword [r13 + 0x10]
test rsi, rsi
je 0x14018c044
js 0x14018e711
mov rax, qword [str.Lp__]
movzx eax, byte [rax]
xor edx, edx
mov r8, rsi
call fcn.1401876d0
test rax, rax
je 0x14018e705
mov rbx, rax
jmp 0x14018c049
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx eax, byte [r13 + 0x18]
mov qword [rbp + 0x560], rsi
mov qword [rbp + 0x568], rbx
mov qword [rbp + 0x570], rsi
mov byte [rbp + 0x578], al
lea rcx, [rbp + 0x490]
lea rdx, [rbp + 0x540]
lea r8, [rbp + 0x20]
lea r9, [rbp + 0x560]
call fcn.1401667f0
mov rax, qword [rbp + 0x490]
shl rax, 1
test rax, rax
mov r13, qword [rbp + 0x630]
je 0x14018bce0
mov r8, qword [rbp + 0x498]
mov rcx, qword [0x1403c7148]
xor edx, edx
call fcn.140212404
jmp 0x14018bce0
mov rax, qword [rbp + 0x608]
mov rdx, qword [rbp + 0x610]
mov rcx, qword [rbp + 0x618]
mov byte [rbp + 0x500], 0
test rdx, rdx
je 0x14018c256
mov rcx, qword [rax + rcx*8 + 0x3d8]
mov rax, rdx
dec rax
je 0x14018c1be
mov r8, rax
and r8, 7
je 0x14018c129
nop dword [rax + rax]
movzx r9d, word [rcx + 0x3d2]
mov rcx, qword [rcx + r9*8 + 0x3d8]
dec r8
jne 0x14018c110
and rax, 0xfffffffffffffff8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x14018c1be
nop word [rax + rax]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x14018c140
movzx eax, word [rcx + 0x3d2]
dec rax
mov qword [rbp + 0x520], rcx
mov qword [rbp + 0x528], 0
mov qword [rbp + 0x530], rax
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x520]
lea r8, [rbp + 0x500]
call fcn.140169360
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x4e0], rax
movups xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp + 0x4d0], xmm0
movups xmm0, xmmword [rbp + 0x20]
movups xmm1, xmmword [rbp + 0x30]
movups xmm2, xmmword [rbp + 0x40]
movups xmm3, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0x4c0], xmm3
movaps xmmword [rbp + 0x4b0], xmm2
movaps xmmword [rbp + 0x4a0], xmm1
movaps xmmword [rbp + 0x490], xmm0
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x88]
movzx ecx, word [rdx + 0x3d2]
cmp rax, rcx
jae 0x14018c28b
mov rcx, rdx
jmp 0x14018c2c9
mov qword [rbp + 0x560], rax
mov qword [rbp + 0x568], 0
mov qword [rbp + 0x570], rcx
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x560]
lea r8, [rbp + 0x500]
call fcn.140169360
jmp 0x14018c3b9
mov r8, qword [rbp + 0x80]
nop word cs:[rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x14018c2c4
inc r8
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x14018c2a0
jmp 0x14018c2c9
mov rax, r8
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov r8, qword [rcx + rdx + 0x198]
mov qword [rbp + 0x590], r8
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rbp + 0x580], xmm2
movaps xmmword [rbp + 0x570], xmm1
movaps xmmword [rbp + 0x560], xmm0
mov r8, qword [rbp + 0x4c0]
mov qword [rcx + rdx + 0x198], r8
movaps xmm0, xmmword [rbp + 0x490]
movaps xmm1, xmmword [rbp + 0x4a0]
movaps xmm2, xmmword [rbp + 0x4b0]
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 + 0x598]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rbp + 0x4c8]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x560]
movaps xmm1, xmmword [rbp + 0x570]
movaps xmm2, xmmword [rbp + 0x580]
movaps xmm3, xmmword [rbp + 0x590]
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x30], xmm1
movaps xmmword [rbp + 0x40], xmm2
movaps xmmword [rbp + 0x50], xmm3
movaps xmm0, xmmword [rbp + 0x5a0]
movaps xmmword [rbp + 0x60], xmm0
mov rax, qword [rbp + 0x5b0]
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x5b0], rax
movaps xmm0, xmmword [rbp + 0x60]
movaps xmmword [rbp + 0x5a0], xmm0
movaps xmm0, xmmword [rbp + 0x20]
movaps xmm1, xmmword [rbp + 0x30]
movaps xmm2, xmmword [rbp + 0x40]
movaps xmm3, xmmword [rbp + 0x50]
movaps xmmword [rbp + 0x590], xmm3
movaps xmmword [rbp + 0x580], xmm2
dec qword [rbp + 0x550]
movaps xmmword [rbp + 0x570], xmm1
movaps xmmword [rbp + 0x560], xmm0
cmp byte [rbp + 0x500], 0
je 0x14018c448
test rbx, rbx
je 0x14018e725
mov rax, qword [rsi + 0x3d8]
mov qword [rbp + 0x540], rax
dec rbx
mov qword [rbp + 0x548], rbx
mov qword [rax + 0x160], 0
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, rsi
call fcn.140212404
mov rcx, qword [rbp + 0x560]
mov r8, qword [rbp + 0x568]
mov r15, qword [rbp + 0x580]
mov rbx, qword [rbp + 0x588]
mov rdi, qword [rbp + 0x598]
mov rsi, qword [rbp + 0x5a0]
mov eax, 0
movabs rdx, 0x8000000000000000
cmp rcx, rdx
je 0x14018bce2
test rcx, rcx
je 0x14018c49d
mov rcx, qword [0x1403c7148]
xor edx, edx
call fcn.140212404
test r15, r15
je 0x14018c4b3
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, rbx
call fcn.140212404
shl rdi, 1
mov eax, 0
test rdi, rdi
je 0x14018bce2
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, rsi
call fcn.140212404
xor eax, eax
jmp 0x14018bce2
mov rax, qword [rbp + 0x550]
mov qword [rbp + 0x468], rax
movups xmm0, xmmword [rbp + 0x540]
movups xmmword [rbp + 0x458], xmm0
mov qword [rbp + 0x450], 1
mov rax, qword [str.Lp__]
movzx eax, byte [rax]
mov r8d, 4
xor edx, edx
call fcn.1401876d0
test rax, rax
je 0x14018e742
mov rdi, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rbp + 0x560], rdi
mov qword [rbp + 0x568], rax
mov word [rbp + 0x570], 0
lea rcx, [rbp + 0x490]
lea rdx, [rbp + 0x560]
call fcn.140173d80
mov qword [rbp + 0x20], 4
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], 4
mov byte [rbp + 0x38], 0
movups xmm0, xmmword [rbp + 0x490]
movups xmmword [rbp + 0x40], xmm0
mov rax, qword [rbp + 0x4a0]
mov qword [rbp + 0x50], rax
mov r12, qword [rbp + 0x458]
mov rbx, qword [rbp + 0x48]
test r12, r12
je 0x14018c673
mov qword [rbp + 0x5f0], rdi
mov r14d, dword [rbp + 0x50]
mov rax, qword [rbp + 0x460]
mov qword [rbp + 0x638], rax
lea rcx, [r12 + 0x168]
movzx eax, word [r12 + 0x3d2]
mov qword [rbp + 0x630], rax
imul rdi, rax, 0x38
lea rsi, [r12 - 0x10]
mov r15, 0xffffffffffffffff
nop dword [rax]
test rdi, rdi
je 0x14018c620
lea r13, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rbx
mov edx, r14d
call sub.KERNEL32.dll_CompareStringOrdinal
add rdi, 0xffffffffffffffc8
add rsi, 0x20
inc r15
mov rcx, r13
cmp eax, 3
je 0x14018c5e0
cmp eax, 1
jne 0x14018c64c
jmp 0x14018c627
mov r15, qword [rbp + 0x630]
mov rax, qword [rbp + 0x638]
sub rax, 1
jb 0x14018ca4e
mov qword [rbp + 0x638], rax
mov r12, qword [r12 + r15*8 + 0x3d8]
jmp 0x14018c5b5
cmp eax, 2
jne 0x14018e63b
mov r15, qword [rsi - 8]
mov rax, qword [rsi]
mov qword [rbp + 0x638], rax
mov rsi, qword [rbp + 0x5d8]
mov rdi, qword [rbp + 0x5f0]
jmp 0x14018c67d
xor r15d, r15d
mov rsi, qword [rbp + 0x5d8]
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, rdi
call fcn.140212404
cmp qword [rbp + 0x40], 0
je 0x14018c6a6
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, rbx
call fcn.140212404
mov rbx, qword [rsi + 0x10]
lea r14, str.program_path_has_no_file_name
test rbx, rbx
je 0x14018cfa0
mov r12, qword [rsi + 8]
cmp rbx, 4
jae 0x14018c6cd
lea rax, [0x140192060]
jmp 0x14018c6f7
mov eax, dword [r12]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x140192080]
lea rax, [0x140192060]
cmove rax, rcx
movzx esi, byte [rbx + r12 - 1]
mov ecx, esi
call rax
test al, al
jne 0x14018cfa0
movabs rdi, 0x8000000000000000
lea r13, [r12 + rbx]
cmp rbx, 3
jbe 0x14018c77a
movzx eax, byte [r13 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14018c79d
movzx eax, byte [r13 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14018c79d
movzx eax, byte [r13 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14018c79d
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14018c79f
xor eax, eax
nop dword [rax]
cmp rbx, rax
je 0x14018c8c8
movzx ecx, byte [r12 + rax]
cmp ecx, 0x2f
je 0x14018c802
inc rax
cmp ecx, 0x5c
jne 0x14018c780
jmp 0x14018c802
xor eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
cmp rbx, rcx
je 0x14018c8c8
movzx edx, byte [r12 + rcx]
cmp edx, 0x2f
je 0x14018c7cb
inc rcx
cmp edx, 0x5c
jne 0x14018c7b0
test al, al
je 0x14018c802
lea rcx, [rbp + 0x20]
mov rdx, r12
mov r8, rbx
call fcn.140190c00
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
cmp rcx, rdi
jne 0x14018ca29
mov qword [rbp + 0x478], rax
mov qword [rbp + 0x470], rdi
jmp 0x14018cf7f
test rbx, rbx
js 0x14018e7f6
mov rax, qword [str.Lp__]
movzx eax, byte [rax]
xor edx, edx
mov r8, rbx
call fcn.1401876d0
test rax, rax
je 0x14018e7fd
mov rsi, rax
mov rcx, rax
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rbx
mov byte [rbp + 0x38], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rbp + 0x20]
mov r8d, 4
call fcn.140191e30
mov rbx, qword [rbp + 0x20]
mov rdi, qword [rbp + 0x28]
mov rsi, qword [rbp + 0x30]
lea rcx, [rbp + 8]
mov rdx, rdi
mov r8, rsi
call fcn.14018ece0
movabs rax, 0x8000000000000000
cmp qword [rbp + 8], rax
jne 0x14018c99e
mov rcx, rdi
mov rdx, rsi
call fcn.140182920
test rax, rax
je 0x14018cf13
cmp rdx, 2
jne 0x14018c9b9
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x14018c9b9
mov r8d, 2
xor ecx, ecx
jmp 0x14018cef3
xor r8d, r8d
lea r14, str.nul_byte_found_in_provided_data
mov rax, r12
jmp 0x14018c8ec
xor r8d, r8d
test cx, cx
je 0x14018cfa0
mov cx, 1
test r8w, r8w
jne 0x14018c8e0
cmp rax, r13
je 0x14018c9f4
movzx edx, byte [rax]
test dl, dl
js 0x14018c90b
inc rax
jmp 0x14018c96a
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14018c95c
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14018c974
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 0x14018c96a
jmp 0x14018c98a
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x14018c8e3
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x14018c96a
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x14018c8e3
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x480], rax
movups xmm0, xmmword [rbp + 8]
movaps xmmword [rbp + 0x470], xmm0
jmp 0x14018cf69
xor r10d, r10d
mov r8, rax
nop
cmp rdx, r10
je 0x14018ca5d
mov r9, r10
lea rcx, [r8 - 1]
inc r10
cmp byte [r8 + rdx - 1], 0x2e
mov r8, rcx
jne 0x14018c9c0
mov r8, rdx
sub r8, r10
jne 0x14018ceea
xor ecx, ecx
mov r8, rdx
jmp 0x14018cef3
cmp rbx, 0xf
ja 0x14018ca67
lea rax, [rbx - 1]
xor ecx, ecx
mov r9, qword [rbp + 0x638]
nop word [rax + rax]
cmp byte [r12 + rcx], 0x2e
sete r8b
je 0x14018ca83
lea rdx, [rcx + 1]
cmp rax, rcx
mov rcx, rdx
jne 0x14018ca10
jmp 0x14018ca83
mov rdx, qword [rbp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rdx
lea rcx, [rbp + 0x470]
lea rdx, [rbp + 0x20]
call fcn.140188510
jmp 0x14018cf7f
mov rsi, qword [rbp + 0x5d8]
xor r15d, r15d
jmp 0x14018c66a
mov rcx, rax
xor eax, eax
jmp 0x14018cef3
mov cl, 0x2e
mov rdx, r12
mov r8, rbx
call fcn.140015da0
cmp rax, 1
sete r8b
mov r9, qword [rbp + 0x638]
mov byte [rbp + 0x630], r8b
test r15, r15
je 0x14018cadd
add r9, r15
mov qword [rbp + 0x560], r15
mov qword [rbp + 0x568], r9
mov word [rbp + 0x570], 0
mov byte [rbp + 0x578], 1
lea rcx, [rbp + 0x20]
lea rdx, [rbp + 0x560]
call fcn.14018a5f0
mov r14, rbx
mov rax, qword [rbp + 0x20]
cmp rax, rdi
jne 0x14018cdf8
movabs rdi, 0x8000000000000000
mov rbx, r14
lea rcx, [rbp + 0x560]
call fcn.14018a830
mov qword [rbp + 0x5f0], rbx
mov rbx, qword [rbp + 0x560]
cmp rbx, rdi
jne 0x14018cb0d
lea rcx, [rbp + 0x568]
call fcn.140163240
jmp 0x14018cbbe
mov rsi, qword [rbp + 0x568]
mov rdi, qword [rbp + 0x570]
mov r14, qword [rbp + 0x578]
mov rcx, rsi
mov rdx, rdi
call case.0x1401821a5.27
cmp rdi, rdx
cmovb rdx, rdi
test rax, rax
cmove rdx, rdi
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], r14
lea rcx, [rbp + 0x20]
mov rdx, r12
mov r8, qword [rbp + 0x5f0]
call fcn.140181850
mov al, byte [rbp + 0x630]
test al, al
jne 0x14018cb7e
lea rdx, str.exe.NULexit_code:
lea rcx, [rbp + 0x20]
mov r8d, 3
call fcn.140182440
mov rsi, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
lea rcx, [rbp - 0x28]
mov rdx, rsi
call fcn.14018ece0
cmp qword [rbp + 0x20], 0
movabs rdi, 0x8000000000000000
je 0x14018cbb1
mov r8d, 1
mov rcx, rsi
call fcn.140185f30
mov r15, qword [rbp - 0x28]
cmp r15, rdi
jne 0x14018db5b
mov qword [rbp + 0x628], r13
mov qword [rbp + 0x620], r12
mov qword [rbp + 0x600], 0
mov qword [rbp + 0x608], 2
mov qword [rbp + 0x610], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x638], rax
xor r13d, r13d
xor r12d, r12d
xor edi, edi
cmp r8, 0x201
jb 0x14018cc2f
jmp 0x14018cc40
jae 0x14018ccfa
cmp r8, 0x201
jae 0x14018cc40
mov ebx, 0x200
lea r14, [rbp + 0x20]
mov r15, r8
jmp 0x14018cc97
sub r8, rdi
sub r12, rdi
cmp r12, r8
jae 0x14018cc6f
lea rcx, [rbp + 0x600]
mov rdx, rdi
call fcn.14016a210
mov r13, qword [rbp + 0x600]
mov rax, qword [rbp + 0x608]
mov qword [rbp + 0x638], rax
mov eax, 0xffffffff
cmp r13, rax
mov edi, 0xffffffff
cmovb rdi, r13
mov qword [rbp + 0x610], rdi
mov r12, r13
mov rbx, rdi
mov r14, qword [rbp + 0x638]
mov r15, rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r14
mov edx, r15d
call sub.KERNEL32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x14018ccbc
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x14018d3b0
mov r8d, esi
cmp r15, r8
jne 0x14018cc20
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14018e74c
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x14018cc40
jmp 0x14018cc2f
cmp rbx, r8
movzx esi, byte [rbp + 0x630]
jb 0x14018e80c
lea rcx, [rbp + 0x560]
mov rdx, r14
call fcn.140180660
movabs rdi, 0x8000000000000000
mov r12, qword [rbp + 0x620]
mov r13, qword [rbp + 0x628]
lea rcx, [rbp + 0x560]
mov rdx, r12
mov r8, qword [rbp + 0x5f0]
call fcn.140181850
test sil, sil
jne 0x14018cd65
lea rdx, str.exe.NULexit_code:
lea rcx, [rbp + 0x560]
mov r8d, 3
call fcn.140182440
mov rsi, qword [rbp + 0x568]
mov r8, qword [rbp + 0x570]
lea rcx, [rbp + 0x490]
mov rdx, rsi
call fcn.14018ece0
cmp qword [rbp + 0x560], 0
je 0x14018cd9a
mov r8d, 1
mov rcx, rsi
call fcn.140185f30
movups xmm0, xmmword [rbp + 0x490]
movaps xmmword [rbp + 0x500], xmm0
mov rax, qword [rbp + 0x4a0]
mov qword [rbp + 0x510], rax
cmp qword [rbp + 0x600], 0
je 0x14018cdd2
mov rcx, qword [rbp + 0x608]
mov r8d, 2
call fcn.140185f30
mov r15, qword [rbp + 0x500]
lea rax, [rdi + 2]
cmp r15, rax
jge 0x14018de09
lea rax, [rdi + 1]
cmp r15, rax
je 0x14018d3f4
jmp 0x14018d400
lea rsi, [rbp + 0x20]
lea rdi, [rbp + 0x560]
lea rbx, [rbp - 0x10]
jmp 0x14018ce2b
mov rcx, rsi
mov rdx, rdi
call fcn.14018a5f0
mov rax, qword [rbp + 0x20]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14018cad0
mov r8, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14018cece
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rdx
mov rcx, rsi
mov rdx, r12
mov r8, r14
call fcn.140181850
cmp byte [rbp + 0x630], 0
jne 0x14018ce7c
mov r8d, 3
mov rcx, rsi
lea rdx, str.exe.NULexit_code:
call fcn.140182440
mov r15, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov rcx, rbx
mov rdx, r15
call fcn.14018ece0
cmp qword [rbp + 0x20], 0
je 0x14018cea7
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, r15
call fcn.140212404
mov r15, qword [rbp - 0x10]
movabs rax, 0x8000000000000000
cmp r15, rax
jne 0x14018decd
mov rcx, rsi
mov rdx, rdi
call fcn.14018a5f0
jmp 0x14018ce14
test rax, rax
je 0x14018ce09
mov rcx, qword [0x1403c7148]
xor edx, edx
call fcn.140212404
jmp 0x14018ce09
add rcx, rdx
inc rcx
mov rdx, r9
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x14018cf13
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, rdi
cmp rsi, rcx
cmovae rsi, rcx
lea rcx, [rbp + 0x20]
mov rdx, rdi
mov r8, rsi
call fcn.140190c00
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
movabs rdx, 0x8000000000000000
cmp rcx, rdx
jne 0x14018cf49
mov qword [rbp + 0x478], rax
mov qword [rbp + 0x470], rdx
jmp 0x14018cf69
mov rdx, qword [rbp + 0x30]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rdx
lea rcx, [rbp + 0x470]
lea rdx, [rbp + 0x20]
call fcn.140188510
test rbx, rbx
je 0x14018cf7f
mov rcx, qword [0x1403c7148]
xor edx, edx
mov r8, rdi
call fcn.140212404
mov r15, qword [rbp + 0x470]
mov r14, qword [rbp + 0x478]
movabs rdi, 0x8000000000000000
cmp r15, rdi
jne 0x14018d046
mov rax, qword [rbp + 0x5d0]
mov qword [rax], r14
mov qword [rax + 0x10], 2
mov rsi, qword [rbp + 0x480]
cmp rsi, 4
mov qword [rbp + 0x638], r15
jbe case.0x14018dadf.68
lea rax, [r14 + rsi*2]
mov rcx, rax
add rcx, 0xfffffffffffffff6
je case.0x14018dadf.68
cmp word [rcx], 0x2e
jne case.0x14018dadf.68
cmp word [rax - 2], 0
je 0x14018dac1
mov rax, qword [rbp + 0x5d8]
mov rsi, qword [rax + 0x28]
mov rdi, qword [rax + 0x30]
mov r15, rax
movzx ebx, byte [rax + 0xc5]
mov qword [rbp + 0x560], 0
mov qword [rbp + 0x568], 2
mov qword [rbp + 0x570], 0
lea rcx, [rbp + 0x560]
call fcn.14016ab20
mov rax, qword [rbp + 0x568]
mov word [rax], 0x22
mov qword [rbp + 0x570], 1
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r13
mov word [rbp + 0x30], 0
lea rcx, [rbp + 0x560]
lea rdx, [rbp + 0x20]
call fcn.140173bf0
mov r12, qword [rbp + 0x570]
cmp r12, qword [rbp + 0x560]
jne 0x14018d10f
lea rcx, [rbp + 0x560]
call fcn.14016ab20
mov rax, qword [rbp + 0x568]
mov word [rax + r12*2], 0x22
inc r12
mov qword [rbp + 0x570], r12
shl rdi, 3
lea r12, [rdi + rdi*4]
lea rdi, [rbp + 0x560]
nop word cs:[rax + rax]
test r12, r12
je 0x14018d1b7
mov r13, qword [rbp + 0x570]
cmp r13, qword [rbp + 0x560]
jne 0x14018d15d
mov rcx, rdi
call fcn.14016ab20
mov rax, qword [rbp + 0x568]
mov word [rax + r13*2], 0x20
inc r13
mov qword [rbp + 0x570], r13
mov rcx, rdi
mov rdx, rsi
mov r8d, ebx
call fcn.140187700
add rsi, 0x28
add r12, 0xffffffffffffffd8
test rax, rax
je 0x14018d140
cmp qword [rbp + 0x560], 0
je 0x14018d1d4
mov r8, qword [rbp + 0x568]
mov rcx, qword [0x1403c7148]
xor edx, edx
mov rsi, rax
call fcn.140212404
mov rax, rsi
jmp 0x14018d1d4
mov rcx, qword [rbp + 0x560]
mov rax, qword [rbp + 0x568]
movabs rdi, 0x8000000000000000
cmp rcx, rdi
jne 0x14018d213
mov r15, qword [rbp + 0x638]
mov rcx, qword [rbp + 0x5d0]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
xor esi, esi
mov rsi, qword [rbp + 0x570]
mov dl, 1
mov dword [rbp + 0x538], edx
mov dword [rbp + 0x5f0], 0
mov rdx, qword [rbp + 0x638]
mov qword [rbp + 0x630], rdx
mov r12, r14
mov qword [rbp + 0x540], rcx
mov qword [rbp + 0x548], rax
mov qword [rbp + 0x550], rsi
cmp rsi, rcx
jne 0x14018d26a
lea rcx, [rbp + 0x540]
call fcn.14016ab20
mov rax, qword [rbp + 0x548]
mov word [rax + rsi*2], 0
inc rsi
mov qword [rbp + 0x550], rsi
cmp byte [r15 + 0xc4], 0
mov eax, 0x400
mov ebx, 0x608
cmove ebx, eax
or ebx, dword [r15 + 0xc0]
cmp qword [rbp + 0x450], 0
je 0x14018d30e
mov dword [rbp + 0x53c], ebx
mov rbx, qword [rbp + 0x468]
mov qword [rbp + 0x530], rbx
movups xmm0, xmmword [rbp + 0x458]
movaps xmmword [rbp + 0x520], xmm0
mov qword [rbp + 0x600], 0
mov qword [rbp + 0x608], 2
mov qword [rbp + 0x610], 0
test rbx, rbx
mov r15, qword [rbp + 0x638]
mov qword [rbp + 0x620], r12
je 0x14018d628
mov eax, 2
mov qword [rbp + 0x628], rax
xor r13d, r13d
jmp 0x14018d65b
mov eax, 2
mov qword [rbp + 0x5f8], rax
xor r13d, r13d
xor eax, eax
mov qword [rbp + 0x5e0], rax
mov r15, qword [rbp + 0x638]
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x508], rax
movabs rax, 0x8000000000000000
inc rax
mov qword [rbp + 0x500], rax
cmp qword [rbp + 0x600], 0
je 0x14018d3f4
mov rcx, qword [rbp + 0x608]
mov r8d, 2
call fcn.140185f30
lea rcx, [rbp + 0x508]
call fcn.140163240
mov qword [rbp + 0x600], 0
mov qword [rbp + 0x608], 2
mov qword [rbp + 0x610], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x638], rax
xor r12d, r12d
xor r13d, r13d
xor edi, edi
cmp r8, 0x201
jb 0x14018d45f
jmp 0x14018d470
jae 0x14018d52a
cmp r8, 0x201
jae 0x14018d470
mov ebx, 0x200
lea r14, [rbp + 0x20]
mov r15, r8
jmp 0x14018d4c7
sub r8, rdi
sub r13, rdi
cmp r13, r8
jae 0x14018d49f
lea rcx, [rbp + 0x600]
mov rdx, rdi
call fcn.14016a210
mov r12, qword [rbp + 0x600]
mov rax, qword [rbp + 0x608]
mov qword [rbp + 0x638], rax
mov eax, 0xffffffff
cmp r12, rax
mov edi, 0xffffffff
cmovb rdi, r12
mov qword [rbp + 0x610], rdi
mov r13, r12
mov rbx, rdi
mov r14, qword [rbp + 0x638]
mov r15, rdi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, r14
mov edx, r15d
call sub.KERNEL32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x14018d4ec
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x14018dc3f
mov r8d, esi
cmp r15, r8
jne 0x14018d450
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x14018e769
add r15, r15
mov eax, 0xffffffff
cmp r15, rax
cmovae r15, rax
mov r8, r15
cmp r8, 0x201
jae 0x14018d470
jmp 0x14018d45f
cmp rbx, r8
movzx esi, byte [rbp + 0x630]
jb 0x14018e823
lea rcx, [rbp + 0x560]
mov rdx, r14
call fcn.140180660
movabs rdi, 0x8000000000000000
mov r12, qword [rbp + 0x620]
mov r13, qword [rbp + 0x628]
lea rcx, [rbp + 0x560]
mov rdx, r12
mov r8, qword [rbp + 0x5f0]
call fcn.140181850
test sil, sil
jne 0x14018d595
lea rdx, str.exe.NULexit_code:
lea rcx, [rbp + 0x560]
mov r8d, 3
call fcn.140182440
mov rsi, qword [rbp + 0x568]
mov r8, qword [rbp + 0x570]
lea rcx, [rbp + 0x490]
mov rdx, rsi
call fcn.14018ece0
cmp qword [rbp + 0x560], 0
je 0x14018d5ca
mov r8d, 1
mov rcx, rsi
call fcn.140185f30
movups xmm0, xmmword [rbp + 0x490]
movaps xmmword [rbp + 0x540], xmm0
mov rax, qword [rbp + 0x4a0]
mov qword [rbp + 0x550], rax
cmp qword [rbp + 0x600], 0
je 0x14018d602
mov rcx, qword [rbp + 0x608]
mov r8d, 2
call fcn.140185f30
mov r15, qword [rbp + 0x540]
lea rax, [rdi + 2]
cmp r15, rax
jge 0x14018de59
lea rax, [rdi + 1]
cmp r15, rax
je 0x14018dc92
jmp 0x14018dc9e
mov sil, 1
lea rcx, [rbp + 0x600]
call fcn.14016ab20
mov rax, qword [rbp + 0x608]
mov qword [rbp + 0x628], rax
mov word [rax], 0
mov qword [rbp + 0x610], 1
mov r13d, 1
mov rax, qword [rbp + 0x520]
mov rcx, qword [rbp + 0x528]
xor edx, edx
test rax, rax
setne dl
cmove rbx, rax
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rcx
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rbx
lea rsi, [rbp + 0x560]
movzx ecx, word [rax - 8]
lea edx, [rcx - 0x42]
cmp edx, 0x21
ja case.0x14018dadf.68
lea r8, [0x1403276f8]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
movzx edx, word [rax - 6]
or edx, 0x20
cmp edx, 0x61
jne 0x14018daf9
movzx edx, word [rax - 4]
or edx, 0x20
cmp edx, 0x74
je 0x14018db23
cmp cx, 0x43
jne case.0x14018dadf.68
movzx ecx, word [rax - 6]
or ecx, 0x20
cmp ecx, 0x6d
jne case.0x14018dadf.68
movzx eax, word [rax - 4]
or eax, 0x20
cmp eax, 0x64
jne case.0x14018dadf.68
lea rcx, [rbp + 0x20]
call fcn.14018f4b0
mov rax, qword [rbp + 0x20]
mov r12, qword [rbp + 0x28]
mov qword [rbp + 0x630], rax
cmp rax, rdi
jne 0x14018e05f
mov rax, qword [rbp + 0x5d0]
mov qword [rax], r12
mov qword [rax + 0x10], 2
jmp 0x14018d1ed
mov r14, qword [rbp - 0x20]
mov rsi, qword [rbp - 0x18]
jmp 0x14018d04d
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x548], rax
movabs rdi, 0x8000000000000000
lea rax, [rdi + 1]
mov qword [rbp + 0x540], rax
cmp qword [rbp + 0x600], 0
je 0x14018dc84
mov rcx, qword [rbp + 0x608]
mov r8d, 2
call fcn.140185f30
mov r12, qword [rbp + 0x620]
mov r13, qword [rbp + 0x628]
lea rcx, [rbp + 0x548]
call fcn.140163240
lea rdx, str.PATHlibrary_std_src_sys_commonprocess.rs
lea rcx, [rbp + 0x490]
mov r8d, 4
call fcn.14017ce50
mov rax, rdi
mov rdi, qword [rbp + 0x490]
cmp rdi, rax
je 0x14018de2f
mov r14, qword [rbp + 0x498]
mov rax, qword [rbp + 0x4a0]
add rax, r14
mov qword [rbp + 0x560], r14
mov qword [rbp + 0x568], rax
mov word [rbp + 0x570], 0
mov byte [rbp + 0x578], 1
lea rsi, [rbp + 0x20]
lea rbx, [rbp + 0x560]
mov rcx, rsi
mov rdx, rbx
call fcn.14018a5f0
jmp 0x14018dd1c
mov rcx, rsi
mov rdx, rbx
call fcn.14018a5f0
mov rax, qword [rbp + 0x20]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14018de1c
mov r8, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
test rcx, rcx
jne 0x14018dd55
test rax, rax
je 0x14018dd11
mov rcx, qword [0x1403c7148]
xor edx, edx
call fcn.140212404
jmp 0x14018dd11
mov rdx, qword [rbp + 0x38]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rdx
mov rcx, rsi
mov rdx, r12
mov r8, qword [rbp + 0x5f0]
call fcn.140181850
cmp byte [rbp + 0x630], 0
jne 0x14018dd99
mov r8d, 3
mov rcx, rsi
lea rdx, str.exe.NULexit_code:
call fcn.140182440
mov r15, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
lea rcx, [rbp + 0x520]
mov rdx, r15
call fcn.14018ece0
cmp qword [rbp + 0x20], 0
je 0x14018ddc5
mov r8d, 1
mov rcx, r15
call fcn.140185f30
mov r15, qword [rbp + 0x520]
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x14018dd04
mov rcx, r14
mov r14, qword [rbp + 0x528]
mov rsi, qword [rbp + 0x530]
test rdi, rdi
je 0x14018ded5
mov r8d, 1
call fcn.140185f30
jmp 0x14018ded5
mov r14, qword [rbp + 0x508]
mov rsi, qword [rbp + 0x510]
jmp 0x14018d04d
test rdi, rdi
je 0x14018de2f
mov r8d, 1
mov rcx, r14
call fcn.140185f30
lea r14, [0x14032b128]
jmp 0x14018cfa0
mov r14, qword [rbp + 0x548]
mov rsi, qword [rbp + 0x550]
jmp 0x14018d04d
mov r14, qword [rbp - 8]
mov rsi, qword [rbp]
movabs rdi, 0x8000000000000000
jmp 0x14018d04d
mov rcx, qword [rbp + 0x5d8]
mov r9, qword [rcx + 0x28]
mov rax, qword [rcx + 0x30]
mov r15, rcx
movzx ecx, byte [rcx + 0xc5]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x20]
mov rdx, r14
mov r8, rsi
call fcn.140187b70
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
cmp rcx, rdi
jne 0x14018e184
mov rcx, qword [rbp + 0x5d0]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
cmp qword [rbp + 0x630], 0
je 0x14018e0cb
mov r8d, 2
mov rcx, r12
call fcn.140185f30
xor esi, esi
mov r15, qword [rbp + 0x638]
jmp 0x14018d1ef
mov rsi, qword [rbp + 0x30]
mov dl, 1
mov dword [rbp + 0x5f0], edx
mov dword [rbp + 0x538], 0
jmp 0x14018d23d
lea rcx, str._rustc_7f2fc33da6633f5a764ddc263c769b6b2873d167library_alloc_srccollections_btree_navigate.rs
call fcn.140011820
jmp 0x14018e838
lea rcx, str._rustc_7f2fc33da6633f5a764ddc263c769b6b2873d167library_alloc_srccollections_btree_navigate.rs
call fcn.140011820
jmp 0x14018e838
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x600], rax
lea rax, [rbp + 0x600]
mov qword [rbp + 0x490], rax
lea rax, [fcn.14017e1a0]
mov qword [rbp + 0x498], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rbp + 0x560], rax
mov qword [rbp + 0x568], 1
mov qword [rbp + 0x580], 0
lea rax, [rbp + 0x490]
mov qword [rbp + 0x570], rax
mov qword [rbp + 0x578], 1
lea rdx, str.library_std_src_syspalwindowsprocess.rs
lea rcx, [rbp + 0x560]
call fcn.140011a80
jmp 0x14018e838
mov eax, 1
mov qword [rbp + 0x5f8], rax
jmp 0x14018e6d1
mov r15, r8
mov rcx, qword [rbp + 0x5f8]
mov rdx, r15
call fcn.140003b30
jmp 0x14018e838
mov eax, 2
mov qword [rbp + 0x5f8], rax
mov rcx, qword [rbp + 0x5f8]
mov rdx, r15
call fcn.140003b30
jmp 0x14018e838
mov eax, 1
mov qword [rbp + 0x5f8], rax
mov rcx, qword [rbp + 0x5f8]
mov rdx, rsi
call fcn.140003b30
jmp 0x14018e838
lea rcx, str.assertion_failed:_self.height___0
lea r8, str._rustc_7f2fc33da6633f5a764ddc263c769b6b2873d167library_alloc_srccollections_btree_node.rsassertion_failed:_edge.height__self.height___1
mov edx, 0x21
call fcn.140011b20
jmp 0x14018e838
mov edx, 4
jmp 0x14018e800
lea rcx, str.internal_error:_entered_unreachable_code8
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140011b20
jmp 0x14018e838
lea rcx, str.internal_error:_entered_unreachable_code8
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140011b20
jmp 0x14018e838
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x490], rax
lea rax, [rbp + 0x490]
mov qword [rbp + 0x560], rax
lea rax, [fcn.14017e1a0]
mov qword [rbp + 0x568], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 1
mov qword [rbp + 0x40], 0
lea rax, [rbp + 0x560]
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], 1
lea rdx, str.library_std_src_syspalwindowsos.rs
lea rcx, [rbp + 0x20]
call fcn.140011a80
jmp 0x14018e838
mov rdx, rbx
xor ecx, ecx
jmp 0x14018e805
mov rdx, rbx
mov ecx, 1
call fcn.140003b30
jmp 0x14018e838
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.140016050
jmp 0x14018e838
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.140016050
ud2