Function at 0x164f92c30
Capabilities:
Hash data with md5

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3f8]
sub rsp, 0x4f8
mov rax, qword [0x16514b200]
xor rax, rsp
mov qword [rbp + 0x3e8], rax
mov rdi, qword [rbp + 0x448]
mov qword [rsp + 0x28], rdi
mov rbx, qword [rbp + 0x450]
mov qword [rbp + 0x3b8], rbx
lea rcx, [0x1651be110]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x1651be138], 0
je 0x164f92cd1
test rbx, rbx
je 0x164f92cb9
movups xmm0, xmmword [0x1651be149]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x1651be159]
movups xmmword [rbx + 0x10], xmm1
test rdi, rdi
je 0x164f936ca
movups xmm0, xmmword [0x1651be139]
movups xmmword [rdi], xmm0
jmp 0x164f936ca
lea rax, [rbp - 0x30]
mov qword [rbp + 0x3b0], rax
call fcn.164e72eb0
mov rcx, rax
test rax, rax
je 0x164f93707
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x164e9d7b8.0]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x28]
mov qword [rbp + 0x3b0], rax
call fcn.164e72eb0
mov rcx, rax
test rax, rax
je 0x164f93712
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x164e9d7b8.0]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x3b0], rax
call fcn.164e72eb0
mov rcx, rax
test rax, rax
je 0x164f9371d
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x164e9d7b8.0]
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x18]
mov qword [rbp + 0x3b0], rax
call fcn.164e72eb0
mov rcx, rax
test rax, rax
je 0x164f93728
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x164e9d7b8.0]
add rax, 0x18
mov qword [rbp - 0x18], rax
movups xmm0, xmmword [0x1650773b0]
movups xmmword [rbp - 0x10], xmm0
xor esi, esi
mov dword [rbp - 0x38], esi
lea rcx, [rbp + 0x120]
call fcn.164f92890
nop
mov byte [rsp + 0x20], 1
mov r13b, 1
mov qword [rbp - 0x40], rsi
call fcn.164e72eb0
mov rcx, rax
test rax, rax
je 0x164f936fc
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x164e9d7b8.0]
add rax, 0x18
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x3d8], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x3c0], xmm1
movups xmmword [rbp + 0xd8], xmm0
movups xmmword [rbp + 0xe8], xmm0
movups xmmword [rbp + 0xf8], xmm0
movups xmmword [rbp + 0x108], xmm0
movups xmmword [rbp + 0x78], xmm1
movups xmmword [rbp + 0x88], xmm1
movups xmmword [rbp + 0x98], xmm1
movups xmmword [rbp + 0xa8], xmm1
lea rax, str.DiskSN1
mov qword [rbp + 0x200], rax
lea rax, [rbp - 0x30]
mov qword [rbp + 0x208], rax
mov word [rbp + 0x210], si
lea rax, str.DiskSN2
mov qword [rbp + 0x218], rax
lea rax, [rbp - 0x28]
mov qword [rbp + 0x220], rax
mov word [rbp + 0x228], si
lea rax, str.DiskSN3
mov qword [rbp + 0x230], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x238], rax
mov word [rbp + 0x240], si
lea rax, str.DiskSN4
mov qword [rbp + 0x248], rax
lea rax, [rbp - 0x18]
mov qword [rbp + 0x250], rax
mov word [rbp + 0x258], si
lea rax, str.SystemInformationSN
mov qword [rbp + 0x260], rax
lea rax, [rbp + 0x128]
mov qword [rbp + 0x268], rax
mov word [rbp + 0x270], 1
lea rax, str.BoardInformationSN
mov qword [rbp + 0x278], rax
lea rax, [rbp + 0x140]
mov qword [rbp + 0x280], rax
mov word [rbp + 0x288], 1
lea rax, str.BoardInformationTAG
mov qword [rbp + 0x290], rax
lea rax, [rbp + 0x148]
mov qword [rbp + 0x298], rax
mov word [rbp + 0x2a0], 1
lea rax, str.EnclosureInformatonSN
mov qword [rbp + 0x2a8], rax
lea rax, [rbp + 0x150]
mov qword [rbp + 0x2b0], rax
mov word [rbp + 0x2b8], 0x101
lea rax, str.EnclosureInformatonTAG
mov qword [rbp + 0x2c0], rax
lea rax, [rbp + 0x158]
mov qword [rbp + 0x2c8], rax
mov word [rbp + 0x2d0], 0x101
lea rax, str.ProcessorSN
mov qword [rbp + 0x2d8], rax
lea rax, [rbp + 0x168]
mov qword [rbp + 0x2e0], rax
mov word [rbp + 0x2e8], 0x101
lea rax, str.ProcessorTAG
mov qword [rbp + 0x2f0], rax
lea rax, [rbp + 0x170]
mov qword [rbp + 0x2f8], rax
mov word [rbp + 0x300], 0x101
lea rax, str.MemoryPN
mov qword [rbp + 0x308], rax
lea rax, [rbp + 0x178]
mov qword [rbp + 0x310], rax
mov word [rbp + 0x318], 0x101
lea rax, str.MemorySN
mov qword [rbp + 0x320], rax
lea rax, [rbp + 0x180]
mov qword [rbp + 0x328], rax
mov word [rbp + 0x330], 0x101
lea rax, str.MemoryTAG
mov qword [rbp + 0x338], rax
lea rax, [rbp + 0x188]
mov qword [rbp + 0x340], rax
mov word [rbp + 0x348], 0x101
lea rax, str.BatterySN
mov qword [rbp + 0x350], rax
lea rax, [rbp + 0x190]
mov qword [rbp + 0x358], rax
mov word [rbp + 0x360], 0x101
lea rax, str.PowerSupplyPN
mov qword [rbp + 0x368], rax
lea rax, [rbp + 0x198]
mov qword [rbp + 0x370], rax
mov word [rbp + 0x378], 0x101
lea rax, str.PowerSupplySN
mov qword [rbp + 0x380], rax
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x388], rax
mov word [rbp + 0x390], 0x101
lea rax, str.PowerSupplyTAG
mov qword [rbp + 0x398], rax
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0x3a0], rax
mov word [rbp + 0x3a8], 0x101
lea rax, str.SystemUUID
mov qword [rbp + 0x1c0], rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0x1d0], 0x10
mov word [rbp + 0x1d8], 1
lea rax, str.ProcessorID
mov qword [rbp + 0x1e0], rax
lea rax, [rbp + 0x160]
mov qword [rbp + 0x1e8], rax
mov qword [rbp + 0x1f0], 8
mov word [rbp + 0x1f8], 0x101
lea rcx, [rsp + 0x24]
call fcn.164f93cb0
mov edi, eax
test eax, eax
je 0x164f9312d
mov ebx, esi
mov dword [rsp + 0x24], ebx
mov edi, esi
jmp 0x164f93131
mov ebx, dword [rsp + 0x24]
lea rdx, [rbp - 0x30]
mov ecx, ebx
call fcn.164f940b0
lea rdx, [rbp - 0x28]
mov ecx, ebx
call fcn.164f94390
lea rdx, [rbp - 0x20]
mov ecx, ebx
call fcn.164f946f0
lea rdx, [rbp - 0x18]
mov ecx, ebx
call fcn.164f94a00
mov dword [rbp - 0x38], edi
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x38]
call fcn.164f95d00
lea rcx, [rbp + 0x120]
call fcn.164f94d40
mov qword [rbp + 0xd0], rsi
mov dword [rbp + 0xc0], 0x67452301
mov dword [rbp + 0xc4], 0xefcdab89
mov dword [rbp + 0xc8], 0x98badcfe
mov dword [rbp + 0xcc], 0x10325476
mov qword [rbp + 0x70], rsi
mov dword [rbp + 0x60], 0x67452301
mov dword [rbp + 0x64], 0xefcdab89
mov dword [rbp + 0x68], 0x98badcfe
mov dword [rbp + 0x6c], 0x10325476
mov rbx, qword [rbp - 0x40]
movsxd rax, dword [rbx - 0x10]
test eax, eax
je 0x164f9323d
mov byte [rsp + 0x20], 0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.164f927a0
lea rdx, str.DiskMajoritySN
lea rcx, [rsp + 0x30]
call fcn.164e53f80
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [0x1651be170]
call fcn.164f96f10
mov rdi, qword [rax]
lea rcx, [rsp + 0x30]
call fcn.164e48400
nop
movsxd rdx, dword [rbx - 0x10]
lea rcx, [rdi + 0x40]
call fcn.164e71c50
movsxd r8, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, qword [rdi + 0x40]
call fcn.16503fa90
lea rsi, [rbp + 0x208]
mov r15d, 0x12
nop word [rax + rax]
cmp byte [rsi + 8], 0
je 0x164f932c5
mov r14, qword [rsi]
mov rdx, qword [r14]
movsxd rax, dword [rdx - 0x10]
test eax, eax
je 0x164f932c5
xor r13b, r13b
mov r8, rax
lea rcx, [rbp + 0x60]
call fcn.164f927a0
mov rdx, qword [rsi - 8]
lea rcx, [rsp + 0x50]
call fcn.164e53f80
nop
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x60]
lea rcx, [0x1651be170]
call fcn.164f96f10
mov rdi, qword [rax]
lea rcx, [rsp + 0x50]
call fcn.164e48400
nop
mov rax, qword [r14]
movsxd rdx, dword [rax - 0x10]
lea rcx, [rdi + 0x40]
call fcn.164e71c50
mov rdx, qword [r14]
movsxd r8, dword [rdx - 0x10]
mov rcx, qword [rdi + 0x40]
call fcn.16503fa90
add rsi, 0x18
sub r15, 1
jne 0x164f93250
lea r15, [rbp + 0x1d0]
mov r12d, 2
nop dword [rax]
cmp byte [r15 + 8], 0
je 0x164f93354
cmp dword [rbp + 0x120], 0
jne 0x164f93354
xor r13b, r13b
mov rsi, qword [r15]
mov r8, rsi
mov rdx, qword [r15 - 8]
lea rcx, [rbp + 0x60]
call fcn.164f927a0
mov rdx, qword [r15 - 0x10]
lea rcx, [rsp + 0x70]
call fcn.164e53f80
nop
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [0x1651be170]
call fcn.164f96f10
mov rdi, qword [rax]
lea rcx, [rsp + 0x70]
call fcn.164e48400
nop
mov rdx, rsi
lea rcx, [rdi + 0x40]
call fcn.164e71c50
mov r8, rsi
mov rdx, qword [r15 - 8]
mov rcx, qword [rdi + 0x40]
call fcn.16503fa90
add r15, 0x20
sub r12, 1
jne 0x164f932e0
lea esi, [r12 + 0x38]
lea r15d, [r12 + 0x78]
test r13b, r13b
jne 0x164f933c8
mov rdx, qword [rbp + 0x70]
mov qword [rbp + 0x3d0], rdx
shr edx, 3
and edx, 0x3f
mov ecx, r15d
sub ecx, edx
mov r8d, esi
sub r8d, edx
cmp edx, esi
cmovae r8d, ecx
lea rdx, [0x1650cfb30]
lea rcx, [rbp + 0x60]
call fcn.164f927a0
lea r8d, [r12 + 8]
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x60]
call fcn.164f927a0
xor r14d, r14d
mov qword [rbp + 0x70], r14
movaps xmm0, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x3c0], xmm0
jmp 0x164f933cb
xor r14d, r14d
movzx r12d, byte [rsp + 0x20]
test r12b, r12b
jne 0x164f93442
mov rdx, qword [rbp + 0xd0]
mov qword [rbp + 0x3b0], rdx
shr edx, 3
and edx, 0x3f
mov ecx, r15d
sub ecx, edx
mov r8d, esi
sub r8d, edx
cmp edx, esi
cmovae r8d, ecx
lea rdx, [0x1650cfb30]
lea rcx, [rbp + 0xc0]
call fcn.164f927a0
mov r8d, 8
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp + 0xc0]
call fcn.164f927a0
mov qword [rbp + 0xd0], 0
movaps xmm1, xmmword [rbp + 0xc0]
movups xmmword [rbp + 0x3d8], xmm1
jmp 0x164f93449
movups xmm1, xmmword [rbp + 0x3d8]
movups xmmword [0x1651be149], xmm1
movups xmm0, xmmword [rbp + 0x3c0]
movups xmmword [0x1651be159], xmm0
mov rax, qword [rbp + 0x3b8]
test rax, rax
je 0x164f93478
movups xmmword [rax], xmm1
movups xmm0, xmmword [0x1651be159]
movups xmmword [rax + 0x10], xmm0
mov dword [rbp], 0x67452301
mov dword [rbp + 4], 0xefcdab89
mov dword [rbp + 8], 0x98badcfe
mov dword [rbp + 0xc], 0x10325476
mov eax, 0x80
mov dword [rbp + 0x14], r14d
movups xmmword [rbp + 0x18], xmm1
mov ecx, eax
shr ecx, 3
and ecx, 0x3f
sub eax, 0xffffff80
mov dword [rbp + 0x10], eax
mov edi, 0x40
sub edi, ecx
mov r8d, edi
cmp r8, 0x10
ja 0x164f93529
test ecx, ecx
je 0x164f934ed
mov eax, ecx
lea rcx, [rbp + 0x18]
add rcx, rax
lea rdx, [rbp + 0x3c0]
call fcn.16503fa90
mov r8d, 1
lea rdx, [rbp + 0x18]
lea rcx, [rbp]
call fcn.164e41000
jmp 0x164f934f0
mov edi, r14d
mov r14d, edi
mov edi, 0x10
sub rdi, r14
shr rdi, 6
test rdi, rdi
je 0x164f9351a
lea rdx, [rbp + 0x3c0]
add rdx, r14
mov r8, rdi
lea rcx, [rbp]
call fcn.164e41000
shl rdi, 6
add rdi, r14
xor r14d, r14d
mov ecx, r14d
jmp 0x164f9352c
mov rdi, r14
mov r8d, 0x10
sub r8, rdi
lea rdx, [rbp + 0x3c0]
add rdx, rdi
mov eax, ecx
lea rcx, [rbp + 0x18]
add rcx, rax
call fcn.16503fa90
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x3b8], rax
shr eax, 3
and eax, 0x3f
sub r15d, eax
sub esi, eax
cmp eax, 0x38
cmovae esi, r15d
mov r8d, esi
lea rdx, [0x1650cfb30]
lea rcx, [rbp]
call fcn.164f927a0
mov r8d, 8
lea rdx, [rbp + 0x3b8]
lea rcx, [rbp]
call fcn.164f927a0
mov qword [rbp + 0x10], 0
movaps xmm0, xmmword [rbp]
movups xmmword [0x1651be139], xmm0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x164f935b3
movups xmmword [rax], xmm0
test r13b, r13b
je 0x164f935bd
test r12b, r12b
jne 0x164f935c4
mov byte [0x1651be138], 1
cmp dword [rbp + 0x120], 0
jne 0x164f935e2
mov rax, qword [rbp + 0x1b0]
mov qword [0x1651be1d0], rax
mov byte [0x1651be1ca], 1
lea rdx, [rbx - 0x18]
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164f93608
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x164e9d7b8.0]
nop
lea rcx, [rbp + 0x120]
call fcn.164f93820
nop
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164f93643
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x164e9d7b8.0]
nop
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], rax
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164f93671
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x164e9d7b8.0]
nop
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x164f9369f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x164e9d7b8.0]
nop
lea rax, [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov rdx, qword [rbp - 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x164f936ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x164e9d7b8.0]
lea rcx, [0x1651be110]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov rcx, qword [rbp + 0x3e8]
xor rcx, rsp
call fcn.165001080
add rsp, 0x4f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.164e43420
nop
mov ecx, 0x80004005
call fcn.164e43420
nop
mov ecx, 0x80004005
call fcn.164e43420
nop
mov ecx, 0x80004005
call fcn.164e43420
nop
mov ecx, 0x80004005
call fcn.164e43420
int3