Function at 0x180006890
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r14
sub rsp, 0x188
mov rsi, rcx
lea r9, [0x18003dc81]
mov rdx, r9
lea r8, [0x18003dc82]
mov ecx, 0x1f18e
nop word [rax + rax]
movzx eax, byte [r8 - 2]
mov byte [rdx - 1], al
movzx eax, byte [r8]
mov byte [rdx], al
movzx eax, byte [r8 + 2]
mov byte [rdx + 1], al
lea rdx, [rdx + 3]
lea r8, [r8 + 6]
sub rcx, 1
jne 0x1800068c0
mov r8d, 2
mov r10d, 0xf8c7
lea r11, [0x180037520]
nop word [rax + rax]
mov edx, r8d
lea rax, [rdx - 2]
movzx ecx, al
movzx eax, byte [rcx + r11]
xor byte [r9 - 1], al
lea rax, [rdx - 1]
movzx ecx, al
movzx eax, byte [rcx + r11]
xor byte [r9], al
movzx eax, r8b
movzx eax, byte [rax + r11]
xor byte [r9 + 1], al
lea rax, [rdx + 1]
movzx ecx, al
movzx eax, byte [rcx + r11]
xor byte [r9 + 2], al
lea rax, [rdx + 2]
movzx ecx, al
movzx eax, byte [rcx + r11]
xor byte [r9 + 3], al
lea rax, [rdx + 3]
movzx ecx, al
movzx eax, byte [rcx + r11]
xor byte [r9 + 4], al
add r8d, 6
lea r9, [r9 + 6]
sub r10, 1
jne 0x180006900
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor ebx, ebx
mov qword [rsp + 0x60], rbx
movzx edx, byte [0x18003dc85]
mov ecx, edx
movzx r8d, byte [0x18003dc86]
mov eax, r8d
shl rax, 8
or rcx, rax
movzx r9d, byte [0x18003dc87]
mov eax, r9d
shl rax, 0x10
or rcx, rax
movzx r10d, byte [0x18003dc88]
mov eax, r10d
shl eax, 0x18
movsxd r11, eax
or r11, rcx
cmp dl, 0xff
sete al
mov edx, ebx
movzx ecx, al
cmp r8b, 0xff
cmove edx, ecx
mov ecx, ebx
movzx eax, dl
cmp r9b, 0xff
cmove ecx, eax
mov edx, ebx
movzx eax, cl
cmp r10b, 0xff
cmove edx, eax
mov ecx, ebx
movzx eax, dl
cmp byte [0x18003dc89], 0xff
cmove ecx, eax
mov edx, ebx
movzx eax, cl
cmp byte [0x18003dc8a], 0xff
cmove edx, eax
mov ecx, ebx
movzx eax, dl
cmp byte [0x18003dc8b], 0xff
cmove ecx, eax
cmp byte [0x18003dc8c], 0xff
jne 0x180006a2e
test cl, cl
je 0x180006a2e
lea r9, [rsp + 0x50]
call fcn.1800049f0
jmp 0x180006aa3
mov qword [rsp + 0x1c0], r11
mov rcx, r11
call fcn.18000c9c8
mov rdi, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x1c8], 0x5d49d
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x1c8]
lea r8, [0x18003dc8d]
lea rdx, [rsp + 0x1c0]
mov rcx, rdi
call fcn.180004800
mov r9, qword [rsp + 0x1c0]
add r9, rdi
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.180009f00
nop
mov rcx, rdi
call fcn.18000c97c
nop
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x180006ab0
mov rdx, qword [rsi]
lea rcx, [rsp + 0x70]
call fcn.180008910
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea r14, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], r14
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x6c], edx
mov r8, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
sub r8, rdi
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.1800080e0
nop
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x70], r14
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x6c], edx
lea rcx, [rsp + 0x78]
call fcn.180007c90
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x70], rax
mov rax, qword [rsp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x6c], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0x118]
call fcn.18000c0a8
nop
test rdi, rdi
je 0x180006ba5
mov rdx, qword [rsp + 0x60]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x180006b9c
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180006ca4
mov rcx, rdi
call fcn.18000c97c
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x180006be4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x180006bdf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180006c9e
mov rcx, r8
call fcn.18000c97c
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 7
mov word [rsi], bx
mov al, 1
add rsp, 0x188
pop r14
pop rdi
pop rsi
pop rbx
ret
call fcn.18001448c
nop
call fcn.18001448c
nop
int3