Function at 0x1400112ee
Capabilities:
Hash data via bcrypt
Read file on windows
Terminate process
Write file on windows

Disassembly:
jmp 0x140011b60
push rbp
push rdi
sub rsp, 0x2f8
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x7e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14001e008]
xor rax, rbp
mov qword [rbp + 0x2a0], rax
lea rcx, [0x1400240f3]
call fcn.140011438
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rbp + 0x48], rax
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x48], 0xffffffffffffffff
je 0x140011bc9
cmp qword [rbp + 0x28], 0xffffffffffffffff
jne 0x140011bd4
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, 4
lea rdx, [rbp + 0x84]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
je 0x140011c07
cmp dword [rbp + 4], 0
jne 0x140011c1e
lea rcx, str.No_input_data___n
call fcn.1400111f9
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [rbp + 0x84]
mov ecx, eax
call fcn.1400111cc
mov qword [rbp + 0x288], rax
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0xa8], rax
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, dword [rbp + 0x84]
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
je 0x140011c74
cmp dword [rbp + 4], 0
jne 0x140011c8b
lea rcx, str.No_input_data___n
call fcn.1400111f9
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xe8], 0
mov dword [rbp + 0x104], 0xc0000001
mov eax, dword [rbp + 0x84]
mov dword [rbp + 0x124], eax
mov dword [rbp + 0x144], 0
mov dword [rbp + 0x164], 0
mov qword [rbp + 0x188], 0
mov qword [rbp + 0x1a8], 0
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SHA256
lea rcx, [rbp + 0xc8]
call fcn.1400111b3
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
jge 0x140011d1b
mov edx, dword [rbp + 0x104]
lea rcx, str._Error_0x_x_returned_by_BCryptOpenAlgorithmProvider_n
call fcn.14001102d
mov dword [rsp + 0x28], 0
lea rax, [rbp + 0x124]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0x164]
lea rdx, str.ObjectLength
mov rcx, qword [rbp + 0xc8]
call fcn.140011262
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
jge 0x140011d7b
mov edx, dword [rbp + 0x104]
lea rcx, str._Error_0x_x_returned_by_BCryptGetProperty_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [rbp + 0x164]
mov qword [rbp + 0x298], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, qword [rbp + 0x298]
mov r8, rcx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x188], rax
cmp qword [rbp + 0x188], 0
jne 0x140011dcb
lea rcx, str._memory_allocation_failed_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [rsp + 0x28], 0
lea rax, [rbp + 0x124]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rbp + 0x144]
lea rdx, str.HashDigestLength
mov rcx, qword [rbp + 0xc8]
call fcn.140011262
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
jge 0x140011e2b
mov edx, dword [rbp + 0x104]
lea rcx, str._Error_0x_x_returned_by_BCryptGetProperty_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [rbp + 0x144]
mov qword [rbp + 0x298], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, qword [rbp + 0x298]
mov r8, rcx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x1a8], rax
cmp qword [rbp + 0x1a8], 0
jne 0x140011e7b
lea rcx, str._memory_allocation_failed_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9d, dword [rbp + 0x164]
mov r8, qword [rbp + 0x188]
lea rdx, [rbp + 0xe8]
mov rcx, qword [rbp + 0xc8]
call fcn.140011190
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
jge 0x140011ee1
mov edx, dword [rbp + 0x104]
lea rcx, str._Error_0x_x_returned_by_BCryptCreateHash_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
xor r9d, r9d
mov r8d, dword [rbp + 0x84]
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xe8]
call fcn.140011136
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
jge 0x140011f2a
mov edx, dword [rbp + 0x104]
lea rcx, str._Error_0x_x_returned_by_BCryptHashData_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
xor r9d, r9d
mov r8d, dword [rbp + 0x144]
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0xe8]
call fcn.14001144c
mov dword [rbp + 0x104], eax
cmp dword [rbp + 0x104], 0
jge 0x140011f73
mov edx, dword [rbp + 0x104]
lea rcx, str._Error_0x_x_returned_by_BCryptFinishHash_n
call fcn.14001102d
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov qword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, 0x20
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rbp + 0x64], eax
cmp dword [rbp + 0x64], 0
je 0x140011fa6
cmp dword [rbp + 4], 0
jne 0x140011fbd
lea rcx, str.No_output_data___n
call fcn.1400111f9
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
cmp qword [rbp + 0xc8], 0
je 0x140011fd5
xor edx, edx
mov rcx, qword [rbp + 0xc8]
call fcn.140011339
cmp qword [rbp + 0xe8], 0
je 0x140011feb
mov rcx, qword [rbp + 0xe8]
call fcn.1400112f8
cmp qword [rbp + 0x188], 0
je 0x14001200d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x188]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rbp + 0x1a8], 0
je 0x14001202f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1a8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x14001aec0]
call fcn.1400113b1
mov rax, rdi
mov rcx, qword [rbp + 0x2a0]
xor rcx, rbp
call fcn.140011212
lea rsp, [rbp + 0x2b8]
pop rdi
pop rbp
ret