Function at 0x140002c28
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movsd xmm0, qword [0x140005038]
lea r9, [rbp - 0x50]
mov al, byte [0x140005040]
xor ebx, ebx
mov rdi, rcx
movsd qword [rbp - 0x50], xmm0
mov byte [rbp - 0x48], al
mov r8d, ebx
mov r14d, 0x2f684bdb
mov r15b, 0x38
lea esi, [rbx + 1]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 9
jl 0x140002c6f
movsd xmm0, qword [0x140005028]
lea r9, [rbp - 0x2f]
mov al, byte [0x140005030]
mov r8d, ebx
movsd qword [rbp - 0x2f], xmm0
mov byte [rbp - 0x27], al
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 9
jl 0x140002cbb
lea r8, [rbp - 0x50]
mov rcx, rdi
lea rdx, [rbp - 0x2f]
call fcn.140003a90
test rax, rax
je 0x1400031ba
mov r12d, 5
mov rcx, rax
mov edx, r12d
call fcn.1400045ec
cmp byte [0x140005057], bl
mov qword [0x140006068], rax
mov rax, qword [0x140005050]
mov qword [rbp + 0x38], rax
je 0x140002d64
mov r8d, ebx
lea r9, [rbp + 0x38]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 8
jl 0x140002d35
cmp byte [0x14000504f], bl
mov rax, qword [0x140005048]
mov qword [rbp + 0x40], rax
je 0x140002dad
mov r8d, ebx
lea r9, [rbp + 0x40]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 8
jl 0x140002d7e
lea r8, [rbp + 0x38]
mov rcx, rdi
lea rdx, [rbp + 0x40]
call fcn.140003a90
test rax, rax
je 0x1400031ba
mov rdx, r12
mov rcx, rax
call fcn.1400045ec
cmp byte [0x140005073], bl
movsd xmm0, qword [0x140005068]
mov qword [0x140006070], rax
mov eax, dword [0x140005070]
movsd qword [rbp - 0x2f], xmm0
mov dword [rbp - 0x27], eax
je 0x140002e2c
mov r8d, ebx
lea r9, [rbp - 0x2f]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0xc
jl 0x140002dfd
cmp byte [0x140005063], bl
movsd xmm0, qword [0x140005058]
mov eax, dword [0x140005060]
movsd qword [rbp - 0x50], xmm0
mov dword [rbp - 0x48], eax
je 0x140002e80
mov r8d, ebx
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0xc
jl 0x140002e51
lea r8, [rbp - 0x2f]
mov rcx, rdi
lea rdx, [rbp - 0x50]
call fcn.140003a90
mov rdx, r12
mov rcx, rax
call fcn.1400045ec
cmp byte [0x140005091], bl
movsd xmm0, qword [0x140005088]
mov qword [0x140006078], rax
movzx eax, word [0x140005090]
mov word [rbp - 0x27], ax
movsd qword [rbp - 0x2f], xmm0
je 0x140002ef8
mov r8d, ebx
lea r9, [rbp - 0x2f]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0xa
jl 0x140002ec9
cmp byte [0x140005081], bl
movsd xmm0, qword [0x140005078]
movzx eax, word [0x140005080]
movsd qword [rbp - 0x50], xmm0
mov word [rbp - 0x48], ax
je 0x140002f4e
mov r8d, ebx
lea r9, [rbp - 0x50]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0xa
jl 0x140002f1f
lea r8, [rbp - 0x2f]
mov rcx, rdi
lea rdx, [rbp - 0x50]
call fcn.140003a90
test rax, rax
jne 0x140002f6d
mov eax, 0xc0000001
jmp 0x1400031bf
mov rdx, r12
mov rcx, rax
call fcn.1400045ec
movups xmm0, xmmword [str._ABC]
mov qword [0x140006088], rax
mov r8d, ebx
movups xmm1, xmmword [0x1400050d0]
mov al, byte [0x1400050e0]
lea r9, [rbp - 0x2f]
movups xmmword [rbp - 0x2f], xmm0
mov byte [rbp - 0xf], al
movups xmmword [rbp - 0x1f], xmm1
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0x21
jl 0x140002fa5
movups xmm0, xmmword [0x140005098]
mov al, byte [0x1400050b8]
mov r8d, ebx
movups xmm1, xmmword [0x1400050a8]
mov byte [rbp - 0x30], al
lea r9, [rbp - 0x50]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm1
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0x21
jl 0x140002ffa
lea r8, [rbp - 0x2f]
mov rcx, rdi
lea rdx, [rbp - 0x50]
call fcn.140003a90
cmp byte [0x1400050e9], bl
mov qword [0x140006080], rax
movzx eax, word [0x1400050e8]
mov word [rbp + 0x38], ax
je 0x140003089
mov r8d, ebx
lea r9, [rbp + 0x38]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 2
jl 0x14000305a
cmp byte [0x1400050e5], bl
movzx eax, word [0x1400050e4]
mov word [rbp + 0x40], ax
je 0x1400030d2
mov r8d, ebx
lea r9, [rbp + 0x40]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 2
jl 0x1400030a3
lea r8, [rbp + 0x38]
mov rcx, rdi
lea rdx, [rbp + 0x40]
call fcn.140003b8c
mov qword [0x140006128], rax
test rax, rax
je 0x1400031b3
cmp byte [0x14000511b], bl
movups xmm0, xmmword [str._ABCDE]
mov eax, dword [0x140005118]
mov dword [rbp - 0x1f], eax
movups xmmword [rbp - 0x2f], xmm0
je 0x140003144
mov r8d, ebx
lea r9, [rbp - 0x2f]
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
add r8d, esi
sub al, cl
add al, r15b
xor byte [r9], al
add r9, rsi
cmp r8d, 0x14
jl 0x140003115
cmp byte [0x140005103], bl
movups xmm0, xmmword [0x1400050f0]
mov eax, dword [0x140005100]
mov dword [rbp - 0x40], eax
movups xmmword [rbp - 0x50], xmm0
je 0x14000318e
lea r8, [rbp - 0x50]
mov eax, r14d
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, bl
add ebx, esi
sub al, cl
add al, r15b
xor byte [r8], al
add r8, rsi
cmp ebx, 0x14
jl 0x140003164
lea r8, [rbp - 0x2f]
mov rcx, rdi
lea rdx, [rbp - 0x50]
call fcn.140003a90
mov qword [0x140006130], rax
neg rax
sbb eax, eax
not eax
and eax, 0xc0000365
jmp 0x1400031bf
mov eax, 0xc0000365
jmp 0x1400031bf
mov eax, 0xc0000225
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret