Function at 0x14690
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
lea rbp, [0x00010000]
mov r15, rdx
mov r14, qword [rcx + 0x10]
mov r13, rcx
and qword [rax + 0x18], 0
mov eax, 0xfffffff
mov r9d, dword [r14 + 9]
mov r12, 0xfffffffffffff000
mov r8d, dword [r14 + 0xd]
mov rcx, rbp
inc r14
and r9, rax
and r8, rax
mov rax, qword [0x000192b8]
add r9, rbp
sub rcx, rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x20], rcx
jne 0x14787
xor r11d, r11d
test r8, r8
je 0x14aa5
mov edx, dword [rsp + 0xb4]
mov r15d, 0xb054110c
mov r10d, dword [rsp + 0xb0]
movzx eax, byte [r11 + r9]
inc r11
sub eax, 0x4fabeef4
add r10d, eax
add eax, edx
imul eax, eax, 0xb054110c
ror eax, 9
imul rax, r15
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov edx, ecx
imul edx, edx, 0x4929
rol edx, 0xc
ror ecx, 0xc
xor edx, ecx
add r10d, edx
cmp r11, r8
jb 0x1471f
mov r15, qword [rsp + 0xa8]
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r10d
jmp 0x14aa5
lea rax, [r9 + r8]
movsxd rdx, dword [0x0001003c]
mov qword [rsp + 0x38], rax
lea rax, [0x000100b0]
add rdx, rax
mov eax, r9d
sub eax, ebp
lea rsi, [rax + r8]
mov r8d, dword [rdx]
mov rdi, rsi
mov ebx, eax
mov r11d, eax
and r11, r12
add r8, rbp
sub rbx, r11
and rdi, r12
sub rsi, rdi
mov r12d, dword [rdx + 4]
add r12, r8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
jmp 0x147e6
mov eax, dword [r8]
cmp rax, r11
jae 0x147eb
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r12
jne 0x147d7
xor r10d, r10d
cmp r8, r12
je 0x14825
mov eax, dword [r8]
cmp rax, r11
jne 0x14825
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x14825
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x14825
inc r10
add rdx, 2
cmp r10, rcx
jne 0x1480c
mov r11d, dword [rsp + 0xb4]
lea r14, [0x00010000]
mov ebp, dword [rsp + 0xb0]
mov r13, qword [rsp + 0x20]
mov r15d, 0xb054110c
cmp r8, r12
je 0x14a09
mov eax, dword [r8]
cmp rax, rdi
ja 0x14a09
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r10, rax
jne 0x14888
add r8, rcx
cmp r8, r12
je 0x14a09
mov eax, dword [r8]
cmp rax, rdi
ja 0x14a09
xor r10d, r10d
jmp 0x1485b
mov eax, dword [r8]
cmp rax, rdi
jne 0x148a4
movzx eax, word [r8 + r10*2 + 8]
and eax, 0xfff
cmp rax, rsi
jae 0x14a09
mov rax, r10
mov ecx, 0xf000
inc r10
test word [r8 + rax*2 + 8], cx
je 0x14846
movzx edx, word [r8 + rax*2 + 8]
mov edi, edx
xor esi, esi
and edi, 0xfff
add edi, dword [r8]
add rdi, r14
mov rbx, rdi
sub rbx, r9
je 0x14934
movzx eax, byte [rsi + r9]
inc rsi
sub eax, 0x4fabeef4
add ebp, eax
add eax, r11d
imul eax, eax, 0xb054110c
ror eax, 9
imul rax, r15
mov qword [rsp + 0xb8], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xb8]
add ecx, eax
mov r11d, ecx
imul r11d, r11d, 0x4929
rol r11d, 0xc
ror ecx, 0xc
xor r11d, ecx
add ebp, r11d
cmp rsi, rbx
jb 0x148d5
mov dword [rsp + 0xb4], r11d
mov dword [rsp + 0xb0], ebp
shr edx, 0xc
cmp edx, 3
mov rax, qword [rdi]
mov qword [rsp + 0xb8], rax
je 0x14955
sub edx, 0xa
neg edx
sbb r9d, r9d
add r9d, 3
jmp 0x1495b
mov r9d, 2
mov rdx, r13
neg rdx
sub r9d, 2
je 0x14985
cmp r9d, 1
je 0x14973
or rdx, 0xffffffffffffffff
jmp 0x14991
add rax, rdx
mov qword [rsp + 0xb8], rax
mov edx, 8
jmp 0x14991
add dword [rsp + 0xb8], edx
mov edx, 4
xor r9d, r9d
test rdx, rdx
je 0x149f6
movzx eax, byte [rsp + r9 + 0xb8]
inc r9
sub eax, 0x4fabeef4
add ebp, eax
add eax, r11d
imul eax, eax, 0xb054110c
ror eax, 9
imul rax, r15
mov qword [rsp + 0x20], rax
mov ecx, dword [rsp + 0x20]
shr rax, 0x20
add ecx, eax
mov r11d, ecx
imul r11d, r11d, 0x4929
rol r11d, 0xc
ror ecx, 0xc
xor r11d, ecx
add ebp, r11d
cmp r9, rdx
jb 0x14999
mov dword [rsp + 0xb4], r11d
mov dword [rsp + 0xb0], ebp
lea r9, [rdx + rdi]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
jmp 0x14846
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x38]
xor edx, edx
sub rsi, r9
je 0x14a97
mov r15d, 0xb054110c
movzx eax, byte [rdx + r9]
inc rdx
sub eax, 0x4fabeef4
add ebp, eax
add eax, r11d
imul eax, eax, 0xb054110c
ror eax, 9
imul rax, r15
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov r11d, ecx
imul r11d, r11d, 0x4929
rol r11d, 0xc
ror ecx, 0xc
xor r11d, ecx
add ebp, r11d
cmp rdx, rsi
jb 0x14a30
mov r15, qword [rsp + 0xa8]
mov dword [rsp + 0xb4], r11d
mov dword [rsp + 0xb0], ebp
mov r12, 0xfffffffffffff000
lea rbp, [0x00010000]
mov esi, 0xfffffff
add qword [r13 + 0x10], 0x11
mov eax, dword [r14]
shr rax, 1
and rax, rsi
mov rax, qword [rax + rbp]
xor rax, qword [rsp + 0xb0]
je 0x14bd1
call fcn.00011784
mov rbx, rax
mov ecx, dword [0x00018c50]
lea r9, [r13 + 0x18]
lea rdi, [fcn.00018bfc]
mov r11d, 0xffff
and r9, 0xfffffffffffffff8
and rbx, r12
lea r10, [r9 + 0xfff]
mov qword [r13 + 0x10], rdi
mov rax, qword [0x0001d670]
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 0x14b0b
mov qword [0x0001d670], rax
mov qword [r15 + 0x98], rbx
movabs rax, 0x8000800080008001
mul r8
shr rdx, 0xf
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r15 + 0xb0], r8
mov qword [rsp + 0xa0], r11
jmp 0x14b7e
mov rax, qword [rsp + 0xa0]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x14b6f
mov qword [r13 + 0x10], rdi
movabs r8, 0xffffe84e524f0000
mov eax, dword [r14 + 4]
mov rdx, qword [r15 + 0xb0]
mov qword [r15 + 0x80], rdx
mov rcx, rdx
and rax, rsi
mov eax, dword [rax + rbp]
xor rcx, r8
shl rcx, 0x10
xor rcx, rax
mov eax, dword [0x0001c1c8]
xor rcx, rax
xor rcx, rdx
and qword [r15 + 0xb0], 0
mov qword [r15 + 0xa0], rcx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret