Function at 0x140001fa0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x58], rcx
call fcn.1400022f3
mov rcx, qword [rsp + 0x58]
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x67], al
je 0x1400022c9
mov eax, dword [0x1402412b0]
or eax, dword [0x1402412b4]
mov edx, eax
and edx, 0xf0bb0bae
mov ecx, 0x55a6f884
xor ecx, 0x55a6f886
imul ecx, edx
add eax, 0xf0bb0bae
sub eax, ecx
mov ecx, 0xac1e88a
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
or eax, 0xb54e91a3
mov edx, 0x5764f03
xor edx, 0xfa89b0fc
xor eax, edx
mov edx, 0x53f74bc8
xor edx, 0xe6b9da6b
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x90744818
xor edx, 0x6f8bb7e7
xor eax, edx
mov edx, 0x65e7bae8
xor edx, 0x9a184517
xor ecx, edx
and eax, ecx
cmp eax, 0x250ceda8
jb 0x1400022e1
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x1402412b8]
xor eax, 0x4ff65ca3
mov edx, dword [0x1402412bc]
xor edx, 0x8e5de81f
imul eax, edx
sub eax, 0xbeed146c
sub eax, 0x484f12be
add eax, 0xbeed146c
mov r8d, 0xdadd725d
xor edx, edx
div r8d
add eax, 0x6727b9bd
add eax, 0xb3b27333
sub eax, 0x6727b9bd
mov rdx, rcx
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x40], rdx
mov rcx, qword [rcx - 0x10]
mov qword [rsp + 0x48], rcx
cmp rcx, 0x10
setb cl
mov byte [rsp + 0x57], cl
cmp eax, 0xe4f1d448
je 0x140002042
mov cl, byte [rsp + 0x57]
mov al, 1
test cl, 1
mov byte [rsp + 0x3f], al
jne 0x14000229e
jmp 0x1400020cd
mov rdx, qword [rsp + 0x48]
movabs rcx, 0xb3e0efe799a67709
movabs rax, 0x4c1f1018665988f9
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
xor al, 0xff
and al, cl
test al, 1
jne 0x140002128
jmp 0x140002138
call fcn.140008d37
xor eax, eax
mov byte [rsp + 0x67], al
jmp 0x1400022c9
mov eax, dword [0x1402412c0]
mov edx, dword [0x1402412c4]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xde426dca
mov eax, 0xf68c02b2
xor eax, 0x99177b41
mov r8d, 0xaa3797e3
xor r8d, 0x55c8681c
xor eax, r8d
or ecx, edx
or eax, 0x6f9b79f3
xor ecx, 0xffffffff
and ecx, eax
mov edx, 0xdb83dc54
xor edx, 0x247c23ab
mov eax, ecx
xor eax, edx
mov edx, 0xe1daa18c
xor edx, 0x4ad40757
mov r8d, 0x6d3c19db
xor r8d, 0x92c3e624
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xab0ea6db
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x83ed45e2
xor edx, 0x7c12ba1d
xor ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4d91ca66
mov r8d, 0x606cdc38
xor r8d, 0x2dfd165e
mov ecx, 0xfdf6cd5e
xor ecx, 0x20932a1
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x4d91ca66
or eax, 0x4d91ca66
imul eax, edx
add eax, ecx
cmp eax, 0x57229746
ja 0x1400022ea
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x30]
mov eax, dword [0x1402412c8]
imul eax, dword [0x1402412cc]
mov ecx, 0xb71fe5b6
xor ecx, 0x279c1a6d
sub eax, ecx
mov ecx, eax
and ecx, 0xfe024c5
xor ecx, 0xffffffff
add eax, 0xfe024c5
add eax, 1
add eax, ecx
mov ecx, eax
and ecx, 0x7a895cca
mov r9d, 0x2c97487
xor r9d, 0x2c97485
imul ecx, r9d
xor eax, 0x7a895cca
add eax, ecx
mov ecx, 0x1469d34a
xor ecx, 0xa6c330a2
mov qword [rdx], r8
cmp eax, ecx
jbe 0x1400022ea
xor eax, eax
mov byte [rsp + 0x3f], al
jmp 0x14000229e
mov rdx, qword [rsp + 0x40]
mov cl, byte [rsp + 0x57]
mov rax, qword [rsp + 0x58]
mov r8b, byte [rsp + 0x3f]
mov byte [rsp + 0x2f], r8b
mov r8, qword [rax]
and cl, 1
call fcn.1400107e0
mov al, byte [rsp + 0x2f]
mov byte [rsp + 0x67], al
mov al, byte [rsp + 0x67]
mov cl, 0x78
xor cl, 0x78
cmp al, cl
setne al
and al, 1
movzx eax, al
add rsp, 0x68
ret
or dword [rdx + 0x58e9980b], ebx
std
invalid
pop r8
add byte [rcx + rbp*8 + 0x31], ah
invalid