Function at 0x1400a1fb0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rdx, qword [rsp + 0x30]
cmp rdx, 0
jne 0x1400a1ffd
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0x28]
mov edx, 0xc0
call fcn.140051330
jmp 0x1400a20bf
mov eax, dword [0x1402ac398]
mov ecx, dword [0x1402ac39c]
xor ecx, 0x28a37295
xor eax, ecx
mov ecx, 0x92451436
xor edx, edx
div ecx
mov ecx, 0xc88f21a
xor edx, edx
div ecx
mov ecx, 0x87706348
xor ecx, 0x82cbebca
add eax, ecx
cmp eax, 0xcaed9f36
ja 0x1400a20c4
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov eax, dword [0x1402ac3a0]
xor eax, 0xb13b77ed
imul eax, dword [0x1402ac3a4]
mov r8d, 0x9be2fd3
xor r8d, 0x20f75e00
xor eax, r8d
mov r8d, 0x8ba6acb0
xor r8d, 0xf553d512
sub eax, r8d
mov r8d, 0x9617d286
xor r8d, 0x3436a152
and r8d, eax
mov r9d, 0x99a92806
xor r9d, 0x6656d7f9
xor r8d, r9d
add eax, 0xa22173d4
add eax, 1
add eax, r8d
mov dword [rsp + 0x24], eax
call fcn.1400a1e6f
mov eax, dword [rsp + 0x24]
cmp eax, 0xfec3d7d
jbe 0x1400a203b
jmp 0x1400a20bf
add rsp, 0x38
ret
add cl, byte [rax]
jrcxz 0x1400a213a
jmp 0x1400a203b
mov rax, rcx
add rax, rdx
mov qword [rsp + 0x50], rax
mov rdx, rax
xor rdx, rcx
movabs r8, 0xa23fbf97508c5c63
movabs r9, 0x5dc04068af73a39c
xor r8, r9
xor rdx, r8
mov r8, rcx
and r8, rdx
movabs rdx, 0x3e5b51661a229eea
movabs r9, 0x3e5b51661a229ee8
xor rdx, r9
imul rdx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
or al, al
xor al, 0xff
xor ecx, ecx
mov r8b, cl
xor r8b, 1
mov cl, dl
xor cl, r8b
mov r8b, 1
xor r8b, 0
xor dl, r8b
and cl, dl
xor al, 0xff
xor edx, edx
xor dl, 1
xor cl, dl
and al, cl
test al, 1
jne 0x1400a220d
mov rax, qword [rsp + 0x50]
movabs rcx, 0x869911a053bba97c
movabs rdx, 0x869911a053bba97c
xor rcx, rdx
cmp rax, rcx
jl 0x1400a2350
mov rax, qword [rsp + 0x58]
add rax, 8
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x48], rax
jmp 0x1400a2217
call fcn.14000ee80
jmp 0x1400a2350
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1402ac3a8]
mov ecx, 0x3bafa9d8
xor ecx, 0xa3a595b5
xor eax, ecx
mov edx, dword [0x1402ac3ac]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
mov eax, 0x7a7fa6ad
xor eax, 0x7a7fa6ad
sub eax, ecx
or eax, 0xe2c3c684
add eax, 0xc3a2ae55
mov ecx, 0xf12a73ce
xor ecx, 0xb31615bc
and eax, ecx
mov ecx, 0xd888ca3
xor ecx, 0xfba8e488
cmp eax, ecx
jae 0x1400a2355
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1402ac3b0]
xor eax, dword [0x1402ac3b4]
mov r8d, 0xb023061b
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
and eax, 0xfaf1e1c9
xor edx, 0xfaf1e1c9
or eax, edx
mov r8d, 0x370290f2
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx]
mov qword [rsp + 0x28], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x2f6f9e0a
je 0x1400a227a
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400a22fd
jmp 0x1400a22e5
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffff
call fcn.140025e55
jmp 0x1400a2350
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rdx, qword [rax + rdx*8 + 8]
call fcn.1400a1fb0
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov al, byte [rax]
test al, al
setne cl
mov rax, rdx
inc rax
sub rdx, r8
setge dl
or cl, dl
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x1400a2350
jmp 0x1400a2217
add rsp, 0x78
ret
adc byte [rsp + rbp - 0x6b], al
jmp 0x1400a227a