Function at 0x1400c3f20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
movaps xmmword [rbp - 0x10], xmm6
mov r13, r8
mov rbx, rdx
mov r14, rcx
movabs rax, 0x7465646279746573
mov qword [rbp - 0x30], rax
movabs rax, 0x736f6d6570736575
mov qword [rbp - 0x28], rax
movabs rax, 0x6c7967656e657261
mov qword [rbp - 0x20], rax
movabs rax, 0x646f72616e646f6d
mov qword [rbp - 0x18], rax
mov eax, dword [0x141dd8ab8]
xor eax, dword [0x141dd8abc]
xor eax, 0xc6b3de41
imul rax, rax, 0x4332a93f
shr rax, 0x3d
cmp eax, 0xd4b431fe
jbe 0x1400c4069
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov r15, rsp
mov eax, 0x50
call fcn.1400f1350
sub rsp, rax
mov r12, rsp
mov rax, r14
movabs rcx, 0x736f6d6570736575
xor rax, rcx
mov rcx, rbx
movabs rdx, 0x646f72616e646f6d
xor rcx, rdx
mov rdx, r14
movabs r8, 0x6c7967656e657261
xor rdx, r8
mov r8, rbx
movabs r10, 0x7465646279746573
xor r8, r10
mov qword [r12], rax
mov qword [r12 + 8], rdx
mov qword [r12 + 0x10], rcx
mov qword [r12 + 0x18], r8
mov qword [r12 + 0x20], r14
mov qword [r12 + 0x28], rbx
xorps xmm0, xmm0
movups xmmword [r12 + 0x30], xmm0
mov qword [r12 + 0x40], 0
sub rsp, 0x20
mov rcx, r12
mov rdx, r13
mov r8, r9
mov rsi, r9
call fcn.14001ba10
add rsp, 0x20
mov byte [r15], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r12
mov rdx, r15
call fcn.14001ba10
mov r9, rsi
add rsp, 0x20
xor qword [rbp - 0x28], r14
xor qword [rbp - 0x18], rbx
xor qword [rbp - 0x20], r14
xor qword [rbp - 0x30], rbx
xorps xmm6, xmm6
nop dword [rax]
mov eax, dword [0x141dd8ac0]
xor edx, edx
div dword [0x141dd8ac4]
imul eax, eax, 0x8e8f6dad
and eax, 0xa3e4305c
imul esi, eax, 0x193d589d
mov eax, 0x10
call fcn.1400f1350
sub rsp, rax
mov r12, rsp
mov eax, 0x50
call fcn.1400f1350
sub rsp, rax
mov r15, rsp
mov rax, qword [rbp - 0x28]
mov qword [r15], rax
mov rax, qword [rbp - 0x20]
mov qword [r15 + 8], rax
mov rax, qword [rbp - 0x18]
mov qword [r15 + 0x10], rax
mov rax, qword [rbp - 0x30]
mov qword [r15 + 0x18], rax
mov qword [r15 + 0x20], r14
mov qword [r15 + 0x28], rbx
movups xmmword [r15 + 0x30], xmm6
mov qword [r15 + 0x40], 0
sub rsp, 0x20
mov rcx, r15
mov rdx, r13
mov r8, r9
mov rdi, r9
call fcn.14001ba10
add rsp, 0x20
mov byte [r12], 0xff
sub rsp, 0x20
mov r8d, 1
mov rcx, r15
mov rdx, r12
call fcn.14001ba10
mov r9, rdi
add rsp, 0x20
cmp esi, 0xe3b1317d
ja 0x1400c4080
mov rcx, qword [r15 + 0x10]
mov rax, qword [r15 + 0x30]
shl rax, 0x38
or rax, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x18]
xor rdx, rax
mov r9, qword [r15]
add r9, rcx
mov r8, qword [r15 + 8]
add r8, rdx
rol rcx, 0xd
xor rcx, r9
rol rdx, 0x10
xor rdx, r8
rol r9, 0x20
add r8, rcx
add r9, rdx
nop word cs:[rax + rax]
mov r10d, dword [0x141dd8ac8]
sub r10d, dword [0x141dd8acc]
or r10d, 0x80221
xor r10d, 0x1c000000
and r10d, 0xdc181239
cmp r10d, 0x42056ffc
je 0x1400c4180
rol rcx, 0x11
xor rcx, r8
rol rdx, 0x15
rol r8, 0x20
xor rdx, r9
xor rax, r9
xor r8, 0xff
add rax, rcx
add r8, rdx
rol rcx, 0xd
xor rcx, rax
rol rdx, 0x10
rol rax, 0x20
xor rdx, r8
add r8, rcx
rol rcx, 0x11
add rax, rdx
xor rcx, r8
rol rdx, 0x15
xor rdx, rax
rol r8, 0x20
add rax, rcx
add r8, rdx
rol rcx, 0xd
xor rcx, rax
rol rdx, 0x10
rol rax, 0x20
xor rdx, r8
add r8, rcx
rol rcx, 0x11
add rax, rdx
xor rcx, r8
rol rdx, 0x15
xor rdx, rax
rol r8, 0x20
add rax, rcx
add r8, rdx
rol rcx, 0xd
xor rcx, rax
rol rdx, 0x10
xor rdx, r8
add r8, rcx
rol rcx, 0x11
rol rdx, 0x15
mov rax, r8
rol rax, 0x20
xor rax, rcx
xor rax, rdx
xor rax, r8
movaps xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret