Function at 0x14000a178
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, [rax - 0xe8]
sub rsp, 0x1c0
mov rax, qword [0x140081040]
xor rax, rsp
mov qword [rbp + 0xb0], rax
xor r15d, r15d
lea rcx, [rbp + 0x90]
call fcn.14002a7f4
nop
lea rdx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 7
cmova rdx, qword [rbp + 0x90]
lea rcx, [rsp + 0x40]
call fcn.14000877c
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x3c], edx
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r15
lea r12d, [r15 + 0xf]
mov qword [rbp + 0x88], r12
mov byte [rbp + 0x70], r15b
or r13, 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x40]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
mov r8b, al
lea rdx, [rbp + 0x70]
lea rcx, [rsp + 0x40]
call fcn.14000c16c
movdqa xmm0, xmmword [0x1400770f0]
movdqu xmmword [rbp + 0x50], xmm0
mov word [rbp + 0x60], 0x2e
mov rcx, r15
mov al, byte [rbp + 0x50]
xor byte [rbp + rcx + 0x51], al
inc rcx
cmp rcx, 0x10
jb 0x14000a269
mov byte [rbp + 0x61], r15b
lea rcx, [rbp + 0x70]
cmp qword [rbp + 0x88], r12
seta sil
mov rdi, qword [rbp + 0x70]
cmova rcx, rdi
lea rdx, [rbp + 0x51]
mov rax, r13
inc rax
cmp byte [rdx + rax], r15b
jne 0x14000a29b
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x51]
mov rbx, qword [rbp + 0x80]
mov rdx, rbx
call fcn.140001b10
cmp rax, r13
je 0x14000a229
movdqa xmm0, xmmword [0x1400770d0]
movdqu xmmword [rbp + 0x50], xmm0
mov word [rbp + 0x60], 0x3c
mov rcx, r15
mov al, byte [rbp + 0x50]
xor byte [rbp + rcx + 0x51], al
inc rcx
cmp rcx, 0x10
jb 0x14000a2db
mov byte [rbp + 0x61], r15b
lea rcx, [rbp + 0x51]
mov rax, r13
inc rax
cmp byte [rcx + rax], r15b
jne 0x14000a2f6
lea rcx, [rbp + 0x70]
test sil, sil
cmovne rcx, rdi
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x51]
mov rdx, rbx
call fcn.140001b10
lea rcx, [rax + 0x15]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
cmp rbx, rcx
jb 0x14000a576
sub rbx, rcx
mov r8, r13
cmp rbx, r13
cmovb r8, rbx
lea rdx, [rbp + 0x70]
test sil, sil
cmovne rdx, rdi
add rdx, rcx
lea rcx, [rbp + 0x50]
call fcn.140001c50
mov rdx, qword [rbp + 0x88]
cmp rdx, r12
jbe 0x14000a398
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a393
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a455
call fcn.14005e9f4
movups xmm1, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x70], xmm1
movups xmm2, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x80], xmm2
lea rbx, [rbp + 0x70]
movdqa xmm0, xmm2
psrldq xmm0, 8
movq rax, xmm0
cmp rax, r12
seta r14b
movq rsi, xmm1
cmova rbx, rsi
movq rdi, xmm2
test rdi, rdi
je 0x14000a3f1
mov r8, rdi
mov edx, 0x29
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x14000a3f1
sub rax, rbx
jmp 0x14000a3f4
mov rax, r13
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
cmp rdi, rax
cmovb rax, rdi
lea rdx, [rbp + 0x70]
test r14b, r14b
cmovne rdx, rsi
mov r8, rax
lea rcx, [rbp + 0x50]
call fcn.140001c50
mov rdx, qword [rbp + 0x88]
cmp rdx, r12
jbe 0x14000a461
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a45c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000a45c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005e9f4
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rbp + 0x70], xmm0
movups xmm1, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x80], xmm1
lea rcx, [rbp + 0x70]
movq rdx, xmm0
psrldq xmm1, 8
movq rax, xmm1
cmp rax, r12
cmova rcx, rdx
xor edx, edx
lea r8d, [rdx + 0x10]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtoull]
mov rbx, rax
mov rdx, qword [rbp + 0x88]
cmp rdx, r12
jbe 0x14000a4dd
inc rdx
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a4d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000a4d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005e9f4
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], r12
mov byte [rbp + 0x70], r15b
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x40], rax
mov rax, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x3c], edx
lea rcx, [rsp + 0x50]
call fcn.140004940
lea rcx, [rsp + 0x58]
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 - 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x90]
call fcn.140004ac4
mov rax, rbx
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.14005e990
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140004ef8
nop