Function at 0x1400adc00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
movabs rax, 0xb6e847cfef385fc
imul rax, qword [0x1402b5218]
movabs rcx, 0x9e0a87cbf346cc1f
imul rcx, qword [0x1402b5220]
add rcx, rax
movabs rdx, 0xfd3a08f7ecf1ed1d
add rdx, rcx
mov eax, 0
cmp qword [rsi + 0x10], rdx
je 0x1400ae160
mov rax, qword [rdi + 0x10]
movabs rcx, 0x280878b22e421d58
imul rcx, qword [0x1402b5228]
movabs rdx, 0x30712f64ed10387a
imul rdx, qword [0x1402b5230]
add rdx, rcx
movabs rcx, 0x1ebe53070f6ff02c
add rcx, rdx
cmp rax, rcx
jae 0x1400add05
mov rcx, qword [0x1402b5260]
mov rdx, qword [0x1402b5268]
shrd rdx, rcx, 0x3f
movabs rcx, 0x46e4c569e19e02fa
xor rcx, rdx
mov rdx, rcx
sub rdx, rax
mov rcx, qword [rdi + 0x18]
mov r8, rcx
sub r8, rax
cmp r8, rdx
jae 0x1400add97
movzx eax, word [0x1402b52bc]
movzx ecx, word [0x1402b52be]
imul eax, eax, 0x62e1
imul ecx, ecx, 0x2514
add eax, ecx
add eax, 0x1cb4
mov word [rsp + 0x20], ax
mov rcx, rdi
mov r9, rdx
call fcn.1400ae172
jmp 0x1400ade98
mov rax, qword [0x1402b5238]
mov rcx, qword [0x1402b5240]
shrd rcx, rax, 0x39
movabs rdx, 0xe825c5ac07f2d75a
xor rdx, rcx
mov rax, rdi
cmp qword [rdi + 0x18], rdx
jbe 0x1400add31
mov rax, qword [rdi]
movabs rcx, 0x25f0f3c2e5f2135f
imul rcx, qword [0x1402b5248]
movabs rdx, 0xdc41f8173846b5fc
imul rdx, qword [0x1402b5250]
add rdx, rcx
movabs rcx, 0x1f05b73b83e2ce6a
add rcx, rdx
mov qword [rdi + 0x10], rcx
movzx ecx, word [0x1402b5258]
movzx edx, word [0x1402b525a]
imul ecx, ecx, 0x70dd
imul edx, edx, 0x3ad6
add ecx, edx
add ecx, 0x2378
mov word [rax + 0x208], cx
jmp 0x1400ade98
mov r8, qword [0x1402b5270]
mov r9, qword [0x1402b5278]
shrd r9, r8, 0x39
movabs r8, 0x73d59a837c807b4b
xor r8, r9
mov qword [rdi + 0x10], r8
movabs r8, 0xa92a374fc3ca43a8
imul r8, qword [0x1402b5280]
movabs r9, 0x77b91a070172a418
imul r9, qword [0x1402b5288]
add r9, r8
movabs r10, 0x859eacc3eaef4a0f
add r10, r9
mov r8, rdi
cmp rcx, r10
jbe 0x1400addfa
mov r8, qword [rdi]
mov rcx, r8
lea r9, [r8 + rax*2]
movabs rax, 0x1dc9039e32441edc
movabs r8, 0xc3c78601d832790b
movzx r10d, word [0x1402b5290]
movzx r11d, word [0x1402b5292]
shrd r11w, r10w, 0xa
mov r10d, r11d
xor r10d, 0x9584
mov word [r9], r10w
add r9, 2
mov r10, qword [0x1402b5298]
mov r11, qword [0x1402b52a0]
shrd r11, r10, 0x21
xor r11, rax
mov r10, rdx
add r10, r11
mov rdx, qword [0x1402b52a8]
mov r11, qword [0x1402b52b0]
shrd r11, rdx, 0x16
xor r11, r8
mov rdx, r10
cmp r10, r11
jne 0x1400ade15
movzx eax, word [0x1402b52b8]
movzx edx, word [str._8B]
shrd dx, ax, 7
mov eax, edx
xor eax, 0x52b6
mov word [rcx + 0x208], ax
movabs r12, 0xe2a36afae24f96d6
movabs r13, 0x9293a44f277eb68
movabs rbp, 0x7a119f2fb8f43261
movabs r15, 0xd1af5f2893e52be0
mov rax, qword [0x1402b52c0]
movabs rcx, 0x4cfededa48da0d9a
imul rax, rcx
mov rcx, qword [0x1402b52c8]
movabs rdx, 0xc0ed86f1e9efff4b
imul rcx, rdx
add rcx, rax
movabs rax, 0x40022bf5e53765cc
add rcx, rax
mov r8, rdi
cmp qword [rdi + 0x18], rcx
jbe 0x1400adf06
mov r8, qword [rdi]
mov rax, qword [0x1402b52d0]
mov rcx, qword [0x1402b52d8]
shrd rcx, rax, 0x30
mov rax, rcx
movabs rcx, 0x7748a60e9bd3d23c
xor rax, rcx
mov rcx, rsi
cmp qword [rsi + 0x18], rax
jbe 0x1400adf35
mov rcx, qword [rsi]
mov ebx, dword [rdi + 0x10]
mov edx, ebx
call fcn.1400d9d50
mov rcx, qword [0x1402b52e0]
mov rdx, qword [0x1402b52e8]
shrd rdx, rcx, 0xa
mov r14, rax
mov rax, rdx
movabs rcx, 0x3ea5650ff59be48d
xor rax, rcx
and rax, r14
mov r8, qword [rdi + 0x10]
mov rdx, rax
sub rdx, r8
jbe 0x1400adfbd
mov rcx, qword [rdi + 0x18]
mov r9, rcx
sub r9, r8
cmp r9, rdx
jae 0x1400ae017
movzx eax, word [0x1402b5354]
movzx ecx, word [0x1402b5356]
imul eax, eax, 0xffffdb03
imul ecx, ecx, 0xffffcdeb
add eax, ecx
add eax, 0xffff97c0
mov word [rsp + 0x20], ax
mov rcx, rdi
mov r9, rdx
call fcn.1400ae172
jmp 0x1400ae135
mov rcx, qword [0x1402b52f0]
mov rdx, qword [0x1402b52f8]
shrd rdx, rcx, 0x1a
movabs rcx, 0x882065c360553f51
xor rdx, rcx
mov rcx, rdi
cmp qword [rdi + 0x18], rdx
jbe 0x1400adfe9
mov rcx, qword [rdi]
mov qword [rdi + 0x10], rax
movzx edx, word [0x1402b5300]
movzx r8d, word [0x1402b5302]
imul edx, edx, 0xc13
imul r8d, r8d, 0xffff9598
add edx, r8d
add edx, 0xffffb165
jmp 0x1400ae131
mov qword [rdi + 0x10], rax
mov r9, qword [0x1402b5308]
movabs r10, 0x75aabef816785bd7
imul r9, r10
mov r10, qword [0x1402b5310]
movabs r11, 0xa2d687485b30cf9
imul r10, r11
add r10, r9
movabs r9, 0x74e94b9a364981b4
add r10, r9
mov r9, rdi
cmp rcx, r10
jbe 0x1400ae060
mov r9, qword [rdi]
mov rcx, r9
mov r9, qword [0x1402b5318]
movabs r10, 0x57bc247d6655ef50
imul r9, r10
mov r10, qword [0x1402b5320]
movabs r11, 0x2a199615e17e1b54
imul r10, r11
add r10, r9
movabs r9, 0x2881ebad9c5067d8
add r10, r9
cmp rdx, r10
je 0x1400ae113
lea r8, [rcx + r8*2]
add rdx, rbp
movzx r9d, word [0x1402b5328]
movzx r10d, word [0x1402b532a]
imul r9d, r9d, 0x2919
imul r10d, r10d, 0xffff9247
add r9d, r10d
add r9d, 0xffffb6fd
mov word [r8], r9w
add r8, 2
mov r9, qword [0x1402b5330]
imul r9, r12
mov r10, qword [0x1402b5338]
imul r10, r13
add r10, r9
add r10, rdx
mov rdx, qword [0x1402b5340]
mov r9, qword [0x1402b5348]
shrd r9, rdx, 0x29
xor r9, r15
mov rdx, r10
cmp r10, r9
jne 0x1400ae0a6
movzx edx, word [0x1402b5350]
movzx r8d, word [0x1402b5352]
shrd r8w, dx, 4
mov edx, r8d
xor edx, 0xd809
mov word [rcx + rax*2], dx
mov eax, r14d
cmp r14d, ebx
jae 0x1400adec0
imul eax, dword [0x1402b5358], 0x81541ca2
imul ecx, dword [0x1402b5360], 0x390f89a
add ecx, eax
add cl, 0x46
shr r14, cl
mov eax, r14d
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret