Function at 0x14005a280
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x850]
sub rsp, 0x950
mov rax, qword [0x1401d5e90]
xor rax, rsp
mov qword [rbp + 0x840], rax
mov r8d, dword [0x1401ddd80]
mov eax, 0x2aaaaaab
xor ebx, ebx
mov ecx, r8d
imul ecx, r8d
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub ecx, eax
cmp ecx, 0xd
jne 0x14005a34d
lea rcx, [rbp + 0x132]
xor edx, edx
mov r8d, 0x706
mov word [rbp + 0x130], bx
call fcn.1400dc6e0
mov r10d, ebx
mov r9d, ebx
mov r8, rbx
test r10, r10
je 0x14005a325
test r8, r8
je 0x14005a325
lea rdx, [r8 + r9]
lea rax, [r8 + r9]
movzx ecx, word [rbp + rax*2 + 0xf4]
inc cx
add cx, word [rbp + rdx*2 + 0x12e]
mov word [rbp + rdx*2 + 0x130], cx
inc r8
cmp r8, 0x1e
jl 0x14005a2f8
add r9, 0x1e
inc r10
cmp r9, 0x384
jl 0x14005a2f5
movsx r8d, word [rbp + 0x836]
mov dword [0x1401ddd80], r8d
cmp byte [0x1401dfd1e], bl
mov qword [rsp + 0x960], rsi
je 0x14005a369
lea rax, [0x1401d9410]
jmp 0x14005a672
lea eax, [r8 + 1]
lea ecx, [r8 + 2]
mov qword [rsp + 0x968], rdi
imul ecx, eax
mov eax, 0x30c30c31
imul ecx, r8d
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x15
sub ecx, edx
cmp ecx, 9
jne 0x14005a3b6
call fcn.1400d7b94
mov r8d, dword [0x1401ddd80]
cmp r8d, eax
jne 0x14005a3b6
dec r8d
mov dword [0x1401ddd80], r8d
mov dword [rbp + 0xe0], 0x180009
mov dword [rbp + 0xe4], 0xa000e
mov dword [rbp + 0xe8], 0x4c0008
mov dword [rbp + 0xec], 0xb0007
mov dword [rbp + 0xf0], 0x5001c
mov dword [rbp + 0xf4], 0x1000b
mov dword [rbp + 0xf8], 0x1c004b
mov dword [rbp + 0xfc], 0x80013
mov dword [rbp + 0x100], 0x410013
mov dword [rbp + 0x104], 1
mov dword [rbp + 0x108], 0x170054
mov dword [rbp + 0x10c], 0x150011
mov dword [rbp + 0x110], 0x18001f
mov dword [rbp + 0x114], 0xa0007
mov dword [rbp + 0x118], 0x70000
mov dword [rbp + 0x11c], 0x14001f
mov word [rbp + 0x120], bx
mov rdx, rbx
lea rsi, [0x1401d9410]
lea r9, [0x1401d8d91]
nop
movzx eax, byte [rdx + r9 - 1]
movzx ecx, word [rbp + rdx*2 + 0xe2]
add rdx, 4
xor ax, word [rbp + rdx*2 + 0xd8]
mov word [rsi + rdx*2 - 8], ax
movzx eax, byte [rdx + r9 - 4]
xor cx, ax
movzx eax, byte [rdx + r9 - 3]
xor ax, word [rbp + rdx*2 + 0xdc]
mov word [rsi + rdx*2 - 6], cx
mov word [rsi + rdx*2 - 4], ax
movzx eax, byte [rdx + r9 - 2]
xor ax, word [rbp + rdx*2 + 0xde]
mov word [rsi + rdx*2 - 2], ax
cmp rdx, 0x20
jl 0x14005a470
lea r9d, [r8 + 1]
mov eax, 0x2e8ba2e9
mov ecx, r9d
imul ecx, r8d
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0x16
sub ecx, edx
cmp ecx, 0x15
jne 0x14005a51d
test r8d, r8d
je 0x14005a510
dec r8d
je 0x14005a505
mov r8d, r9d
mov dword [0x1401ddd80], r9d
jmp 0x14005a51d
mov r8d, ebx
mov dword [0x1401ddd80], ebx
jmp 0x14005a51d
mov r8d, 2
mov dword [0x1401ddd80], r8d
imul r8d, r8d
mov eax, 0x2aaaaaab
mov byte [0x1401dfd1e], 1
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub r8d, eax
cmp r8d, 0x15
jne 0x14005a667
mov rdi, rbx
call fcn.1400d7b94
inc rdi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [rsp + rdi*8 + 0x18], xmm0
cmp rdi, 0x37
jb 0x14005a550
mov r9d, 0x36
lea r10d, [r9 + 1]
nop word [rax + rax]
mov edx, 0x36
cmp rbx, rdx
jge 0x14005a658
cmp r9, 4
jl 0x14005a62d
mov r8d, 0x32
lea rcx, [rbp + 0xc0]
sub r8, rbx
shr r8, 2
inc r8
lea rax, [r8*4]
sub rdx, rax
nop word [rax + rax]
movsd xmm0, qword [rcx + 0x10]
movsd xmm1, qword [rcx + 8]
comisd xmm0, xmm1
jbe 0x14005a5da
movsd qword [rcx + 0x10], xmm1
movsd qword [rcx + 8], xmm0
movsd xmm0, qword [rcx + 8]
movsd xmm1, qword [rcx]
comisd xmm0, xmm1
jbe 0x14005a5f2
movsd qword [rcx + 8], xmm1
movsd qword [rcx], xmm0
movsd xmm0, qword [rcx]
movsd xmm1, qword [rcx - 8]
comisd xmm0, xmm1
jbe 0x14005a60a
movsd qword [rcx], xmm1
movsd qword [rcx - 8], xmm0
movsd xmm0, qword [rcx - 8]
movsd xmm1, qword [rcx - 0x10]
comisd xmm0, xmm1
jbe 0x14005a624
movsd qword [rcx - 8], xmm1
movsd qword [rcx - 0x10], xmm0
sub rcx, 0x20
dec r8
jne 0x14005a5c0
cmp rdx, rbx
jle 0x14005a658
movsd xmm0, qword [rsp + rdx*8 + 0x20]
movsd xmm1, qword [rsp + rdx*8 + 0x18]
comisd xmm0, xmm1
jbe 0x14005a650
movsd qword [rsp + rdx*8 + 0x20], xmm1
movsd qword [rsp + rdx*8 + 0x18], xmm0
dec rdx
cmp rdx, rbx
jg 0x14005a632
inc rbx
dec r9
dec r10
jne 0x14005a580
mov rdi, qword [rsp + 0x968]
mov rax, rsi
mov rsi, qword [rsp + 0x960]
mov rcx, qword [rbp + 0x840]
xor rcx, rsp
call fcn.1400d72a0
mov rbx, qword [rsp + 0x970]
add rsp, 0x950
pop rbp
ret