Function at 0x14004973c
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
xor r15d, r15d
mov rbx, rcx
mov dword [rbp + 0x67], r15d
call fcn.1400382c0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb8]
mov rcx, qword [0x1404d0f20]
mov rdx, rax
call fcn.14003f33c
mov rcx, rax
call fcn.140037e14
mov ecx, dword [rbx + 0xb5c]
mov rsi, rax
sub ecx, 0xfffffffc
cmp dword [rbx + 0xb58], ecx
je 0x1400498b5
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x1400498b5
cmp byte [rcx + 0x310], r15b
je 0x1400498b5
mov qword [rsp + 0x118], rdi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x120], r12
mov rcx, rbx
mov qword [rsp + 0xe0], r14
call fcn.140049ff0
mov r9, qword [rbx + 0xb48]
lea rdx, [rbp - 9]
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 0x49]
xor r8d, r8d
call fcn.140058810
mov rdx, rax
mov rcx, rdi
call fcn.140032ea4
mov rcx, qword [rbp - 9]
mov r12d, eax
lea rax, [rbp - 1]
cmp rcx, rax
jne 0x140049692
lea rdi, [rbp - 1]
xor eax, eax
mov ecx, 0x37596a10
sub ecx, 0x2783aa7
sub ecx, 0x34e12f39
rep stosb byte [rdi], al
jmp 0x140049697
call fcn.1400bb460
mov r14, qword [rbp - 0x11]
cmp qword [rbx + 0xb48], r14
je 0x140049782
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.140016fc0
mov edx, 0xedbec99
xor edx, 0x5631e27b
sub edx, 0x554291c8
test r14, r14
je 0x140049742
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x77c41d56
sub r9d, 0xf7907ad
sub r9d, 0x684b14aa
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 0x140049721
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.140033120
mov r13, qword [rsp + 0x128]
mov esi, eax
mov r15d, 0x7d23190
add r15d, 0xcdb4810
xor r15d, 0x14ad79a1
jmp 0x140049785
mov esi, r15d
mov r14, qword [rsp + 0xe0]
test r15b, 1
je 0x1400497ce
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x1400497c9
lea rdi, [rsp + 0x28]
xor eax, eax
mov ecx, 0x640b7a2a
sub ecx, 0x33ce4da1
sub ecx, 0x303d2c59
rep stosb byte [rdi], al
jmp 0x1400497ce
call fcn.1400bb460
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.14004e8d0
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov edi, dword [rax]
sub edi, r12d
sub edi, dword [rbx + 0xb58]
call fcn.14004e8d0
cmp esi, edi
cmovle edi, esi
mov ecx, dword [rax]
mov eax, dword [rbx + 0xb5c]
sub ecx, edi
sub ecx, r12d
add eax, 4
mov dword [rbx + 0xb58], ecx
cmp ecx, eax
jle 0x14004981f
mov dword [rbx + 0xb58], eax
jmp 0x140049871
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.14004e8d0
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
nop
sub edx, 0x1e29b32c
add edx, 0x1e29b328
cmp ecx, edx
jle 0x140049871
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.14004e8d0
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 0x1400498a8
lea rdi, [rbp - 0x41]
xor eax, eax
mov ecx, 0x1db1917e
sub ecx, 0x970d7f9
sub ecx, 0x1440b955
rep stosb byte [rdi], al
jmp 0x1400498ad
call fcn.1400bb460
mov rdi, qword [rsp + 0x118]
neg rsp
add rsp, 0xffffffffffffff18
neg rsp
pop r15
pop rsi
pop rbx
pop rbp
ret