Function at 0x100014544
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
mov r14, rcx
mov rcx, qword [rcx + 0x10]
lea rbp, [rcx + 1]
mov qword [rsp + 0x20], rbp
mov r15, rdx
mov rdx, rbp
mov eax, 0xb237c036
mov r13, 0xfffffffffffff000
lea r11, [0x100000000]
mov eax, 0xfffffff
mov r8d, dword [rbp + 8]
mov rcx, r11
mov r10d, dword [rbp + 4]
and qword [rsp + 0xb0], 0
and r10, rax
and r8, rax
add r10, r11
mov rax, qword [0x100033ac0]
sub rcx, rax
mov qword [rsp + 0x28], rcx
jne 0x100014633
xor r11d, r11d
test r8, r8
je 0x100014922
mov edx, dword [rsp + 0xb4]
mov r9d, dword [rsp + 0xb0]
mov r12d, 0x80c4585
movzx eax, byte [r11 + r10]
inc r11
add eax, r12d
add r9d, eax
add eax, edx
imul rax, rax, 0x80c4585
mov qword [rsp + 0xa0], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov edx, ecx
imul edx, edx, 0x3717
rol edx, 5
ror ecx, 5
xor edx, ecx
add r9d, edx
cmp r11, r8
jb 0x1000145db
mov dword [rsp + 0xb4], edx
mov dword [rsp + 0xb0], r9d
jmp 0x100014922
movsxd rdx, dword [0x10000003c]
lea rax, [r10 + r8]
mov qword [rsp + 0x40], rax
lea rax, [0x1000000b0]
add rdx, rax
mov eax, r10d
sub eax, r11d
mov r9d, eax
and r9, r13
lea rbp, [rax + r8]
mov ebx, eax
mov r8d, dword [rdx]
add r8, r11
mov rdi, rbp
sub rbx, r9
and rdi, r13
sub rbp, rdi
mov r13d, dword [rdx + 4]
mov qword [rsp + 0x30], rdi
add r13, r8
mov qword [rsp + 0x38], rbp
jmp 0x100014693
mov eax, dword [r8]
cmp rax, r9
jae 0x100014698
mov eax, dword [r8 + 4]
add r8, rax
cmp r8, r13
jne 0x100014684
xor r11d, r11d
cmp r8, r13
je 0x1000146d2
mov eax, dword [r8]
cmp rax, r9
jne 0x1000146d2
mov ecx, dword [r8 + 4]
sub rcx, 8
shr rcx, 1
je 0x1000146d2
lea rdx, [r8 + 8]
movzx eax, word [rdx]
and eax, 0xfff
cmp rax, rbx
jae 0x1000146d2
inc r11
add rdx, 2
cmp r11, rcx
jne 0x1000146b9
mov esi, dword [rsp + 0xb0]
mov r15, qword [rsp + 0x28]
mov r12d, 0x80c4585
mov r9d, dword [rsp + 0xb4]
lea r14, [0x100000000]
cmp r8, r13
je 0x1000148a3
mov eax, dword [r8]
cmp rax, rdi
ja 0x1000148a3
mov ecx, dword [r8 + 4]
lea rax, [rcx - 8]
shr rax, 1
cmp r11, rax
jne 0x100014735
add r8, rcx
cmp r8, r13
je 0x1000148a3
mov eax, dword [r8]
cmp rax, rdi
ja 0x1000148a3
xor r11d, r11d
jmp 0x100014708
mov eax, dword [r8]
cmp rax, rdi
jne 0x100014751
movzx eax, word [r8 + r11*2 + 8]
and eax, 0xfff
cmp rax, rbp
jae 0x1000148a3
mov rax, r11
mov ecx, 0xf000
inc r11
test word [r8 + rax*2 + 8], cx
je 0x1000146f3
xor edi, edi
movzx edx, word [r8 + rax*2 + 8]
mov ebp, edx
and ebp, 0xfff
add ebp, dword [r8]
add rbp, r14
mov rbx, rbp
sub rbx, r10
je 0x1000147d9
movzx eax, byte [rdi + r10]
inc rdi
add eax, r12d
add esi, eax
add eax, r9d
imul rax, rax, 0x80c4585
mov qword [rsp + 0xb8], rax
shr rax, 0x20
mov ecx, dword [rsp + 0xb8]
add ecx, eax
mov r9d, ecx
imul r9d, r9d, 0x3717
rol r9d, 5
ror ecx, 5
xor r9d, ecx
add esi, r9d
cmp rdi, rbx
jb 0x100014782
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb0], esi
shr edx, 0xc
mov rax, qword [rbp]
mov qword [rsp + 0xb8], rax
cmp edx, 3
je 0x1000147f9
sub edx, 0xa
neg edx
sbb edx, edx
add edx, 3
jmp 0x1000147fe
mov edx, 2
mov r10, r15
neg r10
sub edx, 2
je 0x100014826
cmp edx, 1
je 0x100014814
or rdx, 0xffffffffffffffff
jmp 0x100014833
add rax, r10
mov qword [rsp + 0xb8], rax
mov edx, 8
jmp 0x100014833
add dword [rsp + 0xb8], r10d
mov edx, 4
xor r10d, r10d
test rdx, rdx
je 0x100014890
movzx eax, byte [rsp + r10 + 0xb8]
inc r10
add eax, r12d
add esi, eax
add eax, r9d
imul rax, rax, 0x80c4585
mov qword [rsp + 0x28], rax
mov ecx, dword [rsp + 0x28]
shr rax, 0x20
add ecx, eax
mov r9d, ecx
imul r9d, r9d, 0x3717
rol r9d, 5
ror ecx, 5
xor r9d, ecx
add esi, r9d
cmp r10, rdx
jb 0x10001483b
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb0], esi
lea r10, [rdx + rbp]
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
jmp 0x1000146f3
mov r15, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x40]
xor edx, edx
sub rbp, r10
je 0x100014916
movzx eax, byte [rdx + r10]
inc rdx
add eax, r12d
add esi, eax
add eax, r9d
imul rax, rax, 0x80c4585
mov qword [rsp + 0xa0], rax
mov ecx, dword [rsp + 0xa0]
shr rax, 0x20
add ecx, eax
mov r9d, ecx
imul r9d, r9d, 0x3717
rol r9d, 5
ror ecx, 5
xor r9d, ecx
add esi, r9d
cmp rdx, rbp
jb 0x1000148bf
mov dword [rsp + 0xb4], r9d
mov dword [rsp + 0xb0], esi
mov r13, 0xfffffffffffff000
mov rbp, qword [rsp + 0x20]
add qword [r14 + 0x10], 0x11
mov r12d, 0xfffffff
mov rax, qword [rsp + 0xb0]
lea rsi, [0x100000000]
mov ecx, dword [rbp + 0xc]
and rcx, r12
cmp rax, qword [rcx + rsi]
je 0x100014a4d
call fcn.1000749ec
mov rbx, rax
mov r11d, 0xffff
lea r9, [r14 + 0x18]
lea rdi, [0x100010fb8]
and r9, 0xfffffffffffffff8
mov qword [r14 + 0x10], rdi
lea r10, [r9 + 0xfff]
and rbx, r13
mov rcx, qword [0x100082270]
and r10, r13
xor r8d, r8d
imul rcx, rcx, 0x343fd
shl r8, 0x10
shr r11, 0x10
add rcx, 0x269ec3
mov rax, rcx
shr rax, 0x10
movzx edx, ax
or r8, rdx
test r11, r11
jne 0x100014984
movabs rax, 0x8000800080008001
mul r8
mov qword [0x100082270], rcx
shr rdx, 0xf
mov qword [r15 + 0x98], rbx
imul rdx, rdx, 0xffff
sub r8, rdx
inc r8
mov qword [r15 + 0xb0], r8
mov qword [rsp + 0xa0], r11
jmp 0x1000149f8
mov rax, qword [rsp + 0xa0]
mov qword [r9], rax
add r9, 8
cmp r9, r10
jb 0x1000149e9
movabs r8, 0xffffd1a150450000
mov qword [r14 + 0x10], rdi
mov rdx, qword [r15 + 0xb0]
mov rcx, rdx
mov eax, dword [rbp]
mov qword [r15 + 0x80], rdx
shr rax, 1
and rax, r12
xor rcx, r8
shl rcx, 0x10
mov eax, dword [rax + rsi]
xor rcx, rax
mov eax, dword [0x10008331c]
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