Function at 0x14001d570
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm8
movdqa xmmword [rsp + 0x90], xmm7
movdqa xmmword [rsp + 0x80], xmm6
cmp qword [rcx + 0x18], 0
je 0x14001da38
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov eax, dword [str.gJ_bd]
xor edx, edx
div dword [0x141dc555c]
add eax, 0xa651264e
or eax, 0x699f9072
cmp eax, 0x417b5a5
jne 0x14001d603
movdqu xmm0, xmmword [rbx + 0x20]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x140104660]
movdqa xmmword [rsp + 0x30], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140104670]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x140104660]
movdqa xmm1, xmmword [0x140104670]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5560]
add eax, dword [0x141dc5564]
or eax, 0x18e20830
and eax, 0xd8e27af1
imul eax, eax, 0x33fc2cf5
movdqu xmm2, xmmword [rbx + 0x20]
pshufd xmm3, xmm2, 0x44
pxor xmm3, xmm0
movdqa xmmword [rsp + 0x30], xmm3
pshufd xmm3, xmm2, 0xee
pxor xmm3, xmm1
movdqa xmmword [rsp + 0x40], xmm3
movdqa xmmword [rsp + 0x50], xmm2
cmp eax, 0xbff27fb1
je 0x14001d620
mov eax, dword [0x141dc5568]
xor eax, dword [0x141dc556c]
mov ecx, 0xd688c87d
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x9df6fff4
jne 0x14001d6cb
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 0
lea r14, [rsp + 0x30]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14001ba10
mov byte [rsp + 0x27], 0xff
lea rdx, [rsp + 0x27]
mov r8d, 1
mov rcx, r14
call fcn.14001ba10
pxor xmm6, xmm6
lea r14, [rsp + 0x30]
lea r15, [rsp + 0x27]
nop dword [rax]
mov eax, dword [0x141dc5570]
add eax, dword [0x141dc5574]
imul ebp, eax, 0xac00b90
add ebp, 0x75b98f4a
or ebp, 0xd152d414
movdqa xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0x70], 0
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14001ba10
mov byte [rsp + 0x27], 0xff
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.14001ba10
cmp ebp, 0x6f13a375
jb 0x14001d6e0
mov r9, qword [rsp + 0x60]
shl r9, 0x38
or r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
xor rax, r9
mov r8, qword [rsp + 0x30]
add r8, rcx
mov rdx, qword [rsp + 0x38]
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 rax, r14
shr rax, 0x39
mov r15, qword [rbx]
mov rbx, qword [rbx + 8]
mov ecx, 0xbc7d8dcb
nop word [rax + rax]
mov edx, dword [0x141dc5578]
add edx, dword [0x141dc557c]
imul rdx, rcx
shr rdx, 0x3d
xor edx, 0x11847baf
imul edx, edx, 0x39ddf92c
cmp edx, 0xbb6a513a
je 0x14001d840
movzx eax, al
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
pcmpeqd xmm7, xmm7
mov r12d, 0xbeae5c41
xor eax, eax
mov qword [rsp + 0x28], rax
and r14, rbx
movdqu xmm8, xmmword [r15 + r14]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb ebp, xmm0
test ebp, ebp
je 0x14001d9bc
nop dword [rax]
mov eax, dword [0x141dc5580]
imul eax, dword [0x141dc5584]
imul eax, eax, 0xa2effa71
add eax, 0xad4ea1ac
cmp eax, 0xfaa0b329
ja 0x14001d8b0
tzcnt eax, ebp
add rax, r14
and rax, rbx
neg rax
imul r13, rax, 0x38
cmp qword [r15 + r13 - 0x28], rsi
jne 0x14001d960
add r13, r15
mov rdx, qword [r13 - 0x30]
mov rcx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
mov ecx, eax
mov eax, dword [0x141dc5588]
xor edx, edx
div dword [0x141dc558c]
nop dword [rax]
mov eax, dword [str._R_nI]
add eax, dword [0x141dc5594]
or eax, 0xd4caef51
and eax, 0xd5dfef71
cmp eax, 0x5089fa80
je 0x14001d910
nop dword [rax]
mov eax, dword [0x141dc5598]
add eax, dword [0x141dc559c]
or eax, 0xaf9e9a1d
add eax, 0x8149df6
imul rax, rax, 0x706e259f
shr rax, 0x3e
cmp eax, 0xc7b4f8e2
je 0x14001d930
test ecx, ecx
je 0x14001da3f
mov eax, dword [0x141dc55a0]
xor edx, edx
div dword [0x141dc55a4]
xor eax, 0xd7c53609
imul rax, r12
shr rax, 0x3e
imul eax, eax, 0x8695d2ef
cmp eax, 0xb799c261
ja 0x14001d960
lea ecx, [rbp - 1]
nop dword [rax + rax]
mov eax, dword [0x141dc55a8]
xor edx, edx
div dword [0x141dc55ac]
xor eax, 0x4f901a2
add eax, 0x2426b910
cmp eax, 0x301bdfcd
ja 0x14001d990
and ecx, ebp
mov ebp, ecx
test cx, cx
jne 0x14001d8b0
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
test eax, eax
jne 0x14001da3c
nop word [rax + rax]
mov eax, dword [0x141dc55b0]
or eax, dword [0x141dc55b4]
imul rax, rax, 0x366ee995
shr rax, 0x3b
cmp eax, 0x3d6ed9c8
je 0x14001d9d0
mov rcx, qword [rsp + 0x28]
add rcx, 0x10
mov rax, rcx
mov qword [rsp + 0x28], rcx
add r14, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dc55b8]
imul eax, dword [0x141dc55bc]
add eax, 0x26fd6641
and eax, 0xf84888b3
add eax, 0x4cb44a2
cmp eax, 0x919956d3
jbe 0x14001da10
jmp 0x14001d88e
xor eax, eax
jmp 0x14001da84
xor r13d, r13d
lea rcx, [r13 - 0x38]
nop word cs:[rax + rax]
mov eax, dword [0x141dc55c0]
and eax, dword [0x141dc55c4]
xor eax, 0x6528eb5f
imul rdx, rax, 0x2cced47d
shr rdx, 0x3d
add edx, 0x151703c3
test r13, r13
mov rax, rcx
cmove rax, r13
cmp edx, 0xcbb1b8a9
ja 0x14001da50
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret