Function at 0x1801f0860
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 [0x1802fb440]
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.18010b700
test al, al
je 0x1801f0b69
mov rbp, qword [r14]
mov rdi, 0xffffffffffffffff
nop word [rax + rax]
inc rdi
cmp byte [rdi + rbp], r12b
jne 0x1801f08d0
mov esi, r12d
mov ebx, r12d
test rdi, rdi
je 0x1801f0908
mov rax, r12
movsx ecx, byte [rax + rbp]
call fcn.18022e718
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 0x1801f08e7
lea eax, [rbx + rbx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, ebx
call qword [0x1803856f0]
mov qword [rsp + 0xc0], r12
mov dword [rsp + 0xc0], ebx
mov rax, qword [rsp + 0xc0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r13
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r12d
jne 0x1801f09b9
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rcx, qword [0x180385680]
mov dword [0x1803855fc], 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 [0x18035ebb8], rax
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r13
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r12d
je 0x1801f0960
movabs rax, 0xd80958fc74e988a6
mov dword [0x18035eae0], r12d
mov qword [0x1803afcd8], rax
mov dword [0x18035eaf0], r12d
call fcn.180110360
mov qword [rsp + 0xc0], r12
movabs rdi, 0x3fef770d40960d5a
mov qword [0x1803afcd8], rdi
mov ecx, dword [rax]
mov dword [rsp + 0xc0], ecx
mov rax, qword [rsp + 0xc0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r12d
mov qword [0x18035ebc0], r12
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [rsp + 0x38], r12d
mov edx, ebx
movabs rcx, 0x9a294b2138abb884
movups xmm1, xmmword [rax]
movsd xmm0, qword [rax + 0x10]
movaps xmm2, xmm1
movss dword [rsp + 0x20], xmm0
shufps xmm1, xmm1, 0xaa
addss xmm2, xmm8
movaps xmm3, xmm1
call fcn.1801f1fc0
mov qword [rsp + 0xc0], r12
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], rdi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov dword [0x18035eae0], 2
cvttss2si eax, xmm0
mov dword [rsp + 0xc0], eax
mov dword [0x180388954], eax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xc0], r12
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xc0], 1
mov rax, qword [rsp + 0xc0]
mov qword [0x18035ebc0], rax
call fcn.180110360
mov qword [rsp + 0xc0], r12
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
movabs rax, 0xafbd61cc738d9eb9
mov qword [0x1803afcd8], rax
mov eax, dword [0x180388954]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0xc0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r12d
mov qword [0x18035ebc0], r12
mov dword [0x18035eae0], 2
call fcn.180110360
movups xmm2, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movaps xmm0, xmm2
movss dword [0x180388950], xmm6
shufps xmm0, xmm2, 0xaa
shufps xmm6, xmm6, 0xaa
movss dword [0x18038894c], xmm0
movss dword [0x180388944], xmm6
movss dword [0x180388940], xmm7
movss dword [0x180388948], xmm1
movss dword [0x18038893c], xmm2
inc r15d
add r14, 8
cmp r15d, 0x1b3e
jb 0x1801f08b0
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