Function at 0x14004984d
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0x7ca945fa
add rsp, 0x7ca94512
xor r15d, r15d
mov rbx, rcx
mov dword [rbp + 0x67], r15d
call fcn.1400438b0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb0]
mov rcx, qword [0x1400eea70]
mov rdx, rax
call fcn.14003c478
mov rcx, rax
call fcn.140046794
mov ecx, dword [rbx + 0xb5c]
mov rsi, rax
nop
sub ecx, 0x787c16e5
add ecx, 0x787c16e9
cmp dword [rbx + 0xb58], ecx
je 0x1400499d7
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1400499d7
cmp byte [rcx + 0x310], r15b
je 0x1400499d7
mov qword [rsp + 0x118], rdi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x120], r12
mov rcx, rbx
mov qword [rsp + 0xe0], r14
call fcn.14004a130
mov r9, qword [rbx + 0xb48]
lea rdx, [rbp - 9]
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 0x49]
xor r8d, r8d
call fcn.14005c830
mov rdx, rax
mov rcx, rdi
call fcn.140040194
mov rcx, qword [rbp - 9]
mov r12d, eax
lea rax, [rbp - 1]
cmp rcx, rax
jne 0x1400497a9
lea rdi, [rbp - 1]
xor eax, eax
mov ecx, 0x7d8632d
add ecx, 0x3f34c90
add ecx, 0x3069dcc7
xor ecx, 0x3c358cb4
rep stosb byte [rdi], al
jmp 0x1400497ae
call fcn.140092c10
mov r14, qword [rbp - 0x11]
cmp qword [rbx + 0xb48], r14
je 0x1400498a0
xorps xmm0, xmm0
mov qword [rsp + 0x128], r13
mov r13, qword [rsi + 0x50]
lea rax, [rsp + 0x28]
mov rsi, qword [rbp - 0x49]
lea rdx, [r14 + 1]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm0
call fcn.140016760
mov edx, 0x5be1439b
sub edx, 0x89c2756
xor edx, 0x7e51248e
test r14, r14
je 0x140049860
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x4785a548
sub r9d, 0x3d77709f
add r9d, 0x22d6331c
sub r9d, 0x2ce466c6
nop word [rax + rax]
movzx ecx, dx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xor cx, word [rsi + rdi - 2]
mov word [rdi - 2], cx
sub r8, 1
jne 0x14004983f
mov word [rax + r14*2], r15w
mov rcx, r13
mov rdx, qword [rbx + 0xb48]
mov rax, qword [rsp + 0x20]
lea rdx, [rax + rdx*2]
call fcn.140040428
mov r13, qword [rsp + 0x128]
mov esi, eax
mov r15d, 0x71238d43
sub r15d, 0x41190925
sub r15d, 0x300a841d
jmp 0x1400498a3
mov esi, r15d
mov r14, qword [rsp + 0xe0]
test r15b, 1
je 0x1400498f2
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x1400498ed
lea rdi, [rsp + 0x28]
xor eax, eax
mov ecx, 0x1f07ea5b
xor ecx, 0x2c05f8f3
add ecx, 0x3f09d89
xor ecx, 0x36f2b001
rep stosb byte [rdi], al
jmp 0x1400498f2
call fcn.140092c10
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1400448a0
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov edi, dword [rax]
sub edi, r12d
sub edi, dword [rbx + 0xb58]
call fcn.1400448a0
cmp esi, edi
cmovle edi, esi
mov ecx, dword [rax]
mov eax, dword [rbx + 0xb5c]
sub ecx, edi
sub ecx, r12d
nop
add eax, 0x2fbb6e77
sub eax, 0x2fbb6e73
mov dword [rbx + 0xb58], ecx
cmp ecx, eax
jle 0x14004994b
mov dword [rbx + 0xb58], eax
jmp 0x140049993
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1400448a0
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, 4
cmp ecx, edx
jle 0x140049993
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1400448a0
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, r12d
add edx, 0xfffffffc
mov dword [rbx + 0xb58], edx
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x41]
mov r12, qword [rsp + 0x120]
cmp rcx, rax
jne 0x1400499ca
lea rdi, [rbp - 0x41]
xor eax, eax
mov ecx, 0x3a01547f
sub ecx, 0xb630f58
xor ecx, 0x2e9e4517
rep stosb byte [rdi], al
jmp 0x1400499cf
call fcn.140092c10
mov rdi, qword [rsp + 0x118]
neg rsp
add rsp, 0xffffffffffffff18
neg rsp
pop r15
pop rsi
pop rbx
pop rbp
ret