Function at 0x18009a648
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
mov rbp, rsp
xor r8d, r8d
cmp byte [rcx], 0x31
mov r9, rcx
mov edi, 1
jne 0x18009a683
cmp byte [rcx + 1], r8b
jne 0x18009a683
cmp byte [rcx + 2], r8b
jne 0x18009a683
cmp byte [rcx + 3], r8b
je 0x18009a918
mov dword [rbp + 0x18], 0x4444a46
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov esi, 0x1f7047dd
mov r14b, 0x32
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a69d
movzx ebx, byte [r9]
movsx eax, byte [rbp + 0x18]
cmp ebx, eax
jne 0x18009a7ca
mov dword [rbp + 0x18], 0x4444a46
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a6ed
movzx ecx, byte [r9 + 1]
movsx eax, byte [rbp + 0x19]
cmp ecx, eax
jne 0x18009a7ca
mov dword [rbp + 0x18], 0x4444a46
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a73e
movzx ecx, byte [r9 + 2]
movsx eax, byte [rbp + 0x1a]
cmp ecx, eax
jne 0x18009a7ca
mov dword [rbp + 0x18], 0x4444a46
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a78b
movzx ecx, byte [r9 + 3]
movsx eax, byte [rbp + 0x1b]
cmp ecx, eax
je 0x18009a918
mov dword [rbp + 0x18], 0x7a60677d
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a7dc
movsx eax, byte [rbp + 0x18]
cmp ebx, eax
jne 0x18009a901
mov dword [rbp + 0x18], 0x7a60677d
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a828
movzx ecx, byte [r9 + 1]
movsx eax, byte [rbp + 0x19]
cmp ecx, eax
jne 0x18009a901
mov dword [rbp + 0x18], 0x7a60677d
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a879
movzx ecx, byte [r9 + 2]
movsx eax, byte [rbp + 0x1a]
cmp ecx, eax
jne 0x18009a901
mov dword [rbp + 0x18], 0x7a60677d
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a8c6
movzx ecx, byte [r9 + 3]
movsx eax, byte [rbp + 0x1b]
cmp ecx, eax
je 0x18009a918
cmp byte [r9], r8b
jne 0x18009a91f
cmp byte [r9 + 1], dil
jne 0x18009a91f
cmp byte [r9 + 2], r8b
jne 0x18009a91f
cmp byte [r9 + 3], r8b
jne 0x18009a91f
mov eax, edi
jmp 0x18009aa5f
mov dword [rbp + 0x18], 0x50414146
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a931
movsx eax, byte [rbp + 0x18]
cmp ebx, eax
jne 0x18009aa5d
mov dword [rbp + 0x18], 0x50414146
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a97d
movzx ecx, byte [r9 + 1]
movsx eax, byte [rbp + 0x19]
cmp ecx, eax
jne 0x18009aa5d
mov dword [rbp + 0x18], 0x50414146
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r10b
add r10d, edi
sub al, cl
add al, r14b
xor byte [r11], al
add r11, rdi
cmp r10d, 5
jl 0x18009a9ce
movzx ecx, byte [r9 + 2]
movsx eax, byte [rbp + 0x1a]
cmp ecx, eax
jne 0x18009aa5d
mov dword [rbp + 0x18], 0x50414146
lea r11, [rbp + 0x18]
mov byte [rbp + 0x1c], 0x36
mov r10d, r8d
mov eax, esi
mul r10d
mov eax, r10d
sub eax, edx
shr eax, 1
add eax, edx
mov dl, r10b
shr eax, 5
add r10d, edi
movsx eax, al
imul ecx, eax, 0x39
sub dl, cl
add dl, r14b
xor byte [r11], dl
add r11, rdi
cmp r10d, 5
jl 0x18009aa1b
movzx edx, byte [r9 + 3]
movsx ecx, byte [rbp + 0x1b]
cmp edx, ecx
sete r8b
mov eax, r8d
jmp 0x18009aa5f
xor eax, eax
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
pop r14
pop rbp
ret