Function at 0x14001d400
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
movdqa xmmword [rbp - 0x10], xmm8
movdqa xmmword [rbp - 0x20], xmm7
movdqa xmmword [rbp - 0x30], xmm6
mov rsi, r8
mov r12, rdx
mov rbx, rcx
mov eax, dword [0x141dc25f0]
or eax, dword [0x141dc25f4]
mov ecx, 0x87524881
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x9539d4e9
cmp eax, 0x348c67e6
ja 0x14001d4a0
mov eax, dword [0x141dc25f8]
imul eax, dword [0x141dc25fc]
add eax, 0x32e47cf
xor eax, 0x1a04cf60
mov ecx, 0xab240b35
imul rcx, rax
shr rcx, 0x3f
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
mov eax, 0x50
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
cmp ecx, 0x9390232
jne 0x14001d4bc
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov eax, 0x50
call fcn.1400ef3b0
sub rsp, rax
jmp 0x14001d454
mov eax, 0x92712a73
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2600]
and ecx, dword [0x141dc2604]
add ecx, 0x3405083a
or ecx, 0xc59a8e13
imul rcx, rax
shr rcx, 0x39
cmp ecx, 0xd99b2482
je 0x14001d4d0
mov rcx, qword [rbx + 0x18]
mov eax, dword [0x141dc2608]
xor edx, edx
div dword [0x141dc260c]
nop word [rax + rax]
mov eax, dword [0x141dc2610]
sub eax, dword [0x141dc2614]
xor eax, 0x1120014
or eax, 0x7eed7be3
cmp eax, 0xc12bfb59
jb 0x14001d510
test rcx, rcx
je 0x14001d55a
mov eax, dword [0x141dc2618]
imul eax, dword [0x141dc261c]
or eax, 0x60821358
and eax, 0x60c357da
add eax, 0xcafb6648
cmp eax, 0x1ba69bcc
jae 0x14001d561
jmp 0x14001d5fc
xor eax, eax
jmp 0x14001d9ea
mov edi, dword [0x141dc2620]
and edi, dword [0x141dc2624]
and edi, 0x5c63c304
add edi, 0x7073ec88
and edi, 0x9482ce88
movdqu xmm0, xmmword [rbx + 0x20]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x140102660]
movdqa xmmword [r14], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140102670]
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, r12
mov r8, rsi
call fcn.14001bb50
add rsp, 0x20
mov byte [r15], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.14001bb50
add rsp, 0x20
cmp edi, 0x10e0acba
jbe 0x14001d676
movdqu xmm0, xmmword [rbx + 0x20]
pshufd xmm1, xmm0, 0x44
pxor xmm1, xmmword [0x140102660]
movdqa xmmword [r14], xmm1
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmmword [0x140102670]
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, r12
mov r8, rsi
call fcn.14001bb50
add rsp, 0x20
mov byte [r15], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.14001bb50
add rsp, 0x20
jmp 0x14001d561
mov r9, qword [r14 + 0x30]
shl r9, 0x38
or r9, qword [r14 + 0x38]
mov rax, qword [r14 + 0x18]
xor rax, r9
mov rcx, qword [r14 + 0x10]
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
nop dword [rax + rax]
mov r8d, dword [0x141dc2628]
and r8d, dword [0x141dc262c]
and r8d, 0xc8edcac2
imul r8d, r8d, 0x2c1214ec
and r8d, 0xe8724d20
cmp r8d, 0x5706cd70
je 0x14001d740
mov qword [rbp - 0x50], r12
rol rax, 0x10
xor rax, rdx
add rdx, rcx
rol rcx, 0x11
rol rax, 0x15
mov r8, rdx
rol r8, 0x20
xor r8, rcx
xor r8, rax
xor r8, rdx
mov rax, r8
shr rax, 0x39
mov r9, qword [rbx]
mov r10, qword [rbx + 8]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
xor r13d, r13d
pcmpeqd xmm7, xmm7
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x48], r9
mov qword [rbp - 0x40], r10
mov r15, qword [rbp - 0x50]
and r8, r10
movdqu xmm8, xmmword [r9 + r8]
movdqa xmm0, xmm8
pcmpeqb xmm0, xmm6
pmovmskb r12d, xmm0
test r12d, r12d
je 0x14001d8cf
mov qword [rbp - 0x58], r8
nop
test r13b, r13b
jne 0x14001d7f0
tzcnt eax, r12d
add rax, r8
and rax, r10
neg rax
imul rdi, rax, 0x38
cmp qword [r9 + rdi - 0x28], rsi
jne 0x14001d8b4
add rdi, r9
mov rbx, qword [rdi - 0x30]
mov eax, dword [0x141dc2630]
sub eax, dword [0x141dc2634]
and eax, 0xa0411
xor eax, 0x2121101
or eax, 0x7d05eae6
cmp eax, 0xc7e0ca
jb 0x14001d881
nop dword [rax + rax]
mov r14d, dword [0x141dc2638]
add r14d, dword [0x141dc263c]
mov eax, 0x94d37d4b
imul r14, rax
shr r14, 0x3f
or r14d, 0x1e8e49b6
sub rsp, 0x20
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
cmp r14d, 0xceeb5800
jne 0x14001d8a0
sub rsp, 0x20
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
add rsp, 0x20
jmp 0x14001d840
test eax, eax
mov r8, qword [rbp - 0x58]
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 0x40]
je 0x14001d9ae
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
nop
test r13b, r13b
jne 0x14001d8c0
test r12w, r12w
jne 0x14001d7f0
mov eax, dword [0x141dc2640]
xor eax, dword [0x141dc2644]
and eax, 0x16ca16c
imul eax, eax, 0x2930b607
or eax, 0x5a301c5b
cmp eax, 0xac30362b
jb 0x14001d8cf
mov r11, qword [rbp - 0x38]
nop word cs:[rax + rax]
mov eax, dword [0x141dc2648]
add eax, dword [0x141dc264c]
imul eax, eax, 0x38bd47fe
and eax, 0xf14fbe88
imul eax, eax, 0xbb0e4e7e
cmp eax, 0x9683bf75
ja 0x14001d900
pcmpeqb xmm8, xmm7
pmovmskb eax, xmm8
nop
mov ecx, dword [0x141dc2650]
imul ecx, dword [0x141dc2654]
add ecx, 0x29ad2cdf
or ecx, 0x3fae7eff
cmp ecx, 0x22abd274
jb 0x14001d930
test ax, ax
jne 0x14001d9ac
add r11, 0x10
mov eax, dword [0x141dc2658]
xor edx, edx
div dword [0x141dc265c]
or eax, 0xbefd3eeb
add eax, 0x9cefe37b
cmp eax, 0xea6f78a1
ja 0x14001d95a
add r8, r11
nop dword [rax]
mov eax, dword [0x141dc2660]
imul eax, dword [0x141dc2664]
or eax, 0x940c919c
add eax, 0xb0a74454
xor eax, 0x5cf5ff64
cmp eax, 0x4e9fca4b
jbe 0x14001d980
mov qword [rbp - 0x38], r11
jmp 0x14001d7cb
xor edi, edi
lea rcx, [rdi - 0x38]
nop word cs:[rax + rax]
mov edx, dword [0x141dc2668]
sub edx, dword [0x141dc266c]
xor edx, 0xcc176c19
add edx, 0x3de9317c
test rdi, rdi
mov rax, rcx
cmove rax, rdi
cmp edx, 0xf177b2d1
ja 0x14001d9c0
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