Function at 0x1379c
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r12, 0xfffffffffffff000
mov r14, rdx
mov r13, rcx
mov eax, 0xfffffff
mov r15, qword [rcx + 0x10]
lea r10, [0x00010000]
mov rcx, r10
and qword [r11 + 0x18], 0
mov r8d, dword [r15 + 9]
mov r9d, dword [r15 + 1]
shr r9, 1
and r8, rax
and r9, rax
add r9, r10
mov rax, qword [0x000192b8]
sub rcx, rax
mov qword [rsp + 0x20], rcx
jne 0x1387c
xor r10d, r10d
test r8, r8
je 0x13b9f
mov edx, dword [r11 + 0x18]
mov ecx, dword [r11 + 0x1c]
movzx eax, byte [r10 + r9]
inc r10
add eax, 0x2798010a
add edx, eax
add eax, ecx
imul rax, rax, 0x2798010a
mov qword [rsp + 0x90], rax
mov ecx, dword [rsp + 0x90]
shr rax, 0x20
add ecx, eax
mov eax, ecx
imul eax, eax, 0xc548
rol eax, 0xa
ror ecx, 0xa
xor eax, ecx
mov ecx, eax
imul ecx, ecx, 0xc548
rol ecx, 0xa
ror eax, 0xa
xor ecx, eax
add edx, ecx
cmp r10, r8
jb 0x13815
mov dword [rsp + 0xa4], ecx
mov dword [rsp + 0xa0], edx
jmp 0x13b9f
movsxd rdx, dword [0x0001003c]
lea rax, [r9 + r8]
mov qword [rsp + 0x38], rax
lea rax, [0x000100b0]
add rdx, rax
mov ebp, dword [rdx + 4]
mov eax, r9d
sub eax, r10d
mov r11d, eax
lea rsi, [rax + r8]
mov ebx, eax
mov rdi, rsi
mov r8d, dword [rdx]
and r11, r12
and rdi, r12
add r8, r10
sub rbx, r11
sub rsi, rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
add rbp, r8
jmp 0x138db
mov eax, dword [r8]
cmp rax, r11
jae 0x138e0
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, rbp
jne 0x138cc
xor r10d, r10d
cmp r8, rbp
je 0x1391a
mov eax, dword [r8]
cmp rax, r11
jne 0x1391a
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x1391a
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x1391a
inc r10
add rdx, 2
cmp r10, rcx
jne 0x13901
mov r11d, dword [rsp + 0xa4]
mov r12d, dword [rsp + 0xa0]
mov r14, qword [rsp + 0x20]
lea r13, [0x00010000]
cmp r8, rbp
je 0x13b11
mov eax, dword [r8]
cmp rax, rdi
ja 0x13b11
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r10, rax
jne 0x13978
add r8, rcx
cmp r8, rbp
je 0x13b11
mov eax, dword [r8]
cmp rax, rdi
ja 0x13b11
xor r10d, r10d
jmp 0x1394b
mov eax, dword [r8]
cmp rax, rdi
jne 0x13994
movzx eax, word [r8 + r10*2 + 8]
and eax, 0xfff
cmp rax, rsi
jae 0x13b11
mov rax, r10
mov ecx, 0xf000
inc r10
test word [r8 + rax*2 + 8], cx
je 0x13936
xor esi, esi
movzx edx, word [r8 + rax*2 + 8]
mov ebx, edx
and ebx, 0xfff
add ebx, dword [r8]
add rbx, r13
mov rdi, rbx
sub rdi, r9
je 0x13a30
movzx eax, byte [rsi + r9]
inc rsi
add eax, 0x2798010a
add r12d, eax
add eax, r11d
imul rax, rax, 0x2798010a
mov qword [rsp + 0xa8], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa8]
add ecx, eax
mov eax, ecx
imul eax, eax, 0xc548
rol eax, 0xa
ror ecx, 0xa
xor eax, ecx
mov r11d, eax
imul r11d, r11d, 0xc548
rol r11d, 0xa
ror eax, 0xa
xor r11d, eax
add r12d, r11d
cmp rsi, rdi
jb 0x139c5
mov dword [rsp + 0xa4], r11d
mov dword [rsp + 0xa0], r12d
mov rax, qword [rbx]
shr edx, 0xc
mov qword [rsp + 0xa8], rax
cmp edx, 3
je 0x13a51
sub edx, 0xa
neg edx
sbb r9d, r9d
add r9d, 3
jmp 0x13a57
mov r9d, 2
mov rdx, r14
neg rdx
sub r9d, 2
je 0x13a81
cmp r9d, 1
je 0x13a6f
or rdx, 0xffffffffffffffff
jmp 0x13a8d
add rax, rdx
mov edx, 8
mov qword [rsp + 0xa8], rax
jmp 0x13a8d
add dword [rsp + 0xa8], edx
mov edx, 4
xor r9d, r9d
test rdx, rdx
je 0x13afe
movzx eax, byte [rsp + r9 + 0xa8]
inc r9
add eax, 0x2798010a
add r12d, eax
add eax, r11d
imul rax, rax, 0x2798010a
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
add ecx, eax
mov eax, ecx
imul eax, eax, 0xc548
rol eax, 0xa
ror ecx, 0xa
xor eax, ecx
mov r11d, eax
imul r11d, r11d, 0xc548
rol r11d, 0xa
ror eax, 0xa
xor r11d, eax
add r12d, r11d
cmp r9, rdx
jb 0x13a95
mov dword [rsp + 0xa4], r11d
mov dword [rsp + 0xa0], r12d
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
lea r9, [rdx + rbx]
jmp 0x13936
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
xor edx, edx
mov rsi, qword [rsp + 0x38]
sub rsi, r9
je 0x13b98
movzx eax, byte [rdx + r9]
inc rdx
add eax, 0x2798010a
add r12d, eax
add eax, r11d
imul rax, rax, 0x2798010a
mov qword [rsp + 0x90], rax
shr rax, 0x20
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov eax, ecx
imul eax, eax, 0xc548
rol eax, 0xa
ror ecx, 0xa
xor eax, ecx
mov r11d, eax
imul r11d, r11d, 0xc548
rol r11d, 0xa
ror eax, 0xa
xor r11d, eax
add r12d, r11d
cmp rdx, rsi
jb 0x13b2d
mov dword [rsp + 0xa4], r11d
mov dword [rsp + 0xa0], r12d
mov r12, 0xfffffffffffff000
add qword [r13 + 0x10], 0x11
mov ebp, 0xfffffff
mov eax, dword [r15 + 5]
lea rsi, [0x00010000]
and rax, rbp
mov rax, qword [rax + rsi]
xor rax, qword [rsp + 0xa0]
je 0x13cd0
call fcn.00011784
lea r9, [r13 + 0x18]
lea rdi, [fcn.00018bfc]
mov rbx, rax
mov ecx, dword [0x00018c50]
mov qword [r13 + 0x10], rdi
mov r11d, 0xffff
mov rax, qword [0x0001d670]
and r9, 0xfffffffffffffff8
and rbx, r12
lea r10, [r9 + 0xfff]
and r10, r12
sub r10, rcx
xor r8d, r8d
imul rax, rax, 0x343fd
shl r8, 0x10
shr r11, 0x10
add rax, 0x269ec3
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r11, r11
jne 0x13c0a
mov qword [0x0001d670], rax
mov qword [r14 + 0x98], rbx
movabs rax, 0x8000800080008001
mul r8
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r14 + 0xb0], r8
mov qword [rsp + 0x90], r11
jmp 0x13c7d
mov rax, qword [rsp + 0x90]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x13c6e
mov qword [r13 + 0x10], rdi
mov eax, dword [r15 + 0xd]
mov rdx, qword [r14 + 0xb0]
and rax, rbp
movabs r8, 0x26709de40000
mov qword [r14 + 0x80], rdx
mov eax, dword [rax + rsi]
mov rcx, rdx
xor rcx, r8
shl rcx, 0x10
xor rcx, rax
mov eax, dword [0x0001c1bc]
xor rcx, rax
xor rcx, rdx
and qword [r14 + 0xb0], 0
mov qword [r14 + 0xa0], rcx
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret