Function at 0x1400884b0
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x90], 0xfffffffffffffffe
mov qword [rbp + 0x80], rcx
movaps xmm0, xmmword [0x1401006b0]
movaps xmmword [rbp + 0x50], xmm0
movaps xmm0, xmmword [0x1401006a0]
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [0x140100690]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [0x140100680]
movaps xmmword [rbp + 0x20], xmm0
lea rcx, [r8*8]
mov eax, 0x37f
mov qword [rbp + 0x78], rcx
sub eax, ecx
and eax, 0x3ff
lea rcx, [rax + r8*8]
add rcx, 0x81
cmp rcx, 0x400
jae 0x1400886cd
mov byte [rbp - 0x58], 1
lea rax, [0x1400cd840]
mov qword [rbp - 0x60], rax
lea rdi, [rbp - 0x50]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], setsockopt
mov edx, 0x40
mov rcx, rdi
call fcn.14000fce0
mov qword [rbp - 0x40], 0
mov rax, qword [rbp + 0x20]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rbx, [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x28]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x30]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x38]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x40]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x48]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x50]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x58]
bswap rax
mov qword [rbp + 0x88], rax
mov rax, qword [rbp - 0x60]
lea rdx, [rbp + 0x88]
mov r8d, 8
mov rcx, rbx
call qword [rax + ioctlsocket]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
mov rax, qword [rbp + 0x80]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
add rsp, 0x118
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdi, r8
mov rbx, rdx
mov rax, rcx
shr rax, 0xa
mov qword [rbp + 0x68], rax
dec rax
mov qword [rbp + 0x70], rax
add rbx, 7
xor r14d, r14d
mov r15, r8
xor esi, esi
jmp 0x140088726
lea rcx, [rbp - 0x60]
lea rdx, [rbp + 0x20]
call fcn.1400889c0
inc rsi
sub r14, 0xffffffffffffff80
add r15, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
cmp rsi, qword [rbp + 0x68]
je 0x140088539
mov qword [rbp + 0x60], rsi
lea rax, [r15 - 7]
lea rcx, [r15 - 6]
lea rdx, [r15 - 5]
lea r8, [r15 - 4]
lea r9, [r15 - 3]
lea r10, [r15 - 2]
lea r11, [r15 - 1]
xor esi, esi
jmp 0x14008876e
movzx r12d, byte [rbx + rsi]
or r12, r13
mov qword [rbp + rsi - 0x60], r12
add rsi, 8
cmp rsi, 0x80
je 0x14008896a
lea r12, [r14 + rsi]
cmp r12, rdi
jae 0x140088870
movzx r13d, byte [rbx + rsi - 7]
lea r12, [r14 + rsi]
inc r12
shl r13, 8
cmp r12, rdi
jb 0x140088892
lea r12, [r13 + 0x80]
cmp r11, rsi
cmovne r12, r13
lea r13, [r14 + rsi]
add r13, 2
shl r12, 8
cmp r13, rdi
jb 0x1400888b0
lea r13, [r12 + 0x80]
cmp r10, rsi
cmovne r13, r12
lea r12, [r14 + rsi]
add r12, 3
shl r13, 8
cmp r12, rdi
jb 0x1400888ce
lea r12, [r13 + 0x80]
cmp r9, rsi
cmovne r12, r13
lea r13, [r14 + rsi]
add r13, 4
shl r12, 8
cmp r13, rdi
jb 0x1400888ec
lea r13, [r12 + 0x80]
cmp r8, rsi
cmovne r13, r12
lea r12, [r14 + rsi]
add r12, 5
shl r13, 8
cmp r12, rdi
jb 0x14008890a
lea r12, [r13 + 0x80]
cmp rdx, rsi
cmovne r12, r13
lea r13, [r14 + rsi]
add r13, 6
shl r12, 8
cmp r13, rdi
jb 0x140088928
lea r13, [r12 + 0x80]
cmp rcx, rsi
cmovne r13, r12
lea r12, [r14 + rsi]
add r12, 7
shl r13, 8
cmp r12, rdi
jb 0x140088750
jmp 0x140088946
xor r13d, r13d
cmp r15, rsi
sete r13b
shl r13, 7
lea r12, [r14 + rsi]
inc r12
shl r13, 8
cmp r12, rdi
jae 0x140088795
movzx r12d, byte [rbx + rsi - 6]
or r12, r13
lea r13, [r14 + rsi]
add r13, 2
shl r12, 8
cmp r13, rdi
jae 0x1400887b8
movzx r13d, byte [rbx + rsi - 5]
or r13, r12
lea r12, [r14 + rsi]
add r12, 3
shl r13, 8
cmp r12, rdi
jae 0x1400887dc
movzx r12d, byte [rbx + rsi - 4]
or r12, r13
lea r13, [r14 + rsi]
add r13, 4
shl r12, 8
cmp r13, rdi
jae 0x1400887ff
movzx r13d, byte [rbx + rsi - 3]
or r13, r12
lea r12, [r14 + rsi]
add r12, 5
shl r13, 8
cmp r12, rdi
jae 0x140088823
movzx r12d, byte [rbx + rsi - 2]
or r12, r13
lea r13, [r14 + rsi]
add r13, 6
shl r12, 8
cmp r13, rdi
jae 0x140088846
movzx r13d, byte [rbx + rsi - 1]
or r13, r12
lea r12, [r14 + rsi]
add r12, 7
shl r13, 8
cmp r12, rdi
jb 0x140088750
lea r12, [r13 + 0x80]
cmp rax, rsi
cmovne r12, r13
mov qword [rbp + rsi - 0x60], r12
add rsi, 8
cmp rsi, 0x80
jne 0x14008876e
mov rsi, qword [rbp + 0x60]
cmp rsi, qword [rbp + 0x70]
jne 0x140088700
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x10], 0
jmp 0x140088700