Function at 0x18000a090
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r13
push r14
push r15
movzx r10d, byte [0x180073bbc]
mov rdi, r8
mov r9, qword [0x180073bc8]
add r10b, 0xff
mov rax, qword [0x180073bd8]
mov r11, rdx
movzx ebx, byte [rsp + 0x70]
mov r14, qword [0x180073ba0]
inc bl
mov byte [0x180073bbc], r10b
inc r10b
mov qword [rsp + 0x50], rax
movsxd rax, dword [0x180073bfc]
movzx ebp, bl
inc bl
movzx ecx, bl
inc bl
movzx r8d, r10b
movsxd rsi, dword [rdx + rax*8]
movzx edx, word [r9 + 0x3732]
dec dword [0x180073c1c]
mov rax, qword [0x180073c58]
mov byte [0x180073bbc], r10b
movzx r15d, word [r9 + 0x36b6]
movsxd r9, dword [rsp + 0x78]
movsxd rax, dword [rax + 0x51e0]
lea r13, [r9*8]
mov r10, qword [0x180073c38]
mov qword [rsp + 0x48], rax
and r10, r14
movzx eax, word [rsp + 0x80]
xor r15d, eax
mov rax, qword [rdi]
movzx ecx, byte [rax + rcx]
mov rax, qword [0x180073be0]
cmp rcx, qword [rax + r13]
je 0x18000a26a
cmp r10, 0x138c
jbe 0x18000a26a
lea eax, [r8 + 6]
cmp dword [rdx + rax*4], 0x406
jl 0x18000a26a
lea eax, [r9 + 4]
movsxd rcx, eax
lea eax, [r8 + r8]
movzx edx, word [rbp + rcx*2]
cmp qword [rax*8], rdx
jbe 0x18000a26a
mov rax, qword [0x180073c40]
add r14, r14
mov ecx, dword [rax + r10*4]
lea eax, [r8 + r8*2]
movzx eax, word [rbp + rax*2]
add ecx, dword [0x180073c28]
movsxd rdx, ecx
sub rdx, qword [rdi + r13 - 8]
mov rcx, qword [rsp + 0x48]
and rdx, rax
mov qword [0x180073bd8], rdx
mov rax, qword [rdi - 8]
movzx ecx, word [rcx + rax*4]
mov eax, 0x4104105
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 7
imul eax, eax, 0xfc
sub ecx, eax
mov rax, qword [0x180073c30]
xor ecx, dword [0x180073c38]
movsxd r10, ecx
movzx edx, word [rbp + rax*2]
mov rax, qword [0x180073c08]
mov qword [rax + r14*8], rdx
inc qword [0x180073c30]
cmp r10, qword [r11 + 0x6650]
jae 0x18000a345
mov rbx, qword [rsp + 0x50]
lea r8, [r10*4 + 0x1f88334]
nop word [rax + rax]
movzx eax, word [rbx + r10*2]
lea r8, [r8 + 4]
xor eax, ecx
inc ecx
or eax, r9d
cdq
idiv dword [r8 - 4]
mov dword [r8 - 4], eax
movsxd rax, ecx
cmp rax, qword [r11 + 0x6650]
jb 0x18000a240
jmp 0x18000a345
movsxd rax, dword [0x180073bac]
mov r10, r8
mov rdx, qword [0x180073c30]
mov r11, qword [rsp + 0x58]
shl rdx, 4
movzx eax, byte [r8 + rax]
lea r8d, [r15 + 1]
mov ecx, dword [rdx + 0x1f8834c]
imul ecx, eax
mov eax, 0x1468
mov dword [rdx + 0x1f8834c], ecx
movzx ecx, bl
sub eax, ecx
mov ecx, dword [0x180073c20]
xor eax, r15d
cdq
idiv ecx
mov rax, qword [0x180073ba0]
inc ecx
add dword [0x180073bfc], edx
xor edx, edx
shl rax, 4
mov dword [0x180073c20], ecx
mov rax, qword [rax]
div r8
mov r9, rax
movabs rax, 0x621b97c2aec12653
mul r9
mov rax, qword [rsp + 0x40]
shr rdx, 8
imul rcx, rdx, 0x29c
sub r9, rcx
or r9w, word [rax + r8*4]
movzx r8d, byte [0x180073bbc]
lea rdx, [r8 + r8*2]
sub r9w, word [r11 + rdx*2]
lea ecx, [r8 + r8*2]
mov word [r11 + rcx*2], r9w
movsxd rdx, dword [0x180073bfc]
mov rcx, qword [rsp + 0x60]
mov rax, qword [0x180073c58]
lea r9, [r10 + rcx]
movzx r8d, byte [rcx + 0x17ed]
mov eax, dword [rax + rdx*4]
movzx ecx, byte [r9]
cdq
idiv r8d
cdq
idiv ecx
mov byte [r9], dl
mov rax, qword [0x180073bd0]
lea ecx, [rsi*4]
movsxd rdx, ecx
movzx eax, word [rax + rsi*2]
movzx ecx, byte [rdx]
add eax, ecx
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret