Function at 0x1800d3910
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
lea r12, str.a_c_dolphin
movaps xmmword [rax - 0x48], xmm7
xor r14d, r14d
movss xmm7, dword [0x1802fb5dc]
mov esi, r14d
movaps xmmword [rax - 0x58], xmm8
movabs rdi, 0xd80958fc74e988a6
movss xmm8, dword [0x1802fc7ac]
movabs r13, 0x50fac3a3e030a6e1
mov qword [rax + 8], rbp
movabs r15, 0x98a4eb5d89a0c952
xorps xmm6, xmm6
nop dword [rax + rax]
mov qword [rsp + 0xe8], r14
mov dword [rsp + 0xe8], esi
mov rax, qword [rsp + 0xe8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], r13
mov dword [0x18035eae0], 1
call fcn.180110360
mov qword [0x1803afcd8], rdi
mov ebx, dword [rax]
mov dword [0x18035eae0], r14d
mov dword [0x18035eaf0], r14d
call fcn.180110360
cmp ebx, dword [rax]
je 0x1800d3c52
mov qword [rsp + 0xe8], r14
mov dword [rsp + 0xe8], esi
mov rax, qword [rsp + 0xe8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], r13
mov dword [0x18035eae0], 1
call fcn.180110360
mov edi, r14d
mov ebx, r14d
mov ebp, dword [rax]
mov eax, edi
movsx ecx, byte [rax + r12]
call fcn.18022e718
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
cmp edi, 0xb
jb 0x1800d3a22
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 + 0xe8], r14
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], r15
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r14d
jne 0x1800d3af9
nop dword [rax]
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 + 0xe8], r14
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], r15
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r14d
je 0x1800d3aa0
movabs rax, 0x7239b21a38f536ba
mov qword [rsp + 0xe8], r14
mov qword [0x1803afcd8], rax
mov dword [rsp + 0xe8], ebp
mov rax, qword [rsp + 0xe8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r14d
je 0x1800d3c48
movss dword [rsp + 0x28], xmm6
movaps xmm3, xmm6
movaps xmm2, xmm6
movss dword [rsp + 0x20], xmm7
xor edx, edx
mov ecx, ebx
call fcn.1800e20f0
mov qword [rsp + 0xe8], r14
mov ebx, eax
mov dword [rsp + 0xe8], ebp
movabs rax, 0x3f428d08be5aae31
mov rcx, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], r14
mov qword [0x18035ebb8], rcx
mov dword [rsp + 0xe8], 0xe0fd
mov rcx, qword [rsp + 0xe8]
mov qword [0x18035ebc0], rcx
mov dword [0x18035eaf0], r14d
mov qword [0x1803afcd8], rax
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [rsp + 0x50], r14d
movaps xmm3, xmm6
mov dword [rsp + 0x48], r14d
mov edx, ebp
movss dword [rsp + 0x40], xmm6
mov ecx, ebx
mov r8d, dword [rax]
movss dword [rsp + 0x38], xmm8
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm6
call fcn.1800e2cf0
movabs rax, 0xe532f5d78798daab
mov qword [rsp + 0xe8], r14
mov qword [0x1803afcd8], rax
mov dword [rsp + 0xe8], ebx
mov rax, qword [rsp + 0xe8]
mov qword [0x18035ebb8], rax
mov dword [0x18035eaf0], r14d
mov dword [0x18035eae0], 1
call fcn.180110360
movabs rdi, 0xd80958fc74e988a6
inc esi
cmp esi, 0x20
jle 0x1800d3980
mov rbp, qword [rsp + 0xe0]
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret