Function at 0x140019710
Capabilities:
Hash data using sha1
Hash data using sha256
Hash data using sha384

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x80]
test rcx, rcx
je 0x14001972e
call fcn.14001aa70
mov rbx, qword [rdi + 0x58]
test rbx, rbx
je 0x14001976b
mov rcx, qword [rbx + 0x68]
test rcx, rcx
je 0x14001974e
call fcn.14001e8a0
mov rcx, qword [rbx + 0x68]
call fcn.14004f190
mov rcx, qword [rbx + 0x78]
call fcn.14004f190
mov rax, qword [fcn.140065540]
xor edx, edx
mov r8d, 0x98
mov rcx, rbx
call rax
cmp qword [rdi + 0x60], 0
je 0x14001977a
mov rcx, rdi
call fcn.14001ac90
cmp qword [rdi + 0x80], 0
jne 0x14001979a
mov edx, 0x130
mov ecx, 1
call fcn.14004fbcc
mov qword [rdi + 0x80], rax
cmp qword [rdi + 0x58], 0
jne 0x1400197b4
mov edx, 0x98
mov ecx, 1
call fcn.14004fbcc
mov qword [rdi + 0x58], rax
mov rax, qword [rdi + 0x60]
test rax, rax
jne 0x1400197ce
mov edx, 0x8b8
lea ecx, [rax + 1]
call fcn.14004fbcc
mov qword [rdi + 0x60], rax
mov qword [rsp + 0x30], rsi
test rax, rax
je 0x140019b80
cmp qword [rdi + 0x80], 0
je 0x140019b80
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140019b80
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rcx], xmm0
xor eax, eax
xor edx, edx
movups xmmword [rcx + 0x10], xmm0
mov r8d, 0xf8
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm0
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x50], xmm0
movups xmmword [rcx + 0x60], xmm0
movups xmmword [rcx + 0x70], xmm0
movups xmmword [rcx + 0x80], xmm0
mov qword [rcx + 0x90], rax
xor ecx, ecx
mov rax, qword [rdi + 0x80]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x80], xmm1
movups xmmword [rax + 0x90], xmm1
movups xmmword [rax + 0xa0], xmm1
movups xmmword [rax + 0xb0], xmm1
movups xmmword [rax + 0xc0], xmm1
mov qword [rax + 0xd0], rcx
movups xmmword [rax + 0xd8], xmm0
movups xmmword [rax + 0xe8], xmm0
movups xmmword [rax + 0xf8], xmm0
movups xmmword [rax + 0x108], xmm0
movups xmmword [rax + 0x118], xmm0
mov qword [rax + 0x128], rcx
movups xmmword [rax + 0x50], xmm0
mov qword [rax + 0x60], rcx
movups xmmword [rax + 0x68], xmm0
mov qword [rax + 0x78], rcx
xor eax, eax
mov rbx, qword [rdi + 0x60]
movups xmmword [rbx + 0x100], xmm0
lea rcx, [rbx + 0x11c]
mov qword [rbx + 0x110], rax
call fcn.140065540
xor eax, eax
lea rcx, [rbx + 0x418]
xor edx, edx
mov dword [rbx + 0x334], eax
mov r8d, 0x4a0
call fcn.140065540
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx + 0x218], xmm0
xor esi, esi
movups xmmword [rbx + 0x228], xmm0
movups xmmword [rbx + 0x238], xmm0
movups xmmword [rbx + 0x248], xmm0
movups xmmword [rbx + 0x258], xmm0
mov qword [rbx + 0x268], rax
movups xmmword [rbx + 0x270], xmm0
movups xmmword [rbx + 0x280], xmm0
movups xmmword [rbx + 0x290], xmm0
movups xmmword [rbx + 0x2a0], xmm0
movups xmmword [rbx + 0x2b0], xmm0
mov qword [rbx + 0x2c0], rax
mov qword [rbx + 0x214], rsi
mov dword [rbx + 0x21c], 0x67452301
mov dword [rbx + 0x220], 0xefcdab89
mov dword [rbx + 0x224], 0x98badcfe
mov dword [rbx + 0x228], 0x10325476
mov dword [rbx + 0x270], esi
mov dword [rbx + 0x274], 0x67452301
mov dword [rbx + 0x278], 0xefcdab89
mov dword [rbx + 0x27c], 0x98badcfe
mov dword [rbx + 0x280], 0x10325476
mov dword [rbx + 0x284], 0xc3d2e1f0
movups xmmword [rbx + 0x2cc], xmm0
movups xmmword [rbx + 0x2dc], xmm0
movups xmmword [rbx + 0x2ec], xmm0
movups xmmword [rbx + 0x2fc], xmm0
movups xmmword [rbx + 0x30c], xmm0
movups xmmword [rbx + 0x31c], xmm0
mov qword [rbx + 0x32c], rax
lea rcx, [rbx + 0x340]
xor edx, edx
mov qword [rbx + 0x2c8], rsi
mov r8d, 0xd0
mov dword [rbx + 0x2d0], 0x6a09e667
mov dword [rbx + 0x2d4], 0xbb67ae85
mov dword [rbx + 0x2d8], 0x3c6ef372
mov dword [rbx + 0x2dc], 0xa54ff53a
mov dword [rbx + 0x2e0], 0x510e527f
mov dword [rbx + 0x2e4], 0x9b05688c
mov dword [rbx + 0x2e8], 0x1f83d9ab
mov dword [rbx + 0x2ec], 0x5be0cd19
mov dword [rbx + 0x330], esi
call fcn.140065540
mov qword [rbx + 0x338], rsi
lea rcx, [rbx + 8]
mov qword [rbx + 0x340], rsi
movabs rax, 0xcbbb9d5dc1059ed8
mov qword [rbx + 0x348], rax
xor edx, edx
mov dword [rbx + 0x408], 1
movabs rax, 0x629a292a367cd507
mov qword [rbx + 0x350], rax
mov r8d, 0xf8
movabs rax, 0x9159015a3070dd17
mov qword [rbx + 0x358], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rbx + 0x360], rax
movabs rax, 0x67332667ffc00b31
mov qword [rbx + 0x368], rax
movabs rax, 0x8eb44a8768581511
mov qword [rbx + 0x370], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rbx + 0x378], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rbx + 0x380], rax
lea rax, [0x140018b50]
mov qword [rbx + 0x410], rax
mov qword [rbx], rsi
call fcn.140065540
mov dword [rbx + 0x118], 3
mov rax, qword [rdi]
test byte [rax + 0x150], 2
je 0x140019b6e
mov rcx, qword [rdi + 0x60]
mov rax, qword [rdi + 0x70]
mov qword [rcx + 0x178], rax
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x60]
movzx ecx, byte [rax + 0x150]
and cl, 1
add cl, cl
mov byte [rdx + 0x150], cl
mov rax, qword [rdi + 0x90]
test rax, rax
je 0x140019b6e
mov rcx, qword [rdi + 0x88]
xor r8d, r8d
xor edx, edx
call rax
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rcx, rax
call fcn.14004f190
mov rcx, qword [rdi + 0x80]
call fcn.14004f190
mov rcx, qword [rdi + 0x58]
call fcn.14004f190
mov rbx, qword [rsp + 0x38]
xor esi, esi
mov qword [rdi + 0x60], rsi
mov eax, 0xffff8100
mov qword [rdi + 0x80], rsi
mov qword [rdi + 0x58], rsi
mov rsi, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret