Function at 0x140010e90
Capabilities:
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2d0
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov rax, qword [0x140115740]
xor rax, rsp
mov qword [rsp + 0x2c0], rax
mov r14, r8
mov rbx, rdx
mov r13, rcx
cmp qword [rcx + 0xa90], 0
jne 0x140010edb
xor al, al
jmp 0x140011229
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], al
mov ecx, 0x2000
call fcn.140079b14
mov rdi, rax
mov qword [rsp + 0x98], rax
mov ecx, 0x1000
call fcn.140079b14
mov rsi, rax
mov qword [rsp + 0xa0], rax
test rdi, rdi
je 0x14001119d
test rax, rax
je 0x14001119d
lea rdx, [0x1400d0198]
mov rcx, rbx
call fcn.140079db0
mov rbx, rax
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x140010f65
lea rax, str.Could_not_open_data_file
mov qword [rsp + 0x50], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x50]
call fcn.140054290
lea rdx, [0x1400d0198]
mov rcx, r14
call fcn.140079db0
mov r15, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x140010f9e
lea rax, str.Could_not_open_signature_file
mov qword [rsp + 0x58], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x58]
call fcn.140054290
mov r9, r15
mov edx, 1
mov r8d, 0x1000
mov rcx, rsi
call fcn.14007a2d4
mov r12, rax
mov rcx, r15
call fcn.140079fd8
test eax, eax
je 0x140010fe0
lea rax, str.Could_not_read_signature_file
mov qword [rsp + 0x60], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x60]
call fcn.140054290
mov rcx, r15
call fcn.140079fac
test eax, eax
jne 0x140011009
lea rax, str.Invalid_signature_file
mov qword [rsp + 0x68], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x68]
call fcn.140054290
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8004
mov rcx, qword [r13 + 0xa88]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x14001104c
lea rax, str.Could_not_create_hash_object
mov qword [rsp + 0x70], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x70]
call fcn.140054290
mov r9, r12
shr r9, 1
je 0x140011080
mov rdx, rsi
lea r8, [rsi - 1]
add r8, r12
nop
movzx ecx, byte [rdx]
movzx eax, byte [r8]
mov byte [rdx], al
mov byte [r8], cl
lea rdx, [rdx + 1]
lea r8, [r8 - 1]
sub r9, 1
jne 0x140011060
nop word [rax + rax]
mov rcx, rbx
call fcn.140079fac
test eax, eax
jne 0x140011107
mov r9, rbx
lea edx, [rax + 1]
mov r8d, 0x2000
mov rcx, rdi
call fcn.14007a2d4
mov r14, rax
mov rcx, rbx
call fcn.140079fd8
test eax, eax
je 0x1400110cc
lea rax, str.Error_reading_data_file
mov qword [rsp + 0x78], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x78]
call fcn.140054290
xor r9d, r9d
mov r8d, r14d
mov rdx, rdi
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x140011080
lea rax, str.Error_while_hashing_data
mov qword [rsp + 0x80], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x80]
call fcn.140054290
xor eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rax
mov r9, qword [r13 + 0xa90]
mov r8d, r12d
mov rdx, rsi
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptVerifySignatureW]
test eax, eax
je 0x14001113b
mov r14b, 1
mov byte [rsp + 0x30], r14b
jmp 0x1400111e1
movups xmm0, xmmword [str.Bad_update_signature]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm1, xmmword [0x1400d0000]
movaps xmmword [rsp + 0xd0], xmm1
movsd xmm0, qword [0x1400d0010]
movsd qword [rsp + 0xe0], xmm0
movzx eax, word [0x1400d0018]
mov word [rsp + 0xe8], ax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x88], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x88]
call fcn.140054290
lea rax, str.Could_not_allocate_memory_for_reading_file
mov qword [rsp + 0x90], rax
lea rdx, [0x14010b3f0]
lea rcx, [rsp + 0x90]
call fcn.140054290
nop
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
movzx r14d, byte [rsp + 0x30]
test rbx, rbx
je 0x1400111ee
mov rcx, rbx
call fcn.140079f14
test r15, r15
je 0x1400111fb
mov rcx, r15
call fcn.140079f14
test rdi, rdi
je 0x140011208
mov rcx, rdi
call fcn.140079b0c
test rsi, rsi
je 0x140011215
mov rcx, rsi
call fcn.140079b0c
cmp qword [rsp + 0x38], 0
jne 0x140011225
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
movzx eax, r14b
mov rcx, qword [rsp + 0x2c0]
xor rcx, rsp
call fcn.1400265c0
add rsp, 0x2d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret