Function at 0x18002e3e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x28]
sub rsp, 0x120
mov rax, qword [0x1800c3040]
xor rax, rsp
mov qword [rbp - 0x48], 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], 0xebe4e0c8
mov dword [rsp + 0x54], 0xf7b1e4e1
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 0x18002e440
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 0x18002e4a0
xorps xmm6, xmm6
mov byte [rsp + 0x4c], dil
ucomiss xmm0, xmm6
jp 0x18002e4bf
je 0x18002e4ce
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, [0x1800c4d70]
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 0x18002e514
lea rcx, [0x1800c4d70]
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 0x18002e540
mov rax, qword [0x1800c4be0]
lea r8, [0x1800c4fb0]
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 + 0x70]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x46], dil
mov qword [rsp + 0x70], rdi
call fcn.1800713c0
test al, al
je 0x18002e5b3
lea rcx, [0x1800c4fb0]
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 0x18002e5e0
lea rdx, [0x1800c4a02]
mov byte [rsp + 0x47], dil
lea rcx, [rsp + 0x40]
call fcn.18006b0b0
mov rax, qword [0x1800c4be0]
mov rcx, rdi
mov dword [rsp + 0x70], 0xbf800000
mov dword [rsp + 0x60], 0xebeeafa8
mov dword [rsp + 0x64], 0xe6fff5f9
movss xmm0, dword [rax + 0x3810]
addss xmm0, xmm0
mov word [rsp + 0x68], 0xe0
mov byte [rsp + 0x6a], 1
addss xmm0, dword [rax + 0x3c08]
addss xmm0, dword [rax + 0x3820]
xorps xmm0, xmmword [0x1800b0640]
movss dword [rsp + 0x74], xmm0
nop dword [rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x60], al
inc rcx
cmp rcx, 9
jb 0x18002e660
mov qword [rsp + 0x130], rbx
lea rdx, [rsp + 0x70]
mov r8b, 1
mov qword [rsp + 0x138], rsi
lea rcx, [rsp + 0x60]
mov byte [rsp + 0x6a], dil
call fcn.180041620
test al, al
je 0x18002ec38
mov r8, qword [0x1800c4d30]
mov rax, qword [0x1800c4d38]
cmp r8, rax
je 0x18002eba3
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 0x18002eba3
mov qword [rsp + 0x118], r12
mov r10, rdi
mov qword [rsp + 0x110], r13
mov r13d, dword [0x1800c4e70]
mov qword [rsp + 0x108], r14
movaps xmmword [rsp + 0xc0], xmm9
movss xmm9, dword [0x1800afb30]
mov qword [rsp + 0x100], r15
mov qword [rbp - 0x78], rdi
cmp qword [r10 + r8 + 0x18], 0xf
lea r12, [r10 + r8]
mov rax, r12
jbe 0x18002e734
mov rax, qword [r12]
test r13d, r13d
je 0x18002e799
mov rbx, qword [0x1800c4e78]
lea r14, [0x1800a4066]
test rax, rax
mov esi, edi
cmovne r14, rax
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
cmp r8, r9
je 0x18002e782
cmp byte [r8], 0x2d
mov rcx, r14
jne 0x18002e778
inc r8
call fcn.180038b40
test rax, rax
jne 0x18002eb29
jmp 0x18002e782
call fcn.180038b40
test rax, rax
jne 0x18002e799
inc esi
add rbx, 0x10
cmp esi, r13d
jne 0x18002e750
cmp dword [0x1800c4e80], edi
jne 0x18002eb29
cmp qword [r12 + 0x38], 0xf
lea r15, [r12 + 0x20]
mov rax, r15
jbe 0x18002e7ac
mov rax, qword [r15]
cmp dword [0x1800c50b0], edi
je 0x18002e81f
mov rbx, qword [0x1800c50b8]
lea r14, [0x1800a4066]
test rax, rax
mov esi, edi
cmovne r14, rax
mov eax, dword [0x1800c50b0]
mov r8, qword [rbx]
mov r9, qword [rbx + 8]
cmp r8, r9
je 0x18002e809
cmp byte [r8], 0x2d
mov rcx, r14
jne 0x18002e7f9
inc r8
call fcn.180038b40
test rax, rax
jne 0x18002eb29
jmp 0x18002e803
call fcn.180038b40
test rax, rax
jne 0x18002e81f
mov eax, dword [0x1800c50b0]
inc esi
add rbx, 0x10
cmp esi, eax
jne 0x18002e7d1
cmp dword [0x1800c50c0], edi
jne 0x18002eb29
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 0x18002e876
inc r8d
test ecx, ecx
je 0x18002e85f
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18002e864
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 0x18002e8aa
cmp qword [rax + 0x4b30], rdi
je 0x18002e8b2
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 0x18002e8f0
mov rax, qword [r12 + 0x18]
mov r8, r12
mov byte [rbp - 0x7b], dil
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea r9, [rax + 1]
cmp rax, 0xf
jbe 0x18002e926
mov r8, qword [r12]
lea rax, [rbp - 0x60]
mov qword [rbp - 0x70], rdi
mov qword [rsp + 0x38], rax
lea rbx, [0x18002dbc0]
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x70]
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 0x18002e9e0
mov rax, qword [r15 + 0x18]
mov byte [rsp + 0x5d], dil
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea r9, [rax + 1]
cmp rax, 0xf
jbe 0x18002ea12
mov r15, qword [r15]
lea rax, [rbp - 0x60]
mov qword [rbp - 0x68], rdi
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x68]
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 0x18002eacc
mov dword [rsp + 0x70], 0x1864740b
mov word [rsp + 0x74], 0x100
nop word [rax + rax]
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x70], al
inc rcx
cmp rcx, 4
jb 0x18002eab0
mov byte [rsp + 0x75], dil
lea rdx, [rsp + 0x70]
jmp 0x18002eafa
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 0x18002eae0
mov byte [rsp + 0x45], dil
lea rdx, [rsp + 0x40]
movaps xmm0, xmmword [0x1800b0290]
lea rcx, [rbp - 0x60]
movups xmmword [rbp - 0x60], xmm0
call fcn.1800690e0
mov rax, qword [0x1800c4be0]
mov rax, qword [rax + 0x3ed0]
dec dword [rax + 0xf0]
mov r13d, dword [0x1800c4e70]
mov r9d, dword [rsp + 0x48]
movabs rax, 0xe38e38e38e38e39
mov r10, qword [rbp - 0x78]
inc r9d
mov rcx, qword [0x1800c4d38]
add r10, 0x48
mov r8, qword [0x1800c4d30]
sub rcx, r8
mov dword [rsp + 0x48], r9d
imul rcx
mov qword [rbp - 0x78], r10
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r9d
cmp rax, rdx
jb 0x18002e721
movaps xmm9, xmmword [rsp + 0xc0]
mov r15, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
cmp byte [0x1800c4a01], dil
je 0x18002ec38
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 + 0xd0]
mov rcx, rdi
mov qword [rbp - 0x78], rdi
mov dword [rsp + 0x40], 0x3a3f351b
mov word [rsp + 0x44], 0x2e
mov byte [rsp + 0x46], 1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx + 0x58]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 5
jb 0x18002ec70
lea rdx, [rbp - 0x78]
mov byte [rsp + 0x46], dil
lea rcx, [rsp + 0x40]
call fcn.180069a60
test al, al
je 0x18002ecd8
mov rbx, qword [0x1800c4d30]
mov rsi, qword [0x1800c4d38]
cmp rbx, rsi
je 0x18002ecd8
nop word [rax + rax]
lea rcx, [rbx + 0x20]
call fcn.18000fac0
mov rcx, rbx
call fcn.18000fac0
add rbx, 0x48
cmp rbx, rsi
jne 0x18002ecb0
mov rax, qword [0x1800c4d30]
mov qword [0x1800c4d38], rax
movaps xmm1, xmm7
movaps xmm0, xmm6
call fcn.180049d80
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
mov rsi, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x130]
mov dword [rsp + 0x60], 0xe1f9f9ca
mov dword [rsp + 0x64], 0xe0f2e3a2
mov dword [rsp + 0x68], 0xf9f8fc
mov byte [rsp + 0x6c], 1
lea eax, [rdi - 0x75]
xor byte [rsp + rdi + 0x60], al
inc rdi
cmp rdi, 0xb
jb 0x18002ed20
mov rdi, qword [rsp + 0x140]
lea rdx, [0x1800c4a01]
lea rcx, [rsp + 0x60]
mov byte [rsp + 0x6c], 0
call fcn.18006b0b0
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.18009ab20
add rsp, 0x120
pop rbp
ret