Function at 0x18005a800
Capabilities:
Hash data using sha512

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x1a0
mov rax, qword [0x18015f460]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov qword [r11 - 0x10], rbx
mov qword [r11 - 0x18], rbp
mov qword [r11 - 0x20], rsi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
mov r14, r9
mov qword [r11 - 0x40], r15
mov edi, 0x40
xor r12d, r12d
movzx esi, dl
mov rbp, rcx
mov r15, r8
movabs rax, 0xbb67ae8584caa73b
movabs r13, 0x6a09e667f3bcc908
movabs rcx, 0x3c6ef372fe94f82b
movabs rdx, 0xa54ff53a5f1d36f1
movabs r9, 0x9b05688c2b3e6c1f
movabs r8, 0x510e527fade682d1
movabs r10, 0x1f83d9abfb41bd6b
movabs r11, 0x5be0cd19137e2179
cmp r14, rdi
jbe 0x18005a9d5
mov ebx, Ordinal_217
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8, rbx
call fcn.1800cc600
movabs rax, 0xbb67ae8584caa73b
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x48], rax
movabs rax, 0x3c6ef372fe94f82b
mov r8, r14
mov qword [rsp + 0x50], rax
movabs rax, 0xa54ff53a5f1d36f1
mov rdx, r15
mov qword [rsp + 0x58], rax
movabs rax, 0x510e527fade682d1
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x60], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x68], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x70], rax
movabs rax, 0x5be0cd19137e2179
mov dword [rsp + 0x100], r12d
mov qword [rsp + 0x78], rax
call fcn.18005d3c0
test eax, eax
jne 0x18005a960
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x30]
call fcn.18005d4b0
lea rcx, [rsp + 0x30]
nop word [rax + rax]
mov byte [rcx], r12b
inc rcx
sub rbx, 1
jne 0x18005a970
test eax, eax
jne 0x18005aad3
lea r15, [rsp + 0x110]
mov r14, rdi
movabs rax, 0xbb67ae8584caa73b
movabs rcx, 0x3c6ef372fe94f82b
movabs rdx, 0xa54ff53a5f1d36f1
movabs r8, 0x510e527fade682d1
movabs r9, 0x9b05688c2b3e6c1f
movabs r10, 0x1f83d9abfb41bd6b
movabs r11, 0x5be0cd19137e2179
mov byte [rsp + 0x20], sil
mov byte [rsp + 0x21], r14b
cmp dword [rbp], r12d
jne 0x18005aa14
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x40], r9
mov qword [rbp + 0x48], r10
mov qword [rbp + 0x50], r11
mov dword [rbp + 0xd8], r12d
mov dword [rbp], 1
mov r12d, dword [rbp + 8]
add rbp, 8
mov ebx, 2
and r12d, 0x7f
mov r13d, 0x80
add qword [rbp], rbx
sub r13d, r12d
lea rsi, [rsp + 0x20]
cmp qword [rbp], rbx
jae 0x18005aa48
inc qword [rbp + 8]
test r12d, r12d
je 0x18005aab5
cmp r13, rbx
ja 0x18005aab5
lea rcx, [r12 + rbp + 0x50]
lea rdx, [rsp + 0x20]
mov r8, r13
call fcn.1800cbb10
lea rdx, [rbp + 0x50]
mov rcx, rbp
call fcn.18005cd20
test eax, eax
jne 0x18005aad3
sub rbx, r13
xor r12d, r12d
lea rsi, [rsp + r13 + 0x20]
cmp rbx, 0x80
jb 0x18005aab0
nop dword [rax + rax]
mov rdx, rsi
mov rcx, rbp
call fcn.18005cd20
test eax, eax
jne 0x18005aad3
add rbx, 0xffffffffffffff80
sub rsi, 0xffffffffffffff80
cmp rbx, 0x80
jae 0x18005aa90
test rbx, rbx
je 0x18005aac5
lea rcx, [r12 + rbp + 0x50]
mov r8, rbx
mov rdx, rsi
call fcn.1800cbb10
mov r8, r14
mov rdx, r15
mov rcx, rbp
call fcn.18005d3c0
mov r15, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
mov r13, qword [rsp + 0x178]
mov r12, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
lea rcx, [rsp + 0x110]
mov byte [rcx], 0
inc rcx
sub rdi, 1
jne 0x18005ab13
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1800c9b90
add rsp, 0x1a0
pop rdi
ret