Function at 0x14053aec0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x198
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x100], xmm15
movdqa xmmword [rbp + 0xf0], xmm14
movdqa xmmword [rbp + 0xe0], xmm13
movdqa xmmword [rbp + 0xd0], xmm12
movdqa xmmword [rbp + 0xc0], xmm11
movdqa xmmword [rbp + 0xb0], xmm10
movdqa xmmword [rbp + 0xa0], xmm9
movdqa xmmword [rbp + 0x90], xmm8
movdqa xmmword [rbp + 0x80], xmm7
movdqa xmmword [rbp + 0x70], xmm6
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov qword [rbp + 0x38], rdx
mov rsi, rcx
call fcn.14053b4e0
mov rcx, qword [0x14077d1b8]
mov edx, dword [0x14077d1a8]
mov r8d, 0x83a3
sub r8d, eax
mov dword [rbp + 0x60], r8d
sub edx, r8d
movsxd rax, edx
add rax, rcx
call qword [0x140704440]
mov ebx, eax
lea rax, [0x1405e7b68]
mov qword [rsi], rax
lea rax, [rsi + 8]
mov qword [rbp + 0x28], rax
pxor xmm0, xmm0
mov qword [rbp + 0x30], rsi
movdqu xmmword [rsi + 8], xmm0
movzx eax, byte [0x14077d07b]
mov ecx, ebx
xor cl, 0xb9
mov byte [rbp + 0x67], cl
cmp al, cl
je 0x14053b316
mov ecx, ebx
xor cl, 0x2a
mov edx, ebx
xor dl, 0xf5
nop
mov eax, ecx
lock cmpxchg byte [0x14077d07b], dl
je 0x14053afc6
cmp al, byte [rbp + 0x67]
jne 0x14053afb0
jmp 0x14053b316
mov eax, ebx
xor eax, 0x1677c7e6
mov esi, ebx
xor esi, 0x935adc3e
movzx ecx, bl
movd xmm2, ecx
punpcklbw xmm2, xmm2
pxor xmm2, xmmword [0x140613b90]
cmp esi, 2
mov r14d, 1
cmovge r14d, esi
cmp esi, 0x10
mov ecx, eax
jge 0x14053b004
xor r8d, r8d
jmp 0x14053b2a6
mov dword [rbp + 0x5c], ebx
mov qword [rbp + 0x40], r14
mov r8, r14
and r8d, 0x7ffffff0
movdqa xmmword [rbp - 0x40], xmm2
punpcklbw xmm2, xmm2
pshuflw xmm1, xmm2, 0x55
pshufd xmm0, xmm1, 0
movdqa xmmword [rbp - 0x60], xmm0
pshuflw xmm2, xmm2, 0
pshufd xmm0, xmm2, 0
movdqa xmmword [rbp - 0x50], xmm0
xor edi, edi
lea rbx, [0x140613d10]
nop word cs:[rax + rax]
lea eax, [rcx + rdi]
lea r10d, [rcx + rdi]
inc r10d
lea r11d, [rcx + rdi + 2]
lea r14d, [rcx + rdi + 3]
lea r9d, [rcx + rdi + 4]
lea r15d, [rcx + rdi + 5]
lea r12d, [rcx + rdi + 6]
lea r13d, [rcx + rdi + 7]
lea edx, [rcx + rdi + 8]
mov dword [rbp + 0x58], edx
lea edx, [rcx + rdi + 9]
mov dword [rbp + 0x54], edx
lea edx, [rcx + rdi + 0xa]
mov dword [rbp + 0x50], edx
lea edx, [rcx + rdi + 0xb]
mov dword [rbp + 0x4c], edx
lea edx, [rcx + rdi]
add edx, 0xc
mov dword [rbp + 0x48], edx
xor edx, edx
div esi
mov qword [rbp - 0x18], rdx
mov eax, r10d
xor edx, edx
div esi
mov qword [rbp - 0x10], rdx
mov eax, r11d
xor edx, edx
div esi
mov qword [rbp - 8], rdx
mov eax, r14d
xor edx, edx
div esi
mov qword [rbp], rdx
mov eax, r9d
xor edx, edx
div esi
mov qword [rbp + 8], rdx
mov eax, r15d
xor edx, edx
div esi
mov qword [rbp + 0x10], rdx
mov eax, r12d
xor edx, edx
div esi
mov qword [rbp + 0x18], rdx
mov eax, r13d
xor edx, edx
div esi
mov qword [rbp + 0x20], rdx
mov eax, dword [rbp + 0x58]
xor edx, edx
div esi
mov r13d, edx
mov eax, dword [rbp + 0x54]
xor edx, edx
div esi
mov r12d, edx
mov eax, dword [rbp + 0x50]
xor edx, edx
div esi
mov r15d, edx
mov eax, dword [rbp + 0x4c]
xor edx, edx
div esi
mov r14d, edx
mov eax, dword [rbp + 0x48]
xor edx, edx
div esi
mov r11d, edx
lea eax, [rcx + rdi]
add eax, 0xd
xor edx, edx
div esi
mov r9d, edx
lea eax, [rcx + rdi]
add eax, 0xe
xor edx, edx
div esi
mov r10d, edx
lea eax, [rcx + rdi]
add eax, 0xf
xor edx, edx
div esi
movzx eax, byte [rdx + rbx]
movd xmm3, eax
movzx eax, byte [r10 + rbx]
movd xmm4, eax
movzx eax, byte [r9 + rbx]
movd xmm7, eax
movzx eax, byte [r11 + rbx]
movd xmm5, eax
movzx eax, byte [r14 + rbx]
movd xmm8, eax
movzx eax, byte [r15 + rbx]
movd xmm9, eax
movzx eax, byte [r12 + rbx]
movd xmm10, eax
movzx eax, byte [r13 + rbx]
movd xmm6, eax
mov rax, qword [rbp + 0x20]
movzx eax, byte [rax + rbx]
movd xmm12, eax
mov rax, qword [rbp + 0x18]
movzx eax, byte [rax + rbx]
movd xmm13, eax
mov rax, qword [rbp + 0x10]
movzx eax, byte [rax + rbx]
movd xmm14, eax
mov rax, qword [rbp + 8]
movzx eax, byte [rax + rbx]
movd xmm15, eax
mov rax, qword [rbp]
movzx eax, byte [rax + rbx]
movd xmm1, eax
mov rax, qword [rbp - 8]
movzx eax, byte [rax + rbx]
movd xmm2, eax
mov rax, qword [rbp - 0x10]
movzx eax, byte [rax + rbx]
movd xmm0, eax
mov rax, qword [rbp - 0x18]
movzx eax, byte [rax + rbx]
movd xmm11, eax
punpcklbw xmm4, xmm3
punpcklbw xmm5, xmm7
punpcklwd xmm5, xmm4
punpcklbw xmm9, xmm8
punpcklbw xmm6, xmm10
punpcklwd xmm6, xmm9
punpckldq xmm6, xmm5
punpcklbw xmm13, xmm12
punpcklbw xmm15, xmm14
punpcklwd xmm15, xmm13
punpcklbw xmm2, xmm1
punpcklbw xmm11, xmm0
punpcklwd xmm11, xmm2
punpckldq xmm11, xmm15
punpcklqdq xmm11, xmm6
movdqa xmm0, xmm11
movdqa xmm2, xmmword [rbp - 0x60]
pxor xmm0, xmm2
movdqa xmm1, xmm11
movdqa xmm3, xmmword [rbp - 0x50]
pandn xmm1, xmm3
por xmm1, xmm0
movdqa xmm0, xmm11
pxor xmm0, xmm3
pand xmm0, xmm1
pand xmm11, xmm2
por xmm11, xmm0
lea rax, [0x14077d060]
pxor xmm11, xmmword [rdi + rax]
movdqa xmmword [rdi + rax], xmm11
add rdi, 0x10
cmp r8, rdi
jne 0x14053b050
mov r14, qword [rbp + 0x40]
cmp r8, r14
mov ebx, dword [rbp + 0x5c]
movdqa xmm2, xmmword [rbp - 0x40]
je 0x14053b30b
movd r9d, xmm2
mov r10d, r9d
shr r10d, 8
lea r11, [0x14077d060]
lea rdi, [0x140613d10]
lea eax, [rcx + r8]
xor edx, edx
div esi
movsxd rax, edx
movzx eax, byte [rax + rdi]
mov edx, eax
movd xmm0, eax
not al
xor dl, r10b
and al, r9b
or al, dl
movdqa xmm1, xmm0
psllw xmm1, 8
pxor xmm0, xmm2
pand xmm1, xmm2
movd edx, xmm0
and dl, al
movd eax, xmm1
shr eax, 8
or al, dl
xor byte [r8 + r11], al
inc r8
cmp r14, r8
jne 0x14053b2c0
nop
movzx eax, byte [rbp + 0x67]
xchg byte [0x14077d07b], al
lea rax, [0x14077d060]
mov qword [rbp - 0x28], rax
mov byte [rbp - 0x20], 1
lea rcx, [rbp - 0x28]
mov rdx, qword [rbp + 0x28]
call fcn.140095510
lea rax, [0x140613bb8]
mov rsi, qword [rbp + 0x30]
mov qword [rsi], rax
lea rcx, [rsi + 0x20]
mov eax, ebx
movabs r8, 0x24d6b709d35ad8c5
xor r8, rax
shl rax, 0x1e
xor r8, rax
mov rdx, qword [0x14077d1c0]
mov eax, dword [0x14077d1a0]
sub eax, dword [rbp + 0x60]
cdqe
add rax, rdx
mov rdx, qword [rbp + 0x38]
call qword [0x140704440]
mov rax, rsi
nop
movaps xmm6, xmmword [rbp + 0x70]
movaps xmm7, xmmword [rbp + 0x80]
movaps xmm8, xmmword [rbp + 0x90]
movaps xmm9, xmmword [rbp + 0xa0]
movaps xmm10, xmmword [rbp + 0xb0]
movaps xmm11, xmmword [rbp + 0xc0]
movaps xmm12, xmmword [rbp + 0xd0]
movaps xmm13, xmmword [rbp + 0xe0]
movaps xmm14, xmmword [rbp + 0xf0]
movaps xmm15, xmmword [rbp + 0x100]
add rsp, 0x198
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret