Function at 0x180029a60
Capabilities:
Create new key via cryptacquirecontext
Get file size
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x18007e040]
xor rax, rsp
mov qword [rbp + 0x48], rax
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], r15
lea r8d, [r15 + 0x35]
lea rdx, str.http:__127.0.0.1:3219_carbon_cranium_verify_hash_text
lea rcx, [rbp - 0x20]
call fcn.180015df0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
xor r8d, r8d
lea rdx, [0x180069db0]
lea rcx, [rsp + 0x40]
call fcn.180015df0
nop
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x60]
call fcn.180029400
mov rdi, rax
cmp qword [rax + 0x18], 0xf
jbe 0x180029afc
mov rdi, qword [rax]
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180029b3c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029b37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180029b37
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042f70
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], socket
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x180029b8f
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029b8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180029b8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042f70
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], socket
mov byte [rsp + 0x40], 0
lea rcx, [rbp - 0x80]
call fcn.180029810
nop
lea rdx, str.CraniumV1.dll
mov rcx, rax
call fcn.1800247a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x180029c2c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029c27
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180029c27
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042f70
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r15w
lea rcx, [rbp - 0x40]
cmp qword [rbp - 0x28], 7
cmova rcx, qword [rbp - 0x40]
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
cmp rax, 0xffffffffffffffff
jne 0x180029ceb
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
lea r8d, [rax + 0x15]
lea rdx, str.Invalid_Handle_Value
lea rcx, [rsp + 0x40]
call fcn.180015df0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0xf
jbe 0x180029efa
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029ce1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180029ce1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042f70
jmp 0x180029efa
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r14d, eax
cmp eax, 0xffffffff
je 0x180029ef1
mov ecx, r14d
call fcn.180043264
mov rsi, rax
mov dword [rbp - 0x54], r15d
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x54]
mov r8d, r14d
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180029ee9
cmp dword [rbp - 0x54], r14d
jne 0x180029ee9
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 0x18
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
lea rcx, [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x180029ee9
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8004
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x180029da8
mov rcx, rsi
call fcn.180042f70
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x180029efa
xor r9d, r9d
mov r8d, r14d
mov rdx, rsi
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, rsi
test eax, eax
jne 0x180029deb
call fcn.180042f70
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x180029efa
call fcn.180042f70
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [rbp - 0x58], socket
mov dword [rsp + 0x20], r15d
lea r9, [rbp - 0x58]
lea r8, [rbp + 0x30]
mov edx, 2
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
mov rcx, qword [rbp - 0x50]
test eax, eax
je 0x180029dd4
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
xor edx, edx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rax
mov byte [rbp + 0x28], al
mov ebx, r15d
cmp dword [rbp - 0x58], eax
jbe 0x180029e8a
nop dword [rax]
nop word [rax + rax]
mov eax, ebx
movzx r9d, byte [rbp + rax + 0x30]
lea ecx, [rbx + rbx]
lea rax, [rbp]
add rcx, rax
lea r8, str._02x
mov edx, 3
call fcn.1800377c0
inc ebx
cmp ebx, dword [rbp - 0x58]
jb 0x180029e60
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, [rbp]
lea rdx, str.Actual_hash:__s_n
call fcn.180037770
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r8, rdi
lea rdx, str.Expected_hash:__s_n
call fcn.180037770
lea rax, [rbp]
sub rdi, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + rdi]
sub edx, ecx
jne 0x180029ee2
inc rax
test ecx, ecx
jne 0x180029ed0
test edx, edx
sete bl
jmp 0x180029efc
mov rcx, rsi
call fcn.180042f70
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor bl, bl
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x180029f3f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029f3a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180029f3a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042f70
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], 7
mov word [rbp - 0x40], r15w
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x180029f8e
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029f89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180029f89
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042f70
movzx eax, bl
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.180042be0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret