Function at 0x14007a1f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x34d8]
mov eax, 0x35d8
call fcn.1400b0700
sub rsp, rax
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rbp + 0x34b0], rax
mov rsi, r8
mov dword [rsp + 0x30], r9d
mov rbx, rdx
mov rdi, rcx
xor edx, edx
lea rcx, [rbp + 0x250]
mov r8d, 0x168
call fcn.1400b1300
lea r8, [0x1400ef8e8]
mov dword [rbp + 0x3b8], 1
mov rdx, rbx
lea rcx, [rbp + 0x3bc]
call fcn.140076760
test eax, eax
jne 0x14007a982
lea rdx, [rbx + 0x78]
lea r8, [0x1400ef8e8]
lea rcx, [rbp + 0x434]
call fcn.140076760
test eax, eax
jne 0x14007a982
lea rdx, [rbx + 0xf0]
mov qword [rsp + 0x3610], r12
lea r8, [0x1400ef8e8]
lea rcx, [rbp + 0x4ac]
call fcn.140076760
mov r12d, eax
test eax, eax
jne 0x14007a97a
mov dword [rbp + 0x524], eax
lea rdx, [rbp + 0x3bc]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x35d0], r13
mov qword [rsp + 0x35c8], r14
lea rcx, [rbp + 0x250]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x35c0], r15
call fcn.140077a40
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x3bc]
lea rdx, [rbp + 0x528]
lea rcx, [rbp + 0x694]
call fcn.1400751c0
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x694]
lea rcx, [rbp + 0xad8]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0xad8]
lea rdx, [rbp + 0x96c]
lea rcx, [rbp + 0xc44]
call fcn.140078880
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x96c]
lea rcx, [rbp + 0x1088]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x1088]
lea rdx, [rbp + 0xf1c]
lea rcx, [rbp + 0x11f4]
call fcn.140078880
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0xad8]
lea rcx, [rbp + 0x1360]
call fcn.140074860
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0xc44]
lea rcx, [rbp + 0x1638]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x1638]
lea rdx, [rbp + 0x14cc]
lea rcx, [rbp + 0x17a4]
call fcn.140078880
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0xf1c]
lea rcx, [rbp + 0x1be8]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x1be8]
lea rdx, [rbp + 0x1a7c]
lea rcx, [rbp + 0x1d54]
call fcn.140078880
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x1088]
lea rcx, [rbp + 0x1ec0]
call fcn.140074860
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x11f4]
lea rcx, [rbp + 0x2198]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x2198]
lea rdx, [rbp + 0x202c]
lea rcx, [rbp + 0x2304]
call fcn.140078880
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x1360]
lea rcx, [rbp + 0x2470]
call fcn.140074860
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x14cc]
lea rcx, [rbp + 0x2748]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x2748]
lea rdx, [rbp + 0x25dc]
lea rcx, [rbp + 0x28b4]
call fcn.140078880
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x1638]
lea rcx, [rbp + 0x2a20]
call fcn.140074860
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x17a4]
lea rcx, [rbp + 0x2cf8]
call fcn.140074860
lea rax, [rbp - 0x80]
lea r9, [rbp + 0x3bc]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x2cf8]
lea rdx, [rbp + 0x2b8c]
lea rcx, [rbp + 0x2e64]
call fcn.140078880
lea rdx, [rbp + 0x3420]
mov rcx, rsi
call fcn.140079c30
mov r13d, dword [rbp + 0x3520]
lea r15d, [r12 + 2]
lea rdx, [rbp + 0x250]
test r13d, r13d
je 0x14007a57b
movzx ebx, byte [rbp + 0x34a0]
lea rcx, [rbp + 0x313c]
mov r8d, ebx
call fcn.140079f20
xor eax, eax
test bl, bl
sete al
mov dword [rbp + 0x32a4], eax
jmp 0x14007a625
movzx eax, byte [rbp + 0x34a0]
imul rcx, rax, 0x16c
mov rax, r15
add rdx, rcx
lea rcx, [rbp + 0x313c]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rdx]
lea rdx, [rdx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rdx - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x14007a596
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [rdx + 0x60]
mov qword [rcx + 0x60], rax
mov eax, dword [rdx + 0x68]
mov dword [rcx + 0x68], eax
mov r14d, 0x3f
lea rsi, [rbp + 0x349f]
nop dword [rax]
nop word [rax + rax]
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x313c]
call fcn.140076d30
movzx ebx, byte [rsi - 1]
lea rdx, [rbp + 0x250]
test r13d, r13d
je 0x14007a681
mov r8d, ebx
lea rcx, [rbp + 0x32a8]
call fcn.140079f20
xor eax, eax
test bl, bl
sete al
mov dword [rbp + 0x3410], eax
jmp 0x14007a724
imul rcx, rbx, 0x16c
lea rax, [rbp + 0x32a8]
add rdx, rcx
mov rcx, r15
lea rax, [rax + 0x80]
movups xmm0, xmmword [rdx]
lea rdx, [rdx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rdx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rcx, 1
jne 0x14007a695
movups xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rax + 0x50], xmm1
mov rcx, qword [rdx + 0x60]
mov qword [rax + 0x60], rcx
mov ecx, dword [rdx + 0x68]
mov dword [rax + 0x68], ecx
lea r8, [rbp + 0x3320]
lea rdx, [0x1400ef8e8]
lea rcx, [rbp + 0x2c8]
call fcn.140072390
xor r8d, r8d
mov eax, dword [rbp + r8*4 + 0x2c8]
sar eax, 0x1a
add dword [rbp + r8*4 + 0x2cc], eax
and dword [rbp + r8*4 + 0x2c8], 0x3ffffff
inc r8
cmp r8, 0xe
jl 0x14007a741
movzx edx, byte [rsi]
lea r8, [rbp + 0x3320]
neg edx
lea rax, [rsp + 0x70]
xor ecx, ecx
movd xmm2, edx
pshufd xmm2, xmm2, 0
cmp r8, rax
ja 0x14007a79b
lea r8, [rbp + 0x3358]
lea rax, [rsp + 0x38]
cmp r8, rax
jae 0x14007a7cc
nop dword [rax + rax]
movdqu xmm1, xmmword [rbp + rcx*4 + 0x3320]
movdqu xmm0, xmmword [rbp + rcx*4 + 0x2c8]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx*4 + 0x38], xmm1
add rcx, 4
cmp rcx, 0xc
jl 0x14007a7a0
cmp rcx, 0xf
jge 0x14007a7fc
lea rcx, [rcx*4]
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rbp + rcx + 0x3320]
xor eax, dword [rbp + rcx + 0x2c8]
mov dword [rsp + rcx + 0x38], eax
add rcx, 4
cmp rcx, 0x3c
jl 0x14007a7e0
xor ecx, ecx
lea r8, [rbp + 0x3320]
lea rax, [rsp + 0x70]
cmp r8, rax
ja 0x14007a820
lea r8, [rbp + 0x3358]
lea rax, [rsp + 0x38]
cmp r8, rax
jae 0x14007a850
movdqu xmm0, xmmword [rbp + rcx*4 + 0x3320]
movdqu xmm1, xmmword [rsp + rcx*4 + 0x38]
pand xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rbp + rcx*4 + 0x3320], xmm1
add rcx, 4
cmp rcx, 0xc
jl 0x14007a820
cmp rcx, 0xf
jge 0x14007a877
lea rcx, [rcx*4]
nop dword [rax + rax]
mov eax, dword [rsp + rcx + 0x38]
and eax, edx
xor dword [rbp + rcx + 0x3320], eax
add rcx, 4
cmp rcx, 0x3c
jl 0x14007a860
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x32a8]
lea rdx, [rbp + 0x313c]
lea rcx, [rbp + 0x313c]
call fcn.1400751c0
sub rsi, r15
sub r14d, 1
jns 0x14007a640
cmp dword [rsp + 0x30], 0
mov r14, qword [rsp + 0x35c8]
mov r13, qword [rsp + 0x35d0]
je 0x14007a8d1
lea r8, [rbp - 0x80]
mov rcx, rdi
lea rdx, [rbp + 0x313c]
call fcn.140073970
jmp 0x14007a96f
lea rcx, [rbp + 0x313c]
nop dword [rax + rax]
lea rdi, [rdi + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdi - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdi - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdi - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdi - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdi - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdi - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdi - 0x20], xmm0
movups xmmword [rdi - 0x10], xmm1
sub r15, 1
jne 0x14007a8e0
movups xmm0, xmmword [rcx]
mov rax, qword [rcx + 0x60]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdi + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdi + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdi + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm1
mov qword [rdi + 0x60], rax
mov eax, dword [rcx + 0x68]
mov dword [rdi + 0x68], eax
mov r15, qword [rsp + 0x35c0]
mov eax, r12d
mov r12, qword [rsp + 0x3610]
mov rcx, qword [rbp + 0x34b0]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x35d8
pop rdi
pop rsi
pop rbx
pop rbp
ret