Function at 0x1400b6ae5
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], r8
mov dword [rbp - 4], edx
mov qword [rbp + 8], rcx
mov eax, 0x10
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 8]
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0x10], rax
cmp rcx, 1
jge 0x1400b6f79
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax]
movabs rax, 0x37e08e905da8bd21
movabs r8, 0x37e08e905da8bd3f
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
add rax, 8
add rax, rcx
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rax
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x20]
lea rdx, [0x14019f658]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rax, rcx
add rax, 1
cmp rcx, 0x1e
mov qword [rbp - 0x18], rax
jne 0x1400b6b97
mov rdx, qword [rbp - 0x30]
movabs rcx, 0x93612b9d70f285a1
movabs rax, 0x93612b9d70f285bf
xor rcx, rax
mov rax, rdx
and rax, rcx
movabs r8, 0x2fa6e272f41ff3ed
movabs rcx, 0x2fa6e272f41ff3f3
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
and rcx, rdx
movabs rdx, 0xdbe26cd67c9d010f
movabs r8, 0xdbe26cd67c9d010f
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x38], rax
jge 0x1400b6c46
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x58], rax
mov rcx, qword [rdx]
mov qword [rbp - 0x50], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x48], rdx
cmp rcx, 0
mov qword [rbp - 0x40], rax
jle 0x1400b6e81
mov rdx, qword [rbp - 0x50]
mov rcx, rdx
and rcx, 1
movabs rax, 0x9bb7c676fb343a92
movabs r8, 0x9bb7c676fb343a90
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 1
add rax, rcx
mov qword [rbp - 0x60], rax
movabs rcx, 0xc9fbe6f2b64808bc
movabs r8, 0x3604190d49b7f743
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400b6cf1
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x40], rax
jmp 0x1400b6e81
mov rax, qword [rbp - 0x60]
cmp rax, 0
jge 0x1400b6d2b
mov rcx, qword [rbp - 0x60]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x40], rax
jmp 0x1400b6e81
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x28]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x78], rcx
add rax, 8
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xbfc40e7a3511d73d
movabs rax, 0xbfc40e7a3511d73c
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp - 0x68], rax
jne 0x1400b6d50
mov r9, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rax, 0x937805ae05319602
movabs r8, 0x937805ae05319602
xor rax, r8
movabs r8, 0x5758eebc4bec73b9
movabs r10, 0x5758eebc4bec73b8
xor r8, r10
sub rax, r8
sub rcx, rax
mov rax, r9
sub rax, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x6a8c201135776927
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x6a8c201135776927
xor r11, r8
mov r10, rax
and r10, r11
movabs rsi, 0xd243bb98941a5027
movabs r8, 0x2dbc44676be5afd8
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x6a8c201135776927
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0xa04b3c0d3d5cae7e
movabs r8, 0xa04b3c0d3d5cae7e
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x40], rax
jge 0x1400b6e81
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov ecx, dword [rbp - 4]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x40]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rax
lea rdx, [rbp + 0x18]
sub rsp, 0x20
call fcn.1400a11ff
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x80], rcx
mov al, byte [rax]
mov cl, 0x39
xor cl, 0x39
cmp al, cl
jne 0x1400b6eee
mov rcx, qword [rbp - 0x80]
lea rdx, [0x14019f4cb]
lea r8, [0x14019f4da]
lea r9, [0x14019f473]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffb5e9a2d2
call fcn.140019b17
add rsp, 0x30
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
movabs rdx, 0x4000000000000000
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x3f0cd71c1a7a8d0
movabs r8, 0x43f0cd71c1a7a8d0
xor rdx, r8
and rcx, rdx
movabs rdx, 0xba3cc503fdf43cdc
movabs r8, 0x45c33afc020bc323
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x473ce42ffbed2e40
movabs r8, 0xb8c31bd00412d1bf
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x1400b6f79
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
lea rsp, [rbp + 0x28]
pop rsi
pop rbp
ret