Function at 0x422be0
Capabilities:
Connect to wmi namespace via wbemlocator
Get http document via iwebbrowser2
Get storage device properties
Parse pe header
Query service status
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42db96
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1584
call fcn.00417930
mov eax, dword [0x43c010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x1548]
xor edi, edi
mov dword [ebp - 0x148c], eax
mov dword [ebp - 0x1484], edi
mov dword [ebp - 0x1524], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0xe4], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0xec], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14ec], esi
mov dword [ebp - 0x1470], edi
mov dword [esi + 0xe8], edi
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], edi
mov dword [esi + 0xfc], edi
call fcn.004181c0
mov eax, dword [ebp - 0x148c]
mov dword [ebp - 4], edi
test eax, eax
je 0x422d90
mov dword [eax], edi
xor eax, eax
mov dword [ebp - 0x147c], eax
cmp dword [esi + 0xc], eax
jle 0x422d90
xor ecx, ecx
mov dword [ebp - 0x14e4], ecx
nop
test ecx, ecx
js 0x426d35
cmp eax, dword [esi + 0xc]
jge 0x426d35
add ecx, dword [esi + 8]
sub esp, 0x4c
movups xmm0, xmmword [ecx + 0xa05]
mov eax, dword [ecx + 0x92c]
movups xmm1, xmmword [ecx + 0xa35]
mov dword [ebp - 0x1594], eax
mov eax, dword [ecx + 0x934]
movups xmmword [ebp - 0x1588], xmm0
mov dword [ebp - 0x158c], eax
movups xmm0, xmmword [ecx + 0xa15]
mov eax, dword [ecx + 0x930]
mov dword [ebp - 0x1590], eax
movups xmmword [ebp - 0x1578], xmm0
movups xmm0, xmmword [ecx + 0xa25]
mov ecx, esp
push dword [ebp - 0x1540]
movups xmmword [ebp - 0x1568], xmm0
movups xmm0, xmmword [ebp - 0x1594]
movups xmmword [ebp - 0x1558], xmm1
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebp - 0x1584]
psrldq xmm1, 0xc
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x1574]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x1564]
movups xmmword [ecx + 0x30], xmm0
movq xmm0, qword [ebp - 0x1554]
movq qword [ecx + 0x40], xmm0
movd dword [ecx + 0x48], xmm1
lea ecx, [ebp - 0x1548]
call fcn.00429390
mov eax, dword [ebp - 0x147c]
mov ecx, dword [ebp - 0x14e4]
inc eax
add ecx, 0xa95
mov dword [ebp - 0x147c], eax
mov dword [ebp - 0x14e4], ecx
cmp eax, dword [esi + 0xc]
jl 0x422ca0
push 0xffffffffffffffff
push 0
lea ecx, [esi + 4]
call fcn.004295d0
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x18]
call fcn.00429980
push 0x42ec10
lea ecx, [esi + 0x68]
call dword [sym.imp.mfc140.dll_Ordinal_1529]
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x6c]
call sub.mfc140.dll_Ordinal_13883
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x80]
call sub.mfc140.dll_Ordinal_13883
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0x94]
call sub.mfc140.dll_Ordinal_13883
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0xa8]
call sub.mfc140.dll_Ordinal_13883
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0xbc]
call fcn.00429480
push 0xffffffffffffffff
push 0
lea ecx, [esi + 0xd0]
call fcn.00429480
push 0x400
lea eax, [ebp - 0x1414]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x4276e7
push 0x20000000
push 0
push 0
mov dword [ebp - 0x14d4], 1
mov dword [ebp - 0x151c], 0
mov dword [ebp - 0x14f0], 0
mov dword [ebp - 0x149c], 0
mov dword [ebp - 0x14d8], 0
mov dword [ebp - 0x1474], 0
mov byte [ebp - 0x14a0], 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x14d0], eax
test eax, eax
je 0x422f16
push 4
push str.Winmgmt
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 0x148c], eax
test eax, eax
je 0x422efd
lea ecx, [ebp - 0x1450]
mov dword [ebp - 0x1438], 0
xorps xmm0, xmm0
push ecx
push eax
movups xmmword [ebp - 0x1450], xmm0
movq qword [ebp - 0x1440], xmm0
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x422ef1
mov eax, dword [ebp - 0x14a0]
mov ecx, 1
cmp dword [ebp - 0x144c], 4
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x14a0], eax
push dword [ebp - 0x148c]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push dword [ebp - 0x14d0]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp byte [ebp - 0x14a0], 0
jne 0x422f98
xorps xmm0, xmm0
lea eax, [ebp - 0x144f]
push 0
push eax
movups xmmword [ebp - 0x144f], xmm0
movq qword [ebp - 0x143f], xmm0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
test eax, eax
jne 0x422f57
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x422f4f
movzx eax, ax
or eax, 0x80070000
test eax, eax
jns 0x422f57
push eax
call fcn.00412509
mov byte [ebp - 0x1450], 0
push 1
push str.Winmgmt
lea ecx, [ebp - 0x1450]
mov byte [ebp - 4], 1
call fcn.0041e4d0
mov byte [ebp - 0x1475], al
lea eax, [ebp - 0x144f]
push eax
mov byte [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
cmp byte [ebp - 0x1475], 0
je 0x4230ea
push 0
mov byte [ebp - 4], 2
call dword [sym.imp.ole32.dll_CoInitialize]
lea eax, [ebp - 0x151c]
push eax
push 0x432b78
push 1
push 0
push 0x432c48
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4230e3
cmp dword [esi + 0x128], 6
lea ecx, [ebp - 0x14d0]
push 0x432f94
sbb eax, eax
and eax, 0xffffff80
sub eax, 0xffffff80
mov dword [ebp - 0x148c], eax
call fcn.00418b90
mov eax, dword [eax]
mov byte [ebp - 4], 3
test eax, eax
je 0x422ffa
mov edx, dword [eax]
jmp 0x422ffc
xor edx, edx
mov eax, dword [ebp - 0x151c]
lea edi, [ebp - 0x14f0]
push edi
push 0
push 0
push dword [ebp - 0x148c]
mov ecx, dword [eax]
push 0
push 0
push 0
push edx
push eax
call dword [ecx + 0xc]
mov edi, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14d0]
mov dword [ebp - 0x148c], eax
mov byte [ebp - 4], 2
call fcn.00415770
cmp dword [ebp - 0x148c], 0
jl 0x4230af
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [ebp - 0x14f0]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov dword [ebp - 0x148c], eax
test eax, eax
jns 0x4230a5
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push dword [ebp - 0x148c]
lea eax, [ebp - 0x147c]
mov byte [ebp - 4], 4
push str.NG:WMI_Init____08X
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x4230af
mov dword [esi + 0xe8], 1
mov ecx, dword [ebp - 0x151c]
test ecx, ecx
je 0x4230e3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x151c], 0
jmp 0x4230e3
mov dword [ebp - 4], 0
cmp dword [esi + 0xe8], 0
je 0x4274c8
lea ecx, [ebp - 0x1448]
call sub.mfc140.dll_Ordinal_974
lea ecx, [ebp - 0x1504]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push 0xc
mov byte [ebp - 4], 0xb
call sub.mfc140.dll_Ordinal_1507
add esp, 4
mov dword [ebp - 0x1488], eax
mov dword [ebp - 0x14c0], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x42318b
push str.select_Name__DeviceID_from_Win32_IDEController
mov dword [eax + 4], 0
mov dword [eax + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, dword [ebp - 0x1488]
mov dword [edx], eax
test eax, eax
jne 0x423183
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x1488]
jmp 0x423193
xor eax, eax
mov dword [ebp - 0x1488], eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x14d0], eax
test eax, eax
jne 0x4231ab
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0xd
call sub.mfc140.dll_Ordinal_1507
add esp, 4
mov dword [ebp - 0x1480], eax
mov dword [ebp - 0x14c0], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x423204
push 0x4329fc
mov dword [eax + 4], 0
mov dword [eax + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edx, dword [ebp - 0x1480]
mov dword [edx], eax
test eax, eax
jne 0x4231fc
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x1480]
jmp 0x42320c
xor eax, eax
mov dword [ebp - 0x1480], eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x148c], eax
test eax, eax
jne 0x423224
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x149c]
push edx
mov edx, dword [ebp - 0x1488]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov edx, dword [ebp - 0x1480]
mov byte [ebp - 4], 0xf
push dword [edx]
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x148c]
mov dword [ebp - 0x147c], eax
call fcn.00415770
lea ecx, [ebp - 0x14d0]
mov byte [ebp - 4], 0xb
call fcn.00415770
cmp dword [ebp - 0x147c], 0
jge 0x423281
mov byte [ebp - 4], 0xa
jmp 0x42741b
mov dword [ebp - 0x147c], 0
nop dword [eax + eax]
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x424105
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x424105
cmp dword [ebp - 0x14d4], 1
jne 0x424105
mov eax, dword [ebp - 0x147c]
cmp eax, 0x100
jge 0x424105
inc eax
mov dword [ebp - 0x147c], eax
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
mov byte [ebp - 4], 0x12
call dword [ecx + 0x10]
test eax, eax
jne 0x4233d1
cmp word [ebp - 0x1424], 1
jbe 0x4233d1
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
push 0
push str.PCIIDEIDECHANNEL
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x4233ae
push 1
lea eax, [ebp - 0x148c]
push eax
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_12863]
push eax
lea ecx, [ebp - 0x1480]
mov byte [ebp - 4], 0x13
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x148c]
mov byte [ebp - 4], 0x12
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0x43303c
push 0x433040
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4329a8
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4234a7
cmp word [ebp - 0x1424], 1
jbe 0x4234a7
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_8146]
test al, al
jne 0x423488
lea eax, [ebp - 0x1480]
push eax
lea eax, [ebp - 0x1520]
push 0x432de8
push eax
call fcn.004028a0
add esp, 0xc
push 0x432dec
push eax
lea eax, [ebp - 0x14d0]
mov byte [ebp - 4], 0x14
push eax
call fcn.00408c90
add esp, 0xc
push eax
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x15
call dword [sym.imp.mfc140.dll_Ordinal_1692]
lea ecx, [ebp - 0x14d0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1520]
mov byte [ebp - 4], 0x12
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea eax, [ebp - 0x146c]
lea ecx, [esi + 0x2c]
push eax
push dword [ecx + 8]
call sub.mfc140.dll_Ordinal_13198
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x4234c1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
push 0
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
cmp eax, 0xffffffff
je 0x42352d
push str.__ATA_
lea eax, [ebp - 0x146c]
push eax
lea eax, [ebp - 0x1510]
push eax
call fcn.00408c90
add esp, 0xc
or edi, 1
mov ecx, eax
mov dword [ebp - 0x1470], edi
mov dword [ebp - 0x1484], edi
push 0
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov byte [ebp - 0x1475], 0
test eax, eax
js 0x423534
mov byte [ebp - 0x1475], 1
mov eax, dword [ebp - 0x1470]
test al, 1
je 0x423559
and eax, 0xfffffffe
lea ecx, [ebp - 0x1510]
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
cmp byte [ebp - 0x1475], 0
je 0x4236c0
lea eax, [ebp - 0x1498]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call sub.mfc140.dll_Ordinal_13198
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x16
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14f8]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, dword [ebp - 0x1470]
lea ecx, [ebp - 0x146c]
or edi, 0x80
mov dword [ebp - 0x14bc], eax
mov dword [ebp - 0x1470], edi
mov dword [ebp - 0x1484], edi
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x43304c
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x14f8]
push 0x43304c
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
mov edi, dword [ebp - 0x14bc]
mov ecx, edi
mov byte [ebp - 4], 0x17
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14e4]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov dword [ebp - 0x14bc], eax
mov eax, dword [ebp - 0x1470]
or eax, 0x100
push str.__ATA_
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
mov ecx, edi
push eax
push str.__ATA_
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x14e4]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x1498]
push dword [ebp - 0x14bc]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x14e4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14f8]
and edi, 0xfffffe7f
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x1470], edi
mov dword [ebp - 0x1484], edi
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0x433050
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_1696]
lea ecx, [ebp - 0x14e8]
mov dword [ebp - 0x14bc], 0
call dword [sym.imp.mfc140.dll_Ordinal_316]
push dword [ebp - 0x14a4]
lea eax, [ebp - 0x14e8]
mov byte [ebp - 4], 0x18
push str.ASSOCIATORS_OF_Win32_IDEController.DeviceID__s__WHERE_AssocClass__Win32_IDEControllerDevice
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push 0xc
mov dword [ebp - 0x14c4], eax
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x14a0], eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x19
test edi, edi
je 0x423744
push dword [ebp - 0x14c4]
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call fcn.00417160
mov dword [edi], eax
jmp 0x42374c
xor edi, edi
mov dword [ebp - 0x14a0], edi
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x14fc], edi
test edi, edi
jne 0x423764
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x1a
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x1514], edi
mov byte [ebp - 4], 0x1b
test edi, edi
je 0x4237ab
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x4237ad
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x1518], edi
test edi, edi
jne 0x4237c5
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x14d8]
push edx
mov edx, dword [ebp - 0x14a0]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x1c
push dword [edi]
push eax
call dword [ecx + 0x50]
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x42382d
mov eax, dword [edi]
test eax, eax
je 0x42380b
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x423822
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
mov edi, dword [ebp - 0x14a0]
mov byte [ebp - 4], 0x18
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x423880
mov eax, dword [edi]
test eax, eax
je 0x423858
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x42386f
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
nop word [eax + eax]
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x424096
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x424096
cmp dword [ebp - 0x14d4], 1
jne 0x424096
mov eax, dword [ebp - 0x14bc]
cmp eax, 0x100
jge 0x424096
inc eax
mov dword [ebp - 0x14bc], eax
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1434]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
mov byte [ebp - 4], 0x1f
call dword [ecx + 0x10]
test eax, eax
jne 0x4239a3
cmp word [ebp - 0x1434], 1
jbe 0x4239a3
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
push 0
push str.PCIIDEIDECHANNEL
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x423996
push 1
lea eax, [ebp - 0x1500]
push eax
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_12863]
push eax
lea ecx, [ebp - 0x14b4]
mov byte [ebp - 4], 0x20
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1500]
mov byte [ebp - 4], 0x1f
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1434]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4329a8
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x423b2f
cmp word [ebp - 0x1434], 1
jbe 0x423b2f
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_8146]
test al, al
jne 0x423b22
lea ecx, [ebp - 0x14b4]
mov byte [ebp - 4], 0x21
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x150c]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x14b4]
mov eax, dword [ebp - 0x1470]
or eax, 0x200
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x432de8
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x150c]
push 0x432de8
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
mov ecx, edi
mov byte [ebp - 4], 0x22
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x1508]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov dword [ebp - 0x14c4], eax
mov eax, dword [ebp - 0x1470]
or eax, 0x400
push 0x432dec
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
mov ecx, edi
push eax
push 0x432dec
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x1508]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x1494]
push dword [ebp - 0x14c4]
call dword [sym.imp.mfc140.dll_Ordinal_1692]
lea ecx, [ebp - 0x1508]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x150c]
and eax, 0xfffff9ff
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x423b49
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
push 0
push str.NVIDIA
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x423b6a
mov dword [esi + 0xf8], 1
push 0
push str.Marvell
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x423b8b
mov dword [esi + 0xfc], 1
lea eax, [ebp - 0x146c]
push eax
lea eax, [ebp - 0x14cc]
push 0x4330c8
push eax
call fcn.004028a0
add esp, 0xc
mov ecx, eax
mov eax, dword [ebp - 0x1470]
or eax, 2
mov byte [ebp - 4], 0x23
push 0
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x423c1e
lea eax, [ebp - 0x146c]
push eax
lea eax, [ebp - 0x14c8]
push str.___
push eax
call fcn.004028a0
or dword [ebp - 0x1470], 4
add esp, 0xc
mov ecx, eax
push 0
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov byte [ebp - 0x1475], 0
test eax, eax
js 0x423c25
mov byte [ebp - 0x1475], 1
mov eax, dword [ebp - 0x1470]
test al, 4
je 0x423c4a
and eax, 0xfffffffb
lea ecx, [ebp - 0x14c8]
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
and eax, 0xfffffffd
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x14cc]
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
cmp byte [ebp - 0x1475], 0
je 0x423f2e
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x24
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14b8]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x146c]
mov eax, dword [ebp - 0x1470]
or eax, 0x2000
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x4330d8
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x14b8]
push 0x4330d8
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x14b0]
push edi
call dword [sym.imp.mfc140.dll_Ordinal_1526]
and dword [ebp - 0x1470], 0xffffdfff
lea ecx, [ebp - 0x14b8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x25
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x146c]
mov eax, dword [ebp - 0x1470]
or eax, 0x4000
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x4330dc
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x14ac]
push 0x4330dc
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x14dc]
push edi
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14ac]
and eax, 0xffffbfff
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
mov eax, dword [ebp - 0x1470]
or eax, 0x8000
push str._r_n______
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
lea ecx, [ebp - 0x146c]
push eax
push str._r_n______
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x14e0]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
mov ecx, edi
mov byte [ebp - 4], 0x27
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14f4]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov dword [ebp - 0x14c4], eax
lea ecx, [ebp - 0x1494]
mov eax, dword [ebp - 0x1470]
or eax, 0x10000
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x14f4]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x14b0]
push dword [ebp - 0x14c4]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x14f4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14e0]
and eax, 0xfffe7fff
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
jmp 0x424053
lea ecx, [ebp - 0x1494]
mov byte [ebp - 4], 0x28
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x1494]
mov eax, dword [ebp - 0x1470]
or eax, 0x20000
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x4330c8
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x14a8]
push 0x4330c8
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
mov ecx, edi
mov byte [ebp - 4], 0x29
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x1490]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov dword [ebp - 0x14c4], eax
mov eax, dword [ebp - 0x1470]
or eax, 0x40000
push 0x433050
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
mov ecx, edi
push eax
push 0x433050
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x1498]
push dword [ebp - 0x14c4]
call dword [sym.imp.mfc140.dll_Ordinal_1692]
lea ecx, [ebp - 0x1490]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14a8]
and eax, 0xfff9ffff
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0x4330ec
push 0x43304c
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1494]
mov byte [ebp - 4], 0x18
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x423880
push 0x4330f0
push 0x43304c
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x4240c6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14d8], 0
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0xb
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [ebp - 0x1470]
jmp 0x423290
lea eax, [ebp - 0x1498]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call sub.mfc140.dll_Ordinal_13198
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x424151
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x149c], 0
jmp 0x424151
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x1498]
push 0x42ec10
mov byte [ebp - 4], 0x2b
call dword [sym.imp.mfc140.dll_Ordinal_1529]
push str.select_Name__DeviceID_from_Win32_SCSIController
lea ecx, [ebp - 0x1500]
call fcn.00418b90
mov dword [ebp - 0x14cc], eax
push 0x4329fc
lea ecx, [ebp - 0x14c8]
mov byte [ebp - 4], 0x2c
call fcn.00418b90
mov ecx, dword [ebp - 0x14cc]
mov byte [ebp - 4], 0x2d
mov ecx, dword [ecx]
test ecx, ecx
je 0x4241b1
mov ecx, dword [ecx]
mov dword [ebp - 0x147c], ecx
jmp 0x4241bb
mov dword [ebp - 0x147c], 0
mov eax, dword [eax]
test eax, eax
je 0x4241c5
mov edx, dword [eax]
jmp 0x4241c7
xor edx, edx
mov eax, dword [ebp - 0x14f0]
lea edi, [ebp - 0x149c]
push edi
push 0
push 0x30
push dword [ebp - 0x147c]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x50]
mov edi, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14c8]
mov dword [ebp - 0x14cc], eax
call fcn.00415770
lea ecx, [ebp - 0x1500]
mov byte [ebp - 4], 0x2b
call fcn.00415770
cmp dword [ebp - 0x14cc], 0
jge 0x42421d
mov byte [ebp - 4], 0xa
jmp 0x42741b
mov dword [ebp - 0x147c], 0
nop word [eax + eax]
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x424ffe
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x424ffe
cmp dword [ebp - 0x14d4], 1
jne 0x424ffe
mov eax, dword [ebp - 0x147c]
cmp eax, 0x100
jge 0x424ffe
inc eax
mov dword [ebp - 0x14bc], 0
mov dword [ebp - 0x147c], eax
lea eax, [ebp - 0x1424]
push eax
mov dword [ebp - 0x14f4], 0
mov dword [ebp - 0x14b4], 0
mov dword [ebp - 0x14a4], 0
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
mov byte [ebp - 4], 0x2f
call dword [ecx + 0x10]
test eax, eax
jne 0x424338
cmp word [ebp - 0x1424], 1
jbe 0x424338
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
push 0x43303c
push 0x433040
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4329a8
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x424583
cmp word [ebp - 0x1424], 1
jbe 0x424583
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x146c]
lea ecx, [esi + 0x40]
push eax
push dword [ecx + 8]
call sub.mfc140.dll_Ordinal_13198
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0
push 0x433158
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x4243cb
push 0
push 0x43315c
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
js 0x4243d5
mov dword [ebp - 0x14bc], 1
cmp dword [esi + 0xe4], 0
jne 0x424433
push 0
push str.VIA_VT6410
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x424401
mov dword [ebp - 0x14f4], 1
jmp 0x424433
cmp dword [esi + 0xe4], 0
jne 0x424433
push 0
push str.ITE_IT8212
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov ecx, dword [ebp - 0x14f4]
test eax, eax
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x14f4], ecx
push 0
push str.NVIDIA
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x424454
mov dword [esi + 0xf8], 1
push 0
push str.Marvell
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x424475
mov dword [esi + 0xfc], 1
push 0
push str.DVDFab_Virtual_Drive
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x4244ad
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x2b
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x424230
push 0
push str.Silicon_Image_SiI
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x424535
lea ecx, [ebp - 0x1488]
mov dword [ebp - 0x14b4], 1
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea eax, [ebp - 0x146c]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0x42ec10
push str.Silicon_Image_SiI
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
mov dword [ebp - 0x14a4], eax
lea ecx, [ebp - 0x1488]
mov byte [ebp - 4], 0x2f
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x424583
push 0
push str.BUFFALO_IFC_PCI2ES
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x424558
mov dword [ebp - 0x14a4], 0xc28
jmp 0x424579
push 0
push str.BUFFALO_IFC_PCIE2SA
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x424583
mov dword [ebp - 0x14a4], 0xc3c
mov dword [ebp - 0x14b4], 1
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x42459d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
push 0
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
cmp eax, 0xffffffff
je 0x424609
push str.__SCSI_
lea eax, [ebp - 0x146c]
push eax
lea eax, [ebp - 0x14cc]
push eax
call fcn.00408c90
add esp, 0xc
or edi, 8
mov ecx, eax
mov dword [ebp - 0x1470], edi
mov dword [ebp - 0x1484], edi
push 0
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov byte [ebp - 0x1475], 0
test eax, eax
js 0x424610
mov byte [ebp - 0x1475], 1
mov eax, dword [ebp - 0x1470]
test al, 8
je 0x424635
and eax, 0xfffffff7
lea ecx, [ebp - 0x14cc]
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
cmp byte [ebp - 0x1475], 0
je 0x424737
lea eax, [ebp - 0x1498]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call sub.mfc140.dll_Ordinal_13198
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x31
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14e4]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, dword [ebp - 0x1470]
lea ecx, [ebp - 0x146c]
or edi, 0x100000
mov dword [ebp - 0x14c8], eax
mov dword [ebp - 0x1484], edi
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x43304c
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x14e4]
push 0x43304c
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea eax, [ebp - 0x1500]
push str.__SCSI_
push dword [ebp - 0x14c8]
push eax
call fcn.00408c90
add esp, 0xc
push eax
lea ecx, [ebp - 0x1498]
mov byte [ebp - 4], 0x32
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1500]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
and edi, 0xffefffff
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x14e4]
mov dword [ebp - 0x1470], edi
mov dword [ebp - 0x1484], edi
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0x433050
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_1696]
lea ecx, [ebp - 0x14e8]
mov dword [ebp - 0x14f8], 0
call dword [sym.imp.mfc140.dll_Ordinal_316]
push dword [ebp - 0x14ac]
lea eax, [ebp - 0x14e8]
mov byte [ebp - 4], 0x33
push str.ASSOCIATORS_OF_Win32_SCSIController.DeviceID__s__WHERE_AssocClass__Win32_SCSIControllerDevice
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push 0xc
mov dword [ebp - 0x14c8], eax
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x14a0], eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x34
test edi, edi
je 0x4247bb
push dword [ebp - 0x14c8]
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call fcn.00417160
mov dword [edi], eax
jmp 0x4247c3
xor edi, edi
mov dword [ebp - 0x14a0], edi
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x14fc], edi
test edi, edi
jne 0x4247db
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x35
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x1514], edi
mov byte [ebp - 4], 0x36
test edi, edi
je 0x424822
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x424824
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x35
mov dword [ebp - 0x1518], edi
test edi, edi
jne 0x42483c
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x14d8]
push edx
mov edx, dword [ebp - 0x14a0]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x37
push dword [edi]
push eax
call dword [ecx + 0x50]
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4248a4
mov eax, dword [edi]
test eax, eax
je 0x424882
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x424899
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
mov edi, dword [ebp - 0x14a0]
mov byte [ebp - 4], 0x33
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4248f1
mov eax, dword [edi]
test eax, eax
je 0x4248cf
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x4248e6
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x424f9b
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x424f9b
cmp dword [ebp - 0x14d4], 1
jne 0x424f9b
mov eax, dword [ebp - 0x14f8]
cmp eax, 0x100
jge 0x424f9b
inc eax
mov dword [ebp - 0x14f8], eax
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1434]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
mov byte [ebp - 4], 0x39
call dword [ecx + 0x10]
test eax, eax
jne 0x424a35
cmp word [ebp - 0x1434], 1
jbe 0x424a35
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x1434]
push eax
call edi
cmp dword [ebp - 0x14bc], 0
je 0x4249e3
lea eax, [ebp - 0x1480]
lea ecx, [esi + 0xa8]
push eax
push dword [ecx + 8]
call sub.mfc140.dll_Ordinal_13198
cmp dword [ebp - 0x14f4], 0
je 0x424a01
lea eax, [ebp - 0x1480]
lea ecx, [esi + 0x80]
push eax
push dword [ecx + 8]
call sub.mfc140.dll_Ordinal_13198
cmp dword [ebp - 0x14b4], 0
je 0x424a3b
lea eax, [ebp - 0x1480]
lea ecx, [esi + 0x94]
push eax
push dword [ecx + 8]
call sub.mfc140.dll_Ordinal_13198
push dword [ebp - 0x14a4]
lea ecx, [esi + 0xbc]
push dword [ecx + 8]
call fcn.004292d0
jmp 0x424a3b
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1434]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4329a8
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x424a82
cmp word [ebp - 0x1434], 1
jbe 0x424a82
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1434]
push eax
call edi
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x424a9c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
lea eax, [ebp - 0x146c]
push eax
lea eax, [ebp - 0x1510]
push 0x4330c8
push eax
call fcn.004028a0
add esp, 0xc
mov ecx, eax
mov eax, dword [ebp - 0x1470]
or eax, 0x10
mov byte [ebp - 4], 0x3a
push 0
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x424b2f
lea eax, [ebp - 0x146c]
push eax
lea eax, [ebp - 0x14c4]
push str.___
push eax
call fcn.004028a0
or dword [ebp - 0x1470], 0x20
add esp, 0xc
mov ecx, eax
push 0
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov byte [ebp - 0x1475], 0
test eax, eax
js 0x424b36
mov byte [ebp - 0x1475], 1
mov eax, dword [ebp - 0x1470]
test al, 0x20
je 0x424b5b
and eax, 0xffffffdf
lea ecx, [ebp - 0x14c4]
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
and eax, 0xffffffef
mov dword [ebp - 4], 0x39
lea ecx, [ebp - 0x1510]
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
cmp byte [ebp - 0x1475], 0
je 0x424e3f
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x3b
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x1508]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x146c]
mov eax, dword [ebp - 0x1470]
or eax, 0x800000
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x4330d8
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x1508]
push 0x4330d8
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x14b0]
push edi
call dword [sym.imp.mfc140.dll_Ordinal_1526]
and dword [ebp - 0x1470], 0xff7fffff
lea ecx, [ebp - 0x1508]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x3c
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x150c]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x146c]
mov eax, dword [ebp - 0x1470]
or eax, 0x1000000
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x4330dc
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x150c]
push 0x4330dc
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x14dc]
push edi
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x150c]
and eax, 0xfeffffff
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
mov eax, dword [ebp - 0x1470]
or eax, 0x2000000
push str._r_n______
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
lea ecx, [ebp - 0x146c]
push eax
push str._r_n______
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x14e0]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
mov ecx, edi
mov byte [ebp - 4], 0x3e
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14b8]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov dword [ebp - 0x14c8], eax
lea ecx, [ebp - 0x1494]
mov eax, dword [ebp - 0x1470]
or eax, 0x4000000
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x14b8]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x14b0]
push dword [ebp - 0x14c8]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x14b8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14e0]
and eax, 0xf9ffffff
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x146c]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
jmp 0x424f64
lea ecx, [ebp - 0x1494]
mov byte [ebp - 4], 0x3f
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
lea ecx, [ebp - 0x1494]
mov eax, dword [ebp - 0x1470]
or eax, 0x8000000
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
push 0x4330c8
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
push eax
lea eax, [ebp - 0x14a8]
push 0x4330c8
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
mov ecx, edi
mov byte [ebp - 4], 0x40
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x1490]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov dword [ebp - 0x14c8], eax
mov eax, dword [ebp - 0x1470]
or eax, 0x10000000
push 0x433050
mov dword [ebp - 0x1484], eax
mov dword [ebp - 0x1470], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
mov ecx, edi
push eax
push 0x433050
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x1498]
push dword [ebp - 0x14c8]
call dword [sym.imp.mfc140.dll_Ordinal_1692]
lea ecx, [ebp - 0x1490]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1470]
lea ecx, [ebp - 0x14a8]
and eax, 0xe7ffffff
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0x4330ec
push 0x43304c
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1494]
mov byte [ebp - 4], 0x33
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x4248f1
push 0x4330f0
push 0x43304c
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x424fcb
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14d8], 0
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x146c]
mov byte [ebp - 4], 0x2b
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [ebp - 0x1470]
jmp 0x424230
lea eax, [ebp - 0x1498]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call sub.mfc140.dll_Ordinal_13198
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x42504a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x149c], 0
jmp 0x42504a
mov eax, dword [ebp - 0x1440]
xor edi, edi
mov dword [ebp - 4], 0xa
test eax, eax
jle 0x42508e
nop dword [eax]
test edi, edi
js 0x426d35
cmp edi, eax
jge 0x426d35
mov eax, dword [ebp - 0x1444]
lea ecx, [esi + 0x68]
lea eax, [eax + edi*4]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1692]
mov eax, dword [ebp - 0x1440]
inc edi
cmp edi, eax
jl 0x425060
push 0xc
mov byte [ebp - 4], 0x42
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x147c], eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x43
test edi, edi
je 0x4250db
push str.select_Name__DeviceID_from_Win32_USBController
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x4250e3
push 0x8007000e
call fcn.00417140
xor edi, edi
mov dword [ebp - 0x147c], edi
mov byte [ebp - 4], 0x42
mov dword [ebp - 0x14c8], edi
test edi, edi
jne 0x4250fb
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x44
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x45
test edi, edi
je 0x425142
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x425144
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x44
mov dword [ebp - 0x14cc], edi
test edi, edi
jne 0x42515c
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x149c]
push edx
mov edx, dword [ebp - 0x147c]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x46
push dword [edi]
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x14cc]
mov edi, eax
call fcn.00415770
lea ecx, [ebp - 0x14c8]
mov byte [ebp - 4], 0x42
call fcn.00415770
test edi, edi
jns 0x4251b0
mov byte [ebp - 4], 0xa
jmp 0x42741b
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x4257c3
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x4257a9
cmp dword [ebp - 0x14d4], 1
jne 0x4257a9
lea eax, [ebp - 0x1460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1510]
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1460]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
mov byte [ebp - 4], 0x48
call dword [ecx + 0x10]
test eax, eax
jne 0x425278
cmp word [ebp - 0x1460], 1
jbe 0x425278
push dword [ebp - 0x1458]
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
push 0x43303c
push 0x433040
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea eax, [ebp - 0x1460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x425292
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14c4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push dword [ebp - 0x14a4]
lea eax, [ebp - 0x14e8]
mov byte [ebp - 4], 0x4a
push str.ASSOCIATORS_OF_Win32_USBController.DeviceID__s__WHERE_AssocClass__Win32_USBControllerDevice
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push 0xc
mov dword [ebp - 0x14cc], eax
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x14a0], eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x4b
test edi, edi
je 0x425318
push dword [ebp - 0x14cc]
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call fcn.00417160
mov dword [edi], eax
jmp 0x425320
xor edi, edi
mov dword [ebp - 0x14a0], edi
mov byte [ebp - 4], 0x4a
mov dword [ebp - 0x14fc], edi
test edi, edi
jne 0x425338
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x4c
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x1514], edi
mov byte [ebp - 4], 0x4d
test edi, edi
je 0x42537f
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x425381
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x4c
mov dword [ebp - 0x1518], edi
test edi, edi
jne 0x425399
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x14d8]
push edx
mov edx, dword [ebp - 0x14a0]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x4e
push dword [edi]
push eax
call dword [ecx + 0x50]
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x425401
mov eax, dword [edi]
test eax, eax
je 0x4253df
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x4253f6
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
mov edi, dword [ebp - 0x14a0]
mov byte [ebp - 4], 0x4a
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x425450
mov eax, dword [edi]
test eax, eax
je 0x42542c
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x425443
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
nop
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x425770
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x425756
cmp dword [ebp - 0x14d4], 1
jne 0x425756
lea eax, [ebp - 0x1534]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1534]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425733
cmp word [ebp - 0x1534], 1
jbe 0x425733
push dword [ebp - 0x152c]
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x1534]
push eax
call edi
push 0
push str.USBSTOR
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
js 0x425720
push 0
lea ecx, [ebp - 0x1420]
call dword [sym.imp.mfc140.dll_Ordinal_310]
xorps xmm0, xmm0
mov dword [ebp - 0x147c], 0
lea ecx, [ebp - 0x1494]
movq qword [ebp - 0x141c], xmm0
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea eax, [ebp - 0x147c]
mov byte [ebp - 4], 0x50
push eax
push 0x433308
lea eax, [ebp - 0x14c8]
push eax
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_14279]
push eax
lea ecx, [ebp - 0x1494]
mov byte [ebp - 4], 0x51
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x14c8]
mov byte [ebp - 4], 0x50
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push 0x42ec10
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_2986]
test eax, eax
je 0x42563f
push 0x42ec10
push str.VID_
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea ecx, [ebp - 0x1494]
test eax, eax
jle 0x4255d0
push 0x10
push 0
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [ebp - 0x141c], eax
jmp 0x425601
push 0x42ec10
push str.PID_
call dword [sym.imp.mfc140.dll_Ordinal_12706]
test eax, eax
jle 0x425604
push 0x10
push 0
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [ebp - 0x1418], eax
add esp, 0xc
lea eax, [ebp - 0x147c]
push eax
push 0x433308
lea eax, [ebp - 0x1500]
push eax
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_14279]
push eax
lea ecx, [ebp - 0x1494]
mov byte [ebp - 4], 0x52
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1500]
jmp 0x425574
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1534]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x4329a8
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425686
cmp word [ebp - 0x1534], 1
jbe 0x425686
push dword [ebp - 0x152c]
lea ecx, [ebp - 0x1420]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1534]
push eax
call edi
lea eax, [ebp - 0x1420]
push eax
lea ecx, [ebp - 0x1430]
call dword [sym.imp.mfc140.dll_Ordinal_300]
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x142c], eax
mov eax, dword [ebp - 0x1418]
mov dword [ebp - 0x1428], eax
mov eax, dword [esi + 0x20]
sub esp, 0xc
mov edi, esp
mov dword [ebp - 0x14cc], eax
lea eax, [ebp - 0x1430]
mov byte [ebp - 4], 0x53
mov ecx, edi
mov dword [ebp - 0x14fc], edi
push eax
call dword [sym.imp.mfc140.dll_Ordinal_300]
mov eax, dword [ebp - 0x142c]
lea ecx, [esi + 0x18]
push dword [ebp - 0x14cc]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x1428]
mov dword [edi + 8], eax
call fcn.004293f0
lea ecx, [ebp - 0x1430]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1420]
mov byte [ebp - 4], 0x4a
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea eax, [ebp - 0x1498]
push eax
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x425450
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
jmp 0x425450
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x425770
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14d8], 0
lea ecx, [ebp - 0x14c4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1510]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a4]
mov byte [ebp - 4], 0x42
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x4251b0
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x4257c3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x149c], 0
xor edi, edi
cmp edi, dword [esi + 0x20]
jge 0x425819
test edi, edi
js 0x426d35
cmp edi, dword [esi + 0x20]
jge 0x426d35
mov eax, dword [esi + 0x1c]
lea ecx, [edi + edi*2]
push dword [eax + ecx*4 + 8]
push dword [eax + ecx*4 + 4]
lea eax, [ebp - 0x1498]
push str.VID_04Xh__PID_04Xh
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x10
inc edi
jmp 0x4257c5
mov dword [ebp - 4], 0xa
xor edi, edi
xorps xmm0, xmm0
mov ecx, esi
push edi
movups xmmword [ebp - 0x1468], xmm0
movq qword [ebp - 0x1458], xmm0
call fcn.004206c0
mov dword [ebp - 0x14cc], eax
cmp eax, 0xffffffff
je 0x4258bc
push 0
lea ecx, [ebp - 0x14c0]
push ecx
push 0x18
lea ecx, [ebp - 0x1468]
push ecx
push 0
push 0
push 0x70000
push eax
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [ebp - 0x1460], 0xc
jne 0x4258b0
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push edi
lea eax, [ebp - 0x147c]
mov byte [ebp - 4], 0x55
push str.WakeUp__d_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
mov ecx, esi
push edi
call fcn.00429be0
lea ecx, [ebp - 0x147c]
mov byte [ebp - 4], 0xa
call dword [sym.imp.mfc140.dll_Ordinal_1044]
push dword [ebp - 0x14cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, 0x38
jl 0x425822
push 0xc
mov byte [ebp - 4], 0x56
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x147c], eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x57
test edi, edi
je 0x425913
push str.SELECT__FROM_Win32_DiskDrive
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x42591b
push 0x8007000e
call fcn.00417140
xor edi, edi
mov dword [ebp - 0x147c], edi
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x14c8], edi
test edi, edi
jne 0x425933
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x58
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x59
test edi, edi
je 0x42597a
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x42597c
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x58
mov dword [ebp - 0x14cc], edi
test edi, edi
jne 0x425994
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x149c]
push edx
mov edx, dword [ebp - 0x147c]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x5a
push dword [edi]
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x14cc]
mov edi, eax
call fcn.00415770
lea ecx, [ebp - 0x14c8]
mov byte [ebp - 4], 0x56
call fcn.00415770
mov ecx, dword [ebp - 0x149c]
test edi, edi
jns 0x4259e8
mov byte [ebp - 4], 0xa
jmp 0x427421
test ecx, ecx
jne 0x4259f5
mov byte [ebp - 4], 0xa
jmp 0x427421
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x426dd4
cmp dword [ebp - 0x14d4], 1
jne 0x426dd4
lea ecx, [ebp - 0x14c0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14fc]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_316]
or eax, 0xffffffff
mov dword [ebp - 0x1488], 0xffffffff
mov dword [ebp - 0x148c], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x14bc], 0xffffffff
mov dword [ebp - 0x146c], eax
mov dword [ebp - 0x150c], eax
mov dword [ebp - 0x14d0], eax
lea eax, [ebp - 0x1424]
push eax
mov dword [ebp - 0x1508], 0xffffffff
mov dword [ebp - 0x1490], edi
mov byte [ebp - 4], 0x64
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push edi
push edi
push edx
mov ecx, dword [eax]
push edi
push str.Size
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425b31
cmp word [ebp - 0x1424], 1
jbe 0x425b31
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x1424]
push eax
call edi
jmp 0x425b37
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425c3b
cmp word [ebp - 0x1424], 1
jbe 0x425c3b
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
push 0x43303c
push 0x433040
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 2
lea eax, [ebp - 0x14cc]
push eax
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_12863]
mov ecx, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
lea ecx, [ebp - 0x14cc]
mov edi, eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1480]
cmp edi, 0xa
jl 0x425bf9
push 2
lea eax, [ebp - 0x14c8]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_12863]
mov ecx, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
lea ecx, [ebp - 0x14c8]
jmp 0x425c1d
push 1
lea eax, [ebp - 0x1500]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_12863]
mov ecx, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
lea ecx, [ebp - 0x1500]
add esp, 4
mov dword [ebp - 0x1488], eax
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.Model
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425c82
cmp word [ebp - 0x1424], 1
jbe 0x425c82
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.FirmwareRevision
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425cc9
cmp word [ebp - 0x1424], 1
jbe 0x425cc9
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SCSIPort
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425d0a
cmp word [ebp - 0x1424], 1
jbe 0x425d0a
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x14bc], eax
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SCSITargetId
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425d4b
cmp word [ebp - 0x1424], 1
jbe 0x425d4b
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x1508], eax
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.SCSIBus
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425d8c
cmp word [ebp - 0x1424], 1
jbe 0x425d8c
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x148c], eax
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.MediaType
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425e83
cmp word [ebp - 0x1424], 1
jbe 0x425e83
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_8672]
lea eax, [ebp - 0x1424]
push eax
call edi
push 0
push str.SanDisk_Extreme
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x425e0a
mov dword [ebp - 0x1490], 1
jmp 0x425e83
push 0
push str.Kingston_DT_Ultimate
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x425e2d
mov dword [ebp - 0x1490], 1
jmp 0x425e7d
cmp dword [esi + 0x11c], 0
je 0x425e42
mov dword [ebp - 0x1490], 1
jmp 0x425e7d
push 0
push str.removable
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x425e75
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_8146]
test al, al
jne 0x425e75
mov dword [ebp - 0x1490], 1
jmp 0x425e7d
xor edi, edi
mov dword [ebp - 0x1490], edi
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.InterfaceType
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x425eca
cmp word [ebp - 0x1424], 1
jbe 0x425eca
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push str.PNPDeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4260f1
cmp word [ebp - 0x1424], 1
jbe 0x4260f1
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_8679]
lea eax, [ebp - 0x1424]
push eax
call edi
xor ecx, ecx
mov dword [ebp - 0x14b8], ecx
cmp dword [esi + 0xb0], ecx
jle 0x425f94
test ecx, ecx
js 0x426d35
cmp ecx, dword [esi + 0xb0]
jge 0x426d35
mov eax, dword [esi + 0xac]
push 0
lea edi, [eax + ecx*4]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov edi, dword [ebp - 0x150c]
test eax, eax
mov ecx, dword [ebp - 0x14b8]
mov eax, 1
cmovns edi, eax
inc ecx
mov dword [ebp - 0x150c], edi
mov dword [ebp - 0x14b8], ecx
cmp ecx, dword [esi + 0xb0]
jl 0x425f35
xor eax, eax
mov dword [ebp - 0x14b8], eax
cmp eax, dword [esi + 0x9c]
jge 0x426014
test eax, eax
js 0x426d35
cmp eax, dword [esi + 0x9c]
jge 0x426d35
mov edi, dword [esi + 0x98]
lea ecx, [ebp - 0x1494]
shl eax, 2
push 0
mov dword [ebp - 0x14c4], eax
add edi, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
js 0x42600b
mov eax, dword [ebp - 0x14b8]
cmp eax, dword [esi + 0xc4]
jge 0x426d35
mov eax, dword [esi + 0xc0]
mov ecx, dword [ebp - 0x14c4]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14d0], eax
mov eax, dword [ebp - 0x14b8]
inc eax
jmp 0x425f96
xor ecx, ecx
mov dword [ebp - 0x14b8], ecx
cmp ecx, dword [esi + 0x74]
jge 0x42607a
test ecx, ecx
js 0x426d35
cmp ecx, dword [esi + 0x74]
jge 0x426d35
mov eax, dword [esi + 0x70]
push 0
lea edi, [eax + ecx*4]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
js 0x426071
push dword [ebp - 0x1488]
lea ecx, [esi + 0xd0]
push dword [ecx + 8]
call fcn.004292d0
mov dword [ebp - 0x146c], 1
mov ecx, dword [ebp - 0x14b8]
inc ecx
jmp 0x426016
xor ecx, ecx
mov dword [ebp - 0x14b8], ecx
cmp dword [esi + 0x88], ecx
jle 0x4260f1
nop word [eax + eax]
test ecx, ecx
js 0x426d35
cmp ecx, dword [esi + 0x88]
jge 0x426d35
mov eax, dword [esi + 0x84]
push 0
lea edi, [eax + ecx*4]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_4656]
mov edi, dword [ebp - 0x146c]
test eax, eax
mov ecx, dword [ebp - 0x14b8]
mov eax, 1
cmovns edi, eax
inc ecx
mov dword [ebp - 0x146c], edi
mov dword [ebp - 0x14b8], ecx
cmp ecx, dword [esi + 0x88]
jl 0x426090
jmp 0x4260f7
mov edi, dword [ebp - 0x146c]
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x426111
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
test edi, edi
jne 0x426d52
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push dword [ebp - 0x14b4]
lea eax, [ebp - 0x14a4]
mov byte [ebp - 4], 0x65
push dword [ebp - 0x1508]
push dword [ebp - 0x14bc]
push dword [ebp - 0x1488]
push str.DO:GetDiskInfo_pd_d__sp_d__st_d__mt_s
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
xor eax, eax
mov dword [ebp - 0x14f4], edi
add esp, 0x18
mov dword [ebp - 0x146c], eax
mov dword [ebp - 0x14b8], eax
cmp dword [ebp - 0x150c], eax
je 0x426181
mov dword [ebp - 0x14f4], 5
jmp 0x426241
push 0
push 0x4334a0
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x426237
push 0
push str.NVME
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x426237
push 0
push str.1394
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x42622b
push 0
push str._IEEE_1394_SBP2_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jg 0x42622b
push 0
push 0x433158
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x42621f
push 0
push str._USB_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jg 0x42621f
mov dword [ebp - 0x1490], 1
jmp 0x426241
mov dword [ebp - 0x14f4], 3
jmp 0x426241
mov dword [ebp - 0x14f4], 4
jmp 0x426241
mov dword [ebp - 0x14f4], 7
xor edi, edi
cmp edi, dword [esi + 0x20]
jge 0x4262c3
test edi, edi
js 0x426d35
cmp edi, dword [esi + 0x20]
jge 0x426d35
mov ecx, dword [esi + 0x1c]
lea eax, [edi + edi*2]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x14c4], eax
push 0
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x4262c0
cmp edi, dword [esi + 0x20]
jge 0x426d35
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x14c4]
mov edx, dword [eax + ecx + 4]
mov eax, dword [eax + ecx + 8]
push eax
push edx
mov dword [ebp - 0x14b8], eax
lea eax, [ebp - 0x14a4]
push str.usbVendorId_04X__usbProductId_04X
push eax
mov dword [ebp - 0x146c], edx
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x10
inc edi
jmp 0x426243
cmp dword [esi + 0xe4], 0
je 0x4262ea
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_8146]
mov edi, dword [ebp - 0x1490]
test al, al
mov eax, 1
cmovne edi, eax
jmp 0x4262f0
mov edi, dword [ebp - 0x1490]
push 0
push str.SAMSUNG_HD155UI
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x42631e
push 0
push str.SAMSUNG_HD204UI
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x426342
push 0
push str.1AQ10003
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x426342
cmp dword [esi + 0xec], 0
jne 0x4267c5
test edi, edi
je 0x4267c5
push ecx
lea eax, [ebp - 0x1494]
mov ecx, esp
push eax
call dword [sym.imp.mfc140.dll_Ordinal_300]
push dword [esi + 0xfc]
mov eax, dword [ebp - 0x14d0]
mov ecx, esi
push dword [esi + 0xf8]
push eax
mov eax, dword [ebp - 0x148c]
push eax
mov eax, dword [ebp - 0x14b8]
push eax
mov eax, dword [ebp - 0x146c]
push eax
push 0
push dword [ebp - 0x14f4]
push dword [ebp - 0x1508]
push dword [ebp - 0x14bc]
push dword [ebp - 0x1488]
call fcn.0041faf0
test eax, eax
je 0x4267c5
mov edi, dword [esi + 0xc]
lea ecx, [ebp - 0x14a0]
dec edi
mov dword [ebp - 0x146c], edi
call dword [sym.imp.mfc140.dll_Ordinal_8146]
test al, al
jne 0x426462
test edi, edi
js 0x426d35
cmp edi, dword [esi + 0xc]
jge 0x426d35
imul eax, edi, 0xa95
lea ecx, [ebp - 0x14a0]
mov edi, dword [esi + 8]
mov dword [ebp - 0x14c4], eax
add edi, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__atoi64]
add esp, 4
push 0
push 0x3e8
push edx
push eax
call fcn.00417490
push 0
push 0x3e8
push edx
push eax
call fcn.00417490
sub eax, 0x31
mov dword [edi + 0x970], eax
mov eax, dword [ebp - 0x146c]
cmp eax, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14c4]
add ecx, dword [esi + 8]
mov eax, dword [ecx + 0x940]
test eax, eax
je 0x42644f
cmp eax, 0x3e8
jb 0x426462
cmp eax, 0x2710
jae 0x426462
mov eax, dword [ecx + 0x970]
mov dword [ecx + 0x940], eax
mov eax, dword [ebp - 0x146c]
lea edi, [esi + 4]
mov dword [ebp - 0x14b8], 0
test eax, eax
js 0x426d35
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
imul eax, eax, 0xa95
add ecx, eax
mov dword [ebp - 0x1490], eax
lea eax, [ebp - 0x14a8]
add ecx, 0xa5d
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0x42ec10
push str._SCSI_Disk_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 0x42ec10
push str._SATA_Disk_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 0x42ec10
push str._ATA_Disk_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 0x42ec10
push str._SCSI_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 0x42ec10
push str._SATA_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 0x42ec10
push str._ATA_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 0x42ec10
push str.NVMe
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
cmp dword [ebp - 0x14f4], 5
jne 0x4267d6
mov eax, dword [ebp - 0x146c]
mov dword [ebp - 0x14b8], 1
cmp eax, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x1490]
push dword [eax + 0xa79]
lea eax, [ebp - 0x14a4]
push str.UASP___s_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
mov eax, dword [ebp - 0x146c]
add esp, 0xc
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x14a4]
add ecx, 0xa79
add ecx, dword [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x1490]
mov dword [eax + 0x9e4], 5
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14e4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14f8]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea eax, [ebp - 0x14a8]
mov byte [ebp - 4], 0x69
push eax
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0x42ec10
push 0x4335c4
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 8
lea eax, [ebp - 0x1510]
push eax
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_8322]
push eax
lea ecx, [ebp - 0x14e8]
mov byte [ebp - 4], 0x6a
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1510]
mov byte [ebp - 4], 0x69
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x14e0]
add eax, 0xa55
add eax, dword [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0x42ec10
push 0x4335c4
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 8
lea eax, [ebp - 0x1520]
push eax
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_8322]
push eax
lea ecx, [ebp - 0x14e4]
mov byte [ebp - 4], 0x6b
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1520]
mov byte [ebp - 4], 0x69
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x14e0]
add eax, 0xa59
add eax, dword [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0x42ec10
push 0x4335c4
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
push 8
lea eax, [ebp - 0x1518]
push eax
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_8322]
push eax
lea ecx, [ebp - 0x14f8]
mov byte [ebp - 4], 0x6c
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1518]
mov byte [ebp - 4], 0x69
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
add ecx, 0xa55
add ecx, dword [ebp - 0x1490]
call dword [sym.imp.mfc140.dll_Ordinal_8146]
test al, al
je 0x426be0
push 1
push dword [ebp - 0x146c]
mov ecx, edi
call fcn.00428d90
lea ecx, [ebp - 0x14f8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14e4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14e0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x426d52
push 0x42ec10
push str._USB_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
test eax, eax
jg 0x426a12
push 0
push 0x433158
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jns 0x426a12
push 0x42ec10
push str._IEEE_1394_SBP2_Device
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
test eax, eax
jg 0x426844
push 0
push str.1394
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
js 0x4265db
mov eax, dword [ebp - 0x146c]
mov dword [ebp - 0x14b8], 1
cmp eax, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x1490]
push dword [eax + 0xa79]
lea eax, [ebp - 0x14a4]
push str.IEEE_1394___s_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
mov eax, dword [ebp - 0x146c]
add esp, 0xc
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x14a4]
add ecx, 0xa79
add ecx, dword [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov edx, dword [ebp - 0x146c]
cmp edx, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x1490]
mov dword [eax + 0x9e4], 4
xor eax, eax
mov dword [ebp - 0x1488], eax
cmp eax, dword [esi + 0x20]
jge 0x4265db
cmp edx, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
add ecx, 0xa5d
test eax, eax
js 0x426d35
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov edi, dword [esi + 0x1c]
lea eax, [eax + eax*2]
add ecx, dword [ebp - 0x1490]
shl eax, 2
push 0
mov dword [ebp - 0x14bc], eax
add edi, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x4269fd
mov eax, dword [ebp - 0x1488]
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov edx, dword [esi + 0x1c]
lea edi, [esi + 4]
add edx, dword [ebp - 0x14bc]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
add ecx, 0xa7d
add ecx, dword [ebp - 0x1490]
push edx
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x1488]
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov eax, dword [esi + 0x1c]
add eax, dword [ebp - 0x14bc]
mov edx, dword [ebp - 0x146c]
cmp edx, dword [edi + 8]
jge 0x426d35
mov eax, dword [eax + 4]
imul ecx, edx, 0xa95
mov dword [ebp - 0x148c], ecx
mov ecx, dword [edi + 4]
add ecx, dword [ebp - 0x148c]
mov dword [ecx + 0x9f4], eax
mov eax, dword [ebp - 0x1488]
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov eax, dword [esi + 0x1c]
add eax, dword [ebp - 0x14bc]
cmp edx, dword [edi + 8]
jge 0x426d35
mov edx, dword [ebp - 0x148c]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 8]
mov dword [ecx + edx + 0x9f8], eax
mov eax, dword [ebp - 0x1488]
mov edx, dword [ebp - 0x146c]
inc eax
jmp 0x4268d0
mov eax, dword [ebp - 0x1488]
lea edi, [esi + 4]
mov edx, dword [ebp - 0x146c]
inc eax
jmp 0x4268d0
mov eax, dword [ebp - 0x146c]
mov dword [ebp - 0x14b8], 1
cmp eax, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x1490]
push dword [eax + 0xa79]
lea eax, [ebp - 0x14a4]
push str.USB___s_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
mov eax, dword [ebp - 0x146c]
add esp, 0xc
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x14a4]
add ecx, 0xa79
add ecx, dword [ebp - 0x1490]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov edx, dword [ebp - 0x146c]
cmp edx, dword [edi + 8]
jge 0x426d35
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x1490]
mov dword [eax + 0x9e4], 3
xor eax, eax
mov dword [ebp - 0x1488], eax
cmp eax, dword [esi + 0x20]
jge 0x4265db
cmp edx, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
add ecx, 0xa5d
test eax, eax
js 0x426d35
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov edi, dword [esi + 0x1c]
lea eax, [eax + eax*2]
add ecx, dword [ebp - 0x1490]
shl eax, 2
push 0
mov dword [ebp - 0x14bc], eax
add edi, eax
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
mov ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x426bcb
mov eax, dword [ebp - 0x1488]
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov edx, dword [esi + 0x1c]
lea edi, [esi + 4]
add edx, dword [ebp - 0x14bc]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
add ecx, 0xa7d
add ecx, dword [ebp - 0x1490]
push edx
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x1488]
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov eax, dword [esi + 0x1c]
add eax, dword [ebp - 0x14bc]
mov edx, dword [ebp - 0x146c]
cmp edx, dword [edi + 8]
jge 0x426d35
mov eax, dword [eax + 4]
imul ecx, edx, 0xa95
mov dword [ebp - 0x148c], ecx
mov ecx, dword [edi + 4]
add ecx, dword [ebp - 0x148c]
mov dword [ecx + 0x9f4], eax
mov eax, dword [ebp - 0x1488]
cmp eax, dword [esi + 0x20]
jge 0x426d35
mov eax, dword [esi + 0x1c]
add eax, dword [ebp - 0x14bc]
cmp edx, dword [edi + 8]
jge 0x426d35
mov edx, dword [ebp - 0x148c]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 8]
mov dword [ecx + edx + 0x9f8], eax
mov eax, dword [ebp - 0x1488]
mov edx, dword [ebp - 0x146c]
inc eax
jmp 0x426a9e
mov eax, dword [ebp - 0x1488]
lea edi, [esi + 4]
mov edx, dword [ebp - 0x146c]
inc eax
jmp 0x426a9e
cmp dword [ebp - 0x14b8], 0
jne 0x426795
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_8146]
test al, al
jne 0x426795
lea ecx, [ebp - 0x14e4]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_2986]
test eax, eax
je 0x426795
lea ecx, [ebp - 0x14f8]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea ecx, [ebp - 0x14e8]
call dword [sym.imp.mfc140.dll_Ordinal_2986]
test eax, eax
mov eax, dword [ebp - 0x146c]
jne 0x426d2c
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [ebp - 0x1490]
add ecx, dword [edi + 4]
lea eax, [ecx + 0xa49]
add ecx, 0xa45
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [ebp - 0x1490]
add ecx, dword [edi + 4]
lea eax, [ecx + 0xa51]
add ecx, 0xa4d
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [ebp - 0x1490]
add ecx, dword [edi + 4]
lea eax, [ecx + 0xa59]
add ecx, 0xa55
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
mov eax, dword [ebp - 0x146c]
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [ebp - 0x1490]
add ecx, dword [edi + 4]
lea eax, [ecx + 0xa45]
push eax
lea eax, [ecx + 0xa55]
mov ecx, esi
push eax
lea eax, [ebp - 0x1514]
push eax
call fcn.00420930
mov edx, eax
mov eax, dword [ebp - 0x146c]
mov byte [ebp - 4], 0x6d
cmp eax, dword [edi + 8]
jge 0x426d35
mov ecx, dword [edi + 4]
add ecx, 0xa61
add ecx, dword [ebp - 0x1490]
push edx
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1514]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x426795
cmp eax, dword [edi + 8]
jl 0x426795
call sub.mfc140.dll_Ordinal_2381
mov eax, 0x426d40
ret
lea ecx, [ebp - 0x147c]
mov dword [ebp - 4], 0x63
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1494]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14fc]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14c0]
mov byte [ebp - 4], 0x56
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov ecx, dword [ebp - 0x149c]
jmp 0x4259f5
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x426e08
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x149c], 0
jmp 0x426e08
mov dword [ebp - 4], 0xa
push 0xc
mov byte [ebp - 4], 0x70
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x148c], eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x71
test edi, edi
je 0x426e5c
push 0x4335c8
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x426e64
push 0x8007000e
call fcn.00417140
xor edi, edi
mov dword [ebp - 0x148c], edi
mov byte [ebp - 4], 0x70
mov dword [ebp - 0x14fc], edi
test edi, edi
jne 0x426e7c
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x72
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x14c0], edi
mov byte [ebp - 4], 0x73
test edi, edi
je 0x426ec3
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x426ec5
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x72
mov dword [ebp - 0x14c0], edi
test edi, edi
jne 0x426edd
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x149c]
push edx
mov edx, dword [ebp - 0x148c]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x74
push dword [edi]
push eax
call dword [ecx + 0x50]
lea ecx, [ebp - 0x14c0]
mov edi, eax
call fcn.00415770
lea ecx, [ebp - 0x14fc]
mov byte [ebp - 4], 0x70
call fcn.00415770
test edi, edi
jns 0x426f30
mov byte [ebp - 4], 0xa
jmp 0x42741b
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x4273f3
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x4273db
cmp dword [ebp - 0x14d4], 1
jne 0x4273db
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea eax, [ebp - 0x1424]
mov byte [ebp - 4], 0x78
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x426ffa
cmp word [ebp - 0x1424], 1
jbe 0x426ffa
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x14ac]
push eax
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0x42ec10
push str.Disk_
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_12706]
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov edx, dword [ebp - 0x1474]
add esp, 4
mov dword [ebp - 0x1514], eax
test edx, edx
je 0x427059
mov ecx, dword [edx]
push edx
call dword [ecx + 8]
mov dword [ebp - 0x1474], 0
push 0xc
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
mov dword [ebp - 0x147c], eax
add esp, 4
mov dword [ebp - 0x1518], edi
mov byte [ebp - 4], 0x79
test edi, edi
je 0x4270a2
push str.SELECT__FROM_Win32_LogicalDisk_Where_DriveType__3
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x4270aa
push 0x8007000e
call fcn.00417140
xor edi, edi
mov dword [ebp - 0x147c], edi
mov byte [ebp - 4], 0x78
mov dword [ebp - 0x14c0], edi
test edi, edi
jne 0x4270c2
push 0x8007000e
call fcn.00417140
push 0xc
mov byte [ebp - 4], 0x7a
call sub.mfc140.dll_Ordinal_1507
mov edi, eax
add esp, 4
mov dword [ebp - 0x14cc], edi
mov byte [ebp - 4], 0x7b
test edi, edi
je 0x427109
push 0x4329fc
mov dword [edi + 4], 0
mov dword [edi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [edi], eax
test eax, eax
jne 0x42710b
push 0x8007000e
call fcn.00417140
xor edi, edi
mov byte [ebp - 4], 0x7a
mov dword [ebp - 0x14c8], edi
test edi, edi
jne 0x427123
push 0x8007000e
call fcn.00417140
mov eax, dword [ebp - 0x14f0]
lea edx, [ebp - 0x14d8]
push edx
mov edx, dword [ebp - 0x147c]
push 0
mov ecx, dword [eax]
push 0x30
push dword [edx]
mov byte [ebp - 4], 0x7c
push dword [edi]
push eax
call dword [ecx + 0x50]
lea ecx, [edi + 8]
mov dword [ebp - 0x14c0], eax
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x427191
mov eax, dword [edi]
test eax, eax
je 0x42716f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x427186
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
mov edi, dword [ebp - 0x147c]
mov byte [ebp - 4], 0x78
lea eax, [edi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x4271de
mov eax, dword [edi]
test eax, eax
je 0x4271bc
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x4271d3
push eax
call sub.mfc140.dll_Ordinal_266
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004115c8
add esp, 8
cmp dword [ebp - 0x14c0], 0
jge 0x427220
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14ac]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov byte [ebp - 4], 0xa
jmp 0x42741b
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x4273a2
mov eax, dword [ecx]
lea edx, [ebp - 0x14d4]
push edx
lea edx, [ebp - 0x1474]
push edx
push 1
push 0x186a0
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x427388
cmp dword [ebp - 0x14d4], 1
jne 0x427388
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x1424]
push eax
call edi
mov eax, dword [ebp - 0x1474]
lea edx, [ebp - 0x1424]
push 0
push 0
push edx
mov ecx, dword [eax]
push 0
push 0x432a60
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4272b4
cmp word [ebp - 0x1424], 1
jbe 0x4272b4
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1528]
lea eax, [ebp - 0x1424]
push eax
call edi
mov ecx, dword [ebp - 0x1474]
test ecx, ecx
je 0x4272ce
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
push dword [ebp - 0x1480]
lea eax, [ebp - 0x14a0]
mov dword [ebp - 0x14fc], 0
push dword [ebp - 0x14ac]
push str.Win32_LogicalDiskToPartition.Antecedent_Win32_DiskPartition.DeviceID__s___Dependent_Win32_LogicalDisk.DeviceID__s__
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x10
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_2438]
mov ecx, dword [ebp - 0x14f0]
mov edi, eax
lea eax, [ebp - 0x14fc]
push eax
lea eax, [ebp - 0x1474]
mov edx, dword [ecx]
push eax
push 0
push 0
push edi
push ecx
call dword [edx + 0x18]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x1474], 0
je 0x427220
push 0
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_5059]
mov edx, dword [ebp - 0x1514]
movsx ecx, al
sub ecx, 0x41
mov eax, dword [ebp + edx*4 - 0x1414]
bts eax, ecx
mov ecx, dword [ebp - 0x1474]
mov dword [ebp + edx*4 - 0x1414], eax
test ecx, ecx
je 0x427220
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x1474], 0
jmp 0x427220
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x4273a2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14d8], 0
lea ecx, [ebp - 0x1488]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14a0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14ac]
mov byte [ebp - 4], 0x70
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x426f30
mov ecx, dword [ebp - 0x149c]
test ecx, ecx
je 0x4273f3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor ecx, ecx
mov dword [ebp - 0x149c], ecx
mov dword [ebp - 4], 0xa
jmp 0x427421
mov ecx, dword [ebp - 0x149c]
mov edx, dword [ebp - 0x1474]
test edx, edx
je 0x427441
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov ecx, dword [ebp - 0x149c]
mov dword [ebp - 0x1474], 0
test ecx, ecx
je 0x427455
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x149c], 0
mov ecx, dword [ebp - 0x14d8]
test ecx, ecx
je 0x42746f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14d8], 0
mov ecx, dword [ebp - 0x14f0]
test ecx, ecx
je 0x427489
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x14f0], 0
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1498]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1504]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x1448]
mov byte [ebp - 4], 0
call sub.mfc140.dll_Ordinal_1447
xor eax, eax
mov dword [ebp - 0x1480], eax
cmp dword [esi + 0xc], eax
jle 0x4276e7
xor edi, edi
mov dword [ebp - 0x14a0], edi
test edi, edi
js 0x426d35
cmp eax, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
cmp dword [eax + edi + 0x92c], 0
jl 0x4276c5
push 0x42ec10
lea ecx, [ebp - 0x147c]
call dword [sym.imp.mfc140.dll_Ordinal_310]
xor edi, edi
mov byte [ebp - 4], 0x7e
mov dword [ebp - 0x14d0], edi
mov eax, dword [ebp - 0x1480]
cmp eax, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
mov edx, 1
add eax, dword [ebp - 0x14a0]
mov ecx, edi
shl edx, cl
mov dword [ebp - 0x1504], edx
mov eax, dword [eax + 0x92c]
test dword [ebp + eax*4 - 0x1414], edx
je 0x427658
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea eax, [edi + 0x41]
mov byte [ebp - 4], 0x7f
push eax
lea eax, [ebp - 0x14dc]
push 0x4336fc
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
lea ecx, [ebp - 0x14dc]
mov byte [ebp - 4], 0x80
call dword [sym.imp.mfc140.dll_Ordinal_5898]
push eax
lea ecx, [ebp - 0x148c]
call dword [sym.imp.mfc140.dll_Ordinal_305]
mov edi, eax
mov eax, dword [ebp - 0x1470]
or eax, 0x20000000
push 0x433700
mov dword [ebp - 0x1470], eax
mov dword [ebp - 0x1484], eax
call dword [sym.imp.mfc140.dll_Ordinal_14238]
add esp, 4
lea ecx, [ebp - 0x14dc]
push eax
push 0x433700
call dword [sym.imp.mfc140.dll_Ordinal_5861]
push eax
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_1661]
push eax
lea eax, [ebp - 0x148c]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_3005]
add esp, 0x14
lea ecx, [ebp - 0x147c]
push edi
call dword [sym.imp.mfc140.dll_Ordinal_1692]
and dword [ebp - 0x1470], 0xdfffffff
lea ecx, [ebp - 0x148c]
mov byte [ebp - 4], 0x7f
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1480]
cmp eax, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
add eax, dword [ebp - 0x14a0]
mov ecx, dword [ebp - 0x1504]
mov byte [ebp - 4], 0x7e
add dword [eax + 0x9d8], ecx
lea ecx, [ebp - 0x14dc]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [ebp - 0x14d0]
inc edi
mov dword [ebp - 0x14d0], edi
cmp edi, 0x1a
jl 0x427520
mov eax, dword [ebp - 0x1480]
cmp eax, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x147c]
mov edi, dword [ebp - 0x14a0]
add ecx, 0xa65
push eax
add ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_2458]
mov eax, dword [ebp - 0x1480]
cmp eax, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [esi + 8]
add ecx, 0xa65
add ecx, edi
call dword [sym.imp.mfc140.dll_Ordinal_14334]
lea ecx, [ebp - 0x147c]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov eax, dword [ebp - 0x1480]
add edi, 0xa95
inc eax
mov dword [ebp - 0x14a0], edi
mov dword [ebp - 0x1480], eax
cmp eax, dword [esi + 0xc]
jl 0x4274e1
mov dword [ebp - 0x14ac], 0
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x14e4], ecx
mov dword [ebp - 0x14d0], ecx
mov dword [ebp - 0x148c], edi
cmp dword [esi + 0xc], ecx
jle 0x427751
xor edx, edx
nop
test edx, edx
js 0x426d35
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
mov edi, dword [ebp - 0x14ac]
cmp edi, dword [eax + edx + 0x92c]
mov eax, 1
mov edi, dword [ebp - 0x148c]
cmove ecx, eax
inc edi
add edx, 0xa95
mov dword [ebp - 0x148c], edi
cmp edi, dword [esi + 0xc]
jl 0x427710
xor edx, edx
cmp dword [esi + 0xd8], edx
jle 0x427794
nop dword [eax + eax]
test edx, edx
js 0x426d35
cmp edx, dword [esi + 0xd8]
jge 0x426d35
mov eax, dword [esi + 0xd4]
mov edi, dword [ebp - 0x14ac]
cmp edi, dword [eax + edx*4]
mov eax, 1
cmove ecx, eax
inc edx
cmp edx, dword [esi + 0xd8]
jl 0x427760
test ecx, ecx
jne 0x427c41
push dword [ebp - 0x14ac]
mov ecx, esi
call fcn.004206c0
mov edi, eax
mov dword [ebp - 0x147c], edi
cmp edi, 0xffffffff
je 0x427c41
push 0
lea eax, [ebp - 0x1504]
push eax
push 0x18
lea eax, [ebp - 0x144c]
push eax
push 0
push 0
push 0x70000
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x427c3a
cmp dword [ebp - 0x1504], 0x18
jne 0x427c3a
cmp dword [ebp - 0x1444], 0xc
jne 0x427c3a
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push 0x1000
mov byte [ebp - 4], 0x82
call sub.mfc140.dll_Ordinal_265
mov edi, eax
add esp, 4
test edi, edi
jne 0x42784e
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b4]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x427c41
push 0x1000
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1430], 0
lea eax, [ebp - 0x14fc]
mov dword [ebp - 0x142c], 0
mov byte [ebp - 0x1428], 0
push 0
push eax
push 0x1000
push edi
push 9
lea eax, [ebp - 0x1430]
push eax
push 0x2d1400
push dword [ebp - 0x147c]
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x4278c0
push edi
call sub.mfc140.dll_Ordinal_266
add esp, 4
push dword [ebp - 0x147c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42782d
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4278d6
add eax, edi
lea ecx, [ebp - 0x14b4]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1529]
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4278ec
add eax, edi
lea ecx, [ebp - 0x1480]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1529]
push edi
call sub.mfc140.dll_Ordinal_266
add esp, 4
lea ecx, [ebp - 0x14b4]
push 0
push str.SAMSUNG_HD155UI
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427923
push 0
push str.SAMSUNG_HD204UI
lea ecx, [ebp - 0x14b4]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x427947
push 0
push str.1AQ10003
lea ecx, [ebp - 0x1480]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427947
cmp dword [esi + 0xec], 0
jne 0x42782d
push 0x1000
lea eax, [ebp - 0x1014]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov edi, dword [ebp - 0x147c]
lea eax, [ebp - 0x1514]
add esp, 0xc
mov dword [ebp - 0x1420], 0
mov dword [ebp - 0x141c], 0
mov byte [ebp - 0x1418], 0
push 0
push eax
push 0x1000
lea eax, [ebp - 0x1014]
push eax
push 9
lea eax, [ebp - 0x1420]
push eax
push 0x2d1400
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x4279c9
cmp dword [ebp - 0xff8], 7
jne 0x4279c9
mov dword [ebp - 0x14e4], 3
mov dword [ebp - 0x14d0], 0xffff
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
mov ecx, esp
push 0x42ec10
call dword [sym.imp.mfc140.dll_Ordinal_310]
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push dword [ebp - 0x14d0]
mov ecx, esi
push 0
push dword [ebp - 0x14e4]
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp - 0x14ac]
call fcn.0041faf0
test eax, eax
je 0x42782d
mov edi, dword [esi + 0xc]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x14f8]
call dword [sym.imp.mfc140.dll_Ordinal_316]
sub edi, 1
mov byte [ebp - 4], 0x84
js 0x426d35
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
imul ecx, edi, 0xa95
mov dword [ebp - 0x14ec], ecx
add ecx, 0xa55
add eax, ecx
lea ecx, [ebp - 0x14b0]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0
push str.DW_C
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427af2
push 0
push str.iHat
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427af2
push 0
push str.ASSM
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427af2
push 0
push str.aMtx
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427af2
push 0
push str.OTHS
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427af2
push 0
push str.UFIJ
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x427bc2
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14ec]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa49]
add ecx, 0xa45
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14ec]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa51]
add ecx, 0xa4d
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14ec]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa59]
add ecx, 0xa55
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14ec]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa45]
push eax
lea eax, [ecx + 0xa55]
mov ecx, esi
push eax
lea eax, [ebp - 0x14c0]
push eax
call fcn.00420930
mov byte [ebp - 4], 0x85
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [esi + 8]
add ecx, 0xa61
add ecx, dword [ebp - 0x14ec]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x14c0]
mov byte [ebp - 4], 0x84
call dword [sym.imp.mfc140.dll_Ordinal_1044]
cmp dword [ebp - 0x14e4], 3
jne 0x427c1d
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
add eax, dword [ebp - 0x14ec]
push dword [eax + 0xa79]
lea eax, [ebp - 0x14f8]
push str.USB___s_
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x14f8]
add ecx, 0xa79
add ecx, dword [ebp - 0x14ec]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x14f8]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
jmp 0x42782d
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x14ac]
inc eax
mov dword [ebp - 0x14ac], eax
cmp eax, 0x38
jl 0x4276f1
push 0x41d200
push 0xa95
push dword [esi + 0xc]
push dword [esi + 8]
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
add esp, 0x10
cmp dword [esi + 0xe4], 0
je 0x427ea5
mov dword [ebp - 0x147c], 0
xor edi, edi
mov dword [ebp - 0x148c], edi
nop
push ecx
mov ecx, esp
push 0x42ec10
call dword [sym.imp.mfc140.dll_Ordinal_310]
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
push edi
push dword [ebp - 0x147c]
mov ecx, esi
push 0xffffffffffffffff
call fcn.0041faf0
test eax, eax
je 0x427e7f
mov edi, dword [esi + 0xc]
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_316]
sub edi, 1
mov byte [ebp - 4], 0x86
js 0x426d35
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov eax, dword [esi + 8]
imul ecx, edi, 0xa95
mov dword [ebp - 0x14dc], ecx
add ecx, 0xa55
add eax, ecx
lea ecx, [ebp - 0x14b0]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
push 0
push str.DW_C
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427d9d
push 0
push str.iHat
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427d9d
push 0
push str.ASSM
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427d9d
push 0
push str.aMtx
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427d9d
push 0
push str.OTHS
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
je 0x427d9d
push 0
push str.UFIJ
lea ecx, [ebp - 0x14b0]
call dword [sym.imp.mfc140.dll_Ordinal_4656]
test eax, eax
jne 0x427e69
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14dc]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa49]
add ecx, 0xa45
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14dc]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa51]
add ecx, 0xa4d
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14dc]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa59]
add ecx, 0xa55
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [ebp - 0x14dc]
add ecx, dword [esi + 8]
lea eax, [ecx + 0xa45]
push eax
lea eax, [ecx + 0xa55]
mov ecx, esi
push eax
lea eax, [ebp - 0x1504]
push eax
call fcn.00420930
mov byte [ebp - 4], 0x87
cmp edi, dword [esi + 0xc]
jge 0x426d35
mov ecx, dword [esi + 8]
add ecx, 0xa61
add ecx, dword [ebp - 0x14dc]
push eax
call dword [sym.imp.mfc140.dll_Ordinal_1526]
lea ecx, [ebp - 0x1504]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x14b0]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov edi, dword [ebp - 0x148c]
inc edi
mov dword [ebp - 0x148c], edi
cmp edi, 8
jl 0x427c90
mov eax, dword [ebp - 0x147c]
inc eax
mov dword [ebp - 0x147c], eax
cmp eax, 0x10
jl 0x427c87
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0xf4], eax
mov eax, dword [ebp - 0x1524]
test eax, eax
je 0x427f99
mov ecx, dword [esi + 0xc]
cmp ecx, dword [ebp - 0x1540]
jne 0x427f93
xor edx, edx
mov dword [ebp - 0x148c], edx
test ecx, ecx
jle 0x427f99
mov ecx, dword [ebp - 0x1544]
xor edi, edi
add ecx, 4
mov dword [ebp - 0x14d0], edi
mov dword [ebp - 0x147c], ecx
test edi, edi
js 0x426d35
cmp edx, dword [esi + 0xc]
jge 0x426d35
cmp edx, dword [ebp - 0x1540]
jge 0x426d35
add edi, dword [esi + 8]
mov eax, dword [edi + 0x92c]
cmp eax, dword [ecx - 4]
jne 0x427f8d
mov eax, dword [edi + 0x934]
cmp eax, dword [ecx + 4]
jne 0x427f8d
mov eax, dword [edi + 0x930]
cmp eax, dword [ecx]
jne 0x427f8d
lea edx, [ecx + 8]
lea ecx, [edi + 0xa05]
mov edi, 0x3c
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x427f8d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x427f43
mov edx, dword [ebp - 0x148c]
mov edi, dword [ebp - 0x14d0]
inc edx
mov ecx, dword [ebp - 0x147c]
add edi, 0xa95
add ecx, 0x4c
mov dword [ebp - 0x148c], edx
mov dword [ebp - 0x14d0], edi
mov dword [ebp - 0x147c], ecx
cmp edx, dword [esi + 0xc]
jl 0x427ef5
jmp 0x427f99
mov eax, dword [ebp - 0x1524]
mov dword [eax], 1
cmp dword [ebp + 0x1c], 0
je 0x427ff7
mov edi, dword [esi + 0xc]
test edi, edi
jle 0x427ff7
add edi, 0xffffffff
js 0x427ff7
lea ecx, [esi + 4]
imul esi, edi, 0xa95
mov dword [ebp - 0x1504], ecx
nop word [eax + eax]
test edi, edi
js 0x426d35
cmp edi, dword [ecx + 8]
jge 0x426d35
mov eax, dword [ecx + 4]
cmp dword [eax + esi + 0x98c], 0
jne 0x427fec
push 1
push edi
call fcn.00428d90
mov ecx, dword [ebp - 0x1504]
sub esi, 0xa95
sub edi, 1
jns 0x427fc0
lea ecx, [ebp - 0x1548]
call fcn.00418cc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00411594
mov esp, ebp
pop ebp
ret 0x18