Function at 0x14003ec3d
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.140037c20
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb8]
mov rcx, qword [0x1404a0b98]
mov rdx, rax
call fcn.14002f800
mov rcx, rax
call fcn.14003b820
mov ecx, dword [rbx + 0xb5c]
mov rsi, rax
neg ecx
add ecx, 0xfffffffc
neg ecx
cmp dword [rbx + 0xb58], ecx
je 0x14003edc7
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14003edc7
cmp byte [rcx + 0x310], r15b
je 0x14003edc7
mov qword [rsp + 0x118], rdi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x120], r12
mov rcx, rbx
mov qword [rsp + 0xe0], r14
call fcn.14003f620
mov r9, qword [rbx + 0xb48]
lea rdx, [rbp - 9]
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 0x49]
xor r8d, r8d
call fcn.140053470
mov rdx, rax
mov rcx, rdi
call fcn.140033e60
mov rcx, qword [rbp - 9]
mov r12d, eax
lea rax, [rbp - 1]
cmp rcx, rax
jne 0x14003eb8c
lea rdi, [rbp - 1]
xor eax, eax
mov ecx, 0x67aa8f86
sub ecx, 0x5ef72973
xor ecx, 0x25d96525
sub ecx, 0x2d6a0306
rep stosb byte [rdi], al
jmp 0x14003eb91
call fcn.1400966a0
mov r14, qword [rbp - 0x11]
cmp qword [rbx + 0xb48], r14
je 0x14003ec8a
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.14000ed40
mov edx, 0x220c261d
add edx, 0x4bbb2d1
add edx, 0x4af0867f
test r14, r14
je 0x14003ec43
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x5cfd89b2
add r9d, 0x17bb8f23
xor r9d, 0x50f68886
sub r9d, 0x244f8f54
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 0x14003ec22
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.140033fe0
mov r13, qword [rsp + 0x128]
mov esi, eax
mov r15d, 0x79f7ba6d
sub r15d, 0x1de8f412
sub r15d, 0x3f8c499b
sub r15d, 0x1c827cbf
jmp 0x14003ec8d
mov esi, r15d
mov r14, qword [rsp + 0xe0]
test r15b, 1
je 0x14003ecd6
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x14003ecd1
lea rdi, [rsp + 0x28]
xor eax, eax
mov ecx, 0x2042fc39
add ecx, 0x7b43d0c
sub ecx, 0x27f73915
rep stosb byte [rdi], al
jmp 0x14003ecd6
call fcn.1400966a0
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140038c30
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov edi, dword [rax]
sub edi, r12d
sub edi, dword [rbx + 0xb58]
call fcn.140038c30
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 0x14003ed27
mov dword [rbx + 0xb58], eax
jmp 0x14003ed7d
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140038c30
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
nop
sub edx, 0x449dfba4
add edx, 0x449dfba0
cmp ecx, edx
jle 0x14003ed7d
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140038c30
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, r12d
neg edx
sub edx, 0xfffffffc
neg edx
mov dword [rbx + 0xb58], edx
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x41]
mov r12, qword [rsp + 0x120]
cmp rcx, rax
jne 0x14003edba
lea rdi, [rbp - 0x41]
xor eax, eax
mov ecx, 0x6f4013b6
sub ecx, 0x145468b7
xor ecx, 0x69dd73a3
sub ecx, 0x3336d92c
rep stosb byte [rdi], al
jmp 0x14003edbf
call fcn.1400966a0
mov rdi, qword [rsp + 0x118]
sub rsp, 0x2a837691
add rsp, 0x2a837779
pop r15
pop rsi
pop rbx
pop rbp
ret