Function at 0x14001dbe0
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 [0x141dc3618]
xor eax, dword [0x141dc361c]
shr eax, 2
imul rax, rax, 0x450bb2a9
shr rax, 0x3b
or eax, 0x8c28f138
xor eax, 0x73eca484
cmp eax, 0x14d1818a
jb 0x14001dc6d
mov eax, dword [0x141dc3620]
or eax, dword [0x141dc3624]
xor eax, 0x808642
or eax, 0xbb7f0115
imul ecx, eax, 0x60f4d0d7
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov r14, rsp
cmp ecx, 0x669bdea
jae 0x14001dc7c
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
jmp 0x14001dc39
mov eax, dword [0x141dc3628]
xor eax, dword [0x141dc362c]
mov ecx, 0xe37247db
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
and eax, 0xfffffff4
cmp eax, 0x6a9dfd40
jbe 0x14001dcc0
mov eax, 0x50
call fcn.1400f07c0
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc3630]
add eax, dword [0x141dc3634]
imul eax, eax, 0x3e0118a
imul rcx, rax, 0x73a5d767
shr rcx, 0x3e
mov eax, 0x50
call fcn.1400f07c0
sub rsp, rax
mov r15, rsp
cmp ecx, 0x88c3e35d
ja 0x14001dcc0
mov rax, qword [rbx + 0x18]
xor ecx, ecx
nop dword [rax + rax]
test cl, cl
jne 0x14001dd00
test rax, rax
je 0x14001e07b
movdqu xmm0, xmmword [rbx + 0x20]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x140103660]
movdqa xmmword [r15], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140103670]
movdqa xmmword [r15 + 0x10], xmm1
movdqa xmmword [r15 + 0x20], xmm0
pxor xmm0, xmm0
movdqa xmmword [r15 + 0x30], xmm0
mov qword [r15 + 0x40], 0
sub rsp, 0x20
mov rcx, r15
mov rdx, rdi
mov r8, rsi
call fcn.14001afa0
add rsp, 0x20
mov byte [r14], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14001afa0
add rsp, 0x20
mov r8, qword [r15]
mov rcx, qword [r15 + 8]
mov r10, qword [r15 + 0x10]
mov rax, qword [r15 + 0x18]
mov r9, qword [r15 + 0x30]
shl r9, 0x38
add r8, r10
rol r10, 0xd
xor r10, r8
rol r8, 0x20
mov r11d, 0xcf50e373
mov rdx, r10
rol rdx, 0x11
nop word cs:[rax + rax]
mov r14d, dword [0x141dc3638]
imul r14d, dword [0x141dc363c]
add r14d, 0xfb6081e6
imul r14, r11
shr r14, 0x3f
xor r14d, 0x23017183
cmp r14d, 0x8b8ee229
ja 0x14001ddc0
or r9, qword [r15 + 0x38]
xor rax, r9
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rcx, r10
add r8, rax
xor rdx, rcx
rol rax, 0x15
rol rcx, 0x20
xor rax, r8
xor r8, r9
xor rcx, 0xff
add r8, rdx
add rcx, rax
rol rdx, 0xd
xor rdx, r8
rol rax, 0x10
rol r8, 0x20
xor rax, rcx
add rcx, rdx
rol rdx, 0x11
add r8, rax
xor rdx, rcx
rol rax, 0x15
xor rax, r8
rol rcx, 0x20
add r8, rdx
add rcx, rax
rol rdx, 0xd
xor rdx, r8
rol rax, 0x10
rol r8, 0x20
xor rax, rcx
add rcx, rdx
rol rdx, 0x11
add r8, rax
xor rdx, rcx
rol rax, 0x15
xor rax, r8
rol rcx, 0x20
add r8, rdx
add rcx, rax
rol rdx, 0xd
xor rdx, r8
xor r8d, r8d
nop dword [rax]
test r8b, r8b
jne 0x14001de90
rol rax, 0x10
xor rax, rcx
add rcx, rdx
rol rdx, 0x11
rol rax, 0x15
mov r14, rcx
rol r14, 0x20
xor r14, rdx
xor r14, rcx
xor r14, rax
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
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 0x14001dfb7
nop word cs:[rax + rax]
tzcnt eax, r12d
add rax, r14
and rax, rbx
neg rax
imul r13, rax, 0x38
cmp qword [r15 + r13 - 0x28], rsi
jne 0x14001df80
add r13, r15
mov rdx, qword [r13 - 0x30]
sub rsp, 0x20
mov rcx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
mov ecx, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dc3640]
xor edx, edx
div dword [0x141dc3644]
add eax, 0x19c4af62
or eax, 0xdc492ad8
cmp eax, 0xdbb2b326
je 0x14001df50
test ecx, ecx
je 0x14001e082
nop word [rax + rax]
mov eax, dword [0x141dc3650]
and eax, dword [0x141dc3654]
or eax, 0x4ce24878
imul eax, eax, 0x1065912d
add eax, 0xd2c37ff6
cmp eax, 0xfb493b27
ja 0x14001df80
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
test ax, ax
jne 0x14001df10
mov eax, dword [0x141dc3648]
imul eax, dword [0x141dc364c]
imul eax, eax, 0x1ef9c250
cmp eax, 0xdf26a9d9
ja 0x14001dfb7
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
mov r8, qword [rbp - 0x38]
jne 0x14001e07f
mov eax, dword [0x141dc3658]
or eax, dword [0x141dc365c]
mov ecx, 0xa6b2ff1f
imul rax, rcx
shr rax, 0x3e
imul eax, eax, 0xaf939c53
cmp eax, 0x4e786bb1
jb 0x14001dfe7
add r8, 0x10
mov eax, dword [0x141dc3660]
xor edx, edx
div dword [0x141dc3664]
mov eax, dword [0x141dc3668]
xor edx, edx
div dword [0x141dc366c]
add eax, 0x62cc38fe
xor eax, 0xd8644f9a
imul eax, eax, 0x292c7c78
cmp eax, 0x8980609a
jb 0x14001e01f
add r14, r8
nop word [rax + rax]
mov eax, dword [0x141dc3670]
and eax, dword [0x141dc3674]
and eax, 0x4fe362b2
xor eax, 0xbcc8404f
add eax, 0x2642ec85
cmp eax, 0x7571a74e
ja 0x14001e050
mov qword [rbp - 0x38], r8
jmp 0x14001dee1
xor eax, eax
jmp 0x14001e0d0
xor r13d, r13d
mov eax, dword [0x141dc3678]
xor edx, edx
div dword [0x141dc367c]
lea rcx, [r13 - 0x38]
nop word cs:[rax + rax]
mov edx, dword [0x141dc3680]
xor edx, dword [0x141dc3684]
and edx, 0x139ead80
test r13, r13
mov rax, rcx
cmove rax, r13
cmp edx, 0x31d14729
je 0x14001e0a0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc3688]
xor ecx, dword [0x141dc368c]
imul ecx, ecx, 0x804de936
add ecx, 0xc3ef2996
cmp ecx, 0x2f9a533d
jb 0x14001e0d0
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