Function at 0x140040e80
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push r14
sub rsp, 0x1c0
mov rax, qword [0x1402376b8]
xor rax, rsp
mov qword [rsp + 0x180], rax
mov qword [r11 - 0x10], rbx
mov r14, r8
mov qword [r11 - 0x18], rbp
mov r8d, 0xc8
mov qword [r11 - 0x28], rdi
mov rbp, rcx
mov qword [r11 - 0x30], r12
lea rcx, [rsp + 0x20]
mov r12d, edx
xor edx, edx
call fcn.14018ad08
xor edi, edi
cmp r12d, 0x88
jl 0x140040fec
mov qword [rsp + 0x1a8], rsi
lea rbx, [rbp + 0x80]
mov eax, 0xf0f0f0f1
mov qword [rsp + 0x190], r15
mul r12d
lea rsi, [rsp + 0x20]
shr edx, 7
sub rsi, rbp
imul eax, edx, 0xffffff78
mov r15d, edx
add r12d, eax
nop
lea rcx, [rsp + 0x20]
mov rax, rdi
cmp rcx, rbx
ja 0x140040f2a
lea rcx, [rsp + 0xa0]
cmp rcx, rbp
jae 0x140040fa0
mov edx, 2
lea rcx, [rbx - 0x60]
lea eax, [rdx + 0xe]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx + rsi - 0x20]
movdqu xmm1, xmmword [rcx - 0x20]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi - 0x60], xmm1
movdqu xmm0, xmmword [rcx + rsi - 0x50]
movdqu xmm1, xmmword [rcx - 0x50]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi - 0x50], xmm1
movdqu xmm0, xmmword [rcx + rsi - 0x40]
movdqu xmm1, xmmword [rcx - 0x40]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi - 0x40], xmm1
movdqu xmm0, xmmword [rcx + rsi - 0x30]
movdqu xmm1, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx + rsi - 0x30], xmm1
sub rdx, 1
jne 0x140040f40
nop
mov rcx, qword [rbx + rax*8 - 0x80]
xor qword [rsp + rax*8 + 0x20], rcx
inc rax
cmp rax, 0x11
jl 0x140040fa0
lea rcx, [rsp + 0x20]
call fcn.140040960
add rbp, 0x88
add rbx, 0x88
sub rsi, 0x88
sub r15, 1
jne 0x140040f10
mov r15, qword [rsp + 0x190]
mov rsi, qword [rsp + 0x1a8]
movsxd rbx, r12d
lea rcx, [rsp + 0xf0]
mov r8, rbx
mov rdx, rbp
call fcn.14018ad02
mov eax, 0x88
mov byte [rsp + rbx + 0xf0], 1
inc r12d
lea rcx, [rsp + 0xf0]
sub eax, r12d
xor edx, edx
movsxd r8, eax
movsxd rax, r12d
add rcx, rax
call fcn.14018ad08
or byte [rsp + 0x177], 0x80
mov r12, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1b8]
nop dword [rax]
movdqu xmm0, xmmword [rsp + rdi + 0x20]
movdqu xmm1, xmmword [rsp + rdi + 0xf0]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdi + 0x20], xmm1
movdqu xmm0, xmmword [rsp + rdi + 0x30]
movdqu xmm1, xmmword [rsp + rdi + 0x100]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdi + 0x30], xmm1
movdqu xmm0, xmmword [rsp + rdi + 0x40]
movdqu xmm1, xmmword [rsp + rdi + 0x110]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdi + 0x40], xmm1
movdqu xmm0, xmmword [rsp + rdi + 0x50]
movdqu xmm1, xmmword [rsp + rdi + 0x120]
pxor xmm1, xmm0
movdqu xmmword [rsp + rdi + 0x50], xmm1
add rdi, 0x40
cmp rdi, 0x80
jl 0x140041050
mov rdi, qword [rsp + 0x1a0]
mov ecx, 0x80
nop
mov rax, qword [rsp + rcx + 0xf0]
xor qword [rsp + rcx + 0x20], rax
add rcx, 8
cmp rcx, 0x88
jl 0x1400410d0
lea rcx, [rsp + 0x20]
call fcn.140040960
lea rax, [rsp + 0x20]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r14 + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r14 + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r14 + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r14 + 0x40], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r14 + 0x50], xmm1
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r14 + 0x60], xmm0
sub r14, 0xffffffffffffff80
movups xmm0, xmmword [rax + 0x80]
movups xmmword [r14 - 0x10], xmm1
movups xmm1, xmmword [rax + 0x90]
movups xmmword [r14], xmm0
movups xmm0, xmmword [rax + 0xa0]
movups xmmword [r14 + 0x10], xmm1
movups xmm1, xmmword [rax + 0xb0]
mov rax, qword [rax + 0xc0]
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm1
mov qword [r14 + 0x40], rax
xor eax, eax
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.140189f20
add rsp, 0x1c0
pop r14
ret