Function at 0x1402b72b0
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 [0x14039bc30]
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, [0x14032c4f8]
lea r15, str.E:BTd43d8306_eb5d_4cf4_b392_556e569c404aMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
test eax, eax
jne 0x1402b738c
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0x1402b734b
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 0x1402b738c
call fcn.140192fc0
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 0x1402b73ed
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 0x1402b7415
call fcn.140192fc0
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.140193220
jmp 0x1402b741a
cmp eax, 1
je 0x1402b7479
call fcn.140192fc0
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.140193220
xor al, al
jmp 0x1402b7ade
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.1402b6920
lea rsi, [0x14032c4f8]
lea rdi, str.E:BTd43d8306_eb5d_4cf4_b392_556e569c404aMCSP_DBSplit_2_6McCSPService_srcMcHardwareId.cpp
lea rbx, str.McAfee::MCSP::CMcHardwareId::GetMachineId
test al, al
jne 0x1402b75d2
call fcn.140192fc0
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.140193220
lea rcx, [rbp - 0x10]
call fcn.14019cfd0
mov rbx, rax
lea rax, [rbp - 0x60]
cmp rax, rbx
je 0x1402b758d
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1402b7565
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402b7560
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1402b7b0e
call fcn.14013afa0
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 0x1402b75cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402b75c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1402b7b0e
call fcn.14013afa0
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.1402b7d10
nop
mov rdx, qword [rbp + 0x10]
mov r15, 0xffffffffffffffff
mov rax, r15
inc rax
cmp byte [rdx + rax], 0
jne 0x1402b7606
xor r9d, r9d
mov r8d, eax
mov rcx, qword [r14]
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x1402b763e
call fcn.140192fc0
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 0x1402b767a
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 0x1402b76ce
call fcn.140192fc0
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.140193220
xor sil, sil
jmp 0x1402b7a8b
mov ecx, dword [rsp + 0x74]
inc ecx
call fcn.14013b750
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 0x1402b7772
call fcn.140192fc0
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:BTd43d8306_eb5d_4cf4_b392_556e569c404aMCSP_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.140193220
xor sil, sil
jmp 0x1402b7a82
call fcn.14003a680
mov rcx, rax
test rax, rax
je 0x1402b7b14
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400c6d28.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
xor edx, edx
mov r14d, edx
cmp dword [rsp + 0x74], edx
jbe 0x1402b77f3
nop dword [rax]
nop dword [rax + rax]
mov eax, r14d
movzx r8d, byte [rax + rdi]
lea rdx, str._02x
lea rcx, [rsp + 0x78]
call fcn.1400bafb0
mov rbx, qword [rsp + 0x78]
mov r8, r15
inc r8
cmp word [rbx + r8*2], 0
jne 0x1402b77d1
mov rdx, rbx
mov rcx, r12
call fcn.140032440
inc r14d
cmp r14d, dword [rsp + 0x74]
jb 0x1402b77b0
xor edx, edx
cmp byte [rsp + 0x70], 0
je 0x1402b78fb
mov r12, qword [r12 + 0x10]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r12
cmp rax, 3
jb 0x1402b7b1f
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x80], rax
cmp qword [rax + 0x18], 8
jb 0x1402b7833
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 0x1402b7877
mov r13, r14
or r13, 7
cmp r13, rcx
jbe 0x1402b7857
mov r13, rcx
jmp 0x1402b7863
mov eax, 0xa
cmp r13, rax
cmovb r13, rax
lea rdx, [r13 + 1]
lea rcx, [rbp - 0x40]
call fcn.140033890
mov rdi, rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r13
mov r8d, dword [0x1403282b8]
mov dword [rdi], r8d
movzx r8d, word [0x1403282bc]
mov word [rdi + 4], r8w
lea rcx, [rdi + 6]
lea r8, [r12 + r12]
mov rdx, qword [rbp - 0x80]
call fcn.14013d0f0
xor eax, eax
mov word [rdi + r14*2], ax
lea rdx, [rbp - 0x40]
mov rcx, qword [rbp - 0x78]
call fcn.140032ef0
mov rdx, qword [rbp - 0x28]
cmp rdx, 8
jb 0x1402b78fb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402b78f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1402b7b25
call fcn.14013afa0
lea rcx, [rbp - 0x20]
call qword [sym.imp.ole32.dll_CoCreateGuid]
mov edi, eax
test eax, eax
jns 0x1402b7976
call fcn.140192fc0
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:BTd43d8306_eb5d_4cf4_b392_556e569c404aMCSP_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.140193220
xor sil, sil
jmp 0x1402b7a5e
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 0x1402b7a30
call fcn.140192fc0
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:BTd43d8306_eb5d_4cf4_b392_556e569c404aMCSP_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.140193220
xor sil, sil
jmp 0x1402b7a5e
lea rax, [rbp + 0xa0]
mov r8, r15
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1402b7a40
lea rdx, [rbp + 0xa0]
mov rcx, qword [rbp - 0x68]
call fcn.140032810
mov sil, 1
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x1402b7a7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400c6d28.0]
mov rdi, qword [rbp - 0x70]
mov rcx, rdi
call fcn.14013afa0
nop
lea rax, [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
cmp rcx, rax
je 0x1402b7a9e
call fcn.1401483d0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1402b7ada
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1402b7ad5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1402b7b08
call fcn.14013afa0
movzx eax, sil
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.14013af80
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.1401421d8
nop
call fcn.1401421d8
nop
mov ecx, 0x80004005
call fcn.140043070
nop
call fcn.140026750
int3
call fcn.1401421d8
int3