Function at 0x1400a7760
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp - 0x30], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x30]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.1400a7b5f
add rsp, 0x20
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.1400a7b5f
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x38], rax
cmp rax, 0x10
je 0x1400a77fd
mov rax, qword [rbp - 0x38]
mov byte [rbp + rax + 0x20], 0
movabs rcx, 0x54dad01a4bcf5db9
movabs rdx, 0x54dad01a4bcf5db8
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x10], rax
jmp 0x1400a77bf
mov rcx, qword [rbp - 0x28]
mov word [rcx], 0x7a
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x48], rcx
mov cl, byte [rax]
mov dl, 0x15
xor dl, 0x15
mov al, 1
cmp cl, dl
mov byte [rbp - 0x39], al
jne 0x1400a7b06
mov ecx, dword [0x1401ccb70]
mov edx, dword [0x1401ccb74]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
mov r8d, 0x1dcf0109
xor r8d, 0xe230fef6
xor edx, r8d
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xcb4afe03
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xdb9cb18f
xor r8d, 0x24634e70
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xcb4afe03
or eax, 0xcb4afe03
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0xbd351b97
xor eax, 0xbd351b97
mov edx, 0x4cfde56b
xor edx, 0xf7774aa2
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x3faf22f4
mov r8d, 0x8c04e318
xor r8d, 0xb3abc1ec
mov ecx, 0x394ba81
xor ecx, 0xfc6b457e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x3faf22f4
or eax, 0x3faf22f4
imul eax, edx
add eax, ecx
cmp eax, 0x9e517fdb
ja 0x1400a7b56
mov eax, dword [0x1401ccb78]
mov ecx, dword [0x1401ccb7c]
mov edx, 0xaae807fe
xor edx, 0x25c12cc
xor ecx, edx
xor eax, ecx
imul eax, eax, 0xee8755ef
mov ecx, 0xc940b606
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp - 0x48]
xor ecx, 0x7c159df6
mov dword [rbp - 0x50], ecx
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
add rdx, 8
lea rax, [0x1401dbd9d]
cmp rcx, 0
cmove rdx, rax
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140006d50
mov rcx, qword [rbp - 0x18]
mov eax, dword [rbp - 0x50]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0xc9200141
je 0x1400a7906
mov cl, byte [rbp - 0x49]
mov al, 1
test cl, 1
mov byte [rbp - 0x39], al
jne 0x1400a799b
jmp 0x1400a7b06
mov rcx, qword [rbp + 0x28]
mov edx, 1
sub rsp, 0x20
call fcn.14009fba2
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x1400a7b06
mov rax, qword [rbp - 0x58]
mov qword [0x1401ed2e8], rax
mov ax, 0x58a6
xor ax, 0x5a82
mov word [rbp + 0x1e], ax
lea rcx, [rbp + 0x1e]
sub rsp, 0x20
call fcn.140060746
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x1400a7b06
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov qword [rbp + 8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 8]
sub rsp, 0x20
call fcn.1400a7b7a
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x1400a7b06
mov rdx, qword [rbp - 0x68]
mov rax, qword [0x1401dd6b8]
mov rax, qword [rax]
mov rcx, qword [0x1401ed2e8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401ed2f0], rax
mov word [rbp + 0x1c], 0x2b
lea rcx, [rbp + 0x1c]
sub rsp, 0x20
call fcn.140060746
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x1400a7b06
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400a7b7a
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x78], rcx
mov cl, byte [rax]
mov dl, 0x41
xor dl, 0x41
mov al, 1
cmp cl, dl
mov byte [rbp - 0x39], al
jne 0x1400a7b06
mov rdx, qword [rbp - 0x78]
mov rax, qword [0x1401dd6b8]
mov rax, qword [rax]
mov rcx, qword [0x1401ed2e8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [0x1401ed2f8], rcx
mov al, byte [rax]
mov byte [rbp - 0x39], al
mov rax, qword [rbp - 0x18]
mov cl, byte [rbp - 0x39]
mov byte [rbp - 0x79], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x20]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp], rax
lea rcx, [rbp - 8]
sub rsp, 0x20
call fcn.140006f00
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x7e
xor cl, 0x7e
cmp al, cl
jne 0x1400a7b50
mov rax, qword [rbp - 0x18]
mov cl, byte [rbp - 0x79]
mov byte [rax], cl
lea rsp, [rbp + 0x30]
pop rbp
ret
push rsi
sbb byte [rcx - 0x34], bh
jmp 0x1400a7906