Function at 0x140087800
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 [0x140241cc0]
xor rax, rsp
mov qword [rbp + 0x3e8], rax
mov r13, qword [rbp + 0x450]
lea rcx, [0x14024d580]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x14024d5a8], 0
je 0x140087882
test r13, r13
je 0x14008827f
movups xmm0, xmmword [0x14024d5b9]
movups xmmword [r13], xmm0
movups xmm1, xmmword [0x14024d5c9]
movups xmmword [r13 + 0x10], xmm1
jmp 0x14008827f
lea rax, [rbp - 0x30]
mov qword [rbp + 0x3b0], rax
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400882bc
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x28]
mov qword [rbp + 0x3b0], rax
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400882c7
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x3b0], rax
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400882d2
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
add rax, 0x18
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x18]
mov qword [rbp + 0x3b0], rax
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400882dd
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
add rax, 0x18
mov qword [rbp - 0x18], rax
movups xmm0, xmmword [0x1401d3df0]
movups xmmword [rbp - 0x10], xmm0
xor esi, esi
mov dword [rbp - 0x38], esi
lea rcx, [rbp + 0x120]
call fcn.140087480
nop
mov byte [rsp + 0x21], 1
mov byte [rsp + 0x20], 1
mov qword [rbp - 0x40], rsi
call fcn.140053b50
mov rcx, rax
test rax, rax
je 0x1400882b1
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400cd6b1.0]
add rax, 0x18
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x3d8], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x3b8], 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], reloc.WS2_32.dll_recv
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.140088860
mov edi, eax
test eax, eax
je 0x140087ce0
mov ebx, esi
mov dword [rsp + 0x24], ebx
mov edi, esi
jmp 0x140087ce4
mov ebx, dword [rsp + 0x24]
lea rdx, [rbp - 0x30]
mov ecx, ebx
call fcn.140088c60
lea rdx, [rbp - 0x28]
mov ecx, ebx
call fcn.140088f40
lea rdx, [rbp - 0x20]
mov ecx, ebx
call fcn.1400892a0
lea rdx, [rbp - 0x18]
mov ecx, ebx
call fcn.1400895b0
mov dword [rbp - 0x38], edi
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x38]
call fcn.14008a8b0
lea rcx, [rbp + 0x120]
call fcn.1400898f0
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 0x140087df0
mov byte [rsp + 0x21], 0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0xc0]
call fcn.140076d10
lea rdx, str.DiskMajoritySN
lea rcx, [rsp + 0x30]
call fcn.1400219a0
nop
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x70]
lea rcx, [0x14024d5e0]
call fcn.14008ba90
mov rdi, qword [rax]
lea rcx, [rsp + 0x30]
call fcn.140021a40
nop
movsxd rdx, dword [rbx - 0x10]
lea rcx, [rdi + 0x40]
call fcn.14000bce0
movsxd r8, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, qword [rdi + 0x40]
call fcn.14019ace0
lea rsi, [rbp + 0x208]
mov r15d, reloc.WS2_32.dll_select
nop dword [rax]
cmp byte [rsi + 8], 0
je 0x140087e77
mov r14, qword [rsi]
mov rdx, qword [r14]
movsxd rax, dword [rdx - 0x10]
test eax, eax
je 0x140087e77
mov byte [rsp + 0x20], 0
mov r8, rax
lea rcx, [rbp + 0x60]
call fcn.140076d10
mov rdx, qword [rsi - 8]
lea rcx, [rsp + 0x50]
call fcn.1400219a0
nop
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x60]
lea rcx, [0x14024d5e0]
call fcn.14008ba90
mov rdi, qword [rax]
lea rcx, [rsp + 0x50]
call fcn.140021a40
nop
mov rax, qword [r14]
movsxd rdx, dword [rax - 0x10]
lea rcx, [rdi + 0x40]
call fcn.14000bce0
mov rdx, qword [r14]
movsxd r8, dword [rdx - 0x10]
mov rcx, qword [rdi + 0x40]
call fcn.14019ace0
add rsi, 0x18
sub r15, 1
jne 0x140087e00
lea r15, [rbp + 0x1d0]
mov r12d, 2
movzx ebx, byte [rsp + 0x20]
cmp byte [r15 + 8], 0
je 0x140087f0a
cmp dword [rbp + 0x120], 0
jne 0x140087f0a
xor bl, bl
mov rsi, qword [r15]
mov r8, rsi
mov rdx, qword [r15 - 8]
lea rcx, [rbp + 0x60]
call fcn.140076d10
mov rdx, qword [r15 - 0x10]
lea rcx, [rsp + 0x70]
call fcn.1400219a0
nop
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [0x14024d5e0]
call fcn.14008ba90
mov rdi, qword [rax]
lea rcx, [rsp + 0x70]
call fcn.140021a40
nop
mov rdx, rsi
lea rcx, [rdi + 0x40]
call fcn.14000bce0
mov r8, rsi
mov rdx, qword [r15 - 8]
mov rcx, qword [rdi + 0x40]
call fcn.14019ace0
add r15, 0x20
sub r12, 1
jne 0x140087e97
mov byte [rsp + 0x20], bl
lea esi, [r12 + 0x38]
lea r15d, [r12 + 0x78]
test bl, bl
mov rbx, qword [rbp - 0x40]
jne 0x140087f85
mov rdx, qword [rbp + 0x70]
mov qword [rbp + 0x3c8], 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, [0x14020f3e0]
lea rcx, [rbp + 0x60]
call fcn.140076d10
lea r8d, [r12 + 8]
lea rdx, [rbp + 0x3c8]
lea rcx, [rbp + 0x60]
call fcn.140076d10
xor r14d, r14d
mov qword [rbp + 0x70], r14
movaps xmm0, xmmword [rbp + 0x60]
movups xmmword [rbp + 0x3b8], xmm0
jmp 0x140087f88
xor r14d, r14d
movzx r12d, byte [rsp + 0x21]
test r12b, r12b
jne 0x140087fff
mov rdx, qword [rbp + 0xd0]
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, [0x14020f3e0]
lea rcx, [rbp + 0xc0]
call fcn.140076d10
mov r8d, 8
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0xc0]
call fcn.140076d10
mov qword [rbp + 0xd0], 0
movaps xmm1, xmmword [rbp + 0xc0]
movups xmmword [rbp + 0x3d8], xmm1
jmp 0x140088006
movups xmm1, xmmword [rbp + 0x3d8]
movups xmmword [0x14024d5b9], xmm1
movups xmm0, xmmword [rbp + 0x3b8]
movups xmmword [0x14024d5c9], xmm0
test r13, r13
je 0x140088031
movups xmmword [r13], xmm1
movups xmm0, xmmword [0x14024d5c9]
movups xmmword [r13 + 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 0x1400880e6
test ecx, ecx
je 0x1400880a6
mov eax, ecx
lea rcx, [rbp + 0x18]
add rcx, rax
lea rdx, [rbp + 0x3b8]
call fcn.14019ace0
mov r8d, 1
lea rdx, [rbp + 0x18]
lea rcx, [rbp]
call fcn.140001000
jmp 0x1400880a9
mov edi, r14d
mov r14d, edi
mov r13d, reloc.WS2_32.dll_recv
mov edi, r13d
sub rdi, r14
shr rdi, 6
test rdi, rdi
je 0x1400880d7
lea rdx, [rbp + 0x3b8]
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 0x1400880ef
mov rdi, r14
mov r13d, reloc.WS2_32.dll_recv
sub r13, rdi
lea rdx, [rbp + 0x3b8]
add rdx, rdi
mov eax, ecx
lea rcx, [rbp + 0x18]
add rcx, rax
mov r8, r13
call fcn.14019ace0
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x3b0], rax
shr eax, 3
and eax, 0x3f
sub r15d, eax
sub esi, eax
cmp eax, 0x38
cmovae esi, r15d
mov r8d, esi
lea rdx, [0x14020f3e0]
lea rcx, [rbp]
call fcn.140076d10
mov r8d, 8
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp]
call fcn.140076d10
mov qword [rbp + 0x10], 0
movaps xmm0, xmmword [rbp]
movups xmmword [0x14024d5a9], xmm0
cmp byte [rsp + 0x20], 0
je 0x140088172
test r12b, r12b
jne 0x140088179
mov byte [0x14024d5a8], 1
cmp dword [rbp + 0x120], 0
jne 0x140088197
mov rax, qword [rbp + 0x1b0]
mov qword [0x14024d640], rax
mov byte [0x14024d63a], 1
lea rdx, [rbx - 0x18]
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400881bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.0]
nop
lea rcx, [rbp + 0x120]
call fcn.1400883d0
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 0x1400881f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.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 0x140088226
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.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 0x140088254
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.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 0x14008827f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd6b1.0]
lea rcx, [0x14024d580]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov rcx, qword [rbp + 0x3e8]
xor rcx, rsp
call fcn.140144310
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.140053990
nop
mov ecx, 0x80004005
call fcn.140053990
nop
mov ecx, 0x80004005
call fcn.140053990
nop
mov ecx, 0x80004005
call fcn.140053990
nop
mov ecx, 0x80004005
call fcn.140053990
int3