Function at 0x140001a30
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x70
mov qword [rsp + 0x60], rcx
call fcn.140001e44
mov rcx, qword [rsp + 0x60]
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x6f], al
je 0x140001d44
mov rax, qword [rsp + 0x60]
mov rcx, 0xffffffffffffffff
xor rcx, 0xfffffffffffffff0
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rsp + 0x48], rax
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
movabs rcx, 0x852615a98b35bdd6
movabs rdx, 0x852615a98b35bdc6
xor rcx, rdx
cmp rax, rcx
setb cl
mov byte [rsp + 0x5e], cl
mov al, 1
test cl, 1
mov byte [rsp + 0x5f], al
jne 0x140001c24
mov eax, dword [0x1401d8250]
xor eax, 0x5a8f7ef1
add eax, dword [0x1401d8254]
add eax, 0xa0610d86
imul eax, eax, 0xb8f011c6
mov ecx, 0x374273bc
xor ecx, 0x118d5959
imul eax, ecx
cmp eax, 0x49449b62
ja 0x140001e29
mov r9, qword [rsp + 0x50]
mov eax, dword [0x1401d8258]
mov edx, dword [0x1401d825c]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xe27817d0
xor ecx, 0xbf468b
xor edx, edx
div ecx
mov ecx, 0xe23ea603
xor ecx, 0x44bd3781
xor eax, ecx
mov ecx, 0x4916fc32
xor ecx, 0x6b3d193b
mov edx, eax
and edx, ecx
mov ecx, 0x3a8a124c
xor ecx, 0x3a8a124e
imul ecx, edx
add eax, 0x222be509
sub eax, ecx
mov rcx, r9
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x38], rcx
mov rdx, rcx
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, r9
or r8, r8
xor r8, 0xffffffffffffffff
movabs r10, 0xd5af340673e6e5f0
movabs r11, 0x2a50cbf98c191a0f
xor r10, r11
xor rdx, r10
xor r8, 0xffffffffffffffff
and rdx, r8
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
or rdx, r8
movabs r8, 0x7219c3b6bed68cd0
movabs r9, 0x8de63c494129732f
xor r8, r9
xor rdx, r8
cmp rdx, 0
setl r8b
cmp rcx, 0xffffffffffffffff
setg cl
mov dl, 1
xor dl, 0
xor cl, dl
xor r8b, 0xff
xor edx, edx
xor dl, 0
xor r9d, r9d
xor r9b, 1
xor dl, r9b
or cl, r8b
or dl, 0
xor cl, 0xff
and cl, dl
mov byte [rsp + 0x47], cl
cmp eax, 0x31565f6e
je 0x140001ae2
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140001c01
jmp 0x140001c11
call fcn.140007bb8
xor eax, eax
mov byte [rsp + 0x6f], al
jmp 0x140001d44
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
xor eax, eax
mov byte [rsp + 0x5f], al
mov al, byte [rsp + 0x5f]
mov byte [rsp + 0x37], al
mov eax, dword [0x1401d8260]
xor eax, 0x1f78de46
mov r8d, dword [0x1401d8264]
xor r8d, 0xf2afad5
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x488a4a7
xor ecx, 0x7882d5e5
imul eax, ecx
mov ecx, 0x698029d7
xor ecx, 0x75f62a96
xor edx, edx
div ecx
and eax, 0xc48a24bb
cmp eax, 0x13353815
jae 0x140001e32
mov rdx, qword [rsp + 0x48]
mov cl, byte [rsp + 0x5e]
mov rax, qword [rsp + 0x60]
mov r11d, dword [0x1401d8268]
mov r10d, dword [0x1401d826c]
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0x71f3296e
xor r8d, 0xb1fec127
and r8d, r9d
mov esi, 0x89ac11bf
xor esi, 0x49a1f9f6
mov r9d, 0x63238a3f
xor r9d, 0x9cdc75c0
xor esi, r9d
and r11d, esi
mov r9d, r10d
xor r9d, 0xffffffff
and r9d, 0xc00de849
and r10d, esi
or r8d, r11d
or r9d, r10d
xor r8d, r9d
imul r8d, r8d, 0x96d923f3
and r8d, 0x2a14107f
or r8d, 0xb5a84d93
mov dword [rsp + 0x30], r8d
mov r8, qword [rax]
and cl, 1
call fcn.14000f5b0
mov eax, dword [rsp + 0x30]
cmp eax, 0xec20c6d4
jae 0x140001e32
mov al, byte [rsp + 0x37]
mov byte [rsp + 0x6f], al
jmp 0x140001d44
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x2f], al
mov eax, dword [0x1401d8270]
xor eax, 0xdbaa8df6
mov r8d, dword [0x1401d8274]
mov edx, 0x1979c0df
xor edx, 0xe6863f20
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x8cb6d165
mov edx, 0x7d1aa83b
xor edx, 0x82e557c4
xor ecx, edx
add eax, 0x8cb6d165
add eax, 1
add eax, ecx
xor ecx, ecx
sub ecx, 0x27f8ebba
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0xa8e8e083
xor edx, 0x63e4f24a
or eax, edx
add eax, ecx
cmp eax, 0x1be77984
jb 0x140001e3b
mov cl, byte [rsp + 0x2f]
mov eax, dword [0x1401d8278]
mov edx, dword [0x1401d827c]
xor edx, 0xf59f7e1d
xor eax, edx
xor edx, edx
sub edx, 0x858df10b
add eax, edx
xor eax, 0x52f285e
add eax, 0x6ac8e0d
cmp cl, 0
setne cl
mov byte [rsp + 0x2e], cl
cmp eax, 0x7e93ae55
jb 0x140001dd9
mov al, byte [rsp + 0x2e]
and al, 1
movzx eax, al
add rsp, 0x70
pop rsi
ret
add edx, 0xb0e994d2
cld
invalid
or al, 0x84
stosb byte [rdi], al
jno 0x140001e20
pop rbp
invalid
xchg ebx, eax
cmpsb byte [rsi], byte [rdi]
mov cl, cl
jmp 0x140001dd9