Function at 0x180310200
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov r14, rcx
mov qword [rbp - 0x28], rcx
xor r15d, r15d
mov esi, r15d
movabs rcx, 0x6d0de6a7b5da71f8
movabs rbx, 0x3fef770d40960d5a
movabs r13, 0x50fac3a3e030a6e1
lea r12, [0x180000000]
nop dword [rax]
nop dword [rax + rax]
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], rcx
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x48], esi
mov rax, qword [rbp - 0x48]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov rdx, qword [rax]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], r15b
jne 0x1803102b0
mov r8, qword [r14 + 0x10]
mov rcx, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x1803102ca
mov rcx, qword [r14]
cmp r8, rax
jne 0x1803109e6
call fcn.18038de00
test eax, eax
jne 0x1803109e6
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r13
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x48], esi
mov rax, qword [rbp - 0x48]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x48], ecx
mov rax, qword [rbp - 0x48]
mov qword [0x180587120], rax
mov qword [0x180587128], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
movups xmm6, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x30], xmm0
mov edi, r15d
mov ebx, r15d
nop word [rax + rax]
mov eax, edi
movsx ecx, byte [rax + r12 + 0x4caa58]
call fcn.180370a88
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
inc edi
cmp edi, 0xe
jb 0x180310360
lea ecx, [rbx + rbx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul edi, ecx, 0x8001
movss xmm1, dword [rbp - 0x30]
subss xmm1, dword [0x1805685d8]
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xaa
subss xmm0, dword [0x1805ab828]
subss xmm6, dword [0x1805ab82c]
mov dword [0x1805870f8], r15d
movabs rax, 0x9a294b2138abb884
mov qword [0x1805dd278], rax
mov qword [rbp - 0x48], r15
mov dword [rbp - 0x48], edi
mov rax, qword [rbp - 0x48]
mov qword [0x180587120], rax
movss dword [rbp - 0x48], xmm6
mov qword [rbp - 0x50], r15
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587128], rax
movss dword [rbp - 0x48], xmm0
mov qword [rbp - 0x50], r15
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587130], rax
movss dword [rbp - 0x48], xmm1
mov qword [rbp - 0x50], r15
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587138], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587140], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587148], rax
mov qword [0x180587150], r15
mov dword [0x1805870e8], 7
call fcn.1801e4620
mov ecx, dword [rax]
movsxd rax, dword [0x180568868]
mov dword [r12 + rax*4 + 0x5ae420], ecx
mov dword [0x1805870f8], r15d
movabs rax, 0x7239b21a38f536ba
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r15d
je 0x180310670
mov dword [0x1805870f8], r15d
mov qword [0x1805dd278], r13
mov qword [rbp - 0x50], r15
mov eax, dword [0x1805b11f0]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov edx, dword [rax]
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0x6b9bbd38ab0796df
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], edx
mov rax, qword [rbp - 0x50]
mov qword [0x180587128], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 0x796e
mov rax, qword [rbp - 0x50]
mov qword [0x180587130], rax
mov dword [rbp - 0x48], r15d
mov qword [rbp - 0x50], r15
mov eax, r15d
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587138], rax
mov dword [rbp - 0x48], 0x40b9999a
mov qword [rbp - 0x50], r15
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587140], rax
mov dword [rbp - 0x48], 0xbfc00000
mov qword [rbp - 0x50], r15
mov eax, dword [rbp - 0x48]
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587148], rax
mov dword [rbp - 0x48], r15d
mov qword [rbp - 0x50], r15
mov eax, r15d
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587150], rax
mov dword [rbp - 0x48], r15d
mov qword [rbp - 0x50], r15
mov eax, r15d
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587158], rax
mov dword [rbp - 0x48], r15d
mov qword [rbp - 0x50], r15
mov eax, r15d
mov dword [rbp - 0x50], eax
mov rax, qword [rbp - 0x50]
mov qword [0x180587160], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587168], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587170], rax
mov qword [0x180587178], r15
mov qword [0x180587180], r15
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 2
mov rax, qword [rbp - 0x50]
mov qword [0x180587188], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587190], rax
mov dword [0x1805870e8], 0xf
call fcn.1801e4620
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0xea1c610a04db6bbb
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587128], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0x44a0870b7e92d7c0
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 0xff
mov rax, qword [rbp - 0x50]
mov qword [0x180587128], rax
mov qword [0x180587130], r15
mov dword [0x1805870e8], 3
call fcn.1801e4620
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0x6faacd625d80caa
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0xf1ca12b18aef5298
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov qword [0x180587128], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0x99bfdc94a603e541
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov ebx, dword [rax]
mov dword [0x1805870f8], r15d
movabs rax, 0x38ce16c96bd11344
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ebx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r15d
je 0x1803109a3
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0x3910051ccecdb00c
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
movsxd rax, dword [0x180568868]
mov ecx, dword [r12 + rax*4 + 0x5ae420]
mov dword [0x1805870f8], r15d
movabs rax, 0xc7827959479dcc78
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ecx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r15d
je 0x1803109a3
mov dword [0x1805870f8], r15d
movabs rax, 0xe05e81a888fa63c8
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ebx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], 1
mov rax, qword [rbp - 0x50]
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [0x1805870f8], r15d
movabs rax, 0xa1607996431332df
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], ebx
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov dword [0x1805870f8], r15d
movabs rax, 0xe532f5d78798daab
mov qword [0x1805dd278], rax
mov qword [rbp - 0x50], r15
mov dword [rbp - 0x50], edi
mov rax, qword [rbp - 0x50]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
movabs rbx, 0x3fef770d40960d5a
inc esi
cmp esi, 0x21
movabs rcx, 0x6d0de6a7b5da71f8
jl 0x180310270
mov rcx, r14
call fcn.18006b8d0
xor eax, eax
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [rsp + 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret