Function at 0x140001008
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rsi, qword [rbp + 0x50]
xor r12d, r12d
and qword [rbp - 8], r12
xor r15d, r15d
mov rbx, r9
mov rdi, r8
mov r13, rdx
cmp qword [rsi], 8
lea r14d, [r12 + 7]
jae 0x140001050
xor eax, eax
jmp 0x140001228
lea rax, [rbp - 8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0x8004
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
nop dword [rax + rax]
test eax, eax
jne 0x1400010aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, 2
mov ebx, eax
call fcn.140002208
lea rdx, str.Unable_to_create_cryptological_hash_object__error__ld_n
mov r8d, ebx
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fwprintf]
nop dword [rax + rax]
jmp 0x140001210
mov rcx, qword [rbp - 8]
xor r9d, r9d
mov r8d, edi
mov rdx, r13
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
nop dword [rax + rax]
test eax, eax
jne 0x1400010e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, 2
mov ebx, eax
call fcn.140002208
lea rdx, str.Unable_to_hash_public_key_information__error__ld_n
jmp 0x140001093
mov rcx, qword [rbp - 8]
lea r9, [rbp - 0x10]
and dword [rsp + 0x20], r12d
lea r8, [rbp + 0x50]
mov edx, 4
mov dword [rbp - 0x10], edx
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
nop dword [rax + rax]
test eax, eax
jne 0x140001135
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, 2
mov ebx, eax
call fcn.140002208
lea rdx, str.Unable_to_determine_size_of_hashed_public_key_bits__error__ld_n
jmp 0x140001093
mov rdi, qword [rsi]
mov eax, dword [rbp + 0x50]
cmp rax, rdi
jbe 0x14000116c
mov ecx, 2
call fcn.140002208
mov r9d, dword [rbp + 0x50]
lea rdx, str.Hashed_data_is_too_large___space_for__zd_bytes__got__ld._n
mov r8, rdi
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fwprintf]
nop dword [rax + rax]
jmp 0x140001210
mov rcx, qword [rbp - 8]
lea r9, [rbp + 0x50]
and dword [rsp + 0x20], r12d
mov r8, rbx
mov edx, 2
mov dword [rbp + 0x50], edi
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
nop dword [rax + rax]
test eax, eax
jne 0x1400011b8
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ecx, 2
mov ebx, eax
call fcn.140002208
lea rdx, str.Unable_to_get_hash_of_public_key_bits__error__ld_n
jmp 0x140001093
mov edi, dword [rbp + 0x50]
mov r13d, 8
mov qword [rsi], rdi
cmp rdi, r13
jae 0x1400011e1
lea ecx, [r13 - 6]
call fcn.140002208
mov r9d, r13d
lea rdx, str.Internal_error___length_of_hash_object___zd__is_less_than_strong_name_length___d__n
jmp 0x140001155
mov rax, qword [rdi + rbx - 8]
mov r12d, 1
mov qword [rbx], rax
mov al, byte [r15 + rbx]
mov r8d, r14d
dec r14d
mov dl, byte [r8 + rbx]
mov byte [r8 + rbx], al
mov byte [r15 + rbx], dl
add r15d, r12d
cmp r15d, r14d
jb 0x1400011ef
mov qword [rsi], r13
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140001225
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
nop dword [rax + rax]
mov eax, r12d
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret