Function at 0x180019c18
Capabilities:
Encode data using xor
Hash data using sha384
Hash data using sha512

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], r14
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov rbx, rcx
and qword [rcx + 0xc0], 0
and qword [rcx + 0xc8], 0
mov rcx, qword [rcx + 0xd0]
mov rax, rcx
sub rax, 0xe0
je 0x180019fa6
sub rax, 0x20
je 0x180019f39
cmp rax, 0x80
je 0x180019ec9
movabs rax, 0x6a09e667f3bcc908
mov qword [rbx], rax
movabs rax, 0xbb67ae8584caa73b
mov qword [rbx + 8], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rbx + 0x10], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rbx + 0x18], rax
movabs rax, 0x510e527fade682d1
mov qword [rbx + 0x20], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rbx + 0x28], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rbx + 0x30], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rbx + 0x38], rax
cmp rcx, 0x200
je 0x18001a015
xor eax, eax
lea r14d, [rax + 8]
movdqu xmm0, xmmword [rbx + rax*8]
movdqa xmm1, xmmword [0x18006c720]
pxor xmm1, xmm0
movdqu xmmword [rbx + rax*8], xmm1
add rax, 2
cmp rax, r14
jl 0x180019cf4
mov r8, qword [rbx + 0xd0]
lea r9, [rbp - 0x14]
dec r9
movabs rax, 0xcccccccccccccccd
mul r8
shr rdx, 3
mov al, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8, rdx
test rdx, rdx
jne 0x180019d1e
and qword [rbp + 7], rdx
mov qword [rbp + 0xf], 0xf
mov byte [rbp - 9], dl
lea rax, [rbp - 0x14]
cmp r9, rax
je 0x180019d7a
lea r8, [rbp - 0x14]
sub r8, r9
mov rdx, r9
lea rcx, [rbp - 9]
call fcn.18000a470
nop
lea r8, [rbp - 9]
lea rcx, [rbp + 0x37]
call fcn.18001d85c
nop
mov rdx, qword [rbp + 0xf]
mov esi, 0x10
cmp rdx, rsi
jb 0x180019dc7
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180019dc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001a02e
call fcn.18002a15c
lea rdx, [rbp + 0x37]
cmp qword [rbp + 0x4f], rsi
cmovae rdx, qword [rbp + 0x37]
mov r8, qword [rbp + 0x47]
mov rcx, rbx
call fcn.18000a264
lea rdx, [rbp - 9]
mov rcx, rbx
call fcn.18001a25c
xor eax, eax
movq xmm4, rsi
movd xmm5, r14d
movdqu xmm2, xmmword [rbx + rax*8]
movdqa xmm3, xmmword [0x18006c5b0]
pand xmm3, xmm2
movdqa xmm0, xmm2
psllq xmm0, xmm4
por xmm3, xmm0
psllq xmm3, xmm4
movdqa xmm0, xmmword [0x18006c5c0]
pand xmm0, xmm2
por xmm3, xmm0
psllq xmm3, xmm4
movdqa xmm0, xmmword [0x18006c5d0]
pand xmm0, xmm2
por xmm3, xmm0
psllq xmm3, xmm5
movdqa xmm1, xmmword [0x18006c640]
pand xmm1, xmm2
movdqa xmm0, xmm2
psrlq xmm0, xmm4
por xmm1, xmm0
psrlq xmm1, xmm4
movdqa xmm0, xmmword [0x18006c620]
pand xmm0, xmm2
por xmm1, xmm0
psrlq xmm1, xmm4
movdqa xmm0, xmmword [0x18006c610]
pand xmm0, xmm2
por xmm1, xmm0
psrlq xmm1, xmm5
por xmm3, xmm1
movdqu xmmword [rbx + rax*8], xmm3
add rax, 2
cmp rax, r14
jl 0x180019df8
and qword [rbx + 0xc0], 0
and qword [rbx + 0xc8], 0
mov rdx, qword [rbp + 0x4f]
cmp rdx, rsi
jb 0x18001a015
inc rdx
mov rcx, qword [rbp + 0x37]
call fcn.180018498
jmp 0x18001a015
movabs rax, 0xcbbb9d5dc1059ed8
mov qword [rbx], rax
movabs rax, 0x629a292a367cd507
mov qword [rbx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rbx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rbx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rbx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rbx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rbx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
jmp 0x18001a011
movabs rax, 0x22312194fc2bf72c
mov qword [rbx], rax
movabs rax, 0x9f555fa3c84c64c2
mov qword [rbx + 8], rax
movabs rax, 0x2393b86b6f53b151
mov qword [rbx + 0x10], rax
movabs rax, 0x963877195940eabd
mov qword [rbx + 0x18], rax
movabs rax, 0x96283ee2a88effe3
mov qword [rbx + 0x20], rax
movabs rax, 0xbe5e1e2553863992
mov qword [rbx + 0x28], rax
movabs rax, 0x2b0199fc2c85b8aa
mov qword [rbx + 0x30], rax
movabs rax, 0xeb72ddc81c52ca2
jmp 0x18001a011
movabs rax, 0x8c3d37c819544da2
mov qword [rbx], rax
movabs rax, 0x73e1996689dcd4d6
mov qword [rbx + 8], rax
movabs rax, 0x1dfab7ae32ff9c82
mov qword [rbx + 0x10], rax
movabs rax, 0x679dd514582f9fcf
mov qword [rbx + 0x18], rax
movabs rax, 0xf6d2b697bd44da8
mov qword [rbx + 0x20], rax
movabs rax, 0x77e36f7304c48942
mov qword [rbx + 0x28], rax
movabs rax, 0x3f9d85a86a1d36c8
mov qword [rbx + 0x30], rax
movabs rax, 0x1112e6ad91d692a1
mov qword [rbx + 0x38], rax
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov r14, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.18002ef24
int3