Function at 0x1800a7580
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp - 1], rax
mov r15, rcx
mov qword [rbp - 9], rcx
cmp qword [rcx + 0x18], 0xf
jbe 0x1800a75cf
mov rcx, qword [rcx]
call fcn.1803703cc
mov r14, rax
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x1800a75e0
xor r12d, r12d
mov esi, r12d
mov ebx, r12d
test rdi, rdi
je 0x1800a7622
mov eax, r12d
nop word [rax + rax]
movsx ecx, byte [rax + r14]
call fcn.180370a88
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
inc esi
mov eax, esi
cmp rax, rdi
jb 0x1800a7600
lea ecx, [rbx + rbx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul esi, ecx, 0x8001
mov dword [0x1805870f8], r12d
movabs rax, 0xc0296a2edf545e92
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], esi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r12d
je 0x1800a7f4f
mov ecx, esi
call qword [0x1805b1b28]
mov dword [0x1805870f8], r12d
movabs rbx, 0x98a4eb5d89a0c952
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], esi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r12d
jne 0x1800a770d
nop word [rax + rax]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x1805b1c90], eax
mov rcx, qword [0x1805b1c88]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], esi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r12d
je 0x1800a76c0
mov dword [0x1805870e8], r12d
mov dword [0x1805870f8], r12d
movabs rbx, 0xd80958fc74e988a6
mov qword [0x1805dd278], rbx
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r12d
movabs rax, 0x3fef770d40960d5a
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], ecx
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [0x180587128], r12
mov dword [0x1805870e8], 2
call fcn.1801e4620
movups xmm6, xmmword [rax]
movups xmmword [rbp - 0x41], xmm6
movsd xmm7, qword [rax + 0x10]
mov dword [0x1805870e8], r12d
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r12d
movabs rax, 0xe83d4f9ba2a38914
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], ecx
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
movss xmm8, dword [rax]
movaps xmm1, xmm8
mulss xmm1, dword [0x180504030]
movaps xmm0, xmm1
call fcn.1803899e0
movaps xmm2, xmm0
movaps xmm1, xmm0
mulss xmm1, dword [0x180506cd8]
shufps xmm2, xmm2, 1
mulss xmm2, dword [0x1805044a4]
addss xmm6, xmm1
movss xmm1, dword [rbp - 0x39]
addss xmm1, xmm2
movups xmm2, xmmword [rbp - 0x41]
movss xmm2, xmm6
shufps xmm2, xmm2, 0xd2
movss xmm2, xmm1
shufps xmm2, xmm2, 0xc9
movaps xmmword [rbp - 0x29], xmm2
movsd qword [rbp - 0x19], xmm7
mov rax, qword [0x18058c9e8]
mov rcx, qword [rax + 0x1d8]
test rcx, rcx
je 0x1800a7849
mov word [rcx], 0x9090
mov rax, qword [0x1805b1b30]
mov dword [rsp + 0x20], 1
mov r9d, 1
movaps xmm2, xmm8
lea rdx, [rbp - 0x29]
mov ecx, esi
call rax
mov edi, eax
mov rcx, qword [0x18058c9e8]
mov rax, qword [rcx + 0x1d8]
test rax, rax
je 0x1800a7884
mov word [rax], 0x574
mov edx, 1
mov r9d, edx
mov r8d, edx
mov ecx, edi
call fcn.18015d070
mov dword [0x1805870f8], r12d
movabs rax, 0x49733e92263139d1
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov ecx, edi
call fcn.18015d000
mov dword [0x1805870f8], r12d
movabs rax, 0x3910051ccecdb00c
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, edi
call fcn.180167a70
cmp byte [0x1805b11dc], 1
jne 0x1800a79b2
mov dword [0x1805870e8], r12d
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
call fcn.1801e4620
mov ecx, dword [rax]
mov dword [0x1805870f8], r12d
movabs rax, 0xf75b0d629e1c063d
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], ecx
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 0xffffffff
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
cmp byte [0x1805b11db], 1
jne 0x1800a7f4f
mov dword [0x1805870f8], r12d
movabs rax, 0x1f2aa07f00b3217a
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [0x180587128], r12
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ebx, r12d
movabs r13, 0xe38e9162a2500646
movabs r14, 0x6af0636ddedcb6dd
nop word [rax + rax]
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], r13
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], ebx
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov r9d, dword [rax]
sub r9d, dword [0x1805688b8]
mov dword [rsp + 0x20], r12d
mov r8d, ebx
mov edx, edi
mov rcx, r14
call fcn.18015d200
inc ebx
cmp ebx, 0x32
jl 0x1800a7a20
mov dword [0x1805870f8], r12d
movabs rax, 0x95a88f0b409cda47
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
lea rax, str.Thunder
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp byte [0x1805b11bf], 1
jne 0x1800a7f4f
mov dword [0x1805870f8], r12d
movabs rax, 0x8c4b92553e4766a5
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [0x1805870f8], r12d
movabs rbx, 0x2aa720e4287bf269
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [0x180587128], r12
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 2
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 3
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 4
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 5
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 6
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
mov qword [0x1805dd278], rbx
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 7
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], 1
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [0x1805870f8], r12d
movabs rax, 0x1f2aa07f00b3217a
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [0x180587128], r12
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [0x1805870f8], r12d
movabs rax, 0x487eb21cc7295ba1
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov eax, dword [0x180568990]
mov dword [rbp - 0x49], eax
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [rsp + 0x20], r12d
mov r9d, dword [0x1805b1154]
mov r8d, 0x17
mov edx, edi
mov rcx, r14
call fcn.18015d200
mov eax, dword [0x18056898c]
mov dword [rsp + 0x20], eax
mov r9d, dword [0x1805b114c]
mov r8d, dword [0x1805b1150]
mov edx, edi
movabs rcx, 0x7141766f91d15bea
call fcn.18015d200
mov dword [0x1805870f8], r12d
movabs rax, 0x4f1d4be3a7f24601
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], edi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov qword [rbp - 0x49], r12
mov ecx, dword [0x180568988]
mov dword [rbp - 0x49], ecx
mov rax, qword [rbp - 0x49]
mov qword [0x180587128], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], ecx
mov rax, qword [rbp - 0x49]
mov qword [0x180587130], rax
mov dword [0x1805870e8], 3
call fcn.1801e4620
mov dword [rsp + 0x20], r12d
mov r9d, dword [0x180568984]
mov r8d, 0xe
mov edx, edi
mov rcx, r14
call fcn.18015d200
call qword [sym.imp.WINMM.dll_timeGetTime]
add eax, 0x96
mov dword [0x1805b1c90], eax
mov rcx, qword [0x1805b1c88]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov dword [0x1805870f8], r12d
movabs rax, 0xe532f5d78798daab
mov qword [0x1805dd278], rax
mov qword [rbp - 0x49], r12
mov dword [rbp - 0x49], esi
mov rax, qword [rbp - 0x49]
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
call fcn.1801e4620
nop
mov rcx, r15
call fcn.18006b8d0
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, 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 rbp
ret