Function at 0x1400b7340
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov edi, r8d
mov r12, rdx
mov r13, rcx
xor ebx, ebx
call fcn.1400d4c10
mov r14, rax
mov rsi, r12
cmp qword [r12 + 0x18], 0xf
jbe 0x1400b7383
mov rsi, qword [r12]
mov dword [rax], ebx
mov r8d, 0xa
lea rdx, [rbp + 0x98]
mov rcx, rsi
call fcn.1400d5998
cmp rsi, qword [rbp + 0x98]
je 0x1400b7956
cmp dword [r14], 0x22
je 0x1400b7949
movsxd rcx, eax
movabs rax, 0x48d159e26af37c05
imul rcx
mov r14, rdx
sar r14, 0xa
mov rax, r14
shr rax, 0x3f
add r14, rax
mov eax, 0x2aaaaaab
imul r14d
mov esi, edx
sar esi, 2
mov eax, esi
shr eax, 0x1f
add esi, eax
lea eax, [rsi + rsi*2]
shl eax, 3
sub r14d, eax
movabs rax, 0x8888888888888889
imul rcx
lea r15, [rcx + rdx]
sar r15, 5
mov rax, r15
shr rax, 0x3f
add r15, rax
mov eax, 0x88888889
imul r15d
add edx, r15d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub r15d, eax
lea rcx, [rsp + 0x50]
call fcn.140087f60
nop
test edi, edi
je 0x1400b7854
sub edi, 1
je 0x1400b77bf
sub edi, 1
je 0x1400b76cf
sub edi, 1
je 0x1400b753f
cmp edi, 1
jne 0x1400b78a9
lea rcx, [rsp + 0x50]
test esi, esi
jle 0x1400b74a8
mov edx, esi
call fcn.14009b8b0
mov dword [rbp + 0x98], 0xc4dddf9a
mov word [rbp + 0x9c], 0xcd
mov byte [rbp + 0x9e], dil
nop word [rax + rax]
lea ecx, [rbx - 0x46]
xor byte [rbp + rbx + 0x98], cl
inc rbx
cmp rbx, 5
jb 0x1400b7490
jmp 0x1400b7893
test r14d, r14d
jle 0x1400b74f6
mov edx, r14d
call fcn.14009b8b0
mov dword [rbp + 0x98], 0xc8d3d39a
mov dword [rbp + 0x9c], 0x100cccc
nop dword [rax]
lea ecx, [rbx - 0x46]
xor byte [rbp + rbx + 0x98], cl
inc rbx
cmp rbx, 6
jb 0x1400b74d0
mov byte [rbp + 0x9f], 0
lea rdx, [rbp + 0x98]
jmp 0x1400b78a1
mov edx, r15d
call fcn.14009b8b0
mov rcx, rax
mov dword [rsp + 0x20], 0x595f5814
mov dword [rsp + 0x24], 0x485f4d4d
mov word [rsp + 0x28], 0x100
nop dword [rax + rax]
lea eax, [rbx + 0x34]
xor byte [rsp + rbx + 0x20], al
inc rbx
cmp rbx, 8
jb 0x1400b7520
mov byte [rsp + 0x29], 0
lea rdx, [rsp + 0x20]
jmp 0x1400b78a4
test esi, esi
jle 0x1400b75b8
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov dword [rbp + 0x98], 0xc4dddf9a
mov word [rbp + 0x9c], 0xcd
mov byte [rbp + 0x9e], 1
mov rdx, rbx
nop dword [rax]
lea ecx, [rdx - 0x46]
xor byte [rbp + rdx + 0x98], cl
inc rdx
cmp rdx, 5
jb 0x1400b7570
mov byte [rbp + 0x9e], 0
lea rdx, [rbp + 0x98]
mov rcx, rax
call fcn.14006cbd0
test r14d, r14d
jg 0x1400b75a7
test r15d, r15d
jle 0x1400b78a9
lea rdx, [0x1401254f8]
lea rcx, [rsp + 0x50]
call fcn.14006cbd0
test r14d, r14d
jle 0x1400b7622
mov edx, r14d
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov dword [rbp + 0x98], 0xc8d3d39a
mov dword [rbp + 0x9c], 0x100cccc
mov r8, rbx
lea ecx, [r8 - 0x46]
xor byte [rbp + r8 + 0x98], cl
inc r8
cmp r8, 6
jb 0x1400b75e1
mov byte [rbp + 0x9f], 0
lea rdx, [rbp + 0x98]
mov rcx, rax
call fcn.14006cbd0
test r15d, r15d
jle 0x1400b7622
lea rdx, [0x1401254f8]
lea rcx, [rsp + 0x50]
call fcn.14006cbd0
test esi, esi
jne 0x1400b767f
test r14d, r14d
jne 0x1400b767f
mov edx, r15d
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov rcx, rax
mov dword [rsp + 0x20], 0x595f5814
mov dword [rsp + 0x24], 0x485f4d4d
mov word [rsp + 0x28], 0x100
nop dword [rax]
nop word [rax + rax]
lea eax, [rbx + 0x34]
xor byte [rsp + rbx + 0x20], al
inc rbx
cmp rbx, 8
jb 0x1400b7660
mov byte [rsp + 0x29], 0
lea rdx, [rsp + 0x20]
jmp 0x1400b78a4
test r15d, r15d
jle 0x1400b78a9
mov edx, r15d
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov rcx, rax
mov dword [rsp + 0x20], 0x595f5814
mov dword [rsp + 0x24], 0x485f4d4d
mov word [rsp + 0x28], 0x100
nop
lea eax, [rbx + 0x34]
xor byte [rsp + rbx + 0x20], al
inc rbx
cmp rbx, 8
jb 0x1400b76b0
mov byte [rsp + 0x29], 0
lea rdx, [rsp + 0x20]
jmp 0x1400b78a4
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov r8, rax
mov dword [rsp + 0x20], 0x4e575114
mov dword [rsp + 0x24], 0x1a154b
mov byte [rsp + 0x28], 1
mov rcx, rbx
nop word [rax + rax]
lea eax, [rcx + 0x34]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 7
jb 0x1400b7700
mov byte [rsp + 0x28], 0
lea rdx, [rsp + 0x20]
mov rcx, r8
call fcn.14006cbd0
mov edx, r14d
mov rcx, rax
call fcn.14009b8b0
mov r8, rax
mov dword [rsp + 0x2a], 0x42595d14
mov dword [rsp + 0x2e], 0x1b164a4a
mov word [rsp + 0x32], 0x100
mov rcx, rbx
nop word [rax + rax]
lea eax, [rcx + 0x34]
xor byte [rsp + rcx + 0x2a], al
inc rcx
cmp rcx, 8
jb 0x1400b7750
mov byte [rsp + 0x33], 0
lea rdx, [rsp + 0x2a]
mov rcx, r8
call fcn.14006cbd0
mov edx, r15d
mov rcx, rax
call fcn.14009b8b0
mov rcx, rax
mov dword [rsp + 0x34], 0x595f5814
mov dword [rsp + 0x38], 0x485f4d4d
mov word [rsp + 0x3c], 0x100
nop word [rax + rax]
lea eax, [rbx + 0x34]
xor byte [rsp + rbx + 0x34], al
inc rbx
cmp rbx, 8
jb 0x1400b77a0
mov byte [rsp + 0x3d], 0
lea rdx, [rsp + 0x34]
jmp 0x1400b78a4
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov r8, rax
mov dword [rsp + 0x20], 0x4e575114
mov dword [rsp + 0x24], 0x1a154b
mov byte [rsp + 0x28], 1
mov rcx, rbx
nop word [rax + rax]
lea eax, [rcx + 0x34]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 7
jb 0x1400b77f0
mov byte [rsp + 0x28], 0
lea rdx, [rsp + 0x20]
mov rcx, r8
call fcn.14006cbd0
mov edx, r14d
mov rcx, rax
call fcn.14009b8b0
mov dword [rbp + 0x98], 0xc8d3d39a
mov dword [rbp + 0x9c], 0x100cccc
lea ecx, [rbx - 0x46]
xor byte [rbp + rbx + 0x98], cl
inc rbx
cmp rbx, 6
jb 0x1400b7831
mov byte [rbp + 0x9f], 0
lea rdx, [rbp + 0x98]
jmp 0x1400b78a1
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.14009b8b0
mov dword [rbp + 0x98], 0xc4dddf9a
mov word [rbp + 0x9c], 0xcd
mov byte [rbp + 0x9e], 1
nop word [rax + rax]
lea ecx, [rbx - 0x46]
xor byte [rbp + rbx + 0x98], cl
inc rbx
cmp rbx, 5
jb 0x1400b7880
mov byte [rbp + 0x9e], 0
lea rdx, [rbp + 0x98]
mov rcx, rax
call fcn.14006cbd0
mov rdx, r13
lea rcx, [rsp + 0x58]
call fcn.1400891d0
nop
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x4c], edx
lea rcx, [rsp + 0x58]
call fcn.140087e30
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x50], rax
mov rax, qword [rsp + 0x50]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x4c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x28]
call fcn.1400bb848
nop
mov rcx, r12
call fcn.14005ed40
mov rax, r13
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.stoi_argument_out_of_range
call fcn.1400babe0
int3
lea rcx, str.invalid_stoi_argument
call fcn.1400bab98
int3