Function at 0x1802f8870
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x58], xmm8
lea r14, str.prop_a4_pile_01
movss xmm8, dword [0x1805040bc]
xor r12d, r12d
movaps xmmword [rax - 0x38], xmm6
mov r15d, r12d
movaps xmmword [rax - 0x48], xmm7
movabs r13, 0x98a4eb5d89a0c952
nop dword [rax]
mov rcx, qword [r14]
call fcn.1801ddc30
test al, al
je 0x1802f8b9d
mov rbp, qword [r14]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rdi + rbp], r12b
jne 0x1802f88e0
mov esi, r12d
mov ebx, r12d
test rdi, rdi
je 0x1802f8918
mov rax, r12
movsx ecx, byte [rax + rbp]
call fcn.180370a88
add eax, ebx
inc esi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
mov eax, esi
cmp rax, rdi
jb 0x1802f88f7
lea eax, [rbx + rbx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, ebx
call qword [0x1805b1b28]
mov qword [rsp + 0xc0], r12
mov dword [rsp + 0xc0], ebx
mov rax, qword [rsp + 0xc0]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], r13
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r12d
jne 0x1802f89c9
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rcx, qword [0x1805b1c88]
mov dword [0x1805b1c90], eax
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov qword [rsp + 0xc0], r12
mov dword [rsp + 0xc0], ebx
mov rax, qword [rsp + 0xc0]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], r13
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r12d
je 0x1802f8970
movabs rax, 0x50fac3a3e030a6e1
mov qword [rsp + 0xc0], r12
mov qword [0x1805dd278], rax
mov eax, dword [0x1805b11f0]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0xc0]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r12d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0xc0], r12
movabs rdi, 0x3fef770d40960d5a
mov qword [0x1805dd278], rdi
mov ecx, dword [rax]
mov dword [rsp + 0xc0], ecx
mov rax, qword [rsp + 0xc0]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r12d
mov qword [0x180587128], r12
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [rsp + 0x38], r12d
mov edx, ebx
movabs rcx, 0x9a294b2138abb884
movups xmm3, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movaps xmm2, xmm3
movss dword [rsp + 0x20], xmm0
addss xmm2, xmm8
shufps xmm3, xmm3, 0xaa
call fcn.1803005c0
mov qword [rsp + 0xc0], r12
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rdi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [0x1805870e8], 2
cvttss2si eax, xmm0
mov dword [rsp + 0xc0], eax
mov dword [0x1805b515c], eax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], r12
mov qword [0x180587120], rax
mov dword [rsp + 0xc0], 1
mov rax, qword [rsp + 0xc0]
mov qword [0x180587128], rax
call fcn.1801e4620
mov qword [rsp + 0xc0], r12
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
movabs rax, 0xafbd61cc738d9eb9
mov qword [0x1805dd278], rax
mov eax, dword [0x1805b515c]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0xc0]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r12d
mov qword [0x180587128], r12
mov dword [0x1805870e8], 2
call fcn.1801e4620
movups xmm2, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmm0, xmm2
movss dword [0x1805b5160], xmm6
shufps xmm0, xmm2, 0xaa
shufps xmm6, xmm6, 0xaa
movss dword [0x1805b5150], xmm0
movss dword [0x1805b5164], xmm6
movss dword [0x1805b514c], xmm7
movss dword [0x1805b5154], xmm1
movss dword [0x1805b5158], xmm2
inc r15d
add r14, 8
cmp r15d, 0x1b3e
jb 0x1802f88c0
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm6, xmmword [rsp + 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret