Function at 0x5ea8c0
Capabilities:
Hash data using sha512

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x5eb0eb
push rbp
mov rbp, rsp
sub rsp, 0x138
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x170], r8
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x160], rdi
mov rdx, rdi
lea rdi, [rsp + 0x90]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004665a2
mov rbp, qword [rbp]
mov r9, qword [rbx]
mov r10, qword [rbx + 8]
xor edi, edi
nop dword [rax]
jmp 0x5ea9e7
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x78], r12
mov rdx, r15
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x50]
xor r15, r13
mov r13, qword [rsp + 0x148]
xor qword [r13], r15
mov r15, qword [rsp + 0x60]
mov r12, qword [rsp + 0x58]
xor r15, r12
xor qword [r13 + 8], r15
mov r12, qword [rsp + 0x18]
mov r15, qword [rsp + 0x70]
xor r12, r15
xor qword [r13 + 0x10], r12
mov r12, qword [rsp + 0x48]
xor r12, r11
xor qword [r13 + 0x18], r12
mov r11, qword [rsp + 0x120]
mov r12, qword [rsp + 0x78]
xor r11, r12
xor qword [r13 + 0x20], r11
mov r11, qword [rsp + 0x28]
mov r12, qword [rsp + 0x20]
xor r11, r12
xor qword [r13 + 0x28], r11
xor rbx, rdx
xor qword [r13 + 0x30], rbx
mov r11, qword [rsp + 0x80]
xor r11, rax
xor qword [r13 + 0x38], r11
mov rdx, qword [rsp + 0x160]
mov rax, r13
mov rbx, qword [rsp + 0x150]
cmp rsi, rdi
jle 0x5eaad6
sub r9, 0xffffffffffffff80
mov qword [rsp + 0x40], r9
lea r11, [r10 + 1]
mov r12, qword [0x007c06e0]
mov r13, qword [0x007c06e8]
mov r15, qword [0x007c06f0]
mov rbx, qword [rax]
mov qword [rsp + 0x30], rbx
mov rbx, qword [rax + 8]
mov qword [rsp + 0x60], rbx
mov rbx, qword [rax + 0x10]
mov qword [rsp + 0x18], rbx
mov rbx, qword [rax + 0x18]
mov qword [rsp + 0x48], rbx
mov rbx, qword [rax + 0x20]
mov qword [rsp + 0x120], rbx
mov rbx, qword [rax + 0x28]
mov qword [rsp + 0x28], rbx
mov rbx, qword [rax + 0x30]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x80], rax
mov rax, qword [0x007c06c0]
mov qword [rsp + 0x50], rax
mov rax, qword [0x007c06c8]
mov qword [rsp + 0x58], rax
mov rax, qword [0x007c06d0]
mov qword [rsp + 0x70], rax
mov rax, qword [0x007c06d8]
mov qword [rsp + 0x118], rax
mov rax, qword [0x007c06f8]
xor r12, r9
xor r15, rcx
cmp r9, 0x80
cmovb r10, r11
xor r13, r10
xor r11d, r11d
jmp 0x5eab06
mov qword [rsp + 0x68], r10
mov r11, qword [rsp + 0x118]
mov qword [rsp + 0x128], rax
xor eax, eax
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x128]
jmp 0x5eabf0
mov qword [rbx], r9
mov qword [rbx + 8], r10
add rsp, 0x138
pop rbp
ret
mov rsi, qword [rdx + rdi]
mov qword [rsp + r11*8 + 0x90], rsi
inc r11
lea rdi, [r9 + 8]
mov rsi, qword [rsp + 0x168]
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x10], rdi
cmp r11, 0x10
jge 0x5eaaad
cmp rsi, rdi
jb 0x5eb0df
sub rsi, rdi
sub rdi, r8
sar rdi, 0x3f
mov r9, qword [rsp + 0x10]
and rdi, r9
cmp rsi, 7
ja 0x5eaae6
jmp 0x5eb0d2
mov qword [rsp + 0x130], rax
rol r10, 0x28
mov rdx, qword [rsp + rdx*8 + 0x90]
mov r8, qword [rsp + 0x48]
add rdx, r8
add rdx, r10
mov r8, qword [rsp + 0x110]
xor r8, rdx
rol r8, 0x30
add r11, r8
xor r10, r11
mov rax, qword [rsp + 0x38]
inc rax
rol r9, 1
rol rbx, 1
rol r15, 1
rol r10, 1
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x120], r10
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x80], r15
mov rax, qword [rsp + 0x130]
mov r11, r12
mov rdx, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x168]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
mov r12, rcx
mov r13, rdi
mov r15, r8
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x10]
mov r8, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xc
jge 0x5ea945
shl rdx, 4
lea r8, [0x007c1280]
movzx ecx, byte [r8 + rdx]
cmp rcx, 0x10
jae 0x5eb0c5
mov rcx, qword [rsp + rcx*8 + 0x90]
mov rsi, qword [rsp + 0x30]
add rsi, rcx
mov rdi, qword [rsp + 0x120]
add rsi, rdi
xor r12, rsi
rol r12, 0x20
mov r9, qword [rsp + 0x50]
add r9, r12
movzx ecx, byte [r8 + rdx + 1]
xor rdi, r9
cmp rcx, 0x10
jae 0x5eb0b6
mov rcx, qword [rsp + rcx*8 + 0x90]
mov r10, qword [rsp + 0x60]
add r10, rcx
mov rcx, r9
mov r9, qword [rsp + 0x28]
add r10, r9
mov qword [rsp + 0x60], r10
xor r13, r10
rol r13, 0x20
mov qword [rsp + 0x20], r13
mov r10, qword [rsp + 0x58]
add r10, r13
movzx r13d, byte [r8 + rdx + 2]
xor r9, r10
cmp r13, 0x10
jae 0x5eb0a9
mov qword [rsp + 0x58], r10
mov r13, qword [rsp + r13*8 + 0x90]
mov r10, qword [rsp + 0x18]
add r10, r13
add r10, rbx
xor r15, r10
rol r15, 0x20
mov qword [rsp + 0x110], r15
mov r13, qword [rsp + 0x70]
add r13, r15
movzx r15d, byte [r8 + rdx + 3]
xor rbx, r13
cmp r15, 0x10
jae 0x5eb09c
mov qword [rsp + 0x70], r13
mov r15, qword [rsp + r15*8 + 0x90]
mov r13, qword [rsp + 0x48]
add r13, r15
mov r15, qword [rsp + 0x80]
add r13, r15
xor rax, r13
rol rax, 0x20
mov qword [rsp + 0x88], rax
add r11, rax
movzx eax, byte [r8 + rdx + 4]
xor r15, r11
nop word [rax + rax]
cmp rax, 0x10
jae 0x5eb092
rol rdi, 0x28
mov rax, qword [rsp + rax*8 + 0x90]
add rsi, rax
add rsi, rdi
xor r12, rsi
rol r12, 0x30
lea rax, [rcx + r12]
movzx ecx, byte [r8 + rdx + 5]
xor rdi, rax
cmp rcx, 0x10
jae 0x5eb085
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x120], rdi
rol r9, 0x28
mov rcx, qword [rsp + rcx*8 + 0x90]
mov rdi, qword [rsp + 0x60]
add rdi, rcx
add rdi, r9
mov qword [rsp + 0x60], rdi
mov rcx, r12
mov r12, qword [rsp + 0x20]
xor r12, rdi
rol r12, 0x30
mov rdi, qword [rsp + 0x58]
add rdi, r12
movzx eax, byte [r8 + rdx + 6]
xor r9, rdi
cmp rax, 0x10
jae 0x5eb079
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x58], rdi
rol rbx, 0x28
mov rax, qword [rsp + rax*8 + 0x90]
add r10, rax
add r10, rbx
mov rdi, qword [rsp + 0x110]
xor rdi, r10
rol rdi, 0x30
mov r12, qword [rsp + 0x70]
add r12, rdi
movzx eax, byte [r8 + rdx + 7]
xor rbx, r12
cmp rax, 0x10
jae 0x5eb06f
mov qword [rsp + 0x110], rdi
rol r15, 0x28
mov rax, qword [rsp + rax*8 + 0x90]
add r13, rax
add r13, r15
mov rdi, qword [rsp + 0x88]
xor rdi, r13
rol rdi, 0x30
add r11, rdi
movzx eax, byte [r8 + rdx + 8]
xor r15, r11
cmp rax, 0x10
jae 0x5eb065
rol r9, 1
mov rax, qword [rsp + rax*8 + 0x90]
add rsi, rax
add rsi, r9
xor rdi, rsi
rol rdi, 0x20
add r12, rdi
movzx eax, byte [r8 + rdx + 9]
xor r9, r12
nop word [rax + rax]
nop
cmp rax, 0x10
jae 0x5eb056
mov qword [rsp + 0x70], r12
rol rbx, 1
mov rax, qword [rsp + rax*8 + 0x90]
mov r12, qword [rsp + 0x60]
add r12, rax
add r12, rbx
xor rcx, r12
rol rcx, 0x20
add r11, rcx
movzx eax, byte [r8 + rdx + 0xa]
xor rbx, r11
nop dword [rax + rax]
cmp rax, 0x10
jae 0x5eb04c
rol r15, 1
mov rax, qword [rsp + rax*8 + 0x90]
add r10, rax
add r10, r15
mov qword [rsp + 0x18], r10
mov rax, r11
mov r11, qword [rsp + 0x20]
xor r11, r10
rol r11, 0x20
mov qword [rsp + 0x20], r11
mov r10, qword [rsp + 0x50]
add r10, r11
movzx r11d, byte [r8 + rdx + 0xb]
xor r15, r10
cmp r11, 0x10
jae 0x5eb03f
mov qword [rsp + 0x50], r10
mov r10, qword [rsp + 0x120]
rol r10, 1
mov r11, qword [rsp + r11*8 + 0x90]
add r11, r13
add r11, r10
mov qword [rsp + 0x48], r11
mov r13, qword [rsp + 0x110]
xor r13, r11
rol r13, 0x20
mov qword [rsp + 0x110], r13
mov r11, qword [rsp + 0x58]
add r11, r13
movzx r13d, byte [r8 + rdx + 0xc]
xor r10, r11
nop word [rax + rax]
cmp r13, 0x10
jae 0x5eb032
rol r9, 0x28
mov r13, qword [rsp + r13*8 + 0x90]
add rsi, r13
add rsi, r9
mov qword [rsp + 0x30], rsi
xor rdi, rsi
rol rdi, 0x30
mov r13, qword [rsp + 0x70]
add r13, rdi
movzx esi, byte [r8 + rdx + 0xd]
xor r9, r13
nop dword [rax]
cmp rsi, 0x10
jae 0x5eb025
rol rbx, 0x28
mov rsi, qword [rsp + rsi*8 + 0x90]
add rsi, r12
add rsi, rbx
xor rcx, rsi
rol rcx, 0x30
lea r12, [rax + rcx]
movzx eax, byte [r8 + rdx + 0xe]
xor rbx, r12
cmp rax, 0x10
jae 0x5eb017
mov qword [rsp + 0x60], rsi
rol r15, 0x28
mov rax, qword [rsp + rax*8 + 0x90]
mov rsi, qword [rsp + 0x18]
add rsi, rax
add rsi, r15
mov qword [rsp + 0x18], rsi
mov rax, rdi
mov rdi, qword [rsp + 0x20]
xor rdi, rsi
rol rdi, 0x30
mov rsi, qword [rsp + 0x50]
add rsi, rdi
movzx edx, byte [r8 + rdx + 0xf]
xor r15, rsi
nop word [rax + rax]
cmp rdx, 0x10
jb 0x5eab37
mov rax, rdx
mov ecx, 0x10
call fcn.004662c0
mov ecx, 0x10
nop dword [rax]
call fcn.004662c0
mov rax, rsi
mov ecx, 0x10
call fcn.004662c0
mov rax, r13
mov ecx, 0x10
call fcn.004662c0
mov rax, r11
mov ecx, 0x10
call fcn.004662c0
mov ecx, 0x10
call fcn.004662c0
mov ecx, 0x10
nop dword [rax + rax]
call fcn.004662c0
mov ecx, 0x10
call fcn.004662c0
mov ecx, 0x10
call fcn.004662c0
mov ecx, 0x10
nop
call fcn.004662c0
mov rax, rcx
mov ecx, 0x10
call fcn.004662c0
mov ecx, 0x10
call fcn.004662c0
mov rax, r15
mov ecx, 0x10
call fcn.004662c0
mov rax, r13
mov ecx, 0x10
call fcn.004662c0
mov rax, rcx
mov ecx, 0x10
nop
call fcn.004662c0
mov rax, rcx
mov ecx, 0x10
call fcn.004662c0
mov eax, 7
mov rcx, rsi
call fcn.004662c0
mov rax, rdi
mov rcx, rsi
call fcn.00466380
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00463fe0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.005ea8c0