Function at 0x14001a638
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov rax, qword [0x1400620c0]
xor rax, rsp
mov qword [rbp + 0x37], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov r15d, 1
mov eax, r15d
xor ecx, ecx
cpuid
mov dword [rbp - 0x21], eax
mov dword [rbp - 0x1d], ebx
mov dword [rbp - 0x15], edx
test ecx, ecx
jns 0x14001ab1a
mov eax, 0x40000000
xor ecx, ecx
cpuid
mov dword [rbp - 0x21], eax
mov dword [rbp - 0x1d], ebx
mov dword [rbp - 0x19], ecx
mov dword [rbp - 0x15], edx
lea r12d, [r15 + 0xc]
mov ecx, r12d
call fcn.14001d840
mov rsi, rax
lea ebx, [r15 + 3]
mov r8d, ebx
lea rdx, [rbp - 0x1d]
mov rcx, rax
call fcn.140038c80
lea rcx, [rsi + 4]
mov r8d, ebx
lea rdx, [rbp - 0x19]
call fcn.140038c80
lea rcx, [rsi + 8]
mov r8d, ebx
lea rdx, [rbp - 0x15]
call fcn.140038c80
xor r14d, r14d
mov byte [rsi + 0xc], r14b
mov byte [rbp - 0x39], r14b
lea rcx, [rbp - 0x39]
call fcn.14001ab50
mov rbx, rax
cmp byte [rax + 0x31f], r14b
je 0x14001a733
mov edx, r14d
mov cl, dl
and cl, 7
shl cl, 3
movabs rax, 0xf14339ed95ff2fcf
shr rax, cl
xor byte [rdx + rbx], al
add rdx, r15
cmp rdx, 0x31f
jb 0x14001a708
mov byte [rbx + 0x31f], r14b
mov qword [rbp - 9], rbx
mov dword [rbp - 0x31], 0x55f5971d
mov dword [rbp - 0x2d], 0x7e77b4e7
mov dword [rbp - 0x29], 0x55b9931f
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x3124
mov eax, dword [rcx + rdi]
mov ebx, 0x3170
test r15b, al
jne 0x14001a795
or eax, r15d
mov dword [rcx + rdi], eax
mov word [rbx + rdi + 0xc], 0x18f
movsd xmm0, qword [rbp - 0x31]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x29]
mov dword [rbx + rdi + 8], eax
lea rcx, [0x14003ac5c]
call fcn.14001d7a8
nop
lea r8, [rdi + rbx]
cmp byte [r8 + 0xd], r14b
je 0x14001a7c7
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0x1b07cd8f7599e56d
shr rdx, cl
xor byte [rbx + r8], dl
add rbx, r15
cmp rbx, r12
jb 0x14001a7a2
mov byte [r8 + 0xd], r14b
mov qword [rbp - 1], r8
mov dword [rbp - 0x31], 0x75bcf0b4
mov dword [rbp - 0x2d], 0x4f084058
mov dword [rbp - 0x29], 0x7197b98d
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x2ad0
mov eax, dword [rcx + rdi]
mov ebx, 0x3130
test r15b, al
jne 0x14001a829
or eax, r15d
mov dword [rcx + rdi], eax
mov word [rbx + rdi + 0xc], 0x137
movsd xmm0, qword [rbp - 0x31]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x29]
mov dword [rbx + rdi + 8], eax
lea rcx, [0x14003ac3c]
call fcn.14001d7a8
nop
lea r8, [rdi + rbx]
cmp byte [r8 + 0xd], r14b
je 0x14001a85b
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0x2967333707df99f9
shr rdx, cl
xor byte [rbx + r8], dl
add rbx, r15
cmp rbx, r12
jb 0x14001a836
mov byte [r8 + 0xd], r14b
mov qword [rbp + 7], r8
mov dword [rbp - 0x31], 0xe8304998
mov dword [rbp - 0x2d], 0xab04bceb
mov dword [rbp - 0x29], 0xa37d1f9e
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x3158
mov eax, dword [rcx + rdi]
mov ebx, 0x3148
test r15b, al
jne 0x14001a8bd
or eax, r15d
mov dword [rcx + rdi], eax
mov word [rbx + rdi + 0xc], 0x1bd
movsd xmm0, qword [rbp - 0x31]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x29]
mov dword [rbx + rdi + 8], eax
lea rcx, [0x14003ac1c]
call fcn.14001d7a8
nop
lea r8, [rdi + rbx]
cmp byte [r8 + 0xd], r14b
je 0x14001a8ef
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0xfd4ff1bda37d1fd3
shr rdx, cl
xor byte [rbx + r8], dl
add rbx, r15
cmp rbx, r12
jb 0x14001a8ca
mov byte [r8 + 0xd], r14b
mov qword [rbp + 0xf], r8
mov dword [rbp - 0x31], 0xd92d3c95
mov dword [rbp - 0x2d], 0xe451342c
mov dword [rbp - 0x29], 0xc20e0fa3
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x315c
mov eax, dword [rcx + rdi]
mov ebx, 0x3160
test r15b, al
jne 0x14001a951
or eax, r15d
mov dword [rcx + rdi], eax
mov word [rbx + rdi + 0xc], 0x161
movsd xmm0, qword [rbp - 0x31]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x29]
mov dword [rbx + rdi + 8], eax
lea rcx, [0x14003abfc]
call fcn.14001d7a8
nop
lea r8, [rdi + rbx]
cmp byte [r8 + 0xd], r14b
je 0x14001a983
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0x810979618f4359cd
shr rdx, cl
xor byte [rbx + r8], dl
add rbx, r15
cmp rbx, r12
jb 0x14001a95e
mov byte [r8 + 0xd], r14b
mov qword [rbp + 0x17], r8
mov dword [rbp - 0x31], 0x64ec9a43
mov dword [rbp - 0x2d], 0x6c69c0b7
mov dword [rbp - 0x29], 0x60e9b662
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x3140
mov eax, dword [rcx + rdi]
mov ebx, 0x3180
test r15b, al
jne 0x14001a9e5
or eax, r15d
mov dword [rcx + rdi], eax
mov word [rbx + rdi + 0xc], 0x1c5
movsd xmm0, qword [rbp - 0x31]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x29]
mov dword [rbx + rdi + 8], eax
lea rcx, [0x14003abdc]
call fcn.14001d7a8
nop
lea r8, [rdi + rbx]
cmp byte [r8 + 0xd], r14b
je 0x14001aa17
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0x213fa5c5059bd715
shr rdx, cl
xor byte [rbx + r8], dl
add rbx, r15
cmp rbx, r12
jb 0x14001a9f2
mov byte [r8 + 0xd], r14b
mov qword [rbp + 0x1f], r8
mov dword [rbp - 0x31], 0x6930770d
mov dword [rbp - 0x2d], 0x431a358d
mov dword [rbp - 0x29], 0x6930770d
mov rax, qword gs:[0x58]
mov rdi, qword [rax]
mov ecx, 0x3128
mov eax, dword [rcx + rdi]
mov ebx, 0x2ac0
test r15b, al
jne 0x14001aa79
or eax, r15d
mov dword [rcx + rdi], eax
mov word [rbx + rdi + 0xc], 0x1db
movsd xmm0, qword [rbp - 0x31]
movsd qword [rbx + rdi], xmm0
mov eax, dword [rbp - 0x29]
mov dword [rbx + rdi + 8], eax
lea rcx, [0x14003abbc]
call fcn.14001d7a8
nop
lea r8, [rdi + rbx]
cmp byte [r8 + 0xd], r14b
je 0x14001aaab
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0x3b7577db115f355b
shr rdx, cl
xor byte [rbx + r8], dl
add rbx, r15
cmp rbx, r12
jb 0x14001aa86
mov byte [r8 + 0xd], r14b
mov qword [rbp + 0x27], r8
mov byte [rbp - 0x39], r14b
lea rcx, [rbp - 0x39]
call fcn.14001ad58
cmp byte [rax + 0x31f], r14b
je 0x14001aaf3
mov rbx, r14
mov cl, bl
and cl, 7
shl cl, 3
movabs rdx, 0xad7941110d6b2541
shr rdx, cl
xor byte [rbx + rax], dl
add rbx, r15
cmp rbx, 0x31f
jb 0x14001aac8
mov byte [rax + 0x31f], r14b
mov qword [rbp + 0x2f], rax
lea rbx, [rbp - 9]
mov r8, r12
mov rdx, rsi
mov rcx, qword [rbx]
call fcn.140039300
test eax, eax
je 0x14001ab49
add rbx, 8
lea rax, [rbp + 0x37]
cmp rbx, rax
jne 0x14001aafb
xor al, al
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.14001d670
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov al, r15b
jmp 0x14001ab1c