Function at 0x180151fa0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
xor r14d, r14d
movaps xmmword [rsp + 0x40], xmm7
movss xmm7, dword [0x180504280]
lea r15, [0x180000000]
mov ebp, r14d
movaps xmmword [rsp + 0x50], xmm6
mov esi, r14d
movabs rbx, 0x3fef770d40960d5a
movabs r13, 0x7239b21a38f536ba
movabs r12, 0x963d27a58df860ac
nop dword [rax]
cmp byte [rsi + r15 + 0x5b0ee8], r14b
je 0x180152286
mov rax, qword [0x1805b1c58]
mov ecx, ebp
call rax
test rax, rax
je 0x18015202c
mov rdx, qword [0x1805b1ac8]
mov rcx, rax
call rdx
jmp 0x18015202f
mov eax, r14d
mov qword [rsp + 0x98], r14
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x98]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], r13
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r14d
je 0x180152278
mov rax, qword [0x1805b1c58]
mov ecx, ebp
call rax
test rax, rax
je 0x180152091
mov rdx, qword [0x1805b1ac8]
mov rcx, rax
call rdx
jmp 0x180152094
mov eax, r14d
mov qword [rsp + 0x98], r14
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x98]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], rbx
mov qword [0x180587128], r14
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov edi, r14d
mov ebx, r14d
movsd xmm0, qword [rax + 0x10]
movups xmm6, xmmword [rax]
movsd qword [rsp + 0x30], xmm0
nop word [rax + rax]
mov eax, edi
movsx ecx, byte [rax + r15 + 0x48ec38]
call fcn.180370a88
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0xf
jb 0x1801520f0
lea eax, [rbx + rbx*8]
mov qword [rsp + 0x98], r14
mov ecx, eax
mov dword [0x1805870f8], r14d
shr ecx, 0xb
xor ecx, eax
mov dword [0x1805870e8], 1
imul ebx, ecx, 0x8001
movabs rax, 0x98a4eb5d89a0c952
mov qword [0x1805dd278], rax
mov dword [rsp + 0x98], ebx
mov rax, qword [rsp + 0x98]
mov qword [0x180587120], rax
call fcn.1801e4620
cmp dword [rax], r14d
jne 0x1801521ab
mov qword [rsp + 0x98], r14
mov dword [rsp + 0x98], ebx
mov rax, qword [rsp + 0x98]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], r12
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov rax, qword [0x18058c9e8]
movabs rbx, 0x3fef770d40960d5a
movss xmm0, dword [rsp + 0x30]
addss xmm0, xmm7
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x50]
movss dword [rax + 0xef638], xmm6
mov rax, qword [0x18058c9e8]
shufps xmm6, xmm6, 0xaa
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x50]
movss dword [rax + 0xef640], xmm6
mov rax, qword [0x18058c9e8]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x50]
movss dword [rax + 0xef648], xmm0
mov rax, qword [0x18058c9e8]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x50]
mov dword [rax + 0xef628], 0x9c4
mov rax, qword [0x18058c9e8]
mov r8, qword [rax + 0x20]
mov rax, qword [r8 + 0x50]
movsxd rcx, dword [rax + 0xef620]
imul rdx, rcx, 0x55
add rdx, 0x4536d3
mov rax, rdx
shr rax, 0x12
and eax, 0x3f
and edx, 0x3ffff
mov rax, qword [r8 + rax*8]
mov dword [rax + rdx*8], 2
mov rax, qword [0x18058c9e8]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 0x50]
mov dword [rax + 0xe57e8], 2
jmp 0x180152286
cmp rsi, 0x20
jae 0x1801522bc
mov byte [rsi + r15 + 0x5b0ee8], r14b
inc ebp
inc rsi
cmp ebp, 0x20
jl 0x180152000
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm7, xmmword [rsp + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.180357c08
int3