Function at 0x1800512a0
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, 0x90
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
mov rax, qword [0x18032f0e0]
xor rax, rsp
mov qword [rbp - 1], rax
mov r15, rcx
mov qword [rbp - 0x21], rcx
cmp qword [rcx + 0x18], 0x10
jb 0x1800512f0
mov rcx, qword [rcx]
call fcn.18022e06c
mov r14, rax
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x180051300
xor r12d, r12d
mov esi, r12d
mov ebx, r12d
test rdi, rdi
je 0x180051342
mov eax, r12d
nop word [rax + rax]
movsx ecx, byte [rax + r14]
call fcn.18022e718
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 0x180051320
lea ecx, [rbx + rbx*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul esi, ecx, 0x8001
mov dword [0x18035eaf0], r12d
movabs rax, 0xc0296a2edf545e92
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], esi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r12d
je 0x180051b6f
mov ecx, esi
call qword [0x1803856f0]
mov dword [0x18035eaf0], r12d
movabs rbx, 0x98a4eb5d89a0c952
mov qword [0x1803afcd8], rbx
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], esi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r12d
jne 0x18005142d
nop word [rax + rax]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x1803855fc], eax
mov rcx, qword [0x180385680]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], rbx
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], esi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r12d
je 0x1800513e0
mov dword [0x18035eae0], r12d
mov dword [0x18035eaf0], r12d
movabs r14, 0xd80958fc74e988a6
mov qword [0x1803afcd8], r14
call fcn.180110360
mov ecx, dword [rax]
mov dword [0x18035eaf0], r12d
movabs rax, 0x3fef770d40960d5a
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ecx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [0x18035ebc0], r12
mov dword [0x18035eae0], 2
call fcn.180110360
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x19], xmm0
movsd xmm1, qword [rax + 0x10]
movsd qword [rbp - 9], xmm1
mov dword [0x18035eae0], r12d
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r14
call fcn.180110360
mov ecx, dword [rax]
mov dword [0x18035eaf0], r12d
movabs rax, 0xe83d4f9ba2a38914
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ecx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
movss xmm9, dword [rax]
movaps xmm7, xmm9
mulss xmm7, dword [0x1802fb728]
divss xmm7, dword [0x1802fccd4]
movaps xmm0, xmm7
call fcn.18024a550
movaps xmm8, xmm0
mulss xmm8, dword [0x1802fb7e4]
mulss xmm8, dword [0x1802fde88]
movaps xmm0, xmm7
call fcn.180249ae0
mulss xmm0, dword [0x1802fb7e4]
movss xmm1, dword [rbp - 0x19]
addss xmm1, xmm8
movss dword [rbp - 0x19], xmm1
movss xmm3, dword [rbp - 0x11]
addss xmm3, xmm0
movss dword [rbp - 0x11], xmm3
mov dword [rsp + 0x20], 1
mov r9d, 1
movaps xmm2, xmm9
lea rdx, [rbp - 0x19]
mov ecx, esi
call qword [0x1803856e8]
mov edi, eax
mov ecx, eax
call fcn.1800e4750
mov edx, 1
mov r9d, edx
mov r8d, edx
mov ecx, edi
call fcn.1800e3b70
mov dword [0x18035eaf0], r12d
movabs rax, 0x49733e92263139d1
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rcx, qword [rbp - 0x29]
mov qword [0x18035ebb8], rcx
mov dword [0x18035eae0], 1
call fcn.180110360
mov ecx, edi
call fcn.1800e3b00
mov dword [0x18035eaf0], r12d
movabs rax, 0xb4c94523f023419c
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
mov ebx, dword [rax]
mov dword [0x18035eaf0], r12d
movabs rax, 0x3910051ccecdb00c
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], 1
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [0x18035eaf0], r12d
movabs rax, 0xc7827959479dcc78
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
cmp dword [rax], r12d
je 0x1800516ed
mov dword [0x18035eaf0], r12d
movabs rax, 0xe05e81a888fa63c8
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ebx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], 1
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
cmp byte [0x180382cf0], 1
jne 0x180051773
mov dword [0x18035eae0], r12d
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r14
call fcn.180110360
mov ecx, dword [rax]
mov dword [0x18035eaf0], r12d
movabs rax, 0xf75b0d629e1c063d
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ecx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], 0xffffffff
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc8], rax
mov dword [0x18035eae0], 3
call fcn.180110360
cmp byte [0x180382cef], 1
jne 0x180051b6f
mov dword [0x18035eaf0], r12d
movabs rax, 0x1f2aa07f00b3217a
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [0x18035ebc0], r12
mov dword [0x18035eae0], 2
call fcn.180110360
mov ebx, r12d
movabs r13, 0xe38e9162a2500646
movabs r14, 0x6af0636ddedcb6dd
nop word [rax + rax]
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r13
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ebx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
mov ecx, dword [rax]
sub ecx, dword [0x180343fd4]
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r14
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ebx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], ecx
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc8], rax
mov qword [0x18035ebd0], r12
mov dword [0x18035eae0], 4
call fcn.180110360
inc ebx
cmp ebx, 0x32
jl 0x1800517e0
mov dword [0x18035eaf0], r12d
movabs rax, 0x95a88f0b409cda47
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
lea rax, str.Thunder
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
cmp byte [0x180382c83], 1
jne 0x180051b6f
mov dword [0x18035eaf0], r12d
movabs rax, 0x8c4b92553e4766a5
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], 1
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
xor edx, edx
mov ecx, edi
call fcn.1800e3a90
mov edx, 1
mov ecx, edi
call fcn.1800e3a90
mov edx, 2
mov ecx, edi
call fcn.1800e3a90
mov edx, 3
mov ecx, edi
call fcn.1800e3a90
mov edx, 4
mov ecx, edi
call fcn.1800e3a90
mov edx, 5
mov ecx, edi
call fcn.1800e3a90
mov edx, 6
mov ecx, edi
call fcn.1800e3a90
mov edx, 7
mov ecx, edi
call fcn.1800e3a90
mov dword [0x18035eaf0], r12d
movabs rax, 0x1f2aa07f00b3217a
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [0x18035ebc0], r12
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [0x18035eaf0], r12d
movabs rax, 0x487eb21cc7295ba1
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov eax, dword [0x180343f80]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov dword [0x18035eae0], 2
call fcn.180110360
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r14
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], 0x17
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov qword [rbp - 0x29], r12
mov eax, dword [0x180382af4]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc8], rax
mov qword [0x18035ebd0], r12
mov dword [0x18035eae0], 4
call fcn.180110360
mov dword [0x18035eaf0], r12d
movabs rax, 0x7141766f91d15bea
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov eax, dword [0x180382aec]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov qword [rbp - 0x29], r12
mov eax, dword [0x180382ae4]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc8], rax
mov qword [rbp - 0x29], r12
mov eax, dword [0x180343f7c]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebd0], rax
mov dword [0x18035eae0], 4
call fcn.180110360
mov ecx, edi
call fcn.1800e3a20
mov dword [0x18035eaf0], r12d
mov qword [0x1803afcd8], r14
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], edi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], 0xe
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc0], rax
mov qword [rbp - 0x29], r12
mov eax, dword [0x180343f74]
mov dword [rbp - 0x29], eax
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebc8], rax
mov qword [0x18035ebd0], r12
mov dword [0x18035eae0], 4
call fcn.180110360
call qword [sym.imp.WINMM.dll_timeGetTime]
add eax, 0x96
mov dword [0x1803855fc], eax
mov rcx, qword [0x180385680]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov dword [0x18035eaf0], r12d
movabs rax, 0xe532f5d78798daab
mov qword [0x1803afcd8], rax
mov qword [rbp - 0x29], r12
mov dword [rbp - 0x29], esi
mov rax, qword [rbp - 0x29]
mov qword [0x18035ebb8], rax
mov dword [0x18035eae0], 1
call fcn.180110360
nop
mov rcx, r15
call fcn.1800292b0
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.1801fcf00
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm7, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret