Function at 0x1400404fc
Capabilities:
Hash data via bcrypt

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rsi, rcx
mov ecx, 4
mov rax, qword gs:[0x58]
mov rdx, qword [rax]
xor r14d, r14d
lea r15, [0x140053fd0]
mov eax, dword [rcx + rdx]
cmp dword [0x14006d3e8], eax
jle 0x1400405ab
lea rcx, [0x14006d3e8]
call fcn.14004d5f0
cmp dword [0x14006d3e8], 0xffffffff
jne 0x1400405ab
mov qword [0x14006d3f8], r14
mov qword [0x14006d400], r14
mov dword [0x14006d408], r14d
mov qword [0x14006d410], r14
mov qword [0x14006d418], r14
mov byte [0x14006d420], r14b
mov qword [0x14006d3f0], r15
mov word [0x14006d428], r14w
mov qword [0x14006d430], r14
lea rcx, [0x1400520d0]
call fcn.14004d360
nop
lea rcx, [0x14006d3e8]
call fcn.14004d588
cmp byte [0x14006c8cc], r14b
je 0x14004094a
mov edx, 0x22
lea rcx, [0x14006d3f0]
call fcn.140042a9c
mov ebx, eax
test eax, eax
jns 0x1400405ee
mov edx, 0x255
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov r9d, ebx
mov rcx, qword [rbp + 0x5f]
call fcn.140004430
mov eax, ebx
jmp 0x140040973
mov rax, qword [0x14006d430]
mov byte [rax], r14b
mov rax, qword [0x14006d430]
mov byte [rax + 1], 0xb
mov qword [rbp + 0x7f], r14
mov rdi, qword [rbp + 0x7f]
test rdi, rdi
je 0x140040634
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, rdi
call fcn.14003e384
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov qword [rbp + 0x7f], r14
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SHA256
lea rcx, [rbp + 0x7f]
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
nop dword [rax + rax]
test eax, eax
jns 0x140040687
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov edx, 0x259
call fcn.140022ba8
mov ebx, eax
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x140040682
call fcn.14003e384
nop
jmp 0x1400405e7
mov qword [rbp + 0x77], r14
mov rdi, qword [rbp + 0x77]
test rdi, rdi
je 0x1400406bf
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
mov ecx, ebx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov qword [rbp + 0x77], r14
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x77]
mov rcx, qword [rbp + 0x7f]
call qword [sym.imp.bcrypt.dll_BCryptCreateHash]
nop dword [rax + rax]
test eax, eax
jns 0x140040734
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov edx, 0x25c
call fcn.140022ba8
mov ebx, eax
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x140040720
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14004072f
call fcn.14003e384
nop
jmp 0x1400405e7
mov dword [rbp + 0x6f], 0x1000040
xor r9d, r9d
lea r8d, [r9 + 4]
lea rdx, [rbp + 0x6f]
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.bcrypt.dll_BCryptHashData]
nop dword [rax + rax]
test eax, eax
jns 0x14004079e
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov edx, 0x260
call fcn.140022ba8
mov ebx, eax
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x14004078a
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x140040799
call fcn.14003e384
nop
jmp 0x1400405e7
lea rax, method.std::_Ref_count_obj_class_nlohmann::detail::output_vector_adapter_unsigned_char__.virtual_24
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], r14
mov qword [rbp - 9], r14
mov dword [rbp - 1], r14d
mov qword [rbp + 7], r14
mov qword [rbp + 0xf], r14
mov byte [rbp + 0x17], r14b
mov qword [rbp - 0x19], r15
mov word [rbp + 0x1f], r14w
mov qword [rbp + 0x27], r14
lea rcx, [rbp - 0x19]
call fcn.140040168
mov ebx, eax
test eax, eax
jns 0x14004082a
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov edx, 0x263
call fcn.140004430
nop
lea rcx, [rbp - 0x19]
call fcn.140042a30
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x140040816
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x140040825
call fcn.14003e384
nop
jmp 0x1400405e7
movzx r8d, word [rbp + 0x1f]
xor r9d, r9d
mov rdx, qword [rbp + 0x27]
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.bcrypt.dll_BCryptHashData]
nop dword [rax + rax]
test eax, eax
jns 0x140040898
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov edx, 0x264
call fcn.140022ba8
mov ebx, eax
lea rcx, [rbp - 0x19]
call fcn.140042a30
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x140040884
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x140040893
call fcn.14003e384
nop
jmp 0x1400405e7
movzx r8d, word [0x14006d428]
sub r8d, 2
mov rdx, qword [0x14006d430]
add rdx, 2
xor r9d, r9d
mov rcx, qword [rbp + 0x77]
call qword [sym.imp.bcrypt.dll_BCryptFinishHash]
nop dword [rax + rax]
test eax, eax
jns 0x140040914
mov rcx, qword [rbp + 0x5f]
mov r9d, eax
lea r8, str.onecoreds_security_trustletutils_vtl1lib_tpmhelper.cpp
mov edx, 0x26a
call fcn.140022ba8
mov ebx, eax
lea rcx, [rbp - 0x19]
call fcn.140042a30
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x140040900
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14004090f
call fcn.14003e384
nop
jmp 0x1400405e7
mov byte [0x14006c8cc], r14b
lea rcx, [rbp - 0x19]
call fcn.140042a30
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x14004093b
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
nop dword [rax + rax]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14004094a
call fcn.14003e384
nop
movzx r8d, word [0x14006d428]
mov rdx, qword [0x14006d430]
mov rcx, rsi
call fcn.140042b10
mov ebx, eax
test eax, eax
jns 0x140040971
mov edx, 0x26f
jmp 0x1400405d4
xor eax, eax
mov rbx, qword [rsp + 0xc0]
add rsp, 0x90
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret