Function at 0x140089050
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 [0x1401761c0]
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, [0x14017f470]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x14017f498], 0
je 0x1400890f1
test rbx, rbx
je 0x1400890d9
movups xmm0, xmmword [0x14017f4a9]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [0x14017f4b9]
movups xmmword [rbx + 0x10], xmm1
test rdi, rdi
je 0x140089aea
movups xmm0, xmmword [0x14017f499]
movups xmmword [rdi], xmm0
jmp 0x140089aea
lea rax, [rbp - 0x30]
mov qword [rbp + 0x3b0], rax
call fcn.140043c30
mov rcx, rax
test rax, rax
je 0x140089b27
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400a96cf.0]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x28]
mov qword [rbp + 0x3b0], rax
call fcn.140043c30
mov rcx, rax
test rax, rax
je 0x140089b32
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400a96cf.0]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x3b0], rax
call fcn.140043c30
mov rcx, rax
test rax, rax
je 0x140089b3d
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400a96cf.0]
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x18]
mov qword [rbp + 0x3b0], rax
call fcn.140043c30
mov rcx, rax
test rax, rax
je 0x140089b48
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400a96cf.0]
add rax, 0x18
mov qword [rbp - 0x18], rax
movups xmm0, xmmword [0x140116820]
movups xmmword [rbp - 0x10], xmm0
xor esi, esi
mov dword [rbp - 0x38], esi
lea rcx, [rbp + 0x120]
call fcn.140088cf0
nop
mov byte [rsp + 0x20], 1
mov r13b, 1
mov qword [rbp - 0x40], rsi
call fcn.140043c30
mov rcx, rax
test rax, rax
je 0x140089b1c
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400a96cf.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.14008a0d0
mov edi, eax
test eax, eax
je 0x14008954d
mov ebx, esi
mov dword [rsp + 0x24], ebx
mov edi, esi
jmp 0x140089551
mov ebx, dword [rsp + 0x24]
lea rdx, [rbp - 0x30]
mov ecx, ebx
call fcn.14008a4d0
lea rdx, [rbp - 0x28]
mov ecx, ebx
call fcn.14008a7b0
lea rdx, [rbp - 0x20]
mov ecx, ebx
call fcn.14008ab10
lea rdx, [rbp - 0x18]
mov ecx, ebx
call fcn.14008ae20
mov dword [rbp - 0x38], edi
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x38]
call fcn.14008c120
lea rcx, [rbp + 0x120]
call fcn.14008b160
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 0x14008965d
mov byte [rsp + 0x20], 0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.140077330
lea rdx, str.DiskMajoritySN
lea rcx, [rsp + 0x30]
call fcn.140025f50
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [0x14017f4d0]
call fcn.14008d260
mov rdi, qword [rax]
lea rcx, [rsp + 0x30]
call fcn.140026240
nop
movsxd rdx, dword [rbx - 0x10]
lea rcx, [rdi + 0x40]
call fcn.1400271e0
movsxd r8, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, qword [rdi + 0x40]
call fcn.1400fe670
lea rsi, [rbp + 0x208]
mov r15d, 0x12
nop word [rax + rax]
cmp byte [rsi + 8], 0
je 0x1400896e5
mov r14, qword [rsi]
mov rdx, qword [r14]
movsxd rax, dword [rdx - 0x10]
test eax, eax
je 0x1400896e5
xor r13b, r13b
mov r8, rax
lea rcx, [rbp + 0x60]
call fcn.140077330
mov rdx, qword [rsi - 8]
lea rcx, [rsp + 0x50]
call fcn.140025f50
nop
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x60]
lea rcx, [0x14017f4d0]
call fcn.14008d260
mov rdi, qword [rax]
lea rcx, [rsp + 0x50]
call fcn.140026240
nop
mov rax, qword [r14]
movsxd rdx, dword [rax - 0x10]
lea rcx, [rdi + 0x40]
call fcn.1400271e0
mov rdx, qword [r14]
movsxd r8, dword [rdx - 0x10]
mov rcx, qword [rdi + 0x40]
call fcn.1400fe670
add rsi, 0x18
sub r15, 1
jne 0x140089670
lea r15, [rbp + 0x1d0]
mov r12d, 2
nop dword [rax]
cmp byte [r15 + 8], 0
je 0x140089774
cmp dword [rbp + 0x120], 0
jne 0x140089774
xor r13b, r13b
mov rsi, qword [r15]
mov r8, rsi
mov rdx, qword [r15 - 8]
lea rcx, [rbp + 0x60]
call fcn.140077330
mov rdx, qword [r15 - 0x10]
lea rcx, [rsp + 0x70]
call fcn.140025f50
nop
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [0x14017f4d0]
call fcn.14008d260
mov rdi, qword [rax]
lea rcx, [rsp + 0x70]
call fcn.140026240
nop
mov rdx, rsi
lea rcx, [rdi + 0x40]
call fcn.1400271e0
mov r8, rsi
mov rdx, qword [r15 - 8]
mov rcx, qword [rdi + 0x40]
call fcn.1400fe670
add r15, 0x20
sub r12, 1
jne 0x140089700
lea esi, [r12 + 0x38]
lea r15d, [r12 + 0x78]
test r13b, r13b
jne 0x1400897e8
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, [0x140150540]
lea rcx, [rbp + 0x60]
call fcn.140077330
lea r8d, [r12 + 8]
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x60]
call fcn.140077330
xor r14d, r14d
mov qword [rbp + 0x70], r14
movaps xmm0, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x3c0], xmm0
jmp 0x1400897eb
xor r14d, r14d
movzx r12d, byte [rsp + 0x20]
test r12b, r12b
jne 0x140089862
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, [0x140150540]
lea rcx, [rbp + 0xc0]
call fcn.140077330
mov r8d, 8
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp + 0xc0]
call fcn.140077330
mov qword [rbp + 0xd0], 0
movaps xmm1, xmmword [rbp + 0xc0]
movups xmmword [rbp + 0x3d8], xmm1
jmp 0x140089869
movups xmm1, xmmword [rbp + 0x3d8]
movups xmmword [0x14017f4a9], xmm1
movups xmm0, xmmword [rbp + 0x3c0]
movups xmmword [0x14017f4b9], xmm0
mov rax, qword [rbp + 0x3b8]
test rax, rax
je 0x140089898
movups xmmword [rax], xmm1
movups xmm0, xmmword [0x14017f4b9]
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 0x140089949
test ecx, ecx
je 0x14008990d
mov eax, ecx
lea rcx, [rbp + 0x18]
add rcx, rax
lea rdx, [rbp + 0x3c0]
call fcn.1400fe670
mov r8d, 1
lea rdx, [rbp + 0x18]
lea rcx, [rbp]
call fcn.140001000
jmp 0x140089910
mov edi, r14d
mov r14d, edi
mov edi, 0x10
sub rdi, r14
shr rdi, 6
test rdi, rdi
je 0x14008993a
lea rdx, [rbp + 0x3c0]
add rdx, r14
mov r8, rdi
lea rcx, [rbp]
call fcn.140001000
shl rdi, 6
add rdi, r14
xor r14d, r14d
mov ecx, r14d
jmp 0x14008994c
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.1400fe670
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, [0x140150540]
lea rcx, [rbp]
call fcn.140077330
mov r8d, 8
lea rdx, [rbp + 0x3b8]
lea rcx, [rbp]
call fcn.140077330
mov qword [rbp + 0x10], 0
movaps xmm0, xmmword [rbp]
movups xmmword [0x14017f499], xmm0
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x1400899d3
movups xmmword [rax], xmm0
test r13b, r13b
je 0x1400899dd
test r12b, r12b
jne 0x1400899e4
mov byte [0x14017f498], 1
cmp dword [rbp + 0x120], 0
jne 0x140089a02
mov rax, qword [rbp + 0x1b0]
mov qword [0x14017f530], rax
mov byte [0x14017f52a], 1
lea rdx, [rbx - 0x18]
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140089a28
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400a96cf.0]
nop
lea rcx, [rbp + 0x120]
call fcn.140089c40
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 0x140089a63
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400a96cf.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 0x140089a91
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400a96cf.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 0x140089abf
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400a96cf.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 0x140089aea
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400a96cf.0]
lea rcx, [0x14017f470]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov rcx, qword [rbp + 0x3e8]
xor rcx, rsp
call fcn.1400b89f0
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.140043a70
nop
mov ecx, 0x80004005
call fcn.140043a70
nop
mov ecx, 0x80004005
call fcn.140043a70
nop
mov ecx, 0x80004005
call fcn.140043a70
nop
mov ecx, 0x80004005
call fcn.140043a70
int3