Function at 0x1404228c0
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 r10, rdx
mov r11, rcx
mov rax, qword [0x14059d380]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 8]
mov edx, dword [rcx + rax*4 + 0x10]
mov ebp, dword [rcx + rax*4 + 0x14]
xor edx, dword [r10]
xor ebp, dword [r10 + 4]
mov qword [rsp + 0x28], r8
mov ecx, dword [rcx + rax*4 + 0x18]
xor ecx, dword [r10 + 8]
lea r9, [r11 + rax*4]
add r9, 0x20
mov eax, dword [r11 + rax*4 + 0x1c]
xor eax, dword [r10 + 0xc]
mov r10d, dword [r11]
lea r8, [0x1405acc50]
lea r13, [0x1405ad050]
cmp r10d, 4
jl 0x140422b0f
shr r10d, 1
inc r10d
mov r8d, eax
mov rbx, rdx
mov esi, ecx
mov edx, ebp
lea r13, [0x1405acc50]
lea r14, [0x1405ad450]
lea r12, [0x1405ad850]
nop word cs:[rax + rax]
mov dword [rsp + 0x24], r10d
mov ebp, edx
movzx ecx, dl
mov qword [rsp + 0x38], rcx
movzx eax, dh
mov qword [rsp + 0x30], rax
mov eax, r8d
movzx ecx, al
mov r10d, dword [r13 + rcx*4]
xor r10d, dword [r9 + 0xc]
shr edx, 0x10
movzx ecx, dl
mov edx, esi
movzx edi, dh
lea r11, [0x1405ad050]
xor r10d, dword [r11 + rdi*4]
movzx edi, bl
movzx esi, bh
xor r10d, dword [r14 + rcx*4]
mov r15d, ebx
shr ebx, 0x18
xor r10d, dword [r12 + rbx*4]
mov ebx, dword [r13 + rdi*4]
xor ebx, dword [r9]
movzx edi, ah
xor ebx, dword [r11 + rdi*4]
mov edi, edx
shr edi, 0x10
movzx edi, dil
xor ebx, dword [r14 + rdi*4]
shr ebp, 0x18
xor ebx, dword [r12 + rbp*4]
mov rax, qword [rsp + 0x38]
mov ecx, dword [r13 + rax*4]
xor ecx, dword [r9 + 4]
xor ecx, dword [r11 + rsi*4]
mov eax, r8d
shr eax, 0x10
movzx eax, al
xor ecx, dword [r14 + rax*4]
mov eax, edx
shr eax, 0x18
xor ecx, dword [r12 + rax*4]
movzx eax, dl
mov eax, dword [r13 + rax*4]
xor eax, dword [r9 + 8]
mov esi, r8d
mov rdx, qword [rsp + 0x30]
xor eax, dword [r11 + rdx*4]
shr r15d, 0x10
movzx edi, r15b
xor eax, dword [r14 + rdi*4]
shr esi, 0x18
xor eax, dword [r12 + rsi*4]
movzx r15d, bl
movzx ebp, bh
movzx esi, r10b
mov r8d, dword [r13 + rsi*4]
xor r8d, dword [r9 + 0x1c]
movzx esi, ah
xor r8d, dword [r11 + rsi*4]
mov esi, ecx
shr esi, 0x10
movzx esi, sil
xor r8d, dword [r14 + rsi*4]
mov esi, ebx
shr ebx, 0x18
xor r8d, dword [r12 + rbx*4]
mov ebx, dword [r13 + r15*4]
xor ebx, dword [r9 + 0x10]
mov edx, r10d
movzx edx, dh
xor ebx, dword [r11 + rdx*4]
movzx edx, cl
mov edx, dword [r13 + rdx*4]
xor edx, dword [r9 + 0x14]
xor edx, dword [r11 + rbp*4]
movzx edi, al
mov ebp, dword [r13 + rdi*4]
xor ebp, dword [r9 + 0x18]
movzx edi, ch
xor ebp, dword [r11 + rdi*4]
mov edi, eax
shr edi, 0x10
movzx edi, dil
xor ebx, dword [r14 + rdi*4]
mov edi, ecx
shr edi, 0x18
xor ebx, dword [r12 + rdi*4]
mov edi, r10d
shr edi, 0x10
movzx edi, dil
xor edx, dword [r14 + rdi*4]
mov edi, eax
shr edi, 0x18
xor edx, dword [r12 + rdi*4]
shr esi, 0x10
movzx esi, sil
xor ebp, dword [r14 + rsi*4]
mov r11d, r10d
mov esi, r10d
mov r10d, dword [rsp + 0x24]
shr esi, 0x18
xor ebp, dword [r12 + rsi*4]
mov esi, ebp
add r9, 0x20
dec r10d
cmp r10d, 2
ja 0x140422960
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x5c], r11d
mov eax, r8d
mov ecx, esi
mov ebp, edx
mov rdx, rbx
lea r13, [0x1405ad050]
lea r8, [0x1405acc50]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x48], ecx
mov ebx, eax
movzx eax, dl
mov esi, dword [r8 + rax*4]
xor esi, dword [r9]
movzx eax, bh
xor esi, dword [r13 + rax*4]
mov eax, ecx
shr eax, 0x10
movzx eax, al
lea r10, [0x1405ad450]
xor esi, dword [r10 + rax*4]
mov eax, ebp
shr eax, 0x18
lea r14, [0x1405ad850]
xor esi, dword [r14 + rax*4]
mov dword [rsp + 0x50], esi
movzx eax, bpl
mov edi, dword [r8 + rax*4]
xor edi, dword [r9 + 4]
movzx eax, dh
xor edi, dword [r13 + rax*4]
mov eax, ebx
shr eax, 0x10
movzx eax, al
xor edi, dword [r10 + rax*4]
mov r11, rdx
mov edx, ecx
mov ecx, ebp
mov r12d, ebx
movzx r15d, bl
mov eax, edx
movzx ebx, dl
movzx ebp, dh
shr eax, 0x18
xor edi, dword [r14 + rax*4]
mov dword [rsp + 0x54], edi
mov eax, dword [r8 + rbx*4]
xor eax, dword [r9 + 8]
movzx ebx, ch
xor eax, dword [r13 + rbx*4]
mov ebx, r11d
shr ebx, 0x10
movzx ebx, bl
xor eax, dword [r10 + rbx*4]
shr ecx, 0x10
movzx edx, cl
shr r12d, 0x18
xor eax, dword [r14 + r12*4]
mov ecx, dword [r8 + r15*4]
mov dword [rsp + 0x58], eax
xor ecx, dword [r9 + 0xc]
xor ecx, dword [r13 + rbp*4]
xor ecx, dword [r10 + rdx*4]
shr r11d, 0x18
xor ecx, dword [r14 + r11*4]
movzx r10d, sil
lea rdx, [0x1405aec50]
movzx r11d, dil
movzx r10d, byte [r10 + rdx]
vmovd xmm0, r10d
movzx r10d, al
vpinsrb xmm0, xmm0, byte [r11 + rdx], 4
movzx r11d, cl
vpinsrb xmm0, xmm0, byte [r10 + rdx], 8
mov r10d, ecx
shr r10d, 8
movzx r10d, r10b
vpinsrb xmm0, xmm0, byte [r11 + rdx], 0xc
mov r11d, esi
shr r11d, 8
movzx r11d, r11b
movzx r10d, byte [r10 + rdx]
vmovd xmm1, r10d
mov r10d, edi
shr r10d, 8
movzx r10d, r10b
vpinsrb xmm1, xmm1, byte [r11 + rdx], 4
vpinsrb xmm1, xmm1, byte [r10 + rdx], 8
mov r10d, eax
mov r11, rax
shr eax, 8
movzx eax, al
vpinsrb xmm1, xmm1, byte [rax + rdx], 0xc
shr r10d, 0x10
movzx eax, r10b
movzx eax, byte [rax + rdx]
vmovd xmm2, eax
mov eax, ecx
shr eax, 0x10
movzx eax, al
vpinsrb xmm2, xmm2, byte [rax + rdx], 4
mov eax, esi
shr eax, 0x10
movzx eax, al
vpinsrb xmm2, xmm2, byte [rax + rdx], 8
mov rax, rdi
shr edi, 0x10
movzx r10d, dil
vpinsrb xmm2, xmm2, byte [r10 + rdx], 0xc
shr rax, 0x18
movzx eax, byte [rax + rdx]
vmovd xmm3, eax
shr r11, 0x18
vpinsrb xmm3, xmm3, byte [r11 + rdx], 4
mov rax, rcx
shr rax, 0x18
vpinsrb xmm3, xmm3, byte [rax + rdx], 8
shr rsi, 0x18
vpinsrb xmm3, xmm3, byte [rsi + rdx], 0xc
mov dword [rsp + 0x5c], ecx
vpxor xmm0, xmm0, xmmword [r9 + 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 + 0x28]
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