Function at 0x18000b0d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0xf0]
sub rsp, 0x1f0
mov rax, qword [0x18009a848]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov r14, rcx
mov qword [rsp + 0x30], rcx
xor r15d, r15d
lea rcx, [rbp - 0x50]
call fcn.18000aa60
nop
lea rcx, [rbp - 0x78]
call fcn.18000ae70
mov rsi, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000b12f
mov rsi, qword [rax]
mov rdi, 0xffffffffffffffff
mov rbx, rdi
nop dword [rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x18000b140
call fcn.1800415cc
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rbx
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.1800050c0
nop
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.18000a760
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18000b1bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b1b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6e1
call fcn.18004320c
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x18000b1f7
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b1f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6e7
call fcn.18004320c
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x30]
call fcn.180045880
lea rax, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rax, qword [rbp - 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x38], rax
call fcn.1800415cc
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rbp - 0x78]
call fcn.18000a390
nop
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x30]
call fcn.18000b8a0
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x18000b298
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b293
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6ed
call fcn.18004320c
movdqa xmm0, xmmword [0x18008db30]
movdqu xmmword [rbp - 0x68], xmm0
mov byte [rbp - 0x78], 0
lea rax, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rax, qword [rbp - 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x38], rax
call fcn.1800415cc
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.18000a390
nop
lea rsi, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rsi, qword [rsp + 0x40]
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x18000b300
call fcn.1800415cc
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rbx
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.1800050c0
nop
lea rcx, [rsp + 0x60]
call fcn.180005ab0
test al, al
sete bl
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x18000b37b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b376
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6f3
call fcn.18004320c
movdqa xmm0, xmmword [0x18008db20]
movdqu xmmword [rsp + 0x70], xmm0
mov word [rsp + 0x60], r15w
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x18000b3cc
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b3c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6f9
call fcn.18004320c
test bl, bl
je 0x18000b4a5
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], r15
xor r8d, r8d
lea rdx, [0x18008d903]
mov rcx, r14
call fcn.180002470
nop
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x28]
call fcn.180006750
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x34], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x78]
call fcn.180042228
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18000b6a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b6a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6db
jmp 0x18000b6a1
lea rcx, [rbp - 0x28]
call fcn.180006ed0
test rax, rax
jne 0x18000b4e5
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rbp + rcx + 0x18], 0
cmovne eax, edx
or eax, dword [rbp + rcx - 0x20]
and eax, 0x17
mov dword [rbp + rcx - 0x20], eax
mov edx, dword [rbp + rcx - 0x1c]
and edx, eax
jne 0x18000b6ff
lea rax, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rax, qword [rbp - 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x38], rax
call fcn.1800415cc
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.18000a390
nop
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
inc rdi
cmp byte [rdx + rdi], 0
jne 0x18000b546
mov r8, rdi
lea rcx, [rsp + 0x40]
call fcn.180002470
mov r8d, r15d
cmp qword [rsp + 0x50], r8
jbe 0x18000b5a0
mov rdx, r15
nop dword [rax]
mov rax, qword [0x18009b480]
movzx ecx, word [rax + 0x60]
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rax, qword [rsp + 0x40]
xor byte [rdx + rax], cl
inc r8d
lea rdx, [rdx + 1]
movsxd rax, r8d
cmp rax, qword [rsp + 0x50]
jb 0x18000b570
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [r14 + 0x10], xmm1
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x18000b5f0
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b5eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b753
call fcn.18004320c
movdqa xmm0, xmmword [0x18008db30]
movdqu xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x34], edx
lea rcx, [rbp - 0x28]
call fcn.180006750
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x30], rax
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x34], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x78]
call fcn.180042228
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x18000b6a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000b6a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000b6d5
call fcn.18004320c
mov rax, r14
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.180042d60
lea r11, [rsp + 0x1f0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.18004fdd4
int3
call fcn.18004fdd4
nop
call fcn.18004fdd4
nop
call fcn.18004fdd4
nop
call fcn.18004fdd4
nop
call fcn.18004fdd4
nop
call fcn.18004fdd4
int3
test dl, 4
je 0x18000b70d
lea rbx, str.ios_base::badbit_set
jmp 0x18000b722
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.1800044c0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.180004f60
lea rdx, [0x180097dd8]
lea rcx, [rsp + 0x60]
call fcn.180044f78
int3
call fcn.18004fdd4
int3