Function at 0x1401e5160
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x128]
sub rsp, 0x220
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x88], xmm13
mov rax, qword [0x140284028]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov rdi, rdx
mov rbx, rcx
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x80]
call fcn.140241de8
mov r8d, 1
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1402158d0
nop
xor ecx, ecx
cmp qword [rbp + 0x10], rcx
jne 0x1401e54c7
movups xmm0, xmmword [0x140271500]
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x140271510]
movsd qword [rsp + 0x50], xmm0
movzx eax, byte [0x140271518]
mov byte [rsp + 0x58], al
cmp dword [0x140284008], 2
jl 0x1401e543e
movdqa xmm9, xmmword [0x140272810]
movdqa xmm6, xmmword [0x1402728d0]
mov eax, 3
movd xmm10, eax
movdqa xmm7, xmmword [0x140272910]
mov eax, 6
movd xmm11, eax
movdqa xmm12, xmmword [0x140272840]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm13, xmmword [0x140272920]
movdqa xmm0, xmmword [str.BBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x44]
mov r8d, dword [rsp + 0x30]
nop dword [rax]
movd xmm5, ecx
pshufd xmm5, xmm5, 0
paddd xmm5, xmm9
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, xmm10
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm5
psrad xmm2, xmm11
movdqa xmm1, xmm2
psrld xmm1, xmm8
paddd xmm1, xmm2
pmulld xmm1, xmm13
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
pand xmm3, xmmword [0x1402728c0]
packuswb xmm3, xmm3
movdqa xmm0, xmm4
psrld xmm0, xmm8
paddd xmm0, xmm4
pmulld xmm0, xmm12
psubd xmm5, xmm0
pshuflw xmm0, xmm5, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1402728c0]
packuswb xmm2, xmm2
paddb xmm3, xmm2
movd xmm0, r8d
paddb xmm3, xmm0
movd xmm0, dword [rdx - 4]
pxor xmm3, xmm0
movd dword [rdx - 4], xmm3
lea eax, [rcx + 4]
movd xmm5, eax
pshufd xmm5, xmm5, 0
paddd xmm5, xmm9
movdqa xmm2, xmm5
punpckldq xmm2, xmm5
movdqa xmm1, xmm5
punpckhdq xmm1, xmm5
movdqa xmm4, xmm2
pmuldq xmm4, xmm6
movdqa xmm0, xmm1
pmuldq xmm0, xmm6
shufps xmm4, xmm0, 0xdd
psrad xmm4, xmm10
pmuldq xmm2, xmm7
pmuldq xmm1, xmm7
shufps xmm2, xmm1, 0xdd
psubd xmm2, xmm5
psrad xmm2, xmm11
movdqa xmm1, xmm2
psrld xmm1, xmm8
paddd xmm1, xmm2
pmulld xmm1, xmm13
movdqa xmm0, xmm5
psubd xmm0, xmm1
pshuflw xmm0, xmm0, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
pand xmm3, xmmword [0x1402728c0]
packuswb xmm3, xmm3
movdqa xmm0, xmm4
psrld xmm0, xmm8
paddd xmm0, xmm4
pmulld xmm0, xmm12
psubd xmm5, xmm0
pshuflw xmm0, xmm5, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1402728c0]
packuswb xmm2, xmm2
paddb xmm3, xmm2
movd xmm0, r8d
paddb xmm3, xmm0
movd xmm0, dword [rdx]
pxor xmm3, xmm0
movd dword [rdx], xmm3
add ecx, 8
mov eax, ecx
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x1401e5280
cmp eax, 0x19
jge 0x1401e549f
movsxd rax, ecx
lea r9, [rsp + 0x40]
add r9, rax
nop dword [rax]
mov eax, 0x8fb823ef
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x39
movzx r8d, cl
sub r8b, dl
add r8b, 0x21
add r8b, r8b
mov eax, 0x13e22cbd
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x67
sub r8b, dl
xor byte [r9], r8b
inc ecx
lea r9, [r9 + 1]
cmp ecx, 0x19
jl 0x1401e5450
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14021b940
lea rdx, [0x14021bb10]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor bl, bl
jmp 0x1401e558d
mov qword [rsp + 0x40], rcx
mov word [rsp + 0x48], 1
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx - 0x38]
mov qword [rsp + 0x30], rax
test rax, rax
sete byte [rsp + 0x38]
mov byte [rsp + 0x39], 0
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14021c3c0
nop
lea rcx, [rbp - 0x70]
call fcn.140218fb0
test rax, rax
jne 0x1401e5547
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x80]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rax, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x1401e5555
mov rdi, qword [rdi]
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rdi
xor r8d, r8d
mov rdx, qword [rsp + 0x70]
call fcn.14021d370
cmp rax, 0xffffffffffffffff
setne bl
lea rcx, [rsp + 0x60]
call fcn.140219ac0
nop
mov rcx, qword [rbp - 0x80]
movsxd rdx, dword [rcx + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rdx - 0x80], rax
mov rcx, qword [rbp - 0x80]
movsxd rdx, dword [rcx + 4]
lea r8d, [rdx - 0xb0]
mov dword [rsp + rdx + 0x7c], r8d
lea rcx, [rbp - 0x70]
call fcn.140215860
lea rcx, [rbp - 0x68]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x30]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
movzx eax, bl
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140240c60
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop rbp
ret