Function at 0x407780
Capabilities:
Reference wmi statements

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4333fd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x54
mov eax, dword [0x441370]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x34], esp
push 6
movups xmmword [ecx], xmm0
push 0x43c598
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov dword [ebp - 4], 0
mov ecx, esp
xorps xmm0, xmm0
push 0x1c
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_Keyboard
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.00407180
add esp, 0x30
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x64]
push 6
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.Layout
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x50], 0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 3
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xb
movups xmmword [ecx], xmm0
push str.Description
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
xorps xmm0, xmm0
push 0x1c
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_Keyboard
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x407957
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x407925
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40791b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b0c
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x407991
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407987
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b0c
push ecx
push edx
call fcn.00412542
add esp, 8
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.KeyboardDescription
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 6
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 7
movups xmmword [ecx], xmm0
push str.Caption
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 7
mov ecx, esp
xorps xmm0, xmm0
push 0x1c
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_Keyboard
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x407abe
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x407a8c
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407a82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b11
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x407af8
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407aee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b11
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xf
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.KeyboardCaption
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 9
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 7
movups xmmword [ecx], xmm0
push str.Version
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov ecx, esp
xorps xmm0, xmm0
push 0x18
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_BIOS
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x407c25
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x407bf3
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407be9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b16
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x407c5f
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407c55
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b16
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xb
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.BiosVersion
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xc
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x11
movups xmmword [ecx], xmm0
push 0x43c6e0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
xorps xmm0, xmm0
push 0x18
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_BIOS
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x407d8c
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x407d5a
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407d50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b1b
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x407dc6
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407dbc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b1b
push ecx
push edx
call fcn.00412542
add esp, 8
push 0x11
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.SMBIOSBIOSVersion
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xf
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xc
movups xmmword [ecx], xmm0
push str.SerialNumber
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
xorps xmm0, xmm0
push 0x18
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_BIOS
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x407ef3
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x407ec1
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407eb7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b20
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x407f2d
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x407f23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b20
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.BiosSerial
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x12
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xc
movups xmmword [ecx], xmm0
push str.Manufacturer
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x13
mov ecx, esp
xorps xmm0, xmm0
push 0x18
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_BIOS
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x40805a
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x408028
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40801e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b25
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x408094
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40808a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b25
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xa
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.BiosVendor
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x15
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 7
movups xmmword [ecx], xmm0
push str.Product
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, esp
xorps xmm0, xmm0
push 0x1d
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_BaseBoard
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x4081c1
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x40818f
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408185
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b2a
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x4081fb
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4081f1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b2a
push ecx
push edx
call fcn.00412542
add esp, 8
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.BaseBoardProduct
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x18
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xc
movups xmmword [ecx], xmm0
push str.Manufacturer
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
xorps xmm0, xmm0
push 0x1d
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_BaseBoard
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x408328
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x4082f6
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4082ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b2f
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x408362
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408358
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b2f
push ecx
push edx
call fcn.00412542
add esp, 8
push 0x15
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.BaseBoardManufacturer
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1b
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xe
movups xmmword [ecx], xmm0
push 0x43c8e4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x1c
mov ecx, esp
xorps xmm0, xmm0
push 0x23
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_VideoController
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x40848f
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x40845d
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408453
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b34
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x4084c9
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4084bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b34
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.VideoProcessor
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1e
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xb
movups xmmword [ecx], xmm0
push str.Description
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
xorps xmm0, xmm0
push 0x23
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_VideoController
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x4085f6
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x4085c4
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4085ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b39
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x408630
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408626
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b39
push ecx
push edx
call fcn.00412542
add esp, 8
push 0x10
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.VideoDescription
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x21
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 7
movups xmmword [ecx], xmm0
push str.Caption
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x22
mov ecx, esp
xorps xmm0, xmm0
push 0x23
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_VideoController
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x40875d
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x40872b
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408721
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b3e
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x408797
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40878d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b3e
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xc
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.VideoCaption
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x24
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x14
movups xmmword [ecx], xmm0
push 0x43c9bc
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x25
mov ecx, esp
xorps xmm0, xmm0
push 0x23
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_VideoController
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x4088c4
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x408892
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408888
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b43
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x4088fe
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4088f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b43
push ecx
push edx
call fcn.00412542
add esp, 8
push 0x14
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.AdapterCompatibility
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x27
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 1
call fcn.00408b60
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0xe
movups xmmword [ecx], xmm0
push 0x43c93c
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040c990
sub esp, 0x18
mov byte [ebp - 4], 0x28
mov ecx, esp
xorps xmm0, xmm0
push 0x23
movups xmmword [ecx], xmm0
push str.SELECT__FROM_Win32_VideoController
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.00401570
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00407180
mov esi, eax
add esp, 0x30
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x408a2b
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x4089f9
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4089ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b48
push ecx
push edx
call fcn.00412542
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x38]
cmp ecx, 8
jb 0x408a65
mov edx, dword [ebp - 0x4c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408a5b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b48
push ecx
push edx
call fcn.00412542
add esp, 8
push 0xe
xorps xmm0, xmm0
mov dword [ebp - 0x54], 0
push str.AdapterDACType
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], 0
movups xmmword [ebp - 0x64], xmm0
call fcn.00401570
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x4c]
call fcn.0040c050
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x2a
push eax
mov eax, dword [0x442e08]
push dword [eax]
lea eax, [ebp - 0x30]
push eax
call fcn.0040c530
lea ecx, [ebp - 0x64]
call fcn.00408b60
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x408aef
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x408ae5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408b4d
push ecx
push edx
call fcn.00412542
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004124fa
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
call fcn.0041a900
int3