Function at 0x14003c41d
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x3f]
add rsp, 0xffffffffffffff18
xor r15d, r15d
mov rbx, rcx
mov dword [rbp + 0x67], r15d
call fcn.140033c10
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb0]
mov rcx, qword [0x1400db2b0]
mov rdx, rax
call fcn.140030fc4
mov rcx, rax
call fcn.140033a3c
mov ecx, dword [rbx + 0xb5c]
mov rsi, rax
neg ecx
add ecx, 0xfffffffc
neg ecx
cmp dword [rbx + 0xb58], ecx
je 0x14003c5ab
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14003c5ab
cmp byte [rcx + 0x310], r15b
je 0x14003c5ab
mov qword [rsp + 0x118], rdi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x120], r12
mov rcx, rbx
mov qword [rsp + 0xe0], r14
call fcn.14003ccc0
mov r9, qword [rbx + 0xb48]
lea rdx, [rbp - 9]
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 0x49]
xor r8d, r8d
call fcn.14004de60
mov rdx, rax
mov rcx, rdi
call fcn.140035c64
mov rcx, qword [rbp - 9]
mov r12d, eax
lea rax, [rbp - 1]
cmp rcx, rax
jne 0x14003c366
lea rdi, [rbp - 1]
xor eax, eax
mov ecx, 0x7fc26c83
xor ecx, 0x729ba4e0
xor ecx, 0xd59c853
rep stosb byte [rdi], al
jmp 0x14003c36b
call fcn.140083f00
mov r14, qword [rbp - 0x11]
cmp qword [rbx + 0xb48], r14
je 0x14003c46a
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.1400166e8
mov edx, 0x47b3d06e
xor edx, 0xa1001e
xor edx, 0x526823c6
add edx, 0x34ae5b26
test r14, r14
je 0x14003c423
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x18b08305
xor r9d, 0x17d4026f
add r9d, 0xa81adeb
sub r9d, 0x19e62e56
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 0x14003c402
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.140035edc
mov r13, qword [rsp + 0x128]
mov esi, eax
mov r15d, 0x370bcfba
xor r15d, 0x1320e89c
add r15d, 0x45a0c8a6
xor r15d, 0x69cbefcd
jmp 0x14003c46d
mov esi, r15d
mov r14, qword [rsp + 0xe0]
test r15b, 1
je 0x14003c4b6
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x14003c4b1
lea rdi, [rsp + 0x28]
xor eax, eax
mov ecx, 0x424b9b4
xor ecx, 0x81f451f
sub ecx, 0xc3bfc7b
rep stosb byte [rdi], al
jmp 0x14003c4b6
call fcn.140083f00
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.14003a0f0
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov edi, dword [rax]
sub edi, r12d
sub edi, dword [rbx + 0xb58]
call fcn.14003a0f0
cmp esi, edi
cmovle edi, esi
mov ecx, dword [rax]
mov eax, dword [rbx + 0xb5c]
sub ecx, edi
sub ecx, r12d
nop
add eax, 0x32d4b988
sub eax, 0x32d4b984
mov dword [rbx + 0xb58], ecx
cmp ecx, eax
jle 0x14003c50f
mov dword [rbx + 0xb58], eax
jmp 0x14003c561
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.14003a0f0
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, 4
cmp ecx, edx
jle 0x14003c561
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.14003a0f0
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, r12d
nop
add edx, 0x4415ef04
sub edx, 0x4415ef08
mov dword [rbx + 0xb58], edx
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x41]
mov r12, qword [rsp + 0x120]
cmp rcx, rax
jne 0x14003c59e
lea rdi, [rbp - 0x41]
xor eax, eax
mov ecx, 0x98dcaf9
add ecx, 0x474d0f0
xor ecx, 0x6780feae
xor ecx, 0x69826577
rep stosb byte [rdi], al
jmp 0x14003c5a3
call fcn.140083f00
mov rdi, qword [rsp + 0x118]
sub rsp, 0x4bfcbc31
add rsp, 0x4bfcbd19
pop r15
pop rsi
pop rbx
pop rbp
ret