Function at 0x18009b430
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 [0x18010d6a0]
movaps xmmword [rbp + 0x50], xmm0
movaps xmm0, xmmword [0x18010d690]
movaps xmmword [rbp + 0x40], xmm0
movaps xmm0, xmmword [0x18010d680]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm0, xmmword [0x18010d670]
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 0x18009b64d
mov byte [rbp - 0x58], 1
lea rax, [0x1800d8df0]
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], recvfrom
mov edx, 0x40
mov rcx, rdi
call fcn.180018270
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 0x18009b6a6
lea rcx, [rbp - 0x60]
lea rdx, [rbp + 0x20]
call fcn.18009b940
inc rsi
sub r14, 0xffffffffffffff80
add r15, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
cmp rsi, qword [rbp + 0x68]
je 0x18009b4b9
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 0x18009b6ee
movzx r12d, byte [rbx + rsi]
or r12, r13
mov qword [rbp + rsi - 0x60], r12
add rsi, 8
cmp rsi, 0x80
je 0x18009b8ea
lea r12, [r14 + rsi]
cmp r12, rdi
jae 0x18009b7f0
movzx r13d, byte [rbx + rsi - 7]
lea r12, [r14 + rsi]
inc r12
shl r13, 8
cmp r12, rdi
jb 0x18009b812
lea r12, [r13 + 0x80]
cmp r11, rsi
cmovne r12, r13
lea r13, [r14 + rsi]
add r13, 2
shl r12, 8
cmp r13, rdi
jb 0x18009b830
lea r13, [r12 + 0x80]
cmp r10, rsi
cmovne r13, r12
lea r12, [r14 + rsi]
add r12, 3
shl r13, 8
cmp r12, rdi
jb 0x18009b84e
lea r12, [r13 + 0x80]
cmp r9, rsi
cmovne r12, r13
lea r13, [r14 + rsi]
add r13, 4
shl r12, 8
cmp r13, rdi
jb 0x18009b86c
lea r13, [r12 + 0x80]
cmp r8, rsi
cmovne r13, r12
lea r12, [r14 + rsi]
add r12, 5
shl r13, 8
cmp r12, rdi
jb 0x18009b88a
lea r12, [r13 + 0x80]
cmp rdx, rsi
cmovne r12, r13
lea r13, [r14 + rsi]
add r13, 6
shl r12, 8
cmp r13, rdi
jb 0x18009b8a8
lea r13, [r12 + 0x80]
cmp rcx, rsi
cmovne r13, r12
lea r12, [r14 + rsi]
add r12, 7
shl r13, 8
cmp r12, rdi
jb 0x18009b6d0
jmp 0x18009b8c6
xor r13d, r13d
cmp r15, rsi
sete r13b
shl r13, 7
lea r12, [r14 + rsi]
inc r12
shl r13, 8
cmp r12, rdi
jae 0x18009b715
movzx r12d, byte [rbx + rsi - 6]
or r12, r13
lea r13, [r14 + rsi]
add r13, 2
shl r12, 8
cmp r13, rdi
jae 0x18009b738
movzx r13d, byte [rbx + rsi - 5]
or r13, r12
lea r12, [r14 + rsi]
add r12, 3
shl r13, 8
cmp r12, rdi
jae 0x18009b75c
movzx r12d, byte [rbx + rsi - 4]
or r12, r13
lea r13, [r14 + rsi]
add r13, 4
shl r12, 8
cmp r13, rdi
jae 0x18009b77f
movzx r13d, byte [rbx + rsi - 3]
or r13, r12
lea r12, [r14 + rsi]
add r12, 5
shl r13, 8
cmp r12, rdi
jae 0x18009b7a3
movzx r12d, byte [rbx + rsi - 2]
or r12, r13
lea r13, [r14 + rsi]
add r13, 6
shl r12, 8
cmp r13, rdi
jae 0x18009b7c6
movzx r13d, byte [rbx + rsi - 1]
or r13, r12
lea r12, [r14 + rsi]
add r12, 7
shl r13, 8
cmp r12, rdi
jb 0x18009b6d0
lea r12, [r13 + 0x80]
cmp rax, rsi
cmovne r12, r13
mov qword [rbp + rsi - 0x60], r12
add rsi, 8
cmp rsi, 0x80
jne 0x18009b6ee
mov rsi, qword [rbp + 0x60]
cmp rsi, qword [rbp + 0x70]
jne 0x18009b680
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x10], 0
jmp 0x18009b680