Function at 0x1800e6e70
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1801c85c0]
xor rax, rsp
mov qword [rbp], rax
xor esi, esi
mov eax, dword [str.W_T9]
mov dword [rsp + 0x40], eax
movdqa xmm9, xmmword [0x1801a5540]
movdqa xmm8, xmmword [0x1801a5660]
movdqa xmm10, xmmword [str.1111222277778888::::]
movdqa xmm7, xmmword [0x1801a5a80]
movdqa xmm6, xmmword [0x1801a5470]
mov r15d, dword [0x1801c8570]
cmp byte [0x1801a0dfb], sil
je 0x1800e6fa0
cmp r15d, 2
jl 0x1800e6f68
movdqa xmm1, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm7
movdqa xmm0, xmm6
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
movdqa xmm1, xmm6
psubd xmm1, xmm0
andps xmm1, xmm9
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm8
movd xmm0, eax
xorps xmm1, xmm0
movd dword [rsp + 0x40], xmm1
jmp 0x1800e6fa0
lea r9, [rsp + 0x40]
mov r8d, esi
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 4
jl 0x1800e6f70
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rsi
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], sil
jne 0x1800e6fc0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.180012450
nop
call qword [0x180204358]
mov rbx, qword [rax + 0x168]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x1800e7399
mov r12, qword [rbp - 8]
mov r13, qword [rbp - 0x10]
movzx edi, byte [rsp + 0x44]
nop
mov rdx, qword [rbx + 0x28]
add rdx, 0x28
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rsi
mov rax, qword [rdx + 0x10]
cmp rax, 2
jb 0x1800e73ee
add rax, 0xfffffffffffffffe
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
cmp qword [rdx + 0x18], 0xf
jbe 0x1800e7041
mov rdx, qword [rdx]
add rdx, 2
lea rcx, [rbp - 0x40]
call fcn.180012450
nop
mov rdx, qword [rbx + 0x28]
add rdx, 0x28
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
mov rax, qword [rdx + 0x10]
cmp rax, 2
jb 0x1800e73e8
add rax, 0xfffffffffffffffe
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
cmp qword [rdx + 0x18], 0xf
jbe 0x1800e7093
mov rdx, qword [rdx]
add rdx, 2
lea rcx, [rsp + 0x48]
call fcn.180012450
nop
mov rax, qword [rbx + 0x28]
mov r8, qword [rax + 0x38]
add r8, 0xfffffffffffffffc
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rsi
cmp qword [rsp + 0x58], r8
cmovb r8, qword [rsp + 0x58]
lea rdx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x60]
call fcn.180012450
nop
lea rcx, [rsp + 0x48]
call fcn.180004520
lea r9, [rbp - 0x20]
cmp r12, 0xf
cmova r9, qword [rbp - 0x20]
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rcx, qword [rbp - 0x40]
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov rdx, qword [rbp - 0x30]
call fcn.1800ec5e0
test rax, rax
je 0x1800e7331
mov rsi, qword [0x180204348]
call qword [0x180204360]
mov r14, qword [rax + 0xa8]
movups xmm0, xmmword [str.WTLPUU_TPO55H_0__34f__mN]
movups xmmword [rsp + 0x48], xmm0
movsd xmm0, qword [0x1801a0688]
movsd qword [rsp + 0x58], xmm0
movzx eax, byte [0x1801a0690]
mov byte [rsp + 0x60], al
xor r8d, r8d
cmp r15d, 2
jl 0x1800e726b
movdqa xmmword [rsp + 0x70], xmm8
lea rcx, [rsp + 0x4c]
mov edx, dword [rsp + 0x70]
nop dword [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm6
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm7
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm7
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm10
psubd xmm2, xmm0
andps xmm2, xmm9
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x18
jl 0x1800e7180
cmp r8d, 0x19
jge 0x1800e72b0
movsxd rax, r8d
lea r9, [rsp + 0x48]
add r9, rax
nop word [rax + rax]
mov eax, 0x5397829d
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x31
movzx eax, r8b
sub al, cl
add al, 0x36
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x19
jl 0x1800e7280
lea rax, [rsp + 0x48]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800e72c0
movabs rax, 0x7fffffffffffffff
mov rdx, qword [rbp - 0x50]
sub rax, rdx
cmp rax, rcx
jb 0x1800e73f4
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
cmova rax, qword [rbp - 0x60]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x60]
movzx edx, dil
lea rcx, [rbp - 0x80]
call fcn.180076470
nop
mov r8, r14
lea rdx, [rbp - 0x80]
mov ecx, 2
call rsi
nop
lea rcx, [rbp - 0x80]
call fcn.180004520
xor esi, esi
lea rcx, [rbp - 0x60]
call fcn.180004520
nop
lea rcx, [rbp - 0x40]
call fcn.180004520
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1800e7370
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1800e736b
cmp rbx, qword [rax + 0x10]
jne 0x1800e736b
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1800e7358
mov rbx, rax
jmp 0x1800e738f
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1800e738f
nop dword [rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1800e7380
cmp byte [rbx + 0x19], 0
je 0x1800e7000
lea rcx, [rbp - 0x20]
call fcn.180004520
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.18015b9a0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800728b0
nop
call fcn.1800728b0
nop
call fcn.1800048a0
int3