Function at 0x18005acb0
Capabilities:
Hash data using sha512

Disassembly:
push rbx
push rbp
push rsi
sub rsp, 0x180
mov rax, qword [0x18015f460]
xor rax, rsp
mov qword [rsp + 0x150], rax
xor ebp, ebp
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
mov rbx, rcx
mov esi, ebp
cmp r8, 0x40
jbe 0x18005acec
lea eax, [rbp - 0x3c]
jmp 0x18005b114
mov qword [rsp + 0x1b8], rdi
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x168], r14
mov qword [rsp + 0x160], r15
nop word [rax + rax]
mov eax, esi
inc esi
mov edi, 0x40
cmp eax, 0x100
jg 0x18005b0cd
mov rcx, rbx
call fcn.18005ab50
test eax, eax
jne 0x18005b0d2
mov eax, dword [rbx + 0xe0]
lea ecx, [rdi - 0x3f]
test eax, eax
jle 0x18005ad78
lea rdx, [rbx + 0xf8]
mov r8, rax
nop dword [rax + rax]
mov rax, qword [rdx + 8]
cmp qword [rdx], rax
cmovb ecx, ebp
add rdx, 0x28
sub r8, 1
jne 0x18005ad60
test ecx, ecx
je 0x18005ad20
xor eax, eax
lea r12, [rbx + 8]
lea rdx, [rsp + 0x110]
mov rcx, r12
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rax
call fcn.18005d4b0
test eax, eax
jne 0x18005b0d2
mov esi, Ordinal_217
test r12, r12
je 0x18005adfc
mov rax, rsi
mov rcx, r12
nop word [rax + rax]
mov byte [rcx], bpl
inc rcx
sub rax, 1
jne 0x18005adf0
mov r8, rsi
xor edx, edx
mov rcx, r12
call fcn.1800cc600
mov qword [r12], rbp
mov qword [r12 + 8], rbp
mov dword [r12 + 0xd0], ebp
movabs rax, 0x6a09e667f3bcc908
mov r14d, 0x80
mov qword [r12 + 0x10], rax
movabs rax, 0xbb67ae8584caa73b
mov rbp, rdi
mov qword [r12 + 0x18], rax
movabs rax, 0x3c6ef372fe94f82b
lea r13, [rsp + 0x110]
mov qword [r12 + 0x20], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [r12 + 0x28], rax
movabs rax, 0x510e527fade682d1
mov qword [r12 + 0x30], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [r12 + 0x38], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [r12 + 0x40], rax
movabs rax, 0x5be0cd19137e2179
mov qword [r12 + 0x48], rax
mov r15d, dword [r12]
add qword [r12], rdi
and r15d, 0x7f
sub r14d, r15d
cmp qword [r12], rdi
jae 0x18005aebd
inc qword [r12 + 8]
test r15d, r15d
je 0x18005af40
cmp r14, rdi
ja 0x18005af3b
lea rcx, [r15 + r12 + 0x50]
lea rdx, [rsp + 0x110]
mov r8, r14
call fcn.1800cbb10
lea rdx, [r12 + 0x50]
mov rcx, r12
call fcn.18005cd20
test eax, eax
jne 0x18005b0d2
sub rbp, r14
lea r13, [rsp + r14 + 0x110]
xor r14d, r14d
mov r15d, r14d
cmp rbp, 0x80
jb 0x18005af34
nop dword [rax + rax]
mov rdx, r13
mov rcx, r12
call fcn.18005cd20
test eax, eax
jne 0x18005b0d2
add rbp, 0xffffffffffffff80
sub r13, 0xffffffffffffff80
cmp rbp, 0x80
jae 0x18005af10
test rbp, rbp
je 0x18005af56
jmp 0x18005af43
xor r14d, r14d
jmp 0x18005af43
xor r14d, r14d
mov eax, r15d
mov r8, rbp
mov rdx, r13
lea rcx, [rax + r12 + 0x50]
call fcn.1800cbb10
lea rcx, [rsp + 0x30]
mov r8, rsi
xor edx, edx
call fcn.1800cc600
lea rcx, [rsp + 0x110]
movabs rax, 0x6a09e667f3bcc908
mov qword [rsp + 0x40], rax
movabs rax, 0xbb67ae8584caa73b
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x48], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x50], rax
movabs rax, 0xa54ff53a5f1d36f1
mov dword [rsp + 0x100], r14d
mov qword [rsp + 0x58], rax
movabs rax, 0x510e527fade682d1
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x60], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x68], rax
movabs rax, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x70], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x98], rax
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0xa0], rax
mov rax, qword [rcx + 0x28]
mov qword [rsp + 0xa8], rax
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0xb0], rax
mov rax, qword [rcx + 0x38]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0xb8], rax
call fcn.18005d4b0
lea rcx, [rsp + 0x30]
nop dword [rax]
mov byte [rcx], 0
inc rcx
sub rsi, 1
jne 0x18005b070
test eax, eax
jne 0x18005b0d2
cmp dword [rbx + 0xe0], esi
mov eax, r14d
jle 0x18005b0b1
lea rdx, [rbx + 0xf8]
nop word [rax + rax]
mov qword [rdx], r14
inc eax
add rdx, 0x28
cmp eax, dword [rbx + 0xe0]
jl 0x18005b0a0
mov r8, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
lea rdx, [rsp + 0x110]
call fcn.1800cbb10
mov eax, r14d
jmp 0x18005b0d2
mov eax, 0xffffffc4
mov r15, qword [rsp + 0x160]
mov r14, qword [rsp + 0x168]
mov r13, qword [rsp + 0x170]
mov r12, qword [rsp + 0x178]
lea rcx, [rsp + 0x110]
nop word [rax + rax]
mov byte [rcx], 0
inc rcx
sub rdi, 1
jne 0x18005b100
mov rdi, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1800c9b90
add rsp, 0x180
pop rsi
pop rbp
pop rbx
ret