Function at 0x1400a8590
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], rcx
shr rdx, 0x20
mov eax, edx
mov dword [rsp + 0x4c], eax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x60], rax
add rax, 0x60
mov qword [rsp + 0x58], rax
mov edx, 2
call fcn.140094700
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x60], 0
jne 0x1400a8828
mov eax, dword [0x1402ac678]
mov ecx, dword [0x1402ac67c]
xor ecx, 0x3ce7b5bd
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x8bade06
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x6e94119a
xor ecx, 0x4ea08a39
xor edx, edx
div ecx
or eax, 0x3f732127
cmp eax, 0x74459950
jae 0x1400a88a7
mov ecx, dword [0x1402ac680]
mov edx, dword [0x1402ac684]
mov eax, 0x38c51402
xor eax, 0x411c08b8
xor edx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0xceb1a879
xor ecx, 0xceb1a879
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0xa7b0e9cf
xor edx, 0x584f1630
xor eax, edx
mov edx, 0xfa76f996
xor edx, 0x7ce9874b
mov r8d, 0x5282be65
xor r8d, 0xad7d419a
xor edx, r8d
or eax, edx
mov edx, 0x5b96794e
xor edx, 0xdd090793
mov r8d, 0xa500f370
xor r8d, 0x239f8dad
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov edx, 0x41d9d5fb
xor edx, 0xbe262a04
xor eax, edx
mov edx, 0xa1476e2b
xor edx, 0x5eb891d4
xor ecx, edx
or eax, ecx
imul eax, eax, 0x9ddf8489
mov ecx, 0x187b0922
xor ecx, 0xb2edf2cb
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x34], eax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x34]
call fcn.140094970
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0x38]
mov cl, byte [rcx]
mov dl, 0xb1
xor dl, 0xb1
cmp cl, dl
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xe1f1f681
ja 0x1400a862b
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1400a8744
jmp 0x1400a8828
mov eax, dword [0x1402ac688]
xor edx, edx
div dword [0x1402ac68c]
mov ecx, 0x607940f9
xor edx, edx
div ecx
mov ecx, 0x31c93407
xor ecx, 0xba0e4693
imul eax, ecx
imul eax, eax, 0xc3e0dc87
mov ecx, 0xd957d4ec
xor ecx, 0xef22807e
cmp eax, ecx
ja 0x1400a88b0
mov ecx, dword [0x1402ac690]
mov r8d, dword [0x1402ac694]
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0x2966880d
xor eax, 0xeccb45c7
and ecx, eax
mov edx, 0xb015eb7b
xor edx, 0x3a948a46
mov eax, ecx
and eax, edx
xor ecx, 0x8a81613d
or eax, ecx
mov ecx, 0x8dc1ab45
xor ecx, 0x6e10908
and eax, ecx
mov dword [rsp + 0x30], eax
mov eax, 0xc2da586e
xor eax, 0x27b5d0fd
mov dword [rsp + 0x2c], eax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x4c]
call fcn.140094970
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp eax, ecx
ja 0x1400a8782
jmp 0x1400a8828
mov eax, dword [0x1402ac698]
xor eax, dword [0x1402ac69c]
and eax, 0xf0ddc90
add eax, 0xd349e011
sub eax, 0xe164d938
sub eax, 0xd349e011
mov ecx, 0x55949740
xor ecx, 0xe55fa104
xor edx, edx
div ecx
cmp eax, 0xa802b39d
je 0x1400a88b9
mov eax, dword [0x1402ac6a0]
or eax, dword [0x1402ac6a4]
and eax, 0x21db1985
add eax, 0x28776a87
sub eax, 0x7f1c6b10
mov ecx, 0xec687a96
xor ecx, 0xc41f1011
sub eax, ecx
and eax, 0x4dde9f2b
mov ecx, 0x89c9ab9c
xor ecx, 0x80c3e130
cmp eax, ecx
jae 0x1400a8862
add rsp, 0x68
ret
rcl dword [rsp + riz*2 - 0x2841648]
invalid
mov bh, 0xaf
mov eax, 0xfec9e9e0
invalid
out dx, eax
hlt