Function at 0x1400621d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
movzx eax, byte [rdx + 2]
lea r13, [0x140000000]
movzx r12d, byte [rdx + 3]
mov r9, rdx
movzx esi, byte [rdx + 7]
shl r12d, 8
or r12d, eax
shl esi, 8
movzx eax, byte [rdx + 1]
movzx r10d, byte [r9 + 0xf]
shl r10d, 8
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 6]
xor r12d, dword [rcx + 4]
or esi, eax
movzx eax, byte [rdx + 5]
shl esi, 8
or esi, eax
movzx eax, byte [rdx + 4]
movzx edx, byte [rdx + 0xb]
shl edx, 8
shl esi, 8
or esi, eax
movzx eax, byte [r9 + 0xa]
xor esi, dword [rcx + 8]
or edx, eax
movzx eax, byte [r9 + 9]
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 8]
shl edx, 8
or edx, eax
movzx eax, byte [r9 + 0xe]
xor edx, dword [rcx + 0xc]
or r10d, eax
movzx eax, byte [r9 + 0xd]
shl r10d, 8
or r10d, eax
movzx eax, byte [r9 + 0xc]
shl r10d, 8
or r10d, eax
mov eax, edx
xor r10d, dword [rcx + 0x10]
shr rax, 0x18
movzx r11d, byte [rax + r13 + 0xa19c0]
mov eax, edx
shr eax, 0x10
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r13 + 0xa1bc0]
xor r11d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r13 + 0xa1ac0]
xor r11d, eax
movzx eax, dl
movzx r14d, byte [rax + r13 + 0xa18c0]
mov eax, r11d
shl eax, 8
xor r14d, eax
mov eax, r10d
shr rax, 0x18
movzx ebp, byte [rax + r13 + 0xa19c0]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r13 + 0xa1bc0]
xor ebp, eax
mov eax, r10d
shr eax, 8
movzx ecx, al
mov eax, ebp
shl eax, 8
movzx edi, byte [rcx + r13 + 0xa1ac0]
xor edi, eax
and r11d, 0xff00ff
movzx eax, r10b
shl edi, 8
movzx eax, byte [rax + r13 + 0xa18c0]
xor edi, eax
mov eax, esi
shr rax, 0x18
movzx r9d, byte [rax + r13 + 0xa19c0]
mov eax, esi
shr eax, 0x10
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r13 + 0xa1bc0]
xor r9d, eax
mov eax, esi
shr eax, 8
movzx ecx, al
mov eax, r9d
shl eax, 8
movzx ebx, byte [rcx + r13 + 0xa1ac0]
xor ebx, eax
movzx eax, sil
shl ebx, 8
movzx eax, byte [rax + r13 + 0xa18c0]
xor ebx, eax
mov eax, r12d
shr rax, 0x18
mov r10d, ebx
mov esi, ebx
shl esi, 0x10
xor esi, r9d
movzx edx, byte [rax + r13 + 0xa19c0]
mov eax, r12d
shr eax, 0x10
movzx ecx, al
shl edx, 8
bswap ebx
movzx eax, byte [rcx + r13 + 0xa1bc0]
xor edx, eax
mov eax, r12d
shr eax, 8
movzx ecx, al
mov eax, edx
shl eax, 8
movzx r15d, byte [rcx + r13 + 0xa1ac0]
xor r15d, eax
movzx eax, r12b
shl r15d, 8
mov r12d, edi
shl edi, 0x10
bswap r12d
movzx eax, byte [rax + r13 + 0xa18c0]
mov r13d, r14d
xor r15d, eax
and r13d, 0xffff00ff
bswap r14d
xor r14d, edi
shl r13d, 8
xor r13d, r11d
xor r14d, ebp
xor r10d, r13d
mov r9d, r15d
mov r11d, r10d
shl r9d, 0x10
shr r11d, 8
xor r9d, edx
and r11d, 0xff00ff
and r10d, 0xffff00ff
shl r10d, 8
mov eax, r14d
xor r11d, r10d
mov ecx, r14d
xor r11d, r9d
shr ecx, 0x10
xor r11d, r12d
shl r14d, 0x10
xor eax, r11d
xor r9d, ebx
xor r15d, eax
xor ecx, r14d
xor ecx, r11d
mov eax, r11d
bswap eax
xor eax, r9d
mov edx, r9d
xor r13d, eax
shr edx, 0x10
mov eax, ecx
shl r9d, 0x10
shr eax, 8
and ecx, 0xffff00ff
and eax, 0xff00ff
shl ecx, 8
xor eax, ecx
xor edx, r9d
mov r9, qword [rsp + 0x70]
mov ecx, edx
and ecx, 0xff00ffff
and edx, 0xffff00ff
mov r10d, 2
mov qword [rsp + 0x88], r10
xor eax, dword [r9 + 0x14]
xor r15d, dword [r9 + 0x18]
xor esi, eax
xor r13d, dword [r9 + 0x20]
mov eax, r11d
shr eax, 8
xor ecx, eax
shl r11d, 8
xor r11d, edx
shr ecx, 8
shl r11d, 8
xor ecx, r11d
mov eax, esi
xor ecx, dword [r9 + 0x1c]
lea r11, [0x140000000]
shr rax, 0x18
xor r12d, ecx
movzx edx, byte [rax + r11 + 0xa1ac0]
mov eax, esi
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r11 + 0xa18c0]
xor edx, eax
mov eax, esi
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r11 + 0xa19c0]
xor edx, eax
movzx eax, sil
shl edx, 8
movzx eax, byte [rax + r11 + 0xa1bc0]
xor edx, eax
mov eax, r15d
shr rax, 0x18
mov dword [rsp + 0x78], edx
movzx ebp, byte [rax + r11 + 0xa1ac0]
mov eax, r15d
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r11 + 0xa18c0]
xor ebp, eax
mov eax, r15d
shr eax, 8
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r11 + 0xa19c0]
xor ebp, eax
movzx eax, r15b
lea r15, [0x140000000]
shl ebp, 8
movzx eax, byte [rax + r15 + 0xa1bc0]
xor ebp, eax
mov eax, r12d
shr rax, 0x18
movzx r11d, byte [rax + r15 + 0xa1ac0]
mov eax, r12d
shl r11d, 8
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa18c0]
xor r11d, eax
mov eax, r12d
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r15 + 0xa19c0]
xor r11d, eax
movzx eax, r12b
shl r11d, 8
movzx eax, byte [rax + r15 + 0xa1bc0]
xor r11d, eax
mov eax, r13d
shr rax, 0x18
movzx edi, byte [rax + r15 + 0xa1ac0]
mov eax, r13d
shr eax, 0x10
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r15 + 0xa18c0]
xor edi, eax
mov eax, r13d
shr eax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r15 + 0xa19c0]
xor edi, eax
movzx eax, r13b
shl edi, 8
movzx eax, byte [rax + r15 + 0xa1bc0]
xor edi, eax
movzx eax, byte [r9]
mov qword [rsp + 0x10], rax
cmp rax, r10
jbe 0x140062b2e
lea r14, [r9 + 0x38]
mov qword [rsp], r10
mov qword [rsp + 8], r14
mov r8d, edx
nop dword [rax]
nop word [rax + rax]
mov ebx, r11d
mov eax, ebp
shl eax, 0x10
and ebx, 0xffff00ff
shl ebx, 8
mov edx, edi
shr edx, 0x10
mov r9d, r8d
shr r9d, 0x10
mov esi, ebp
shr esi, 0x10
mov ecx, ebp
xor esi, eax
mov eax, edi
shl eax, 0x10
xor edx, eax
mov eax, r11d
shr eax, 8
and eax, 0xff00ff
xor ebx, eax
mov eax, r8d
xor ecx, ebx
shl eax, 0x10
xor r9d, eax
mov r10d, ecx
and ecx, 0xffff00ff
shr r10d, 8
shl ecx, 8
and r10d, 0xff00ff
xor r10d, ecx
xor r10d, r9d
bswap r11d
xor edx, r11d
mov eax, edx
mov ecx, edx
shr ecx, 0x10
shl edx, 0x10
xor ecx, edx
bswap edi
xor r10d, edi
xor eax, r10d
xor ecx, r10d
xor r8d, eax
mov eax, r10d
xor r8d, dword [r14 - 0x10]
bswap eax
bswap ebp
xor r9d, ebp
xor eax, r9d
mov edx, r9d
xor ebx, eax
shr edx, 0x10
xor ebx, dword [r14 - 8]
mov eax, ecx
shr eax, 8
and ecx, 0xffff00ff
and eax, 0xff00ff
shl ecx, 8
xor eax, ecx
shl r9d, 0x10
xor eax, dword [r14 - 0x14]
xor edx, r9d
xor esi, eax
mov ecx, edx
mov eax, r10d
and ecx, 0xff00ffff
shr eax, 8
and edx, 0xffff00ff
xor ecx, eax
shl r10d, 8
shr ecx, 8
xor r10d, edx
shl r10d, 8
xor ecx, r10d
xor ecx, dword [r14 - 0xc]
xor edi, ecx
mov eax, edi
shr rax, 0x18
movzx r11d, byte [rax + r15 + 0xa19c0]
mov eax, edi
shl r11d, 8
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa1bc0]
xor r11d, eax
mov eax, edi
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r15 + 0xa1ac0]
xor r11d, eax
movzx eax, dil
movzx r14d, byte [rax + r15 + 0xa18c0]
mov eax, r11d
shl eax, 8
xor r14d, eax
mov eax, ebx
shr rax, 0x18
mov r13d, r14d
movzx ebp, byte [rax + r15 + 0xa19c0]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r15 + 0xa1bc0]
xor ebp, eax
mov eax, ebx
shr eax, 8
movzx ecx, al
mov eax, ebp
shl eax, 8
movzx edi, byte [rcx + r15 + 0xa1ac0]
xor edi, eax
movzx eax, bl
shl edi, 8
movzx eax, byte [rax + r15 + 0xa18c0]
xor edi, eax
mov eax, r8d
shr rax, 0x18
movzx r9d, byte [rax + r15 + 0xa19c0]
mov eax, r8d
shr eax, 0x10
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r15 + 0xa1bc0]
xor r9d, eax
mov eax, r8d
shr eax, 8
movzx ecx, al
mov eax, r9d
shl eax, 8
movzx ebx, byte [rcx + r15 + 0xa1ac0]
xor ebx, eax
movzx eax, r8b
shl ebx, 8
movzx eax, byte [rax + r15 + 0xa18c0]
xor ebx, eax
mov eax, esi
shr rax, 0x18
mov r10d, ebx
movzx edx, byte [rax + r15 + 0xa19c0]
mov eax, esi
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r15 + 0xa1bc0]
xor edx, eax
mov eax, esi
shr eax, 8
movzx ecx, al
mov eax, edx
shl eax, 8
movzx r15d, byte [rcx + r15 + 0xa1ac0]
lea rcx, [0x140000000]
xor r15d, eax
movzx eax, sil
shl r15d, 8
mov esi, ebx
shl esi, 0x10
movzx eax, byte [rax + rcx + 0xa18c0]
xor r15d, eax
xor esi, r9d
and r11d, 0xff00ff
and r13d, 0xffff00ff
shl r13d, 8
mov r9d, r15d
xor r13d, r11d
shl r9d, 0x10
xor r9d, edx
xor r10d, r13d
mov r11d, r10d
mov r12d, edi
shr r11d, 8
and r10d, 0xffff00ff
and r11d, 0xff00ff
shl r10d, 8
xor r11d, r10d
shl edi, 0x10
mov r10, qword [rsp + 0x88]
xor r11d, r9d
bswap r14d
xor r14d, edi
add r10d, 2
xor r14d, ebp
mov qword [rsp + 0x88], r10
mov eax, r14d
mov ecx, r14d
shr ecx, 0x10
shl r14d, 0x10
xor ecx, r14d
mov r14, qword [rsp + 8]
bswap r12d
xor r11d, r12d
xor eax, r11d
xor ecx, r11d
xor r15d, eax
mov eax, r11d
xor r15d, dword [r14]
bswap eax
bswap ebx
xor r9d, ebx
xor eax, r9d
mov edx, r9d
xor r13d, eax
shr edx, 0x10
xor r13d, dword [r14 + 8]
mov eax, ecx
shr eax, 8
and ecx, 0xffff00ff
and eax, 0xff00ff
shl ecx, 8
xor eax, ecx
shl r9d, 0x10
xor eax, dword [r14 - 4]
xor edx, r9d
xor esi, eax
lea r9, [0x140000000]
mov eax, r11d
mov ecx, edx
shr eax, 8
and ecx, 0xff00ffff
xor ecx, eax
shl r11d, 8
and edx, 0xffff00ff
shr ecx, 8
xor r11d, edx
mov eax, esi
mov rdx, qword [rsp]
shr rax, 0x18
add rdx, 2
shl r11d, 8
xor ecx, r11d
mov qword [rsp], rdx
xor ecx, dword [r14 + 4]
movzx r8d, byte [rax + r9 + 0xa1ac0]
xor r12d, ecx
shl r8d, 8
mov eax, esi
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r9 + 0xa18c0]
xor r8d, eax
shl r8d, 8
mov eax, esi
add r14, 0x20
shr eax, 8
movzx ecx, al
mov qword [rsp + 8], r14
movzx eax, byte [rcx + r9 + 0xa19c0]
xor r8d, eax
movzx eax, sil
shl r8d, 8
movzx eax, byte [rax + r9 + 0xa1bc0]
xor r8d, eax
mov eax, r15d
shr rax, 0x18
movzx ebp, byte [rax + r9 + 0xa1ac0]
mov eax, r15d
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r9 + 0xa18c0]
xor ebp, eax
mov eax, r15d
shr eax, 8
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + r9 + 0xa19c0]
xor ebp, eax
movzx eax, r15b
lea r15, [0x140000000]
shl ebp, 8
movzx eax, byte [rax + r15 + 0xa1bc0]
xor ebp, eax
mov eax, r12d
shr rax, 0x18
movzx r11d, byte [rax + r15 + 0xa1ac0]
mov eax, r12d
shr eax, 0x10
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r15 + 0xa18c0]
xor r11d, eax
mov eax, r12d
shr eax, 8
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r15 + 0xa19c0]
xor r11d, eax
movzx eax, r12b
shl r11d, 8
movzx eax, byte [rax + r15 + 0xa1bc0]
xor r11d, eax
mov eax, r13d
shr rax, 0x18
movzx edi, byte [rax + r15 + 0xa1ac0]
mov eax, r13d
shr eax, 0x10
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + r15 + 0xa18c0]
xor edi, eax
mov eax, r13d
shr eax, 8
shl edi, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0xa19c0]
xor edi, eax
movzx eax, r13b
shl edi, 8
movzx eax, byte [rax + r15 + 0xa1bc0]
xor edi, eax
cmp rdx, qword [rsp + 0x10]
jl 0x140062660
mov r9, qword [rsp + 0x70]
mov dword [rsp + 0x78], r8d
mov edx, dword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
movsxd rax, r10d
add rax, rax
xor edx, dword [r9 + rax*8 + 4]
xor ebp, dword [r9 + rax*8 + 8]
xor r11d, dword [r9 + rax*8 + 0xc]
xor edi, dword [r9 + rax*8 + 0x10]
mov eax, edx
shr eax, 8
mov byte [r8 + 1], al
mov eax, edx
shr eax, 0x10
mov byte [r8 + 2], al
mov eax, ebp
shr eax, 8
mov byte [r8 + 5], al
mov eax, ebp
shr eax, 0x10
mov byte [r8 + 6], al
mov eax, r11d
shr eax, 8
mov byte [r8 + 9], al
mov eax, r11d
shr eax, 0x10
mov byte [r8 + 0xa], al
mov eax, edi
shr eax, 8
mov byte [r8 + 0xd], al
mov eax, edi
shr eax, 0x10
mov byte [r8], dl
shr edx, 0x18
mov byte [r8 + 4], bpl
shr ebp, 0x18
mov byte [r8 + 8], r11b
shr r11d, 0x18
mov byte [r8 + 0xc], dil
shr edi, 0x18
mov byte [r8 + 0xe], al
xor eax, eax
mov byte [r8 + 3], dl
mov byte [r8 + 7], bpl
mov byte [r8 + 0xb], r11b
mov byte [r8 + 0xf], dil
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret