Function at 0x164c6b780
Capabilities:
Hash data using sha384

Disassembly:
mov r11, rsp
mov dword [r11 + 0x18], r8d
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rsi
push r12
push r15
sub rsp, 0x90
mov rax, qword [0x164cb3008]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r15, rcx
mov rsi, rdx
mov r12d, r8d
test rdx, rdx
jne 0x164c6b7c8
test r12b, 1
lea rax, [rsp + 0x20]
cmove rax, rdx
mov rsi, rax
movsxd rax, dword [r15]
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x70], r14
cmp eax, 5
ja case.default.0x164c6b802
lea rdx, [0x164c40000]
mov ecx, dword [rdx + rax*4 + 0x2bc9c]
add rcx, rdx
jmp rcx
lea rcx, [r15 + 0x10]
mov r8d, r12d
mov rdx, rsi
call sym.aswCmnIS.dll_sha1Final
test rsi, rsi
je 0x164c6b8fd
lea rdi, [r15 + 0x2f8]
mov ebp, 0x14
mov r14, rsi
test rdi, rdi
je 0x164c6b8fd
cmp dword [rdi + 0x60], 0x40
ja 0x164c6b8fd
add qword [rdi + 0x58], 0xa0
mov qword [rsp + 0x78], r13
nop dword [rax + rax]
mov edx, dword [rdi + 0x60]
test edx, edx
jne 0x164c6b8aa
cmp rbp, 0x40
jb 0x164c6b8aa
mov rcx, qword [rdi + 0x68]
mov rbx, rbp
shr rbx, 6
mov r13, rbx
shl r13, 6
test rcx, rcx
je 0x164c6b88f
mov r9, rbx
mov r8, r14
mov rdx, rdi
call fcn.164c73120
test rax, rax
je 0x164c6b88f
add r14, rax
sub rbp, rax
jmp 0x164c6b8ef
mov rax, qword [rdi + 0x70]
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call qword [0x164c92120]
add r14, r13
sub rbp, r13
jmp 0x164c6b8ef
mov ecx, 0x40
mov rbx, rbp
sub ecx, edx
cmp rbp, rcx
cmovae rbx, rcx
lea rcx, [rdx + 0x14]
add rcx, rdi
mov r8, rbx
mov rdx, r14
call fcn.164c8fe50
add dword [rdi + 0x60], ebx
add r14, rbx
sub rbp, rbx
cmp dword [rdi + 0x60], 0x40
jne 0x164c6b8ef
lea rdx, [rdi + 0x14]
mov rcx, rdi
call fcn.164c75870
mov dword [rdi + 0x60], 0
test rbp, rbp
jne 0x164c6b850
mov r13, qword [rsp + 0x78]
lea rcx, [r15 + 0x2f8]
mov r8d, r12d
mov rdx, rsi
call sym.aswCmnIS.dll_sha1Final
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.164c8ef00
add rsp, 0x90
pop r15
pop r12
pop rsi
ret
lea rcx, [r15 + 0x10]
mov r8d, r12d
mov rdx, rsi
call sym.aswCmnIS.dll_sha256Final
lea rdi, [r15 + 0x2f8]
test rsi, rsi
je 0x164c6ba37
add qword [rdi + 0x120], 0x100
mov ebx, 0x20
mov rbp, rsi
nop dword [rax + rax]
mov ecx, dword [rdi + 0x128]
test ecx, ecx
jne 0x164c6b9e3
cmp rbx, 0x40
jb 0x164c6b9e3
mov rcx, qword [rdi + 0x130]
mov r14, rbx
shr r14, 6
mov r15, r14
shl r15, 6
test rcx, rcx
je 0x164c6b9c5
mov r9, r14
mov r8, rbp
mov rdx, rdi
call fcn.164c73120
test rax, rax
je 0x164c6b9c5
add rbp, rax
sub rbx, rax
jmp 0x164c6ba2e
mov rax, qword [rdi + 0x138]
mov r8, r14
mov rdx, rbp
mov rcx, rdi
call qword [0x164c92120]
add rbp, r15
sub rbx, r15
jmp 0x164c6ba2e
lea rax, [rcx + rbx]
mov rdx, rcx
cmp rax, 0x40
jbe 0x164c6b9fb
mov r14d, 0x40
sub r14d, ecx
jmp 0x164c6b9fe
mov r14, rbx
lea rcx, [rdi + 0x20]
mov r8, r14
add rcx, rdx
mov rdx, rbp
call fcn.164c8fe50
add dword [rdi + 0x128], r14d
sub rbx, r14
add rbp, r14
cmp dword [rdi + 0x128], 0x40
jne 0x164c6ba2e
mov rcx, rdi
call fcn.164c76120
test rbx, rbx
jne 0x164c6b980
mov r8d, r12d
mov rdx, rsi
mov rcx, rdi
call sym.aswCmnIS.dll_sha256Final
jmp case.0x164c6b802.0
lea rcx, [r15 + 0x10]
mov r8d, r12d
mov rdx, rsi
call sym.aswCmnIS.dll_md5Final
add r15, 0x2f8
test rsi, rsi
je 0x164c6ba76
mov r8d, 0x10
mov rdx, rsi
mov rcx, r15
call sym.aswCmnIS.dll_md5Update
mov r8d, r12d
mov rdx, rsi
mov rcx, r15
call sym.aswCmnIS.dll_md5Final
jmp case.0x164c6b802.0
lea rbx, [r15 + 0x10]
xor edi, edi
test rbx, rbx
je 0x164c6bb5b
test rsi, rsi
jne 0x164c6baa3
test r12b, 1
je 0x164c6baf0
mov rcx, rbx
call fcn.164c76b90
test rsi, rsi
je 0x164c6baf0
mov rax, qword [rbx]
bswap rax
mov qword [rsi], rax
mov rax, qword [rbx + 8]
bswap rax
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x10]
bswap rax
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x18]
bswap rax
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0x20]
bswap rax
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0x28]
bswap rax
mov qword [rsi + 0x28], rax
test r12b, 3
je 0x164c6bb3e
test r12b, 2
je 0x164c6bb5b
movaps xmm0, xmmword [0x164ca4c80]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x164ca4c90]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x164ca4ca0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x164ca4cb0]
movups xmmword [rbx + 0x30], xmm1
mov qword [rbx + 0x2c8], rdi
mov qword [rbx + 0x2c0], rdi
mov qword [rbx + 0x2d0], rdi
jmp 0x164c6bb5b
mov qword [rbx + 0x2e0], rdi
test r12b, 8
je 0x164c6bb5b
xor edx, edx
mov r8d, 0x2e8
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
lea rbx, [r15 + 0x2f8]
test rsi, rsi
je 0x164c6bb78
mov r8d, 0x30
mov rdx, rsi
mov rcx, rbx
call sym.aswCmnIS.dll_sha512Update
test rbx, rbx
je case.0x164c6b802.0
test rsi, rsi
jne 0x164c6bb8c
test r12b, 1
je 0x164c6bbd9
mov rcx, rbx
call fcn.164c76b90
test rsi, rsi
je 0x164c6bbd9
mov rax, qword [rbx]
bswap rax
mov qword [rsi], rax
mov rax, qword [rbx + 8]
bswap rax
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x10]
bswap rax
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x18]
bswap rax
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0x20]
bswap rax
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0x28]
bswap rax
mov qword [rsi + 0x28], rax
test r12b, 3
je 0x164c6bc2e
test r12b, 2
je case.0x164c6b802.0
movaps xmm0, xmmword [0x164ca4c80]
movups xmmword [rbx], xmm0
movaps xmm1, xmmword [0x164ca4c90]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [0x164ca4ca0]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [0x164ca4cb0]
movups xmmword [rbx + 0x30], xmm1
mov qword [rbx + 0x2c8], rdi
mov qword [rbx + 0x2c0], rdi
mov qword [rbx + 0x2d0], rdi
jmp case.0x164c6b802.0
mov qword [rbx + 0x2e0], rdi
test r12b, 8
je case.0x164c6b802.0
xor edx, edx
mov r8d, 0x2e8
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
jmp case.0x164c6b802.0
lea rcx, [r15 + 0x10]
mov r8d, r12d
mov rdx, rsi
call sym.aswCmnIS.dll_sha512Final
add r15, 0x2f8
test rsi, rsi
je 0x164c6bc80
mov r8d, 0x40
mov rdx, rsi
mov rcx, r15
call sym.aswCmnIS.dll_sha512Update
mov r8d, r12d
mov rdx, rsi
mov rcx, r15
call sym.aswCmnIS.dll_sha512Final
jmp case.0x164c6b802.0
mov ecx, 0x25
int 0x29
nop
ud1
add al, byte [rax]
add al, 0xb8
add al, byte [rax]
mov ecx, 0xba4a0002
add al, byte [rax]
mov dword [rdx - 0x43abfffe], edi
add al, byte [rax]
int3