Function at 0x14015b530
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x48], rcx
call fcn.14019ba7e
mov rcx, qword [rsp + 0x48]
add rax, 0x50
mov qword [rsp + 0x50], rax
add rcx, 8
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov eax, dword [0x140254830]
and eax, dword [0x140254834]
and eax, 0x746f6370
mov ecx, 0x84ff3f32
xor ecx, 0x9e4b0363
add eax, ecx
mov ecx, 0xca469d8
xor ecx, 0x85cd9e68
xor eax, ecx
cmp eax, 0xf8741f8f
ja 0x14015b9e2
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov r9d, dword [0x140254838]
xor r9d, 0x2e446d8c
and r9d, dword [0x14025483c]
mov eax, r9d
and eax, 0xc7b98bf0
shl eax, 1
xor r9d, 0xc7b98bf0
add r9d, eax
mov eax, 0xfeba5e85
xor eax, 0xfeba5e85
mov r10d, 0xacf842c9
xor r10d, 0xf04b455
sub eax, r10d
sub r9d, eax
mov r10d, 0xacf137c7
xor r10d, 0x222a8c5e
mov eax, 0x88e2a3c4
xor eax, 0x771d5c3b
xor r10d, eax
mov eax, r9d
xor eax, r10d
and eax, r9d
cmp rdx, qword [r8]
setl dl
mov byte [rsp + 0x37], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp eax, 0x91913fff
jae 0x14015b59c
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14015b643
jmp 0x14015b797
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14015ba06
test al, 1
jne 0x14015b664
jmp 0x14015b77a
mov ecx, dword [0x140254840]
sub ecx, dword [0x140254844]
mov edx, 0xffffffff
xor edx, 0x94afae28
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
xor ecx, 0x4a6533db
xor ecx, 0xffffffff
or eax, 0x4a6533db
and eax, ecx
and eax, 0x4de9f4cb
cmp eax, 0x7b109144
je 0x14015b9eb
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov r8d, dword [0x140254848]
xor r8d, 0xd8e7b43c
mov r9d, dword [0x14025484c]
mov edx, r9d
and edx, r8d
xor edx, 0xffffffff
add r8d, r9d
add r8d, 1
add r8d, edx
mov r9d, 0xacccfc9f
xor r9d, 0x2d3fc282
mov edx, 0x3dd8bfd9
xor edx, 0xc2274026
xor r9d, edx
mov edx, r8d
xor edx, r9d
and edx, r8d
mov r9d, 0x85ec23fa
xor r9d, 0x85ec23fb
mov r8d, edx
add r8d, r9d
xor edx, 0xffffffff
or edx, 0xc55f477d
add edx, r8d
and edx, 0xbe663b36
mov dword [rsp + 0x30], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400dab80
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x36], cl
cmp eax, 0x4cce922c
je 0x14015b6a3
mov al, byte [rsp + 0x36]
test al, 1
jne 0x14015b75e
jmp 0x14015b9dd
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000ef30
mov rcx, qword [rsp + 0x40]
mov rax, rcx
and rax, 1
or rcx, 1
add rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x14015b55c
mov rax, qword [rsp + 0x38]
cmp rax, 0
je 0x14015b9dd
mov eax, dword [0x140254850]
mov ecx, 0x6493e7bd
xor ecx, 0xa6c40b8
xor eax, ecx
or eax, dword [0x140254854]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xbca9a16f
xor edx, 0x38c5c4d7
and ecx, edx
mov edx, 0xffffffff
xor edx, 0x846c65b8
and eax, edx
sub eax, ecx
add eax, 0xafe3dc00
xor eax, 0xb5e2243c
cmp eax, 0xfc6d54c0
je 0x14015b9f4
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x140254858]
mov r8d, dword [0x14025485c]
mov edx, 0x5d525eec
xor edx, 0x5002ed95
xor r8d, edx
mov r9d, 0x2a5fdcd
xor r9d, 0x2a5fdcc
mov edx, eax
add edx, r9d
xor eax, 0xffffffff
or eax, r8d
add eax, edx
mov edx, 0x7c8df1fd
xor edx, 0x8ed1865d
xor eax, edx
mov r8d, 0x5dca3de3
xor r8d, 0xf4bcac3a
mov edx, eax
xor edx, r8d
xor edx, 0xffffffff
and edx, 0xa97691d9
shl edx, 1
sub edx, 0xa97691d9
sub eax, edx
mov r9d, 0xffffffff
xor r9d, 0x91f0994a
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x6f81b4ec
xor r9d, 0xfe712da6
mov r8d, eax
and r8d, r9d
or eax, 0x91f0994a
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
movabs rdx, 0xf9e37e096c1ebe4a
movabs r8, 0xb9e37e096c1ebe4a
xor rdx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xc7d9d8fb
je 0x14015b9f4
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14015b8e3
jmp 0x14015b9dd
mov ecx, dword [0x140254860]
mov edx, dword [0x140254864]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0x685426b2
or eax, 0xf6fbc10a
mov ecx, 0x400d2df5
xor edx, edx
div ecx
cmp eax, 0x8b7f6e0d
je 0x14015b9fd
mov rcx, qword [rsp + 0x38]
mov edx, dword [0x140254868]
mov r8d, dword [0x14025486c]
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
xor edx, 0xffffffff
mov r9d, 0xf1f0c35e
xor r9d, 0xe0f3ca1
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x98eb0b6a
mov edx, 0xffffffff
xor edx, 0x8693fca2
or eax, r8d
or edx, 0x8693fca2
mov r8d, 0xad91701
xor r8d, 0xf526e8fe
xor eax, r8d
and eax, edx
or eax, 0x8b7a36d5
or eax, 0x26d099f3
mov dword [rsp + 0x28], eax
movabs rdx, 0x49f011fd470a7bd2
movabs rax, 0x49f011fd470a7bda
xor rdx, rax
call fcn.14000eece
mov eax, dword [rsp + 0x28]
cmp eax, 0xdb2f240f
ja 0x14015b917
jmp 0x14015b9dd
add rsp, 0x68
ret
or byte [rsi + 0xa], al
and cl, ch
mov cl, 0xfb
invalid
invalid
xchg ecx, eax
retf 0x683a
stosb byte [rdi], al
mov bl, 0x70
movabs dword [0xec8348ffffff11e9], eax
sub rsp, 0x48
mov qword [rsp + 0x38], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x47], al
je 0x14015bb15
mov rax, qword [rsp + 0x38]
mov rcx, rax
add rcx, 0xfffffffffffffff0
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax - 0x10]
mov qword [rsp + 0x30], rcx
mov al, 1
cmp rcx, 0x10
mov byte [rsp + 0x47], al
jb 0x14015bb15
mov rcx, qword [rsp + 0x30]
mov rax, rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x20], rax
mov rdx, rax
xor rdx, rcx
movabs r8, 0x9a9377858f3131e2
movabs r9, 0x656c887a70cece1d
xor r8, r9
xor rdx, r8
mov r8, rcx
and r8, rdx
movabs rdx, 0xef09b6511fc97a9
movabs r9, 0xef09b6511fc97ab
xor rdx, r9
imul rdx, r8
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0x9b869075156c4bf8
movabs r8, 0x64796f8aea93b407
xor rcx, r8
cmp rax, rcx
setg al
xor ecx, ecx
xor cl, 1
xor al, cl
xor dl, 0xff
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
mov dl, 1
xor dl, 0
xor al, dl
and al, cl
test al, 1
jne 0x14015baf2
jmp 0x14015bb02
call fcn.140008c92
xor eax, eax
mov byte [rsp + 0x47], al
jmp 0x14015bb15
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov qword [rax], rcx
xor eax, eax
mov byte [rsp + 0x47], al
mov al, byte [rsp + 0x47]
and al, 1
movzx eax, al
add rsp, 0x48
ret