Function at 0x1400e5a20
Capabilities:
Reference wmi statements

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
cmp byte [0x1402f4c94], 0
jne 0x1400e5eaf
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x11], xmm0
lea rcx, [rbp - 0x11]
call fcn.1400e4cd0
test al, al
jne 0x1400e5a76
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x1400e5e98
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r12d, r12d
jmp 0x1400e5e94
xor r12d, r12d
mov qword [rbp - 0x21], r12
mov rsi, qword [rbp - 9]
mov rax, qword [rsi]
mov r15, qword [rax + 0xa0]
lea ecx, [r12 + 0x18]
call fcn.1401758ec
mov rbx, rax
mov qword [rbp + 0x6f], rax
test rax, rax
je 0x1400e5ac7
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.SELECT__FROM_Win32_SystemEnclosure
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400e5ed4
jmp 0x1400e5aca
mov rbx, r12
mov qword [rbp + 0x6f], rbx
test rbx, rbx
je 0x1400e5edf
mov r14, qword [rbx]
mov ecx, SafeArrayPutElement
call fcn.1401758ec
mov rdi, rax
mov qword [rbp + 0x77], rax
test rax, rax
je 0x1400e5b0c
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x140264808]
call fcn.140176950
mov qword [rdi], rax
jmp 0x1400e5b0f
mov rdi, r12
mov qword [rbp + 0x77], rdi
test rdi, rdi
je 0x1400e5ec9
lea rax, [rbp - 0x21]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 0x30
mov r8, r14
mov rdx, qword [rdi]
mov rcx, rsi
call r15
mov esi, eax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
cmp ecx, 1
jne 0x1400e5b7e
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400e5b5e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400e5b70
call fcn.140175928
mov qword [rdi + 8], r12
mov edx, SafeArrayPutElement
mov rcx, rdi
call fcn.140175928
nop
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400e5bbd
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400e5b9e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400e5bb0
call fcn.140175928
mov qword [rbx + 8], r12
mov edx, SafeArrayPutElement
mov rcx, rbx
call fcn.140175928
lea rbx, str.C:.image_jenkinsworkspaceCC_Windows_ReleaseVECommonCommonDeviceInfogenerate_notebook_win.h
test esi, esi
jns 0x1400e5c24
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x1400e5bec
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
inc rax
jmp 0x1400e5bef
mov rax, rbx
mov dword [rsp + 0x30], esi
lea rcx, str.em::WMIQuery::Query
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0x59
mov r9, rax
lea r8, str.__s:_d__s__Query_for_operating_system_name_failed._Err_code__0x_x
mov rdx, qword [str.COMMON]
mov ecx, 4
call fcn.14007e020
jmp 0x1400e5c2d
mov r13, qword [rbp - 0x21]
test r13, r13
jne 0x1400e5c85
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x1400e5c50
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
lea rbx, [rax + 1]
lea r15, str.em::getDeviceTypeInternal
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x7a
mov r9, rbx
lea r8, str.__s:_d__s__query_failed
mov rdx, qword [str.COMMON]
mov ecx, 4
call fcn.14007e020
nop
jmp 0x1400e5e85
mov dword [rbp + 0x67], r12d
lea rbx, str.C:.image_jenkinsworkspaceCC_Windows_ReleaseVECommonCommonDeviceInfogenerate_notebook_win.h
lea r15, str.em::getDeviceTypeInternal
mov esi, 0x2000
mov edi, 0x4000
mov rax, qword [r13]
lea rcx, [rbp + 0x67]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x19]
mov edx, 0xffffffff
lea r8d, [rdx + 2]
mov rcx, r13
call qword [rax + 0x20]
cmp dword [rbp + 0x67], 0
je 0x1400e5e2f
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp - 1]
xor r8d, r8d
lea rdx, str.ChassisTypes
call qword [rax + 0x20]
movzx eax, word [rbp - 1]
test si, ax
je 0x1400e5ca1
test di, ax
je 0x1400e5d04
mov rax, qword [rbp + 7]
mov r14, qword [rax]
jmp 0x1400e5d08
mov r14, qword [rbp + 7]
test r14, r14
je 0x1400e5ca1
mov qword [rbp - 0x29], r12
lea r8, [rbp - 0x25]
mov edx, 1
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SafeArrayLock]
lea r8, [rbp - 0x29]
mov edx, 1
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
mov eax, dword [rbp - 0x29]
sub eax, dword [rbp - 0x25]
add eax, 1
mov dword [rbp - 0x29], eax
je 0x1400e5e7a
mov edi, r12d
test eax, eax
je 0x1400e5e16
mov dword [rbp + 0x6f], edi
lea r8, [rbp + 0x77]
lea rdx, [rbp + 0x6f]
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
mov esi, eax
mov edx, 0x5c
mov rcx, rbx
test eax, eax
jns 0x1400e5db2
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x1400e5d90
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
inc rax
jmp 0x1400e5d93
mov rax, rbx
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0xab
lea r8, str.__s:_d__s__Failed_to_SafeArrayGetElement._Err_code__0x_x
mov ecx, 4
jmp 0x1400e5df7
mov esi, dword [rbp + 0x77]
mov dword [0x1402f4c98], esi
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x1400e5dd7
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
inc rax
jmp 0x1400e5dda
mov rax, rbx
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0xaf
lea r8, str.__s:_d__s__device_type_:__d
mov ecx, 0x1000
mov r9, rax
mov rdx, qword [str.COMMON]
call fcn.14007e020
inc edi
cmp edi, dword [rbp - 0x29]
jb 0x1400e5d52
mov esi, 0x2000
lea rcx, [rbp - 1]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp - 0x19]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1400e5c9c
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x1400e5e52
mov edx, 0x5c
mov rcx, rbx
call sub.VCRUNTIME140.dll_strrchr
lea rbx, [rax + 1]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x83
mov r9, rbx
lea r8, str.__s:_d__s__no_more
mov rdx, qword [str.COMMON]
mov ecx, 0x1000
call fcn.14007e020
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x10]
nop
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x1400e5e98
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp - 9], r12
mov rcx, qword [rbp - 0x11]
test rcx, rcx
je 0x1400e5ea8
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov byte [0x1402f4c94], 1
mov eax, dword [0x1402f4c98]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140176940
nop
mov ecx, 0x8007000e
call fcn.140176940
nop
mov ecx, 0x8007000e
call fcn.140176940
int3