Function at 0x1801ed390
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
lea r15, str.xs_prop_arena_goal_sf
xor r13d, r13d
mov qword [rax + 0x10], r12
mov r14d, r13d
movabs rbx, 0x50fac3a3e030a6e1
xorps xmm6, xmm6
nop dword [rax]
mov rcx, qword [r15]
call fcn.18010b700
test al, al
je 0x1801ed7a3
call qword [sym.imp.WINMM.dll_timeGetTime]
mov rcx, qword [0x180385680]
mov dword [0x1803855fc], eax
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
call qword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x180382c94]
cmp eax, 0x2710
jbe 0x1801ed419
cmp r14d, dword [0x180384d2c]
je 0x1801ed7a3
mov qword [rsp + 0xe0], r13
mov dword [rsp + 0xe0], r14d
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r13d
mov qword [0x1803afcd8], rbx
mov dword [0x18035eae0], 1
call fcn.180110360
mov rbp, qword [r15]
mov rbx, 0xffffffffffffffff
mov r12d, dword [rax]
inc rbx
cmp byte [rbx + rbp], r13b
jne 0x1801ed462
mov esi, r13d
mov edi, r13d
test rbx, rbx
je 0x1801ed4a1
mov rax, r13
nop dword [rax]
movsx ecx, byte [rax + rbp]
call fcn.18022e718
add eax, edi
inc esi
imul edi, eax, 0x401
mov eax, edi
shr eax, 6
xor edi, eax
mov eax, esi
cmp rax, rbx
jb 0x1801ed480
lea eax, [rdi + rdi*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, ebx
call qword [0x1803856f0]
mov qword [rsp + 0xe0], r13
movabs rdi, 0x98a4eb5d89a0c952
mov dword [rsp + 0xe0], ebx
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r13d
mov qword [0x1803afcd8], rdi
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r13d
jne 0x1801ed55c
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 + 0xe0], r13
mov dword [rsp + 0xe0], ebx
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r13d
mov qword [0x1803afcd8], rdi
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r13d
je 0x1801ed503
mov qword [rsp + 0xe0], r13
movabs rax, 0x3fef770d40960d5a
mov qword [0x1803afcd8], rax
mov dword [rsp + 0xe0], r12d
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], r13
mov qword [0x18035ebb8], rax
mov dword [rsp + 0xe0], 1
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebc0], rax
mov dword [0x18035eaf0], r13d
mov dword [0x18035eae0], 2
call fcn.180110360
mov qword [rsp + 0xe0], r13
mov dword [rsp + 0xe0], ebx
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movabs rax, 0x35b9e0803292b641
mov qword [0x1803afcd8], rax
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebb8], rax
movups xmmword [rsp + 0x80], xmm0
mov dword [0x18035eaf0], r13d
movsd qword [rsp + 0x90], xmm1
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r13d
je 0x1801ed799
movabs rax, 0xc0296a2edf545e92
mov qword [rsp + 0xe0], r13
mov qword [0x1803afcd8], rax
mov dword [rsp + 0xe0], ebx
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r13d
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r13d
je 0x1801ed799
mov ecx, ebx
call qword [0x1803856f0]
mov qword [rsp + 0xe0], r13
mov dword [rsp + 0xe0], ebx
mov rax, qword [rsp + 0xe0]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r13d
mov qword [0x1803afcd8], rdi
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r13d
je 0x1801ed799
movss xmm0, dword [rsp + 0x90]
mov edx, ebx
movss xmm3, dword [rsp + 0x88]
movabs rcx, 0x509d5878eb39e842
movss xmm2, dword [rsp + 0x80]
mov dword [rsp + 0x38], 1
movss dword [rsp + 0x20], xmm0
call fcn.1801f1fc0
movsxd rcx, dword [0x180343edc]
lea rbx, [0x180382260]
mov qword [rsp + 0xe0], r13
mov dword [rsp + 0xe0], eax
mov dword [0x18035eaf0], r13d
mov dword [rbx + rcx*4], eax
movabs rcx, 0x7239b21a38f536ba
mov rax, qword [rsp + 0xe0]
mov qword [0x1803afcd8], rcx
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r13d
je 0x1801ed799
movsxd rax, dword [0x180343edc]
movaps xmm3, xmm6
movss dword [rsp + 0x40], xmm6
mov edx, r12d
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm6
mov ecx, dword [rbx + rax*4]
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.1801f1e20
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x180382c94], eax
movabs rbx, 0x50fac3a3e030a6e1
inc r14d
add r15, 8
cmp r14d, 0x295
jb 0x1801ed3d0
mov r12, qword [rsp + 0xe8]
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret