Function at 0x140422440
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov r11, rdx
mov r10, rcx
mov rax, qword [0x14059d380]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 8]
mov r15d, dword [rcx + rax*4 + 0x10]
mov edi, dword [rcx + rax*4 + 0x14]
xor r15d, dword [rdx]
xor edi, dword [rdx + 4]
mov ebx, dword [rcx + rax*4 + 0x18]
xor ebx, dword [rdx + 8]
lea rbp, [rcx + rax*4]
add rbp, 0x20
mov ecx, dword [rcx + rax*4 + 0x1c]
xor ecx, dword [rdx + 0xc]
mov r10d, dword [r10]
lea r12, [0x1405adc50]
lea r13, [0x1405ae050]
cmp r10d, 4
mov qword [rsp + 0x30], r8
jl 0x140422692
shr r10d, 1
inc r10d
mov r14d, r15d
mov r9d, ecx
nop word [rax + rax]
mov dword [rsp + 0x2c], r10d
mov ecx, edi
movzx eax, ch
movzx edx, cl
mov qword [rsp + 0x38], rdx
mov r15d, edi
mov r11d, r9d
movzx edx, r11b
mov edx, dword [r12 + rdx*4]
xor edx, dword [rbp + 0xc]
shr ecx, 0x10
movzx r8d, cl
mov rsi, rbp
mov ecx, r14d
movzx ebp, ch
xor edx, dword [r13 + rbp*4]
mov ebp, ebx
movzx edi, bh
lea r10, [0x1405ae450]
xor edx, dword [r10 + r8*4]
movzx r14d, bl
shr ebx, 0x18
lea r9, [0x1405ae850]
xor edx, dword [r9 + rbx*4]
movzx ebx, cl
mov r8d, dword [r12 + rbx*4]
xor r8d, dword [rsi]
xor r8d, dword [r13 + rax*4]
shr ebp, 0x10
movzx eax, bpl
xor r8d, dword [r10 + rax*4]
mov ebp, r11d
mov eax, r11d
mov ebx, r11d
shr eax, 0x18
xor r8d, dword [r9 + rax*4]
mov r9d, r8d
movzx ebx, bh
mov r8d, ecx
mov r11d, ecx
mov rax, qword [rsp + 0x38]
mov eax, dword [r12 + rax*4]
xor eax, dword [rsi + 4]
xor eax, dword [r13 + rdi*4]
shr ebp, 0x10
movzx ecx, bpl
mov rbp, rsi
xor eax, dword [r10 + rcx*4]
shr r11d, 0x18
lea rsi, [0x1405ae850]
xor eax, dword [rsi + r11*4]
mov ecx, dword [r12 + r14*4]
xor ecx, dword [rbp + 8]
xor ecx, dword [r13 + rbx*4]
shr r8d, 0x10
movzx r8d, r8b
xor ecx, dword [r10 + r8*4]
shr r15d, 0x18
xor ecx, dword [rsi + r15*4]
mov r10, rsi
movzx r8d, r9b
mov r11d, r9d
mov r14d, dword [r12 + r8*4]
xor r14d, dword [rbp + 0x10]
movzx esi, ah
xor r14d, dword [r13 + rsi*4]
movzx r8d, al
mov edi, dword [r12 + r8*4]
xor edi, dword [rbp + 0x14]
movzx esi, ch
xor edi, dword [r13 + rsi*4]
movzx r8d, cl
mov ebx, dword [r12 + r8*4]
xor ebx, dword [rbp + 0x18]
movzx esi, dh
xor ebx, dword [r13 + rsi*4]
movzx r8d, dl
mov r9d, edx
mov r15d, dword [r12 + r8*4]
xor r15d, dword [rbp + 0x1c]
mov edx, r11d
movzx esi, dh
mov edx, r9d
xor r15d, dword [r13 + rsi*4]
mov r8d, ecx
shr r8d, 0x10
movzx r8d, r8b
lea r9, [0x1405ae450]
xor r14d, dword [r9 + r8*4]
mov r8d, edx
shr r8d, 0x18
xor r14d, dword [r10 + r8*4]
mov r8d, edx
shr r8d, 0x10
movzx r8d, r8b
xor edi, dword [r9 + r8*4]
mov r8d, r11d
shr r11d, 0x18
xor edi, dword [r10 + r11*4]
shr r8d, 0x10
movzx r8d, r8b
xor ebx, dword [r9 + r8*4]
mov r8d, eax
shr r8d, 0x18
xor ebx, dword [r10 + r8*4]
add rbp, 0x20
mov r8d, eax
shr r8d, 0x10
movzx r8d, r8b
xor r15d, dword [r9 + r8*4]
mov r8d, ecx
shr r8d, 0x18
xor r15d, dword [r10 + r8*4]
mov r9d, r15d
mov r10d, dword [rsp + 0x2c]
dec r10d
cmp r10d, 2
ja 0x1404224c0
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], edx
mov r15d, r14d
mov ecx, r9d
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x4c], ecx
movzx eax, r15b
mov esi, dword [r12 + rax*4]
xor esi, dword [rbp]
mov edx, edi
movzx eax, dh
xor esi, dword [r13 + rax*4]
mov eax, ebx
shr eax, 0x10
mov r8, rbx
mov ebx, ecx
movzx ecx, al
lea r11, [0x1405ae450]
xor esi, dword [r11 + rcx*4]
mov ecx, ebx
shr ecx, 0x18
lea r10, [0x1405ae850]
xor esi, dword [r10 + rcx*4]
mov dword [rsp + 0x50], esi
movzx ecx, dl
mov edi, dword [r12 + rcx*4]
xor edi, dword [rbp + 4]
mov rax, r8
movzx ecx, ah
xor edi, dword [r13 + rcx*4]
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
xor edi, dword [r11 + rcx*4]
mov ecx, r15d
shr ecx, 0x18
xor edi, dword [r10 + rcx*4]
mov dword [rsp + 0x54], edi
movzx ecx, al
mov r9, r8
mov r14d, dword [r12 + rcx*4]
xor r14d, dword [rbp + 8]
movzx ecx, bh
movzx r8d, bl
xor r14d, dword [r13 + rcx*4]
mov eax, r15d
mov ecx, r15d
shr ecx, 0x10
movzx ecx, cl
xor r14d, dword [r11 + rcx*4]
mov ecx, edx
shr ecx, 0x18
xor r14d, dword [r10 + rcx*4]
mov ecx, dword [r12 + r8*4]
mov dword [rsp + 0x58], r14d
xor ecx, dword [rbp + 0xc]
movzx ebx, ah
xor ecx, dword [r13 + rbx*4]
shr edx, 0x10
movzx r8d, dl
xor ecx, dword [r11 + r8*4]
mov rax, r9
shr eax, 0x18
xor ecx, dword [r10 + rax*4]
movzx r10d, sil
lea rax, [0x1405acb50]
mov edx, edi
shr edx, 8
movzx edx, dl
movzx r8d, byte [r10 + rax]
vmovd xmm0, r8d
movzx r8d, dil
vpinsrb xmm0, xmm0, byte [r8 + rax], 4
movzx r8d, r14b
vpinsrb xmm0, xmm0, byte [r8 + rax], 8
movzx r8d, cl
vpinsrb xmm0, xmm0, byte [r8 + rax], 0xc
mov r8d, r14d
shr r8d, 8
movzx r8d, r8b
movzx edx, byte [rdx + rax]
vmovd xmm1, edx
mov rdx, rsi
vpinsrb xmm1, xmm1, byte [r8 + rax], 4
mov r8d, ecx
shr r8d, 8
movzx r8d, r8b
vpinsrb xmm1, xmm1, byte [r8 + rax], 8
mov r8d, esi
shr esi, 8
movzx r10d, sil
vpinsrb xmm1, xmm1, byte [r10 + rax], 0xc
mov r10d, r14d
shr r10d, 0x10
movzx r10d, r10b
movzx r10d, byte [r10 + rax]
vmovd xmm2, r10d
mov r10d, ecx
shr r10d, 0x10
movzx r10d, r10b
vpinsrb xmm2, xmm2, byte [r10 + rax], 4
shr r8d, 0x10
movzx r8d, r8b
vpinsrb xmm2, xmm2, byte [r8 + rax], 8
mov r8, rdi
shr edi, 0x10
movzx r10d, dil
vpinsrb xmm2, xmm2, byte [r10 + rax], 0xc
mov r10, rcx
shr r10, 0x18
movzx r10d, byte [r10 + rax]
vmovd xmm3, r10d
shr rdx, 0x18
vpinsrb xmm3, xmm3, byte [rdx + rax], 4
shr r8, 0x18
vpinsrb xmm3, xmm3, byte [r8 + rax], 8
shr r14, 0x18
vpinsrb xmm3, xmm3, byte [r14 + rax], 0xc
mov dword [rsp + 0x5c], ecx
vpxor xmm0, xmm0, xmmword [rbp + 0x10]
vpslld xmm1, xmm1, 8
vpxor xmm0, xmm0, xmm1
vpslld xmm1, xmm2, 0x10
vpslld xmm2, xmm3, 0x18
vpxor xmm1, xmm1, xmm2
vpxor xmm0, xmm0, xmm1
vmovdqa xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0x30]
vmovdqu xmmword [rax], xmm0
lea rcx, [rsp + 0x40]
mov edx, 0x20
call fcn.14041a6a0
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140428330
xor eax, eax
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret