Function at 0x140001560
Capabilities:
Encode data using xor

Disassembly:
push r15
mov eax, 0x1418
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140005230
sub rsp, rax
movaps xmmword [rsp + 0x13f0], xmm6
movaps xmmword [rsp + 0x1400], xmm7
xor edx, edx
mov r8d, 0x208
lea rbx, [rsp + 0xe0]
lea rsi, [rsp + 0xd40]
mov rcx, rbx
call sub.msvcrt.dll_memset
movdqa xmm0, xmmword [section..rdata]
lea rcx, [0x14000b9c0]
mov rax, qword [str._1_W]
movaps xmmword [rsp + 0xd40], xmm0
movdqa xmm0, xmmword [str._1UrM_rh]
movaps xmmword [rsp + 0xd50], xmm0
movdqa xmm0, xmmword [str.61mGP_ro]
mov qword [rsp + 0xd70], rax
movaps xmmword [rsp + 0xd60], xmm0
call fcn.1400053c0
lea rcx, [0x14000b9a0]
mov rbp, rax
call fcn.1400053c0
cmp byte [rbp], 0
mov qword [rsp + 0x40], rsi
mov r12, rax
jne 0x140001635
mov byte [rax + 0x38], 1
mov ecx, 0xe
mov rdi, rax
xor r8d, r8d
rep movsd dword [rdi], dword [rsi]
mov byte [rbp], 1
lea rcx, [0x14000a790]
mov rdx, rax
call fcn.140004b00
cmp byte [r12 + 0x38], 0
je 0x14000166e
movabs rdx, 0xe7bf0d27d93d3145
xor eax, eax
mov rcx, rax
mov rdi, rdx
and ecx, 7
shl rcx, 3
shr rdi, cl
xor word [r12 + rax*2], di
add rax, 1
cmp rax, 0x1c
jne 0x140001649
mov byte [r12 + 0x38], 0
lea rbp, [0x14000ba20]
mov rdx, r12
mov rcx, rbx
call sub.msvcrt.dll_wcscpy
mov r10d, 0x208
mov rcx, rbx
mov word [rsp + 0xa2], r10w
call sub.msvcrt.dll_wcslen
mov r9d, 1
mov edx, 0x1f0001
pxor xmm0, xmm0
add eax, eax
movaps xmmword [rsp + 0xd0], xmm0
mov word [rsp + 0xa0], ax
lea rcx, [rsp + 0x90]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xa8], rbx
lea r8, [rsp + 0xb0]
mov dword [rsp + 0xb0], 0x30
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xc8], 0
mov qword [rsp + 0xc0], rax
call fcn.140003d84
lea rax, [rsp + 0x2f0]
xor edx, edx
mov r8d, 0x208
mov rcx, rax
mov qword [rsp + 0x48], rax
call sub.msvcrt.dll_memset
mov eax, dword [0x14000e050]
lea rcx, [0x14000ba40]
movdqa xmm0, xmmword [0x14000e040]
movaps xmmword [rsp + 0xd40], xmm0
mov dword [rsp + 0xd50], eax
call fcn.1400053c0
cmp byte [rax], 0
mov rbx, rax
jne 0x140001785
mov rcx, rbp
call fcn.1400053c0
mov rsi, qword [rsp + 0x40]
mov ecx, 5
xor r8d, r8d
mov byte [rax + 0x14], 1
mov rdi, rax
mov rdx, rax
rep movsd dword [rdi], dword [rsi]
mov byte [rbx], 1
lea rcx, [0x14000a720]
call fcn.140004b00
mov rcx, rbp
call fcn.1400053c0
cmp byte [rax + 0x14], 0
mov rbp, rax
je 0x1400017bd
movabs rax, 0x236b6badad474799
mov byte [rbp + 0x14], 0
xor qword [rbp], rax
movabs rax, 0xc7c77f7f777723
xor dword [rbp + 0x10], 0xad474799
xor qword [rbp + 8], rax
mov eax, dword [0x14000e070]
mov r9d, 0x6bad
movdqa xmm0, xmmword [0x14000e060]
lea rcx, [0x14000ba00]
mov word [rsp + 0xd54], r9w
movaps xmmword [rsp + 0xd40], xmm0
mov dword [rsp + 0xd50], eax
call fcn.1400053c0
lea rcx, [0x14000b9e0]
mov r12, rax
call fcn.1400053c0
cmp byte [r12], 0
mov rbx, rax
jne 0x140001838
mov byte [rax + 0x16], 1
mov rsi, qword [rsp + 0x40]
mov rdi, rax
xor r8d, r8d
mov ecx, 0x16
mov rdx, rax
rep movsb byte [rdi], byte [rsi]
mov byte [r12], 1
lea rcx, [0x14000a730]
call fcn.140004b00
cmp byte [rbx + 0x16], 0
je 0x14000186a
movabs rax, 0x236b6badad474799
mov byte [rbx + 0x16], 0
xor qword [rbx], rax
movabs rax, 0xc7c77f7f777723
xor dword [rbx + 0x10], 0xad474799
xor qword [rbx + 8], rax
xor word [rbx + 0x14], 0x6bad
mov rcx, rbx
mov r12, qword [sym.imp.msvcrt.dll__wgetenv]
call r12
mov rcx, qword [rsp + 0x48]
mov r8, rbp
lea rbx, [rsp + 0x500]
mov rdx, rax
call fcn.140003170
xor edx, edx
mov r8d, 0x208
mov rcx, rbx
call sub.msvcrt.dll_memset
movdqa xmm0, xmmword [0x14000e080]
mov r8d, 0xffffb5ef
mov word [rsp + 0xd50], r8w
lea rcx, [0x14000ba80]
movaps xmmword [rsp + 0xd40], xmm0
call fcn.1400053c0
lea rcx, [0x14000ba60]
mov rbp, rax
call fcn.1400053c0
cmp byte [rbp], 0
mov r13, rax
jne 0x14000190b
mov byte [rax + 0x12], 1
mov rsi, qword [rsp + 0x40]
mov rdi, rax
xor r8d, r8d
mov ecx, 0x12
mov rdx, rax
rep movsb byte [rdi], byte [rsi]
mov byte [rbp], 1
lea rcx, [0x14000a8a0]
call fcn.140004b00
cmp byte [r13 + 0x12], 0
je 0x14000193a
movabs rax, 0x23b1b1c9c9b5b5ef
mov byte [r13 + 0x12], 0
xor qword [r13], rax
movabs rax, 0x87870707dddd23
xor word [r13 + 0x10], 0xb5ef
xor qword [r13 + 8], rax
mov rdx, qword [rsp + 0x48]
mov r8, r13
mov rcx, rbx
lea rbp, [0x14000baa0]
call fcn.140003170
lea rax, [rsp + 0x710]
xor edx, edx
mov r8d, 0x208
mov rcx, rax
mov qword [rsp + 0x50], rax
call sub.msvcrt.dll_memset
mov rax, qword [0x14000e0d0]
mov ecx, 0x194d
movdqa xmm0, xmmword [0x14000e090]
mov word [rsp + 0xd8c], cx
lea rcx, [0x14000bac0]
movaps xmmword [rsp + 0xd40], xmm0
movdqa xmm0, xmmword [0x14000e0a0]
mov qword [rsp + 0xd80], rax
mov eax, dword [0x14000e0d8]
movaps xmmword [rsp + 0xd50], xmm0
movdqa xmm0, xmmword [0x14000e0b0]
movaps xmmword [rsp + 0xd60], xmm0
movdqa xmm0, xmmword [0x14000e0c0]
mov dword [rsp + 0xd88], eax
movaps xmmword [rsp + 0xd70], xmm0
call fcn.1400053c0
cmp byte [rax], 0
mov r13, rax
jne 0x140001a1d
mov rcx, rbp
call fcn.1400053c0
mov rsi, qword [rsp + 0x40]
mov ecx, 0x4e
xor r8d, r8d
mov byte [rax + 0x4e], 1
mov rdi, rax
mov rdx, rax
rep movsb byte [rdi], byte [rsi]
mov byte [r13], 1
lea rcx, [0x14000a7b0]
call fcn.140004b00
mov rcx, rbp
call fcn.1400053c0
cmp byte [rax + 0x4e], 0
mov r8, rax
je 0x140001a5e
movabs rdx, 0x194db9cd9b4dbd9f
xor eax, eax
mov rcx, rax
mov rdi, rdx
and ecx, 7
shl rcx, 3
shr rdi, cl
xor word [r8 + rax*2], di
add rax, 1
cmp rax, 0x27
jne 0x140001a3a
mov byte [r8 + 0x4e], 0
mov rdx, qword [rsp + 0x48]
lea r13, [rsp + 0x920]
mov rcx, qword [rsp + 0x50]
lea rbp, [0x14000bb20]
call fcn.140003170
xor edx, edx
mov r8d, 0x208
mov rcx, r13
call sub.msvcrt.dll_memset
mov eax, dword [0x14000e110]
mov edx, 0x1fef
movdqa xmm0, xmmword [0x14000e0e0]
lea rcx, [0x14000bb40]
mov word [rsp + 0xd74], dx
movaps xmmword [rsp + 0xd40], xmm0
movdqa xmm0, xmmword [0x14000e0f0]
mov dword [rsp + 0xd70], eax
movaps xmmword [rsp + 0xd50], xmm0
movdqa xmm0, xmmword [0x14000e100]
movaps xmmword [rsp + 0xd60], xmm0
call fcn.1400053c0
cmp byte [rax], 0
mov r15, rax
jne 0x140001b1b
mov rcx, rbp
call fcn.1400053c0
mov rsi, qword [rsp + 0x40]
mov ecx, 0x36
xor r8d, r8d
mov byte [rax + 0x36], 1
mov rdi, rax
mov rdx, rax
rep movsb byte [rdi], byte [rsi]
mov byte [r15], 1
lea rcx, [0x14000a780]
call fcn.140004b00
mov rcx, rbp
call fcn.1400053c0
cmp byte [rax + 0x36], 0
mov rdi, rax
je 0x140001b5a
movabs rdx, 0xcd15890f1fef9f7d
xor eax, eax
mov rcx, rax
mov rsi, rdx
and ecx, 7
shl rcx, 3
shr rsi, cl
xor word [rdi + rax*2], si
add rax, 1
cmp rax, 0x1b
jne 0x140001b38
mov byte [rdi + 0x36], 0
movdqa xmm0, xmmword [0x14000e120]
lea rcx, [0x14000bb00]
movaps xmmword [rsp + 0xd40], xmm0
call fcn.1400053c0
lea rcx, [0x14000bae0]
mov rbp, rax
call fcn.1400053c0
cmp byte [rbp], 0
mov rsi, rax
jne 0x140001bbf
mov byte [rax + 0x10], 1
xor r8d, r8d
mov rax, qword [rsp + 0xd40]
mov rdx, rsi
lea rcx, [0x14000a880]
mov qword [rsi], rax
mov rax, qword [rsp + 0xd48]
mov qword [rsi + 8], rax
mov byte [rbp], 1
call fcn.140004b00
cmp byte [rsi + 0x10], 0
je 0x140001be4
movabs rax, 0xf1f1fefef9f9f7d
mov byte [rsi + 0x10], 0
xor qword [rsi], rax
movabs rax, 0xcdcd151589890f
xor qword [rsi + 8], rax
mov rcx, rsi
call r12
lea rbp, [rsp + 0xb30]
mov r8, rdi
mov rcx, r13
mov rdx, rax
call fcn.140003170
xor edx, edx
mov r8d, 0x208
mov rcx, rbp
call sub.msvcrt.dll_memset
mov rax, qword [0x14000e140]
lea rcx, [0x14000bbc0]
movdqa xmm0, xmmword [0x14000e130]
movaps xmmword [rsp + 0xd40], xmm0
mov qword [rsp + 0xd50], rax
mov eax, dword [0x14000e148]
mov dword [rsp + 0xd58], eax
call fcn.1400053c0
lea rcx, [0x14000bba0]
mov qword [rsp + 0x58], rax
call fcn.1400053c0
mov rdx, qword [rsp + 0x58]
mov r15, rax
cmp byte [rdx], 0
jne 0x140001c8e
mov byte [rax + 0x1c], 1
mov rsi, qword [rsp + 0x40]
mov rdi, rax
xor r8d, r8d
mov ecx, 7
rep movsd dword [rdi], dword [rsi]
mov byte [rdx], 1
lea rcx, [0x14000a750]
mov rdx, rax
call fcn.140004b00
cmp byte [r15 + 0x1c], 0
je 0x140001cc1
movabs rax, 0xed7b7b65650101a9
mov byte [r15 + 0x1c], 0
movabs rdx, 0x5757fbfb2121ed
xor qword [r15], rax
xor qword [r15 + 8], rdx
xor qword [r15 + 0x10], rax
xor dword [r15 + 0x18], 0xfb2121ed
movdqa xmm0, xmmword [0x14000e150]
lea rcx, [0x14000bb80]
movaps xmmword [rsp + 0xd40], xmm0
call fcn.1400053c0
lea rcx, [0x14000bb60]
mov rdi, rax
call fcn.1400053c0
cmp byte [rdi], 0
mov rsi, rax
jne 0x140001d24
mov byte [rax + 0x10], 1
xor r8d, r8d
mov rax, qword [rsp + 0xd40]
mov rdx, rsi
lea rcx, [0x14000a890]
mov qword [rsi], rax
mov rax, qword [rsp + 0xd48]
mov qword [rsi + 8], rax
mov byte [rdi], 1
call fcn.140004b00
cmp byte [rsi + 0x10], 0
je 0x140001d49
movabs rax, 0xed7b7b65650101a9
mov byte [rsi + 0x10], 0
xor qword [rsi], rax
movabs rax, 0x5757fbfb2121ed
xor qword [rsi + 8], rax
mov rcx, rsi
call r12
lea rsi, [0x14000bbe0]
mov r8, r15
mov rcx, rbp
mov rdx, rax
call fcn.140003170
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov r8, rbp
call fcn.140002b90
lea rcx, [0x14000bc00]
mov r12d, eax
call fcn.1400053c0
cmp byte [rax], 0
mov rbx, rax
jne 0x140001db9
mov rcx, rsi
call fcn.1400053c0
lea rcx, [0x14000a7e0]
xor r8d, r8d
mov byte [rax + 8], 1
mov rdx, rax
movabs rax, 0x8f7575eb9988e515
mov qword [rdx], rax
mov byte [rbx], 1
call fcn.140004b00
mov rcx, rsi
call fcn.1400053c0
cmp byte [rax + 8], 0
mov rbx, rax
je 0x140001de2
movq xmm0, qword [rax]
mov byte [rax + 8], 0
movq xmm1, qword [0x14000e160]
pxor xmm0, xmm1
movq qword [rax], xmm0
movdqa xmm0, xmmword [0x14000e170]
lea rcx, [0x14000bc40]
mov eax, dword [0x14000e1b0]
movaps xmmword [rsp + 0xd40], xmm0
movdqa xmm0, xmmword [0x14000e180]
movaps xmmword [rsp + 0xd50], xmm0
movdqa xmm0, xmmword [0x14000e190]
mov dword [rsp + 0xd80], eax
mov eax, 0x7599
movaps xmmword [rsp + 0xd60], xmm0
movdqa xmm0, xmmword [0x14000e1a0]
mov word [rsp + 0xd84], ax
movaps xmmword [rsp + 0xd70], xmm0
call fcn.1400053c0
lea rcx, [0x14000bc20]
mov r15, rax
call fcn.1400053c0
cmp byte [r15], 0
mov rbp, rax
jne 0x140001e89
mov byte [rax + 0x46], 1
mov rsi, qword [rsp + 0x40]
mov rdi, rax
xor r8d, r8d
mov ecx, 0x46
mov rdx, rax
rep movsb byte [rdi], byte [rsi]
mov byte [r15], 1
lea rcx, [0x14000a7a0]
call fcn.140004b00
cmp byte [rbp + 0x46], 0
je 0x140001ebe
movabs rdx, 0x1b07cd8f7599e56d
xor eax, eax
mov rcx, rax
mov rdi, rdx
and ecx, 7
shl rcx, 3
shr rdi, cl
xor word [rbp + rax*2], di
add rax, 1
cmp rax, 0x23
jne 0x140001e9b
mov byte [rbp + 0x46], 0
lea rdx, [rsp + 0x8c]
mov rcx, r13
call fcn.140003620
lea rdi, [rsp + 0x98]
movq xmm7, qword [0x14000e1b8]
mov qword [rsp + 0x98], 0xfffffffff6769800
mov qword [rsp + 0x60], rax
lea rax, [0x14000a860]
movq xmm6, qword [0x14000e1c0]
mov qword [rsp + 0x78], rax
lea rax, [0x14000a870]
mov qword [rsp + 0x68], rax
lea rax, [0x14000a770]
lea rsi, [0x14000a7c0]
mov qword [rsp + 0x70], rax
mov rdx, rdi
xor ecx, ecx
call fcn.140003d24
lea rcx, [0x14000bc80]
call fcn.1400053c0
lea rcx, [0x14000bc60]
mov r14, rax
call fcn.1400053c0
cmp byte [r14], 0
mov r15, rax
jne 0x140001f6a
mov byte [rax + 8], 1
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
movq qword [rax], xmm7
mov byte [r14], 1
call fcn.140004b00
cmp byte [r15 + 8], 0
je 0x140001f84
movq xmm0, qword [r15]
mov byte [r15 + 8], 0
pxor xmm0, xmm6
movq qword [r15], xmm0
mov rdx, rbx
mov rcx, r15
call sub.msvcrt.dll__wcsicmp
test eax, eax
jne 0x140001fb0
test r12b, r12b
jne 0x140001fb0
mov rcx, r13
call fcn.140003920
test al, al
jne 0x140001f22
mov r14d, 1
jmp 0x140001fca
mov rcx, rbp
call fcn.1400030a0
test al, al
jne 0x140001f98
mov rcx, r13
call fcn.140003920
xor eax, 1
mov r14d, eax
mov rcx, qword [rsp + 0x40]
mov r8d, 0xa2
lea rdx, [0x14000b020]
call sub.msvcrt.dll_memcpy
lea rcx, [0x14000bcc0]
call fcn.1400053c0
lea rcx, [0x14000bca0]
mov qword [rsp + 0x58], rax
call fcn.1400053c0
mov r15, rax
mov rax, qword [rsp + 0x58]
cmp byte [rax], 0
jne 0x14000203e
mov rdx, qword [rsp + 0x40]
mov r8d, 0xa2
mov rcx, r15
mov byte [r15 + 0xa2], 1
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, r15
mov rcx, qword [rsp + 0x78]
mov byte [rax], 1
call fcn.140004b00
cmp byte [r15 + 0xa2], 0
je 0x140002078
xor eax, eax
movabs rdx, 0xa31121ed077965d7
mov rcx, rax
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r15 + rax*2], dx
add rax, 1
cmp rax, 0x51
jne 0x14000204a
mov byte [r15 + 0xa2], 0
mov rax, qword [rsp + 0x50]
mov r9, r15
mov ecx, 1
mov rdx, qword [rsp + 0x48]
mov r8, rax
mov qword [rsp + 0x20], rax
call fcn.140002ad0
mov rcx, qword [rsp + 0x40]
mov r8d, 0x6ac
lea rdx, str.x_e
call sub.msvcrt.dll_memcpy
lea rcx, [0x14000bd00]
call fcn.1400053c0
cmp byte [rax], 0
je 0x140002213
lea rcx, [0x14000bce0]
call fcn.1400053c0
mov r15, rax
cmp byte [r15 + 0x6ac], 0
je 0x14000210e
xor eax, eax
movabs rdx, 0x7638735893bd55d
mov rcx, rax
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r15 + rax*2], dx
add rax, 1
cmp rax, 0x356
jne 0x1400020de
mov byte [r15 + 0x6ac], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x38], r13
mov r9, r15
mov ecx, 1
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
mov r8, rax
call fcn.140002ad0
test r14b, r14b
jne 0x14000225f
mov rcx, qword [rsp + 0x40]
mov r8d, 0x1f6
lea rdx, [0x14000b7a0]
call sub.msvcrt.dll_memcpy
lea rcx, [0x14000bd40]
call fcn.1400053c0
lea rcx, [0x14000bd20]
mov r15, rax
call fcn.1400053c0
cmp byte [r15], 0
mov r14, rax
jne 0x1400021ae
mov rdx, qword [rsp + 0x40]
mov r8d, 0x1f6
mov rcx, rax
mov byte [rax + 0x1f6], 1
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
mov rdx, r14
mov byte [r15], 1
call fcn.140004b00
cmp byte [r14 + 0x1f6], 0
je 0x1400021ea
xor eax, eax
movabs rdx, 0x297b45a773fb0941
mov rcx, rax
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r14 + rax*2], dx
add rax, 1
cmp rax, 0xfb
jne 0x1400021ba
mov byte [r14 + 0x1f6], 0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], r13
mov r9, r14
mov ecx, 1
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r8, rax
call fcn.140002ad0
jmp 0x140001f22
lea rcx, [0x14000bce0]
mov qword [rsp + 0x58], rax
call fcn.1400053c0
mov rdx, qword [rsp + 0x40]
mov r8d, 0x6ac
mov rcx, rax
mov byte [rax + 0x6ac], 1
mov r15, rax
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, r15
mov rcx, qword [rsp + 0x68]
mov byte [r9], 1
call fcn.140004b00
jmp 0x1400020d2
mov r8d, dword [rsp + 0x8c]
mov rcx, r13
mov rdx, qword [rsp + 0x60]
call fcn.1400037d0
jmp 0x140002145