Function at 0x14001d1f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
movdqa xmmword [rbp - 0x10], xmm8
movdqa xmmword [rbp - 0x20], xmm7
movdqa xmmword [rbp - 0x30], xmm6
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov eax, dword [0x141f2f6c0]
sub eax, dword [0x141f2f6c4]
add eax, 0x3dc0f8d7
or eax, 0x3f0b1e24
mov ecx, 0x91ad8fbf
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xa8c1ac53
jbe 0x14001d270
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x50
call fcn.1400f4d10
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141f2f6c8]
xor edx, edx
div dword [0x141f2f6cc]
xor eax, 0xae38f666
imul ecx, eax, 0xbdef721e
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov r15, rsp
mov eax, 0x50
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
cmp ecx, 0x64ffc718
ja 0x14001d270
nop word cs:[rax + rax]
mov eax, dword [0x141f2f6d0]
mov ecx, dword [0x141f2f6d4]
add eax, ecx
add eax, 0x989957c5
xor eax, 0xbe183170
add eax, 0x8643341e
cmp eax, 0xaa97caf2
ja 0x14001d2c0
cmp qword [rbx + 0x18], 0
je 0x14001d6e7
mov eax, dword [0x141f2f6d8]
add eax, dword [0x141f2f6dc]
imul rax, rax, 0x4f4643f7
shr rax, 0x3e
or eax, 0xfffffeba
cmp eax, 0x59d73dd
jae 0x14001d387
movdqu xmm0, xmmword [rbx + 0x20]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x140108660]
movdqa xmmword [r14], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140108670]
movdqa xmmword [r14 + 0x10], xmm1
movdqa xmmword [r14 + 0x20], xmm0
pxor xmm0, xmm0
movdqa xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x40], 0
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14001b300
add rsp, 0x20
mov byte [r15], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.14001b300
add rsp, 0x20
movdqa xmm6, xmmword [0x140108660]
movdqa xmm7, xmmword [0x140108670]
pxor xmm8, xmm8
nop dword [rax]
mov eax, dword [0x141f2f6e0]
xor edx, edx
div dword [0x141f2f6e4]
mov r12d, eax
xor r12d, 0x12401008
or r12d, 0xe5b9e944
add r12d, 0x2b3e2cd2
movdqu xmm0, xmmword [rbx + 0x20]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmm6
movdqa xmmword [r14], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm7
movdqa xmmword [r14 + 0x10], xmm1
movdqa xmmword [r14 + 0x20], xmm0
movdqa xmmword [r14 + 0x30], xmm8
mov qword [r14 + 0x40], 0
sub rsp, 0x20
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14001b300
add rsp, 0x20
mov byte [r15], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.14001b300
add rsp, 0x20
cmp r12d, 0xa5a192a7
ja 0x14001d3a0
mov qword [rbp - 0x40], rdi
mov r9, qword [r14 + 0x30]
shl r9, 0x38
or r9, qword [r14 + 0x38]
mov rcx, qword [r14 + 0x10]
mov rax, qword [r14 + 0x18]
xor rax, r9
mov r8, qword [r14]
add r8, rcx
mov rdx, qword [r14 + 8]
rol rcx, 0xd
add rdx, rax
xor rcx, r8
rol rax, 0x10
xor rax, rdx
rol r8, 0x20
add rdx, rcx
add r8, rax
rol rcx, 0x11
xor rcx, rdx
rol rax, 0x15
rol rdx, 0x20
xor rax, r8
xor r8, r9
xor rdx, 0xff
add r8, rcx
add rdx, rax
rol rcx, 0xd
xor rcx, r8
rol rax, 0x10
rol r8, 0x20
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
add r8, rax
xor rcx, rdx
rol rax, 0x15
xor rax, r8
rol rdx, 0x20
add r8, rcx
add rdx, rax
rol rcx, 0xd
xor rcx, r8
rol rax, 0x10
rol r8, 0x20
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
add r8, rax
xor rcx, rdx
rol rax, 0x15
xor rax, r8
rol rdx, 0x20
add r8, rcx
add rdx, rax
rol rcx, 0xd
xor rcx, r8
rol rax, 0x10
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
rol rax, 0x15
mov r14, rdx
rol r14, 0x20
xor r14, rcx
xor r14, rax
xor r14, rdx
mov r15, qword [rbx]
mov rbx, qword [rbx + 8]
mov rax, r14
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
pcmpeqd xmm7, xmm7
mov r13d, 0xa1e41b55
xor eax, eax
mov qword [rbp - 0x38], rax
and r14, rbx
movdqu xmm8, xmmword [r15 + r14]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r12d, xmm0
test r12d, r12d
je 0x14001d673
nop word [rax + rax]
tzcnt eax, r12d
add rax, r14
and rax, rbx
neg rax
imul rdi, rax, 0x38
cmp qword [r15 + rdi - 0x28], rsi
jne 0x14001d610
add rdi, r15
mov eax, dword [0x141f2f6e8]
imul eax, dword [0x141f2f6ec]
or eax, 0x66280592
and eax, 0x66681597
add eax, 0x59cf69e5
cmp eax, 0x7b1391f0
jb 0x14001d59c
mov rdx, qword [rdi - 0x30]
sub rsp, 0x20
mov rcx, qword [rbp - 0x40]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
nop word [rax + rax]
mov ecx, dword [0x141f2f6f0]
and ecx, dword [0x141f2f6f4]
add ecx, 0xb1fd70ab
imul rcx, r13
shr rcx, 0x3e
imul ecx, ecx, 0xc6626072
cmp ecx, 0xf976e254
ja 0x14001d5e0
test eax, eax
je 0x14001d6ed
mov eax, dword [0x141f2f700]
xor edx, edx
div dword [0x141f2f704]
xor eax, 0x927be1ca
add eax, 0xcecee386
xor eax, 0xd969b832
cmp eax, 0x2266cd93
jb 0x14001d610
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
nop
mov eax, dword [0x141f2f708]
xor eax, dword [0x141f2f70c]
xor eax, 0xdd920d3d
imul rax, rax, 0x5fc8a3b5
shr rax, 0x3e
imul eax, eax, 0x60a49175
cmp eax, 0xb0fae6ce
je 0x14001d640
test r12w, r12w
jne 0x14001d580
mov ecx, 0x90898cfd
mov eax, dword [0x141f2f6f8]
imul eax, dword [0x141f2f6fc]
or eax, 0xb986551a
imul rax, rcx
shr rax, 0x3f
or eax, 0x828091a4
cmp eax, 0x7a71a67b
jb 0x14001d678
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test ax, ax
jne 0x14001d6eb
mov eax, dword [0x141f2f710]
or eax, dword [0x141f2f714]
imul eax, eax, 0xac6f45ab
and eax, 0x381a1ab1
add eax, 0xeaeea19d
cmp eax, 0x1297539e
jb 0x14001d6ad
mov rcx, qword [rbp - 0x38]
add rcx, 0x10
mov rax, rcx
mov qword [rbp - 0x38], rcx
add r14, rcx
jmp 0x14001d557
xor eax, eax
jmp 0x14001d70e
xor edi, edi
lea rcx, [rdi - 0x38]
xor edx, edx
nop word cs:[rax + rax]
test rdi, rdi
mov rax, rcx
cmove rax, rdi
test dl, dl
jne 0x14001d700
movaps xmm6, xmmword [rbp - 0x30]
movaps xmm7, xmmword [rbp - 0x20]
movaps xmm8, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret