Function at 0x1402955d0
Capabilities:
Hash data via wincrypt
Hash data with md5
Initialize hashing via wincrypt

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x1403ceac0]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov qword [rbp - 0x68], r8
mov r12, rdx
mov qword [rbp - 0x78], rdx
mov rdi, rcx
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 1
xor r8d, r8d
xor edx, edx
add rcx, 0x10
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
lea rsi, [case.0x1400bf494.25]
lea r15, str.E:BT463569bf_cc48_492d_a558_f614a527c07dMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
test eax, eax
jne 0x1402956ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0x14029566b
mov dword [rsp + 0x20], 0xf0000008
mov r9d, 1
xor r8d, r8d
xor edx, edx
lea rcx, [rdi + 0x10]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1402956ac
call fcn.1401292c0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x68], eax
lea rax, str.Failed_to_acquire_crypt_context._Error__u
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0xda
jmp 0x14029570d
lea r14, [rdi + 0x18]
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8003
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x140295735
call fcn.1401292c0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x68], eax
lea rax, str.Failed_to_create_crypto_hash_for_SHA1._Error__u
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0xd5
mov qword [rsp + 0x28], r15
lea rax, str.McAfee::MCSP::CMcHardwareId::InitCrypto
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea edx, [r9 - 3]
mov rcx, rbx
call fcn.140129520
jmp 0x14029573a
cmp eax, 1
je 0x140295799
call fcn.1401292c0
lea rcx, str.crypto_initilization_failed
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x17f
mov qword [rsp + 0x28], r15
lea rcx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
mov qword [rsp + 0x20], rcx
mov r9d, 4
xor r8d, r8d
lea edx, [r9 - 3]
mov rcx, rax
call fcn.140129520
xor al, al
jmp 0x140295de7
mov byte [rsp + 0x70], 0
xor r15d, r15d
mov qword [rbp - 0x60], r15
mov qword [rbp - 0x50], r15
mov r13d, 7
mov qword [rbp - 0x48], r13
mov word [rbp - 0x60], r15w
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.140294c50
lea rsi, [case.0x1400bf494.25]
lea rdi, str.E:BT463569bf_cc48_492d_a558_f614a527c07dMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
lea rbx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
test al, al
jne 0x1402958f2
call fcn.1401292c0
lea rcx, str.GetHardwareIdFromWMI_failed.so_generate_it_from_machine_name.
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x187
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbx
lea r9d, [r15 + 4]
xor r8d, r8d
lea edx, [r15 + 1]
mov rcx, rax
call fcn.140129520
lea rcx, [rbp - 0x10]
call fcn.140133690
mov rbx, rax
lea rax, [rbp - 0x60]
cmp rax, rbx
je 0x1402958ad
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140295885
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140295880
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140295e17
call fcn.140296f94
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r13
mov word [rbp - 0x60], r15w
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r13
mov word [rbx], r15w
mov rdx, qword [rbp + 8]
cmp rdx, 8
jb 0x1402958ed
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402958e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140295e17
call fcn.140296f94
mov byte [rsp + 0x70], 1
lea rdx, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae rdx, qword [rbp - 0x60]
lea rax, [rbp + 0x18]
mov qword [rbp + 0x10], rax
mov r8d, 3
lea rcx, [rbp + 0x10]
call fcn.1400fba64
nop
mov rdx, qword [rbp + 0x10]
mov r15, 0xffffffffffffffff
mov rax, r15
inc rax
cmp byte [rdx + rax], 0
jne 0x140295926
xor r9d, r9d
mov r8d, eax
mov rcx, qword [r14]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x14029595e
call fcn.1401292c0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x190
lea rdx, str.Failed_to_hash_plain_text_machineid_Error__u
jmp 0x14029599a
xor ebx, ebx
mov dword [rsp + 0x74], ebx
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x74]
xor r8d, r8d
lea edx, [rbx + 2]
mov rcx, qword [r14]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x1402959ee
call fcn.1401292c0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, 0x197
lea rdx, str.Failed_in_getting_hash_param_length_Error__u
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rdi
lea rcx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
mov qword [rsp + 0x20], rcx
mov r9d, 4
xor r8d, r8d
lea edx, [r9 - 3]
mov rcx, rbx
call fcn.140129520
xor sil, sil
jmp 0x140295d94
mov ecx, dword [rsp + 0x74]
inc ecx
call fcn.1402974ec
mov rdi, rax
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x20], ebx
lea r9, [rsp + 0x74]
mov r8, rax
mov edx, 2
mov rcx, qword [r14]
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x140295a92
call fcn.1401292c0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x68], eax
lea rax, str.Failed_in_getting_has_param_with_buffer_Error__u
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x19e
lea rcx, str.E:BT463569bf_cc48_492d_a558_f614a527c07dMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
mov qword [rsp + 0x28], rcx
lea rcx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
mov qword [rsp + 0x20], rcx
mov r9d, 4
xor r8d, r8d
lea edx, [r9 - 3]
mov rcx, rbx
call fcn.140129520
xor sil, sil
jmp 0x140295d8b
call fcn.140027a10
mov rcx, rax
test rax, rax
je 0x140295e1d
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
xor edx, edx
mov r14d, edx
cmp dword [rsp + 0x74], edx
jbe 0x140295b03
nop dword [rax]
mov eax, r14d
movzx r8d, byte [rax + rdi]
lea rdx, str._02x
lea rcx, [rsp + 0x78]
call fcn.140027fe0
mov rbx, qword [rsp + 0x78]
mov r8, r15
inc r8
cmp word [rbx + r8*2], 0
jne 0x140295ae1
mov rdx, rbx
mov rcx, r12
call fcn.140030de0
inc r14d
cmp r14d, dword [rsp + 0x74]
jb 0x140295ac0
xor edx, edx
cmp byte [rsp + 0x70], 0
je 0x140295c0b
mov r12, qword [r12 + 0x10]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r12
cmp rax, 3
jb 0x140295e28
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
cmp qword [rax + 0x18], 8
jb 0x140295b43
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x40], rdx
lea r14, [r12 + 3]
lea rdi, [rbp - 0x40]
cmp r14, 7
jbe 0x140295b87
mov r13, r14
or r13, 7
cmp r13, rcx
jbe 0x140295b67
mov r13, rcx
jmp 0x140295b73
mov eax, 0xa
cmp r13, rax
cmovb r13, rax
lea rdx, [r13 + 1]
lea rcx, [rbp - 0x40]
call fcn.14002bf30
mov rdi, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r13
mov r8d, dword [0x14033a148]
mov dword [rdi], r8d
movzx r8d, word [0x14033a14c]
mov word [rdi + 4], r8w
lea rcx, [rdi + 6]
lea r8, [r12 + r12]
mov rdx, qword [rbp - 0x80]
call fcn.1402b53e0
xor eax, eax
mov word [rdi + r14*2], ax
lea rdx, [rbp - 0x40]
mov rcx, qword [rbp - 0x78]
call fcn.140040a70
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x140295c0b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140295c06
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140295e2e
call fcn.140296f94
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_CoCreateGuid]
mov edi, eax
test eax, eax
jns 0x140295c86
call fcn.1401292c0
mov dword [rsp + 0x68], edi
lea rcx, str.Failed_to_CoCreateGuid:_HRESULT__x
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x1b2
lea rcx, str.E:BT463569bf_cc48_492d_a558_f614a527c07dMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
mov qword [rsp + 0x28], rcx
lea rcx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
mov qword [rsp + 0x20], rcx
mov r9d, 4
xor r8d, r8d
lea edx, [r9 - 3]
mov rcx, rax
call fcn.140129520
xor sil, sil
jmp 0x140295d6e
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
mov r8d, 0x40
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x140295d40
call fcn.1401292c0
lea rcx, str.Failed_to_Convert_GUID_to_string
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], 0x1b8
lea rcx, str.E:BT463569bf_cc48_492d_a558_f614a527c07dMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
mov qword [rsp + 0x28], rcx
lea rcx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
mov qword [rsp + 0x20], rcx
mov r9d, 4
xor r8d, r8d
lea edx, [r9 - 3]
mov rcx, rax
call fcn.140129520
xor sil, sil
jmp 0x140295d6e
lea rax, [rbp + 0xa0]
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140295d50
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp - 0x68]
call fcn.14002b640
mov sil, 1
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x140295d87
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rbp - 0x70]
mov rcx, rdi
call fcn.140296f94
nop
lea rax, [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
cmp rcx, rax
je 0x140295da7
call fcn.1402ba464
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x140295de3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140295dde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140295e11
call fcn.140296f94
movzx eax, sil
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.140296f70
mov rbx, qword [rsp + 0x288]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1402ba3ec
nop
call fcn.1402ba3ec
nop
mov ecx, 0x80004005
call fcn.140028370
nop
call fcn.14002c880
int3
call fcn.1402ba3ec
int3