Function at 0x140001890
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
movzx eax, byte [rdx + 1]
movzx r8d, byte [rdx]
movzx ebx, byte [rdx + 4]
movzx ecx, byte [rdx + 8]
shl ecx, 8
shl r8d, 8
or r8d, eax
shl ebx, 8
movzx eax, byte [rdx + 2]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + 3]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + 5]
or ebx, eax
mov dword [rsp + 0x30], r8d
movzx eax, byte [rdx + 6]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 7]
shl ebx, 8
or ebx, eax
movzx eax, byte [rdx + 9]
or ecx, eax
mov dword [rsp + 0x34], ebx
shl ecx, 8
movzx eax, byte [rdx + 0xa]
or ecx, eax
movzx eax, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xd]
mov dword [rsp + 0x38], ecx
movzx ecx, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x11]
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rdx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x15]
mov dword [rsp + 0x40], ecx
movzx ecx, byte [rdx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x19]
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rdx + 0x18]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1d]
mov dword [rsp + 0x48], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, byte [rdx + 0x1e]
or ecx, eax
movzx eax, byte [rdx + 0x1f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x4c], ecx
movzx ecx, byte [rdx + 0x20]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x22]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x23]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x25]
mov dword [rsp + 0x50], ecx
movzx ecx, byte [rdx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x26]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x29]
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rdx + 0x28]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2d]
mov dword [rsp + 0x58], ecx
movzx ecx, byte [rdx + 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x31]
mov dword [rsp + 0x5c], ecx
movzx ecx, byte [rdx + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x32]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x35]
mov dword [rsp + 0x60], ecx
movzx ecx, byte [rdx + 0x34]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x36]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x39]
mov dword [rsp + 0x64], ecx
movzx ecx, byte [rdx + 0x38]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3a]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, byte [rdx + 0x3b]
lea r12, [rsp + 0x34]
or ecx, eax
mov qword [rbp + 0x88], r12
movzx eax, byte [rdx + 0x3d]
mov dword [rsp + 0x68], ecx
movzx ecx, byte [rdx + 0x3c]
shl ecx, 8
or ecx, eax
mov qword [rsp + 0x28], 4
movzx eax, byte [rdx + 0x3e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3f]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x6c], ecx
nop dword [rax]
mov r8d, dword [r12 + 4]
mov r15d, ebx
mov r11d, dword [r12 + 0x34]
mov edx, r8d
mov r10d, dword [r12 + 0x38]
mov eax, ebx
mov r9d, dword [r12 + 8]
mov ecx, r11d
ror eax, 7
mov r14d, r10d
mov r13d, dword [r12 + 0x2c]
ror edx, 0x12
ror r15d, 0x12
xor r15d, eax
ror r14d, 0x13
ror ecx, 0x13
mov eax, ebx
shr eax, 3
xor r15d, eax
mov eax, r11d
ror eax, 0x11
xor ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
mov eax, r8d
ror eax, 7
add r15d, ecx
add r15d, dword [r12 - 4]
xor edx, eax
add r15d, dword [r12 + 0x20]
mov eax, r8d
shr eax, 3
mov esi, r15d
xor edx, eax
ror esi, 0x13
mov eax, r10d
mov dword [r12 + 0x3c], r15d
ror eax, 0x11
xor r14d, eax
mov eax, r10d
shr eax, 0xa
xor r14d, eax
lea eax, [rbx + rdx]
add r14d, eax
mov edx, r9d
add r14d, dword [r12 + 0x24]
mov eax, r9d
ror eax, 7
mov edi, r14d
ror edx, 0x12
xor edx, eax
ror edi, 0x13
mov eax, r9d
mov dword [r12 + 0x40], r14d
shr eax, 3
xor edx, eax
mov eax, r15d
ror eax, 0x11
xor esi, eax
mov eax, r15d
shr eax, 0xa
xor esi, eax
lea eax, [r8 + rdx]
mov r8d, dword [r12 + 0xc]
add esi, eax
add esi, dword [r12 + 0x28]
mov eax, r8d
ror eax, 7
mov edx, r8d
ror edx, 0x12
xor edx, eax
mov dword [r12 + 0x44], esi
mov eax, r8d
shr eax, 3
xor edx, eax
mov eax, r14d
ror eax, 0x11
xor edi, eax
mov eax, r14d
shr eax, 0xa
xor edi, eax
mov ebx, dword [r12 + 0x30]
lea eax, [r9 + rdx]
mov dword [rbp + 0x80], ebx
mov r9d, dword [r12 + 0x10]
add edi, eax
add edi, r13d
mov eax, r9d
ror eax, 7
mov edx, r9d
ror edx, 0x12
mov ecx, esi
xor edx, eax
ror ecx, 0x13
mov eax, r9d
mov dword [r12 + 0x48], edi
shr eax, 3
add r12, 0x30
xor edx, eax
mov eax, esi
ror eax, 0x11
xor ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov r8, qword [rbp + 0x88]
add ebx, ecx
mov ecx, edi
ror ecx, 0x13
mov dword [r8 + 0x4c], ebx
mov r8d, dword [r8 + 0x14]
mov eax, r8d
ror eax, 7
mov edx, r8d
ror edx, 0x12
xor edx, eax
mov eax, r8d
shr eax, 3
xor edx, eax
mov eax, edi
ror eax, 0x11
xor ecx, eax
mov eax, edi
shr eax, 0xa
xor ecx, eax
lea eax, [r9 + rdx]
add ecx, eax
mov rax, qword [rbp + 0x88]
add r11d, ecx
mov ecx, ebx
ror ecx, 0x13
mov r9d, dword [rax + 0x18]
mov edx, r9d
mov dword [rax + 0x50], r11d
mov eax, r9d
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, r9d
shr eax, 3
xor edx, eax
mov eax, ebx
ror eax, 0x11
xor ecx, eax
mov eax, ebx
shr eax, 0xa
xor ecx, eax
lea eax, [r8 + rdx]
add ecx, eax
mov rax, qword [rbp + 0x88]
add r10d, ecx
mov r8d, dword [rax + 0x1c]
mov edx, r8d
mov dword [rax + 0x54], r10d
mov eax, r8d
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, r8d
shr eax, 3
mov ecx, r11d
xor edx, eax
ror ecx, 0x13
add r9d, edx
mov eax, r11d
ror eax, 0x11
xor ecx, eax
shr r11d, 0xa
mov rax, qword [rbp + 0x88]
xor ecx, r11d
add r9d, ecx
mov ecx, r10d
ror ecx, 0x13
add r9d, r15d
mov r15d, dword [rax + 0x20]
mov edx, r15d
mov dword [rax + 0x58], r9d
mov eax, r15d
ror eax, 7
ror edx, 0x12
xor edx, eax
mov eax, r15d
shr eax, 3
xor edx, eax
mov eax, r10d
ror eax, 0x11
add r8d, edx
xor ecx, eax
shr r10d, 0xa
xor ecx, r10d
add r8d, ecx
mov ecx, r9d
ror ecx, 0x13
add r8d, r14d
mov r14, qword [rbp + 0x88]
mov r11d, dword [r14 + 0x24]
mov edx, r11d
mov r10d, dword [r14 + 0x28]
mov eax, r11d
ror eax, 7
ror edx, 0x12
xor edx, eax
mov dword [r14 + 0x5c], r8d
mov eax, r11d
shr eax, 3
xor edx, eax
mov eax, r9d
ror eax, 0x11
xor ecx, eax
shr r9d, 0xa
xor r9d, ecx
mov ecx, r8d
lea eax, [rsi + rdx]
ror ecx, 0x13
add r9d, eax
mov edx, r10d
ror edx, 0x12
add r9d, r15d
mov eax, r10d
mov dword [r14 + 0x60], r9d
ror eax, 7
xor edx, eax
mov eax, r10d
shr eax, 3
xor edx, eax
mov eax, r8d
ror eax, 0x11
xor ecx, eax
shr r8d, 0xa
xor ecx, r8d
lea eax, [rdi + rdx]
mov edx, r13d
add ecx, eax
ror edx, 0x12
mov eax, r13d
add ecx, r11d
ror eax, 7
xor edx, eax
mov dword [r14 + 0x64], ecx
shr r13d, 3
mov ecx, r9d
mov qword [rbp + 0x88], r12
ror ecx, 0x13
mov eax, r9d
ror eax, 0x11
xor edx, r13d
xor ecx, eax
shr r9d, 0xa
xor ecx, r9d
lea eax, [rbx + rdx]
mov ebx, dword [rbp + 0x80]
add ecx, eax
add ecx, r10d
sub qword [rsp + 0x28], 1
mov dword [r14 + 0x68], ecx
jne 0x140001b00
mov rbx, qword [rbp + 0x70]
xor edi, edi
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
lea rbx, [0x1400077a0]
movups xmmword [rsp], xmm0
mov r11d, dword [rsp + 0xc]
mov eax, dword [rsp + 8]
mov esi, dword [rsp + 4]
mov r10d, dword [rsp]
movups xmmword [rsp + 0x10], xmm1
mov r14d, dword [rsp + 0x1c]
mov r15d, dword [rsp + 0x18]
mov r12d, dword [rsp + 0x14]
mov r13d, dword [rsp + 0x10]
mov r8d, r13d
mov ecx, r13d
ror ecx, 0xb
mov edx, r13d
not edx
ror r8d, 0x19
xor r8d, ecx
and edx, r15d
mov ecx, r13d
ror ecx, 6
xor r8d, ecx
mov ecx, r12d
and ecx, r13d
xor edx, ecx
mov ecx, r10d
add r8d, edx
ror ecx, 0xd
add r8d, dword [rdi + rbx]
mov edx, r10d
add r8d, dword [rsp + rdi + 0x30]
ror edx, 0x16
add r8d, r14d
xor edx, ecx
mov ecx, r10d
ror ecx, 2
xor edx, ecx
mov ecx, esi
and ecx, eax
lea r14d, [r11 + r8]
mov r11d, esi
xor r11d, eax
and r11d, r10d
xor r11d, ecx
lea ecx, [r8 + rdx]
add r11d, ecx
mov r8d, r14d
ror r8d, 0x19
mov ecx, r14d
ror ecx, 0xb
mov edx, r14d
xor r8d, ecx
not edx
and edx, r12d
mov ecx, r14d
ror ecx, 6
xor r8d, ecx
mov ecx, r14d
and ecx, r13d
xor edx, ecx
mov ecx, r10d
add r8d, edx
and ecx, esi
add r8d, dword [rsp + rdi + 0x34]
mov edx, r11d
add r8d, dword [rdi + rbx + 4]
ror edx, 0x16
add r8d, r15d
lea r15d, [rax + r8]
mov eax, r11d
ror eax, 0xd
mov r9d, r15d
xor edx, eax
ror r9d, 0x19
mov eax, r11d
ror eax, 2
xor edx, eax
mov eax, r10d
xor eax, esi
and eax, r11d
xor eax, ecx
lea ecx, [r8 + rdx]
mov edx, r15d
add eax, ecx
not edx
mov ecx, r15d
ror ecx, 0xb
xor r9d, ecx
mov ecx, r15d
ror ecx, 6
xor r9d, ecx
and edx, r13d
mov ecx, r14d
mov dword [rsp + 0x1c], r14d
and ecx, r15d
mov dword [rsp + 0x18], r15d
xor edx, ecx
mov dword [rsp + 0xc], r11d
add r9d, edx
mov dword [rsp + 8], eax
add r9d, dword [rsp + rdi + 0x38]
mov r8d, eax
add r9d, dword [rdi + rbx + 8]
mov ecx, eax
ror ecx, 0xd
add r9d, r12d
ror r8d, 0x16
xor r8d, ecx
mov ecx, eax
ror ecx, 2
xor r8d, ecx
lea r12d, [rsi + r9]
mov esi, r10d
mov dword [rsp + 0x14], r12d
mov ecx, r10d
xor esi, r11d
and ecx, r11d
and esi, eax
xor esi, ecx
mov edx, r12d
lea ecx, [r9 + r8]
not edx
add esi, ecx
and edx, r14d
mov ecx, r12d
mov dword [rsp + 4], esi
ror ecx, 0xb
mov r8d, r12d
ror r8d, 0x19
xor r8d, ecx
mov ecx, r12d
ror ecx, 6
xor r8d, ecx
mov ecx, r15d
and ecx, r12d
xor edx, ecx
mov ecx, esi
add r8d, edx
ror ecx, 0xd
add r8d, dword [rsp + rdi + 0x3c]
mov edx, esi
add r8d, dword [rdi + rbx + 0xc]
add rdi, 0x10
add r8d, r13d
ror edx, 0x16
xor edx, ecx
mov ecx, esi
ror ecx, 2
xor edx, ecx
mov ecx, r11d
lea r13d, [r10 + r8]
and ecx, eax
mov r10d, r11d
xor r10d, eax
and r10d, esi
xor r10d, ecx
lea ecx, [r8 + rdx]
add r10d, ecx
cmp rdi, 0x100
jl 0x140001e72
mov rbx, qword [rbp + 0x70]
lea rcx, [rsp]
sub rcx, rbx
mov dword [rsp], r10d
mov dword [rsp + 0x10], r13d
mov eax, 2
nop dword [rax + rax]
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rcx + rbx]
lea rbx, [rbx + 0x10]
paddd xmm1, xmm0
movdqu xmmword [rbx - 0x10], xmm1
sub rax, 1
jne 0x140002060
mov rbx, qword [rsp + 0x178]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret