Function at 0x140052a20
Capabilities:
Encode data using xor

Disassembly:
xchg r14, rbx
mov qword [rsp + 8], r14
xchg rbx, r14
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp - 0x40], 0x5099dc6a
mov word [rsp + 0x18], r8w
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
push r15
mov dword [rsp - 0x40], 0x2ff4c0d
neg rsp
sub rsp, 0xffffffffffffffa0
neg rsp
mov r12, qword [rdx + 0x38]
mov dword [rsp - 0x30], 0x667e424b
xchg rdx, r15
mov rdi, r15
xchg rdx, r15
xchg rbx, rcx
mov r15, rbx
xchg rbx, rcx
neg r12
add r12, 0xfffffffffffffffe
neg r12
mov eax, 0x4035ca4c
sub eax, 0x2bf5b091
add eax, 0x4f07d296
xor eax, 0x6347ec53
nop
movabs rsi, 0xffffffff4c105580
add rsi, 0x26073027
sub rsi, 0x32510e20
add rsi, 0x15eb3200
add rsi, 0x7fffffff
add rsi, 0x2a4e5679
mul r12
xchg r12, r12
cmovo rax, rsi
xchg rcx, rbp
mov rbp, rax
xchg rcx, rbp
call fcn.140097bc0
mov r13, qword [rdi + 0x38]
mov rcx, rcx
lea rcx, [rsp + 0x20]
mov rbp, qword [rdi]
xorps xmm0, xmm0
mov dword [rsp - 0x20], ebx
mov r14, rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x20], rax
xchg rsi, rsi
lea rdx, [r13 + 1]
xchg rsp, r10
movups xmmword [r10 + 0x28], xmm0
xchg r10, rsp
xchg rsp, rdi
movups xmmword [rdi + 0x38], xmm0
xchg rsp, rdi
xchg rsp, rcx
movups xmmword [rcx + 0x48], xmm0
xchg rcx, rsp
call fcn.140017bec
mov rcx, rcx
mov ebx, 0xb7ff11f
add ebx, 0x4fdd254d
xor ebx, 0x7f98e887
xor ebx, 0x7946cf53
xchg rdi, r8
mov rdi, rax
xchg r8, rdi
mov ecx, ebx
mov r9d, 0x1b965e30
xor r9d, 0x5d4e15ba
xor r9d, 0x2d5e6372
xor r9d, 0x6b862807
test r13, r13
je 0x140052beb
mov dword [rsp - 0x24], 0x79c3a1ca
mov rdx, rax
sub rbp, rax
xchg r13, rdx
mov rdi, rdx
xchg r13, rdx
nop dword [rax]
mov dword [rsp - 0x34], esi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
mov dword [rsp - 0x28], 0x6bff79ca
ror ecx, 4
ror ecx, 1
ror ecx, 2
ror ecx, 1
xor ax, word [rdx + rbp - 2]
mov word [rdx - 2], ax
mov dword [rsp - 0x3c], 0x249266e6
sub rdi, 1
jne 0x140052bb3
xor ebp, ebp
xchg rdx, r9
mov r9, r12
xchg rdx, r9
mov word [r8 + r13*2], bp
xchg r14, rcx
mov r14, rcx
xchg r14, rcx
mov r8, qword [rsp + 0x20]
call fcn.140098d50
xchg rbp, rbp
xchg r11, rcx
mov r11, qword [rsp + 0x20]
xchg rcx, r11
lea rax, [rsp + 0x28]
cmp rcx, rax
mov dword [rsp - 0x18], esp
jne 0x140052c5d
lea rdi, [rsp + 0x28]
xor eax, eax
mov dword [rsp - 0x14], ebp
mov ecx, 0x274998ac
add ecx, 0x216a6b3a
xor ecx, 0x3fabb7aa
sub ecx, 0x6e33bd30
sub ecx, 0x8ebf6ec
rep stosb byte [rdi], al
jmp 0x140052c62
call fcn.140097d00
movzx eax, word [rsp + 0xa0]
xorps xmm0, xmm0
mov dword [rsp - 0x2c], 0x18d49dd8
mov word [r14 + r12*2 - 4], ax
lea rax, [r15 + 8]
mov word [r14 + r12*2 - 2], bp
mov dword [rsp - 0x24], 0x255e3123
xchg r8, rax
mov qword [r15], r8
xchg r8, rax
xchg r14, rax
movups xmmword [r14], xmm0
xchg r14, rax
xchg r15, rax
movups xmmword [r15 + 0x10], xmm0
xchg r15, rax
xchg r15, rax
movups xmmword [r15 + 0x20], xmm0
xchg r15, rax
inc rsi
cmp word [r14 + rsi*2], bp
jne 0x140052cae
mov dword [rsp - 0x3c], edi
xchg r8, rdx
mov r8, rsi
xchg r8, rdx
xchg rsi, r13
mov qword [r15 + 0x38], r13
xchg rsi, r13
xchg r15, rdi
mov rcx, rdi
xchg r15, rdi
call fcn.140017bec
mov dword [rsp - 0x18], edi
cmp qword [r15 + 0x38], rbp
jbe 0x140052d4a
mov rdx, r14
mov edi, 0x57501963
xor edi, 0x6189e3ce
add edi, 0x24550790
xor edi, 0x38cb9613
sub edi, 0x63e4932f
sub rdx, rax
xchg rbp, rbp
nop dword [rax + rax]
movzx ecx, bx
lea rax, [rax + 2]
xchg r14, r14
and cx, di
ror ebx, 1
ror ebx, 3
ror ebx, 3
ror ebx, 1
xor cx, word [rdx + rax - 2]
inc rbp
xchg r14, r14
mov word [rax - 2], cx
cmp rbp, qword [r15 + 0x38]
jb 0x140052d1a
xchg r13, r14
mov rcx, r13
xchg r13, r14
call fcn.140097bd0
lea r11, [rsp + 0x60]
mov r12, r12
xchg r11, rax
mov r11, r15
xchg r11, rax
xchg rdi, rbx
mov rdi, qword [r11 + 0x30]
xchg rdi, rbx
mov rbp, qword [r11 + 0x38]
mov rbx, rbx
xchg r12, rsi
mov r12, qword [r11 + 0x48]
xchg rsi, r12
xchg rsp, r9
mov r9, r11
xchg rsp, r9
nop
add rsp, 8
mov r15, qword [rsp - 8]
pop r14
xchg rsp, rsp
pop r13
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
ret