Function at 0x18009bffc
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
xor edi, edi
lea r14, [rcx + 0x298]
mov dword [rcx + 0x1c], edi
xor eax, eax
mov dword [rcx + 0x24], edi
xorps xmm0, xmm0
mov dword [rcx + 0x2c], edi
mov rsi, r8
mov dword [rcx + 0x34], edi
mov r15, rdx
mov dword [rcx + 0x3c], edi
mov rbx, rcx
mov dword [rcx + 0x44], edi
mov dword [rcx + 0x4c], edi
mov dword [rcx + 0x80], edi
mov dword [rcx + 0x88], edi
mov dword [rcx + 0x90], edi
mov dword [rcx + 0x98], edi
mov dword [rcx + 0xa0], edi
mov dword [rcx + 0xa8], edi
mov dword [rcx + 0xdc], edi
mov dword [rcx + 0xe4], edi
mov dword [rcx + 0xec], edi
mov qword [rcx + 0xf0], rdi
mov qword [rcx + 0xfc], rdi
mov qword [rcx + 0x104], rdi
mov qword [rcx + 0x10c], rdi
mov qword [rcx + 0x114], rdi
mov qword [rcx + 0x11c], rdi
mov qword [rcx + 0x124], rdi
mov dword [rcx + 0x12c], edi
mov qword [rcx + 0x13c], rdi
mov qword [rcx + 0x144], rdi
mov dword [rcx + 0x14c], edi
mov qword [rcx + 0x15c], rdi
movups xmmword [rcx + 0x164], xmm0
mov qword [rcx + 0x174], rax
mov dword [rcx + 0x17c], eax
mov qword [rcx + 0x188], rdi
mov qword [rcx + 0x190], rdi
mov qword [rcx + 0x1c0], rdi
mov qword [rcx + 0x1c8], rdi
mov qword [rcx + 0x1d0], rdi
mov qword [rcx + 0x1d8], rdi
mov qword [rcx + 0x1e4], rdi
mov dword [rcx + 0x1ec], edi
mov qword [rcx + 0x1f4], rdi
mov dword [rcx + 0x1fc], edi
mov qword [rcx + 0x204], rdi
mov dword [rcx + 0x20c], edi
mov qword [rcx + 0x214], rdi
mov dword [rcx + 0x21c], edi
mov qword [rcx + 0x224], rdi
mov dword [rcx + 0x22c], edi
mov qword [rcx + 0x234], rdi
mov dword [rcx + 0x23c], edi
mov qword [rcx + 0x244], rdi
mov dword [rcx + 0x24c], edi
mov word [rcx + 0x252], di
mov word [rcx + 0x256], di
mov dword [rcx + 0x26c], edi
mov qword [rcx + 0x270], rdi
mov dword [rcx + 0x27c], edi
mov qword [rcx + 0x280], rdi
mov dword [r14 + 4], edi
mov qword [r14 + 8], rdi
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x18], rdi
mov qword [r14 + 0x20], rdi
mov qword [r14 + 0x28], rdi
mov qword [r14 + 0x58], rdi
mov qword [r14 + 0x60], rdi
mov qword [r14 + 0x68], rdi
mov qword [r14 + 0x70], rdi
mov qword [r14 + 0x78], rdi
mov qword [r14 + 0x80], rdi
mov qword [r14 + 0x88], rdi
mov qword [r14 + 0x90], rdi
movups xmmword [r14 + 0xa8], xmm0
mov qword [r14 + 0xb8], rax
mov qword [r14 + 0x38], rdi
lea rax, [rcx + 0x3a0]
lea ecx, [rdi + 2]
mov qword [rax], rdi
mov qword [rax + 8], rdi
lea rax, [rax + 0x10]
sub rcx, 1
jne 0x18009c1e7
xor edx, edx
mov r8d, 0x3d0
mov rcx, rbx
call fcn.1800e6660
mov rcx, rsi
call fcn.1800a4564
mov qword [rbx], rax
or rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], dil
jne 0x18009c217
inc eax
xor r8d, r8d
xor edx, edx
mov dword [rbx + 0x70], eax
mov rcx, rsi
call fcn.1800a449c
mov dword [rbx + 8], eax
mov esi, dword [rbx + 0xe8]
mov ecx, dword [rbx + 0xec]
cmp esi, ecx
jne 0x18009c2ce
inc esi
test ecx, ecx
je 0x18009c25a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18009c25f
mov eax, 8
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x18009c2ce
movsxd rcx, esi
shl rcx, 2
call fcn.1800a5ea4
mov rdx, qword [rbx + 0xf0]
mov rbp, rax
test rdx, rdx
je 0x18009c2c1
movsxd r8, dword [rbx + 0xe8]
mov rcx, rax
shl r8, 2
call fcn.1800e663c
mov rcx, qword [rbx + 0xf0]
test rcx, rcx
je 0x18009c2b4
mov rax, qword [0x1800f2b60]
test rax, rax
je 0x18009c2b4
dec dword [rax + 0xf4]
mov rdx, qword [0x1800f2b88]
call qword [0x1800ecac8]
mov qword [rbx + 0xf0], rbp
mov dword [rbx + 0xec], esi
movsxd rdx, dword [rbx + 0xe8]
lea r8, [rsp + 0x40]
mov eax, dword [rbx + 8]
mov rcx, qword [rbx + 0xf0]
mov dword [rsp + 0x40], 0x607a7910
mov word [rsp + 0x44], 0x3872
mov dword [rcx + rdx*4], eax
inc dword [rbx + 0xe8]
mov eax, 0x51eb851f
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, dil
inc edi
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp edi, 6
jl 0x18009c2fc
movsxd rax, dword [rbx + 0xe8]
lea rcx, [rsp + 0x40]
mov r8, qword [rbx + 0xf0]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800a449c
or word [rbx + 0xc8], 0xffff
mov ecx, 0x7f7fffff
or dword [rbx + 0xcc], 0xffffffff
or dword [rbx + 0x258], 0xffffffff
or dword [rbx + 0x28c], 0xffffffff
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov dword [rbx + 0x74], eax
mov eax, 0x3f000000
mov dword [rbx + 0x94], eax
mov dword [rbx + 0x98], eax
lea rax, [r15 + 0x3c18]
mov dword [rbx + 0x8c], ecx
mov dword [rbx + 0x90], ecx
mov dword [rbx + 0xe0], ecx
mov dword [rbx + 0xe4], ecx
mov dword [rbx + 0xd8], ecx
mov dword [rbx + 0xdc], ecx
mov qword [rbx + 0x290], r14
mov word [rbx + 0xd5], 0xf0f
mov byte [rbx + 0xd4], 0xf
mov dword [rbx + 0x25c], 0xbf800000
mov dword [rbx + 0x288], 0x3f800000
mov qword [r14 + 0x38], rax
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x290]
mov qword [rcx + 0x40], rax
mov rax, rbx
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret