Function at 0x14022fca0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x58
mov qword [rsp + 0x50], rcx
call fcn.140230011
mov rcx, qword [rsp + 0x50]
cmp rcx, 0
je 0x14022ff1e
mov rax, qword [rsp + 0x50]
movabs rcx, 0x1accf1f8e9ed9151
movabs rdx, 0xe5330e0716126ea1
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
cmp rax, 0x10
jb 0x14022fddc
mov eax, dword [0x14025f330]
xor edx, edx
div dword [0x14025f334]
mov ecx, eax
mov edx, 0xb6611487
xor edx, 0xd6f4b9c5
mov eax, ecx
and eax, edx
xor ecx, 0x6095ad42
or eax, ecx
sub eax, 0x3f094e05
imul eax, eax, 0xb443e08b
cmp eax, 0x72c4d3b2
jbe 0x14022fff6
mov r8, qword [rsp + 0x48]
mov ecx, dword [0x14025f338]
mov eax, dword [0x14025f33c]
add ecx, eax
mov eax, ecx
not eax
or ecx, 0x35a6ac14
or eax, 0xca5953eb
and ecx, eax
mov eax, ecx
not eax
or eax, 0x615ff21f
or ecx, 0x9ea00de0
and eax, ecx
xor eax, 0x8718448d
mov rdx, r8
add rdx, 0xfffffffffffffff0
mov qword [rsp + 0x30], rdx
xor r8, rdx
test rdx, rdx
setns cl
or rdx, r8
sets dl
add cl, dl
inc cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x717e7425
jbe 0x14022fd32
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14022fdab
jmp 0x14022fdb5
call fcn.140007e9d
jmp 0x14022ff1e
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
mov qword [rdx], rcx
mov r8, qword [rax]
mov cl, 1
xor cl, 1
and cl, 1
call fcn.14000fec7
jmp 0x14022ff1e
mov eax, dword [0x14025f340]
mov edx, dword [0x14025f344]
xor edx, 0xf8ea5d1d
xor eax, 0xffffffff
mov ecx, 0x7398d047
xor ecx, 0x8c672fb8
xor edx, ecx
mov ecx, 0x84ba1861
xor ecx, 0xedb1e1b2
mov r8d, 0x66a2ce57
xor r8d, 0x995d31a8
xor ecx, r8d
or eax, edx
or ecx, 0x690bf9d3
mov edx, 0x4f4f8ff2
xor edx, 0xb0b0700d
xor eax, edx
and eax, ecx
xor eax, 0xaf8e24b3
or eax, 0x46848697
or eax, 0xc498e2e4
cmp eax, 0x51c6e54d
je 0x14022ffff
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov edi, dword [0x14025f348]
xor edi, 0xf1ca7ed0
mov esi, dword [0x14025f34c]
mov r8d, edi
xor r8d, 0xffffffff
mov r10d, esi
xor r10d, 0xffffffff
mov r9d, 0x7d732190
xor r9d, 0x10eaf5c4
mov ecx, 0xfb93e7e
xor ecx, 0xf046c181
xor r9d, ecx
mov ecx, r8d
and ecx, 0x6d99d454
and edi, r9d
mov r11d, r10d
and r11d, 0x6d99d454
and esi, r9d
or ecx, edi
or r11d, esi
xor ecx, r11d
or r8d, r10d
xor r8d, 0xffffffff
or r9d, 0x6d99d454
and r8d, r9d
or ecx, r8d
or ecx, 0x74eb5926
mov r8d, 0x8980ff28
xor r8d, 0xc6eea395
xor ecx, r8d
mov r8d, 0xea00d09d
xor r8d, 0x3e2cbbbc
add ecx, r8d
mov dword [rsp + 0x2c], ecx
mov r8, qword [rax]
xor eax, eax
mov cl, al
xor cl, 1
and cl, 1
call fcn.14000fec7
mov rcx, qword [rsp + 0x50]
call fcn.14000ffc0
mov eax, dword [rsp + 0x2c]
cmp eax, 0x30c09171
jbe 0x14022ffff
jmp 0x14022ff1e
mov eax, dword [0x14025f350]
mov ecx, dword [0x14025f354]
add eax, 0xa6d8d189
add eax, ecx
sub eax, 0xa6d8d189
mov ecx, 0x7ac74dbd
xor ecx, 0xafdb23c0
sub eax, ecx
add eax, 0xdadf3a8d
add eax, 0xd51c6e7d
add eax, 0x1dffeea5
add eax, 0xcd96498d
sub eax, 0x1dffeea5
mov ecx, 0x32f6edec
xor ecx, 0x32f6edec
mov edx, 0x677bfbb8
xor edx, 0xe40a59e4
sub ecx, edx
add eax, ecx
cmp eax, 0xfb07e867
jae 0x140230008
mov eax, dword [0x14025f358]
xor eax, 0x13c2ed5e
and eax, dword [0x14025f35c]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf5ead5bf
mov r8d, 0xffffffff
xor r8d, 0xf5ead5bf
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x5f1e711b
xor r8d, 0xaaf4a4a4
mov edx, eax
and edx, r8d
or eax, 0xf5ead5bf
imul eax, edx
add eax, ecx
sub eax, 0x8f342001
mov ecx, 0xb1d1ccd3
xor edx, edx
div ecx
mov ecx, 0x122a55c
xor ecx, 0x790d6884
cmp eax, ecx
jae 0x140230008
add rsp, 0x58
pop rdi
pop rsi
ret
invalid
pop rcx
xchg esi, eax
retf 0xe985
sub edx, dword [rbx]
sbb eax, 0xff70e94b
invalid