Function at 0x1400d1a30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rcx
call fcn.1400d4b3b
mov rcx, qword [rsp + 0x48]
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
je 0x1400d1d61
mov rax, qword [rsp + 0x48]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rcx
mov rax, qword [rax - 0x10]
mov qword [rsp + 0x38], rax
cmp rax, 0x10
setb cl
mov byte [rsp + 0x46], cl
mov al, 1
test cl, 1
mov byte [rsp + 0x47], al
jne 0x1400d1d36
mov rcx, qword [rsp + 0x38]
mov rax, rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x28], rax
mov rdx, rax
xor rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
and r8, rdx
movabs rdx, 0x87b8dd3bad8eb11d
movabs r9, 0x87b8dd3bad8eb11f
xor rdx, r9
imul rdx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl cl
movabs rdx, 0x7c13402f00adfbf2
movabs r8, 0x83ecbfd0ff52040d
xor rdx, r8
cmp rax, rdx
setg al
and al, cl
test al, 1
jne 0x1400d1aff
jmp 0x1400d1c08
mov eax, dword [0x140250b38]
mov r8d, dword [0x140250b3c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x22e17cdb
xor r9d, 0xdd1e8324
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x41db1e27
imul eax, eax, 0xba0d9471
add eax, 0xd7a9f8c8
mov ecx, 0xa52d7785
xor ecx, 0x126e96bd
cmp eax, ecx
ja 0x1400d1d74
mov eax, dword [0x140250b40]
mov ecx, dword [0x140250b44]
mov edx, 0x202ceb9
xor edx, 0x1407b916
xor ecx, edx
imul eax, ecx
mov edx, 0xbd18897c
xor edx, 0x42e77683
mov ecx, eax
xor ecx, edx
mov edx, 0xc57abe3e
xor edx, 0x302a67f4
and edx, ecx
mov r8d, 0xa5aee735
xor r8d, 0x50fe3eff
mov ecx, 0xedd1e5b6
xor ecx, 0x122e1a49
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xe3fa6c74
xor r8d, 0x16aab5be
mov edx, eax
and edx, r8d
or eax, 0xf550d9ca
imul eax, edx
add eax, ecx
xor eax, 0x244118b7
mov ecx, 0xb531b31c
xor edx, edx
div ecx
mov dword [rsp + 0x24], eax
call fcn.140008c92
mov eax, dword [rsp + 0x24]
cmp eax, 0xcc05ab6a
ja 0x1400d1b60
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1400d1d61
mov ecx, dword [0x140250b48]
mov edx, dword [0x140250b4c]
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xa65656e3
or ecx, 0xa65656e3
mov edx, 0xe79366d4
xor edx, 0x186c992b
xor ecx, edx
or eax, ecx
mov ecx, 0x50cfc19d
xor ecx, 0xaf303e62
xor eax, ecx
imul eax, eax, 0x6ffdfe21
mov edx, eax
xor edx, 0xffffffff
and edx, 0x1f9c0ebc
mov r8d, 0xffffffff
xor r8d, 0x1f9c0ebc
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1f9c0ebc
or eax, 0x1f9c0ebc
imul eax, edx
add eax, ecx
mov ecx, 0xca434a69
xor ecx, 0xcef10666
cmp eax, ecx
jb 0x1400d1d7d
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov eax, dword [0x140250b50]
mov r8d, 0x15242823
xor r8d, 0x535abc86
xor eax, r8d
add eax, dword [0x140250b54]
or eax, 0xa6b1f1af
mov r8d, 0x9e82270e
xor r8d, 0x7db04e35
sub eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0xbe76cb12
mov r10d, 0xffffffff
xor r10d, 0xbe76cb12
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r10d, 0x5f79512e
xor r10d, 0xe10f9a3c
mov r9d, eax
and r9d, r10d
or eax, 0xbe76cb12
imul eax, r9d
add eax, r8d
mov qword [rcx], rdx
cmp eax, 0x45e34afc
je 0x1400d1d7d
xor eax, eax
mov byte [rsp + 0x47], al
jmp 0x1400d1d36
mov rdx, qword [rsp + 0x30]
mov cl, byte [rsp + 0x46]
mov rax, qword [rsp + 0x48]
mov r8b, byte [rsp + 0x47]
mov byte [rsp + 0x23], r8b
mov r8, qword [rax]
and cl, 1
call fcn.14000fe77
mov al, byte [rsp + 0x23]
mov byte [rsp + 0x57], al
mov al, byte [rsp + 0x57]
cmp al, 0
setne al
and al, 1
movzx eax, al
add rsp, 0x58
ret
push rbx
iretd
mov word [rsi], ds
jmp 0x13f2606e6