Function at 0x140051fe0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
xchg rbp, r14
mov qword [rsp + 0x18], r14
xchg rbp, r14
xchg r15, rsi
mov qword [rsp + 0x20], r15
xchg rsi, r15
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
xchg r9, r9
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
sub rsp, 0x20
nop
movabs rsi, 0xffffffff016ebdb9
add rsi, 0x1a928c1f
add rsi, 0x4d7aa8cf
add rsi, 0x7fffffff
add rsi, 0x16840d59
xchg r8, r12
mov r8, r12
xchg r8, r12
xchg rbx, rdx
mov rdx, rsi
xchg rdx, rbx
xchg rcx, rdx
mov r15, rcx
xchg rdx, rcx
xchg r13, rcx
mov rcx, r13
xchg rcx, r13
nop
inc rbx
cmp word [r8 + rbx*2], 0
xchg r13, r13
jne 0x140052075
mov rax, qword [rdx + 0x38]
add rax, rbx
mov dword [rsp - 0x20], ebp
xchg r12, rax
mov qword [rsp + 0x50], r12
xchg r12, rax
lea rcx, [rax + 1]
mov dword [rsp - 0x14], 0xfa85b36
mov eax, 0x55758098
sub eax, 0x4c4892b1
add eax, 0x4b818c9b
sub eax, 0x1b622b13
sub eax, 0x394c4f6d
mul rcx
mov rdx, rdx
cmovo rax, rsi
xchg rcx, r13
mov r13, rax
xchg rcx, r13
call fcn.140095da0
mov dword [rsp - 0x3c], 0x6f89c33e
xor ebp, ebp
mov edi, 0x320369da
sub edi, 0x28991c57
add edi, 0x69230951
add edi, 0xb55b60
sub edi, 0x5cc738ca
xchg rcx, rax
mov r14, rcx
xchg rcx, rax
mov eax, edi
mov r8d, ebp
mov rbp, rbp
mov r9d, 0x1c6510e3
add r9d, 0x15087c85
add r9d, 0x3dcc611f
sub r9d, 0x53c74cec
xor r9d, 0x1b72a164
cmp qword [r15 + 0x38], rbp
xchg rsi, rsi
jbe 0x140052172
nop word [rax + rax]
mov rcx, qword [r15]
movzx edx, ax
mov r14, r14
and dx, r9w
ror eax, 1
ror eax, 7
xor dx, word [rcx + r8*2]
mov r13, r13
mov word [r14 + r8*2], dx
inc r8
cmp r8, qword [r15 + 0x38]
jb 0x140052143
mov rsi, rsi
xchg r9, rdx
mov r9, rbp
xchg rdx, r9
test rbx, rbx
mov r9, r9
je 0x1400521b2
nop dword [rax + rax]
mov rcx, qword [r15 + 0x38]
xchg r15, r15
movzx eax, word [r12 + rdx*2]
add rcx, rdx
inc rdx
xchg r9, r9
mov word [r14 + rcx*2], ax
cmp rdx, rbx
jb 0x14005218f
xchg rcx, rax
mov rcx, qword [rsp + 0x50]
xchg rcx, rax
xorps xmm0, xmm0
mov word [r14 + rax*2], bp
lea rax, [r13 + 8]
xchg r11, r11
mov qword [r13], rax
xchg r8, rax
movups xmmword [r8], xmm0
xchg r8, rax
xchg rsp, rax
movups xmmword [rsp + 0x10], xmm0
xchg rsp, rax
xchg r9, rax
movups xmmword [r9 + 0x20], xmm0
xchg r9, rax
nop dword [rax]
inc rsi
mov r14, r14
cmp word [r14 + rsi*2], bp
jne 0x1400521ef
xchg rbx, rdx
mov rbx, rsi
xchg rdx, rbx
mov qword [r13 + 0x38], rsi
mov dword [rsp - 0x38], ebx
xchg rcx, r13
mov r13, rcx
xchg rcx, r13
call fcn.14000ed40
xchg rsp, rsp
cmp qword [r13 + 0x38], rbp
jbe 0x140052292
xchg r14, rbp
mov rdx, rbp
xchg r14, rbp
mov r8d, 0x1b1f99ed
add r8d, 0x564b5b40
sub r8d, 0x2fd1e33d
xor r8d, 0x4199110f
sub rdx, rax
mov dword [rsp - 0xc], 0x27f47364
nop dword [rax + rax]
movzx ecx, di
lea rax, [rax + 2]
and cx, r8w
mov dword [rsp - 0x34], 0x1c079cc4
ror edi, 4
ror edi, 4
xor cx, word [rdx + rax - 2]
inc rbp
mov r9, r9
mov word [rax - 2], cx
cmp rbp, qword [r13 + 0x38]
jb 0x140052260
xchg r14, rcx
mov r14, rcx
xchg r14, rcx
call fcn.140095db0
xchg rbx, r9
mov r9, qword [rsp + 0x58]
xchg r9, rbx
xchg rbx, rax
mov rbx, r13
xchg rbx, rax
xchg rbp, rsi
mov rsi, qword [rsp + 0x60]
xchg rsi, rbp
xchg rsi, r9
mov r9, qword [rsp + 0x68]
xchg r9, rsi
nop
add rsp, 0x3ff2e72d
sub rsp, 0x3ff2e70d
nop
add rsp, 8
mov r15, qword [rsp - 8]
pop r14
mov r9, r9
pop r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
pop rdi
ret