Function at 0x18002ed70
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x38]
sub rsp, 0x130
mov rax, qword [0x1800c3040]
xor rax, rsp
mov qword [rbp - 0x40], rax
mov qword [r11 + 0x18], rdi
xor edi, edi
movaps xmmword [r11 - 0x38], xmm6
mov ecx, edi
movaps xmmword [r11 - 0x48], xmm7
movaps xmmword [r11 - 0x58], xmm8
mov dword [rsp + 0x50], 0xf8ffe9d8
mov dword [rsp + 0x54], 0xf7b1e2ea
mov dword [rsp + 0x58], 0xe2fbf1e5
mov word [rsp + 0x5c], 0xe4
mov byte [rsp + 0x5e], 1
nop dword [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0xd
jb 0x18002edd0
lea rcx, [rsp + 0x50]
mov byte [rsp + 0x5e], dil
call fcn.18002da70
mov rdx, qword [0x1800c4be0]
mov rcx, rdi
movss xmm8, dword [0x1800af950]
mov rax, qword [rdx + 0x3ed0]
movss xmm0, dword [rax + 0x254]
subss xmm0, dword [rax + 0x104]
mov dword [rsp + 0x48], 0x2d7a7b
mov byte [rsp + 0x4c], 1
mulss xmm0, xmm8
nop dword [rax + rax]
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x48], al
inc rcx
cmp rcx, 3
jb 0x18002ee30
xorps xmm6, xmm6
mov byte [rsp + 0x4c], dil
ucomiss xmm0, xmm6
jp 0x18002ee4f
je 0x18002ee5e
or dword [rdx + 0x4758], 1
movss dword [rdx + 0x475c], xmm0
mov qword [rsp + 0x38], rdi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
lea r8, [0x1800c4e90]
mov dword [rsp + 0x28], edi
lea rcx, [rsp + 0x48]
mov r9d, 0x100
mov qword [rsp + 0x20], rax
xor edx, edx
mov qword [rsp + 0x40], rdi
call fcn.1800713c0
test al, al
je 0x18002eea4
lea rcx, [0x1800c4e90]
call fcn.1800398c0
movss xmm7, dword [0x1800afb20]
xorps xmm0, xmm0
movaps xmm1, xmm7
call fcn.180049d80
mov rcx, rdi
mov dword [rsp + 0x40], 0x2c3e7a7b
mov word [rsp + 0x44], 0x3d
mov byte [rsp + 0x46], 1
nop
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 5
jb 0x18002eed0
mov rax, qword [0x1800c4be0]
lea r8, [0x1800c50d0]
mov qword [rsp + 0x38], rdi
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rdi
mov r9d, 0x100
mov dword [rsp + 0x28], edi
xor edx, edx
or dword [rax + 0x4758], 1
mov dword [rax + 0x475c], 0xc2c80000
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x46], dil
mov qword [rsp + 0x60], rdi
call fcn.1800713c0
test al, al
je 0x18002ef43
lea rcx, [0x1800c50d0]
call fcn.1800398c0
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180049d80
mov rcx, rdi
mov dword [rsp + 0x40], 0xecece2ce
mov dword [rsp + 0x44], 0x100f5e3
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 6
jb 0x18002ef70
lea rdx, [0x1800c4a04]
mov byte [rsp + 0x47], dil
lea rcx, [rsp + 0x40]
call fcn.18006b0b0
mov rax, qword [0x1800c4be0]
mov rcx, rdi
mov dword [rsp + 0x60], 0xbf800000
mov dword [rbp - 0x78], 0xd9c8999a
mov dword [rbp - 0x74], 0xb2dac8cf
movss xmm0, dword [rax + 0x3810]
addss xmm0, xmm0
mov dword [rbp - 0x70], 0xaaa6b4a4
mov dword [rbp - 0x6c], 0x100b5b1
addss xmm0, dword [rax + 0x3c08]
addss xmm0, dword [rax + 0x3820]
xorps xmm0, xmmword [0x1800b0640]
movss dword [rsp + 0x64], xmm0
nop dword [rax]
lea eax, [rcx - 0x47]
xor byte [rbp + rcx - 0x78], al
inc rcx
cmp rcx, 0xe
jb 0x18002eff0
mov qword [rsp + 0x140], rbx
lea rdx, [rsp + 0x60]
mov r8b, 1
mov qword [rsp + 0x148], rsi
lea rcx, [rbp - 0x78]
mov byte [rbp - 0x69], dil
call fcn.180041620
test al, al
je 0x18002f5ca
mov r8, qword [0x1800c4d48]
mov rax, qword [0x1800c4d50]
cmp r8, rax
je 0x18002f535
mov rcx, rax
mov dword [rsp + 0x48], edi
sub rcx, r8
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x18002f535
mov qword [rsp + 0x128], r12
mov r10, rdi
mov qword [rsp + 0x120], r13
mov r13d, dword [0x1800c4f90]
mov qword [rsp + 0x118], r14
movaps xmmword [rsp + 0xd0], xmm9
movss xmm9, dword [0x1800afb30]
mov qword [rsp + 0x110], r15
mov qword [rsp + 0x68], rdi
cmp qword [r10 + r8 + 0x18], 0xf
lea r12, [r10 + r8]
mov rax, r12
jbe 0x18002f0c3
mov rax, qword [r12]
test r13d, r13d
je 0x18002f129
mov rbx, qword [0x1800c4f98]
lea r14, [0x1800a4066]
test rax, rax
mov esi, edi
cmovne r14, rax
nop
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
cmp r8, r9
je 0x18002f112
cmp byte [r8], 0x2d
mov rcx, r14
jne 0x18002f108
inc r8
call fcn.180038b40
test rax, rax
jne 0x18002f4b9
jmp 0x18002f112
call fcn.180038b40
test rax, rax
jne 0x18002f129
inc esi
add rbx, 0x10
cmp esi, r13d
jne 0x18002f0e0
cmp dword [0x1800c4fa0], edi
jne 0x18002f4b9
cmp qword [r12 + 0x38], 0xf
lea r15, [r12 + 0x20]
mov rax, r15
jbe 0x18002f13c
mov rax, qword [r15]
cmp dword [0x1800c51d0], edi
je 0x18002f1af
mov rbx, qword [0x1800c51d8]
lea r14, [0x1800a4066]
test rax, rax
mov esi, edi
cmovne r14, rax
mov eax, dword [0x1800c51d0]
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
cmp r8, r9
je 0x18002f199
cmp byte [r8], 0x2d
mov rcx, r14
jne 0x18002f189
inc r8
call fcn.180038b40
test rax, rax
jne 0x18002f4b9
jmp 0x18002f193
call fcn.180038b40
test rax, rax
jne 0x18002f1af
mov eax, dword [0x1800c51d0]
inc esi
add rbx, 0x10
cmp esi, eax
jne 0x18002f161
cmp dword [0x1800c51e0], edi
jne 0x18002f4b9
mov rbx, qword [0x1800c4be0]
mov edx, dword [rsp + 0x48]
mov rbx, qword [rbx + 0x3ed0]
mov rcx, rbx
call fcn.18003d500
add rbx, 0xf0
mov esi, eax
mov r8d, dword [rbx]
mov ecx, dword [rbx + 4]
cmp r8d, ecx
jne 0x18002f206
inc r8d
test ecx, ecx
je 0x18002f1ef
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002f1f4
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.180053460
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], esi
inc dword [rbx]
mov rax, qword [0x1800c4be0]
mov rdx, qword [rax + 0x3ed0]
movss xmm0, dword [rdx + 0x250]
cmp qword [rdx + 0x1a8], rdi
jne 0x18002f23a
cmp qword [rax + 0x4b30], rdi
je 0x18002f242
movss xmm0, dword [rdx + 0x220]
subss xmm0, dword [rdx + 0x100]
mulss xmm0, xmm8
call fcn.180049e30
mov rcx, rdi
mov dword [rsp + 0x78], 0xf8e8afa8
mov dword [rsp + 0x7c], 0xcde5feea
mov dword [rbp - 0x80], 0xf3f8f5fd
mov word [rbp - 0x7c], 0x100
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x78], al
inc rcx
cmp rcx, 0xc
jb 0x18002f280
mov rax, qword [r12 + 0x18]
mov r8, r12
mov byte [rbp - 0x7b], dil
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rdi
lea r9, [rax + 1]
cmp rax, 0xf
jbe 0x18002f2b6
mov r8, qword [r12]
lea rax, [rbp - 0x58]
mov qword [rbp - 0x68], rdi
mov qword [rsp + 0x38], rax
lea rbx, [0x18002dbc0]
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x68]
mov dword [rsp + 0x28], 0x40000
lea rcx, [rsp + 0x78]
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.1800713c0
mov rcx, qword [0x1800c4be0]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], 1
mov r8, qword [rcx + 0x3ed0]
movsxd rdx, dword [r8 + 0x1c8]
mov rax, qword [r8 + 0x1d0]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x1c8], eax
mov dword [r8 + 0x1bc], ecx
call fcn.180049d80
movaps xmm0, xmm9
call fcn.180049e30
mov rcx, rdi
mov dword [rsp + 0x50], 0xf8e8afa8
mov dword [rsp + 0x54], 0xcde5feea
mov dword [rsp + 0x58], 0xe5f2e6f2
mov word [rsp + 0x5c], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 0xc
jb 0x18002f370
mov rax, qword [r15 + 0x18]
mov byte [rsp + 0x5d], dil
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rdi
lea r9, [rax + 1]
cmp rax, 0xf
jbe 0x18002f3a2
mov r15, qword [r15]
lea rax, [rbp - 0x58]
mov qword [rbp - 0x60], rdi
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x60]
mov dword [rsp + 0x28], 0x40000
mov r8, r15
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.1800713c0
mov rcx, qword [0x1800c4be0]
movaps xmm1, xmm7
movaps xmm0, xmm6
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], 1
mov r8, qword [rcx + 0x3ed0]
movsxd rdx, dword [r8 + 0x1c8]
mov rax, qword [r8 + 0x1d0]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x1c8], eax
mov dword [r8 + 0x1bc], ecx
call fcn.180049d80
mov rcx, rdi
cmp byte [r12 + 0x40], dil
je 0x18002f45c
mov dword [rsp + 0x60], 0x1864740b
mov word [rsp + 0x64], 0x100
nop word [rax + rax]
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x60], al
inc rcx
cmp rcx, 4
jb 0x18002f440
mov byte [rsp + 0x65], dil
lea rdx, [rsp + 0x60]
jmp 0x18002f48a
mov dword [rsp + 0x40], 0x864741b
mov word [rsp + 0x44], 0x100
nop dword [rax + rax]
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 4
jb 0x18002f470
mov byte [rsp + 0x45], dil
lea rdx, [rsp + 0x40]
movaps xmm0, xmmword [0x1800b0290]
lea rcx, [rbp - 0x58]
movups xmmword [rbp - 0x58], xmm0
call fcn.1800690e0
mov rax, qword [0x1800c4be0]
mov rax, qword [rax + 0x3ed0]
dec dword [rax + 0xf0]
mov r13d, dword [0x1800c4f90]
mov r9d, dword [rsp + 0x48]
movabs rax, 0xe38e38e38e38e39
mov r10, qword [rsp + 0x68]
inc r9d
mov rcx, qword [0x1800c4d50]
add r10, 0x48
mov r8, qword [0x1800c4d48]
sub rcx, r8
mov dword [rsp + 0x48], r9d
imul rcx
mov qword [rsp + 0x68], r10
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r9d
cmp rax, rdx
jb 0x18002f0b0
movaps xmm9, xmmword [rsp + 0xd0]
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x120]
mov r12, qword [rsp + 0x128]
cmp byte [0x1800c4a03], dil
je 0x18002f5ca
mov rax, qword [0x1800c4be0]
mov rcx, qword [rax + 0x3ed0]
movss xmm3, dword [rcx + 0x54]
movss xmm1, dword [rcx + 0x10c]
movaps xmm2, xmm3
maxss xmm2, dword [rax + 0x3820]
movaps xmm0, xmm1
mov dword [rcx + 0xa0], 0x3f800000
addss xmm1, dword [rcx + 0x134]
subss xmm0, xmm2
subss xmm3, xmm2
addss xmm1, xmm2
subss xmm1, xmm0
addss xmm1, xmm0
xorps xmm0, xmm0
subss xmm1, dword [rcx + 0x24]
subss xmm1, dword [rcx + 0x64]
subss xmm1, dword [rcx + 0x74]
addss xmm1, dword [rcx + 0x88]
cvttss2si eax, xmm1
cvtsi2ss xmm0, eax
movss dword [rcx + 0x98], xmm0
movaps xmm0, xmm6
maxss xmm0, xmm3
movss dword [rcx + 0xa8], xmm0
call fcn.1800416d0
movaps xmm8, xmmword [rsp + 0xe0]
mov rcx, rdi
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x40], 0x3a3f351b
mov word [rsp + 0x44], 0x2e
mov byte [rsp + 0x46], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 5
jb 0x18002f600
lea rdx, [rsp + 0x68]
mov byte [rsp + 0x46], dil
lea rcx, [rsp + 0x40]
call fcn.180069a60
test al, al
je 0x18002f668
mov rbx, qword [0x1800c4d48]
mov rsi, qword [0x1800c4d50]
cmp rbx, rsi
je 0x18002f668
nop dword [rax + rax]
lea rcx, [rbx + 0x20]
call fcn.18000fac0
mov rcx, rbx
call fcn.18000fac0
add rbx, 0x48
cmp rbx, rsi
jne 0x18002f640
mov rax, qword [0x1800c4d48]
mov qword [0x1800c4d50], rax
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180049d80
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov rsi, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x140]
mov dword [rsp + 0x68], 0xe1f9f9ca
mov dword [rsp + 0x6c], 0xe0f2e3a2
mov dword [rsp + 0x70], 0xf9f8fc
mov byte [rsp + 0x74], 1
lea eax, [rdi - 0x75]
xor byte [rsp + rdi + 0x68], al
inc rdi
cmp rdi, 0xb
jb 0x18002f6b0
mov rdi, qword [rsp + 0x150]
lea rdx, [0x1800c4a03]
lea rcx, [rsp + 0x68]
mov byte [rsp + 0x74], 0
call fcn.18006b0b0
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.18009ab20
add rsp, 0x130
pop rbp
ret