Function at 0x441b71
Capabilities:
Connect to wmi namespace via wbemlocator
Contain obfuscated stackstrings
Get disk information
Get storage device properties
Parse pe header
Query service status
Reference wmi statements

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b85d1
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x26f4
call fcn.00488010
mov eax, dword [0x4f8560]
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 dword [ebp - 0x2528], esi
mov dword [ebp - 0x257c], esi
mov dword [ebp - 0x25d8], esi
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2674], edx
xor ebx, ebx
mov dword [ebp - 0x2554], ebx
lea ecx, [esi + 0xe8]
mov dword [ebp - 0x25ac], ecx
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
lea edi, [esi + 0xec]
mov dword [ebp - 0x256c], edi
mov dword [edi], ebx
lea ecx, [esi + 0xf0]
mov dword [ebp - 0x25b4], ecx
mov eax, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0xf4], eax
mov dword [ebp - 0x263c], ebx
lea eax, [esi + 0x100]
mov dword [ebp - 0x25bc], eax
mov dword [eax], ebx
lea eax, [esi + 0x104]
mov dword [ebp - 0x25d4], eax
mov dword [eax], ebx
mov dword [ebp - method.CList_struct_AFX_DYNAMIC_LAYOUT_ITEM___struct_AFX_DYNAMIC_LAYOUT_ITEM__.virtual_0], vtable.CArray_struct_CAtaSmart::DISK_POSITION__struct_CAtaSmart::DISK_POSITION_.0
mov dword [ebp - 0x2688], ebx
mov dword [ebp - 0x267c], ebx
mov dword [ebp - 0x2680], ebx
mov dword [ebp - 0x2684], ebx
mov dword [ebp - 4], ebx
mov eax, esi
test edx, edx
je 0x441d32
mov dword [edx], ebx
mov esi, ebx
mov dword [ebp - 0x2538], esi
cmp dword [eax + 0x10], ebx
jle 0x441d32
lea edi, [eax + 8]
mov dword [ebp - 0x2534], edi
push esi
mov ecx, edi
call fcn.0040ab14
mov eax, dword [eax + 0x1738]
mov dword [ebp - 0x151c], eax
push esi
mov ecx, edi
call fcn.0040ab14
mov eax, dword [eax + 0x1740]
mov dword [ebp - 0x1514], eax
push esi
mov ecx, edi
call fcn.0040ab14
mov eax, dword [eax + 0x173c]
mov dword [ebp - 0x1518], eax
push 0x40
push esi
mov ecx, edi
call fcn.0040ab14
add eax, 0x1836
push eax
lea eax, [ebp - 0x1510]
push eax
call fcn.00488f00
add esp, 0xc
push 0x13
pop ecx
lea esi, [ebp - 0x151c]
lea edi, [ebp - 0x14b4]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2684]
test esi, esi
js 0x446db8
push ecx
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x268c]
call fcn.00456d25
imul edi, esi, 0x4c
add edi, dword [ebp - 0x2688]
push 0x13
pop ecx
lea esi, [ebp - 0x14b4]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2538]
inc esi
mov dword [ebp - 0x2538], esi
mov eax, dword [ebp - 0x2528]
cmp esi, dword [eax + 0x10]
mov edi, dword [ebp - 0x2534]
jl 0x441c72
add eax, 8
mov dword [ebp - 0x2550], eax
mov dword [ebp - 0x25c0], eax
mov dword [ebp - 0x2530], eax
push ecx
push ebx
mov ecx, eax
call fcn.00456821
mov esi, dword [ebp - 0x2528]
lea eax, [esi + 0x1c]
mov dword [ebp - 0x25a0], eax
mov dword [ebp - 0x258c], eax
mov dword [ebp - 0x25d0], eax
push ecx
push ebx
mov ecx, eax
call fcn.00456aa9
add esi, 0x6c
mov dword [ebp - 0x25b8], esi
mov dword [ebp - 0x25a8], esi
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
mov ecx, esi
call fcn.00402266
mov esi, dword [ebp - 0x2528]
lea ecx, [esi + 0x70]
mov dword [ebp - 0x26b4], ecx
push 0xffffffffffffffff
push ebx
call fcn.0046f902
lea ecx, [esi + 0x84]
mov dword [ebp - 0x25e0], ecx
mov dword [ebp - 0x262c], ecx
push 0xffffffffffffffff
push ebx
call fcn.0046f902
lea ecx, [esi + 0x98]
mov dword [ebp - 0x25ec], ecx
mov dword [ebp - 0x26ac], ecx
push 0xffffffffffffffff
push ebx
call fcn.0046f902
lea ecx, [esi + 0xac]
mov dword [ebp - 0x25e4], ecx
mov dword [ebp - 0x26a4], ecx
push 0xffffffffffffffff
push ebx
call fcn.0046f902
lea ecx, [esi + 0xc0]
mov dword [ebp - 0x25c4], ecx
push ecx
push ebx
call fcn.0040abbc
mov dword [ebp - 0x2620], ebx
lea ecx, [esi + 0xd4]
mov dword [ebp - 0x26b8], ecx
push ecx
push ebx
call fcn.0040abbc
push 0x400
push ebx
lea eax, [ebp - 0x1414]
push eax
call fcn.00488da0
add esp, 0xc
push ecx
mov ecx, esp
cmp dword [ebp + 8], 0
je 0x445db1
mov dword [ebp - 0x2574], 1
mov dword [ebp - 0x2610], ebx
mov dword [ebp - 0x2578], ebx
mov dword [ebp - 0x2558], ebx
mov dword [ebp - 0x2548], ebx
mov dword [ebp - 0x252c], ebx
mov dword [ebp - 0x255c], esp
push str.CAtaSmart::Init_WMI_on___Start
call fcn.00402306
mov byte [ebp - 4], 1
mov byte [ebp - 4], bl
call fcn.0043bfae
mov byte [ebp - 0x251d], bl
mov dword [esp], 0x20000000
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x2538], eax
test eax, eax
je 0x441f1b
push 4
push str.Winmgmt
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
test esi, esi
je 0x441f04
push 0x1c
push ebx
lea eax, [ebp - 0x1450]
push eax
call fcn.00488da0
add esp, 0xc
lea eax, [ebp - 0x1450]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x441ef9
cmp dword [ebp - 0x144c], 4
jne 0x441ef9
mov byte [ebp - 0x251d], 1
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
call esi
jmp 0x441f0a
mov esi, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push dword [ebp - 0x2538]
call esi
cmp byte [ebp - 0x251d], 0
jne 0x441f47
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
push str.Waiting..._Winmgmt
call fcn.00402306
mov byte [ebp - 4], 2
mov byte [ebp - 4], bl
call fcn.0043bfae
call fcn.004406c9
test al, al
je 0x44219b
mov byte [ebp - 4], 3
wait
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
push str.CoInitializeSecurity__
call fcn.00402306
mov byte [ebp - 4], 4
mov byte [ebp - 4], 3
call fcn.0043bfae
pop ecx
push ebx
push ebx
push ebx
push 3
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
push ecx
mov ecx, esp
mov dword [ebp - 0x2594], esp
push str.CoCreateInstance__
call fcn.00402306
mov byte [ebp - 4], 5
mov byte [ebp - 4], 3
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x2610]
push eax
push 0x4c3850
push 1
push ebx
push 0x4c3860
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x441fe3
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
push str.NG:WMI_Init_1
call fcn.00402306
mov byte [ebp - 4], 6
mov byte [ebp - 4], 3
call fcn.0043bfae
pop ecx
jmp 0x44215b
mov esi, ebx
push ebx
xor edx, edx
push 6
pop ecx
call fcn.00440768
pop ecx
test al, al
je 0x441ffa
mov esi, 0x80
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
push str.ConnectServer__
call fcn.00402306
mov byte [ebp - 4], 7
mov byte [ebp - 4], 3
call fcn.0043bfae
mov dword [esp], str.._rootcimv2
lea ecx, [ebp - 0x2538]
call fcn.004147ed
mov byte [ebp - 4], 8
mov edx, dword [eax]
test edx, edx
je 0x44203a
mov edx, dword [edx]
jmp 0x44203c
mov edx, ebx
mov eax, dword [ebp - 0x2610]
mov ecx, dword [eax]
lea edi, [ebp - 0x2578]
push edi
push ebx
push ebx
push esi
push ebx
push ebx
push ebx
push edx
push eax
call dword [ecx + 0xc]
mov esi, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2538]
call fcn.004147bc
test esi, esi
mov edi, dword [ebp - 0x256c]
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
jns 0x44208d
push str.NG:WMI_Init_2
call fcn.00402306
mov byte [ebp - 4], 9
jmp 0x44213b
push str.CoSetProxyBlanket__
call fcn.00402306
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 3
call fcn.0043bfae
pop ecx
push ebx
push ebx
push 3
push 3
push ebx
push ebx
push 0xa
push dword [ebp - 0x2578]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
mov esi, eax
test esi, esi
jns 0x44211e
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0xb
push esi
push str.NG:WMI_Init____08X
lea eax, [ebp - 0x2534]
push eax
call fcn.00403636
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
lea eax, [ebp - 0x2534]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xb
call fcn.0043bfae
pop ecx
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2534]
lea ecx, [ecx - 0x10]
call fcn.0040259b
jmp 0x442145
mov dword [edi], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
push str.OK:WMI_Init
call fcn.00402306
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 3
call fcn.0043bfae
pop ecx
mov ecx, dword [ebp - 0x2610]
test ecx, ecx
je 0x44215b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2610], ebx
wait
mov dword [ebp - 4], ebx
jmp 0x4421bb
push ecx
mov ecx, esp
mov dword [ebp - 0x255c], esp
push str.NG:WMI_Init_3
call fcn.00402306
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], bl
call fcn.0043bfae
pop ecx
mov eax, dword [ebp - 0x256c]
cmp dword [eax], ebx
je 0x445dce
lea ecx, [ebp - 0x1448]
call fcn.0046f68e
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x255c]
call fcn.0040364a
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2540]
call fcn.0040364a
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x254c]
call fcn.0040364a
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x259c]
call fcn.0040364a
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x17
wait
push str.select_DeviceName__DriverVersion_from_Win32_PnPSignedDriver
lea ecx, [ebp - 0x2534]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x18
push 0x4d7e0c
lea ecx, [ebp - 0x2538]
call fcn.004147ed
mov byte [ebp - 4], 0x19
mov ecx, dword [esi]
test ecx, ecx
je 0x44224d
mov esi, dword [ecx]
jmp 0x44224f
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x442259
mov edx, dword [eax]
jmp 0x44225b
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea edi, [ebp - 0x2558]
push edi
push ebx
push 0x30
push esi
push edx
push eax
call dword [ecx + 0x50]
mov esi, eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2538]
call fcn.004147bc
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2534]
call fcn.004147bc
test esi, esi
jns 0x4422a1
wait
mov byte [ebp - 4], 0x16
jmp 0x445cf7
mov esi, ebx
mov dword [ebp - 0x26c4], esi
mov ecx, dword [ebp - 0x2558]
xor edi, edi
inc edi
test ecx, ecx
je 0x442420
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push edi
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x442420
cmp dword [ebp - 0x2574], edi
jne 0x44241d
cmp esi, 0x100
jge 0x44241d
inc esi
mov dword [ebp - 0x26c4], esi
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x256c]
call fcn.0040364a
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.DriverVersion
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x442371
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x442371
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2534]
call fcn.004022db
lea eax, [ebp - 0x1424]
push eax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call edi
jmp 0x442377
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.DeviceName
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4423ec
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x4423ec
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x256c]
call fcn.004022db
push ebx
push str.AMD_RAID
lea ecx, [ebp - 0x256c]
call fcn.0040a80a
test eax, eax
js 0x4423e3
push dword [ebp - 0x2534]
call fcn.00498b1f
pop ecx
fmul qword [0x4dfd68]
call fcn.00488120
mov dword [ebp - 0x263c], eax
lea eax, [ebp - 0x1424]
push eax
call edi
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x2534]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x256c]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x4422a9
xor edi, edi
inc edi
wait
mov dword [ebp - 4], 0x16
jmp 0x442469
mov byte [ebp - 4], 0x20
wait
push str.select_Name__DeviceID_from_Win32_IDEController
lea ecx, [ebp - 0x2534]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x21
push 0x4d7e0c
lea ecx, [ebp - 0x2538]
call fcn.004147ed
mov byte [ebp - 4], 0x22
mov ecx, dword [esi]
test ecx, ecx
je 0x4424a2
mov esi, dword [ecx]
jmp 0x4424a4
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x4424ae
mov edx, dword [eax]
jmp 0x4424b0
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea eax, [ebp - 0x2558]
push eax
push ebx
push 0x30
push esi
push edx
mov eax, dword [ebp - 0x2578]
push eax
call dword [ecx + 0x50]
mov esi, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2538]
call fcn.004147bc
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x2534]
call fcn.004147bc
test esi, esi
js 0x442297
mov esi, ebx
mov dword [ebp - 0x2654], esi
mov dword [ebp - 0x2590], 0x41
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x442f00
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push edi
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x442f00
cmp dword [ebp - 0x2574], 1
jne 0x442f00
cmp esi, 0x100
jge 0x442f00
inc esi
mov dword [ebp - 0x2654], esi
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x2544]
call fcn.0040364a
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x2564]
call fcn.0040364a
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x253c]
call fcn.0040364a
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x442649
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x442649
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2564]
call fcn.004022db
push ebx
push str.PCIIDEIDECHANNEL
lea ecx, [ebp - 0x2564]
call fcn.0040a80a
test eax, eax
jne 0x442623
push 1
lea eax, [ebp - 0x2538]
push eax
lea ecx, [ebp - 0x2564]
call fcn.0040330c
mov byte [ebp - 4], 0x26
push eax
lea ecx, [ebp - 0x253c]
call fcn.00401ffd
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x2538]
add ecx, 0xfffffff0
call fcn.0040259b
push 0x4da954
push 0x4ca734
lea ecx, [ebp - 0x2564]
call fcn.0040a844
lea eax, [ebp - 0x1424]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
jmp 0x44264f
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.Name
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x442730
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x442730
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2544]
call fcn.004022db
mov eax, dword [ebp - 0x253c]
cmp dword [eax - 0xc], 0
je 0x44270f
lea eax, [ebp - 0x253c]
push eax
push 0x4cefc4
lea eax, [ebp - 0x25cc]
push eax
call fcn.0040e62c
mov byte [ebp - 4], 0x28
push 0x4d17a4
push eax
lea eax, [ebp - 0x256c]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x29
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2544]
call fcn.00403393
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x256c]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x25cc]
add ecx, 0xfffffff0
call fcn.0040259b
mov ecx, dword [ebp - 0x2528]
add ecx, 0x30
lea eax, [ebp - 0x2544]
push eax
push dword [ecx + 8]
call fcn.0046f866
lea eax, [ebp - 0x1424]
push eax
call esi
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x442746
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
push ebx
push dword [ebp - 0x2544]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
cmp eax, 0xffffffff
je 0x4427a5
push str.__ATA_
lea eax, [ebp - 0x2544]
push eax
lea eax, [ebp - 0x25c8]
push eax
call fcn.0040a72e
add esp, 0xc
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x2554]
xor edi, edi
inc edi
or ecx, edi
mov dword [ebp - 0x2554], ecx
push ebx
push dword [eax]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
mov byte [ebp - 0x251d], bl
js 0x4427ac
mov byte [ebp - 0x251d], 1
mov dword [ebp - 4], 0x25
mov eax, dword [ebp - 0x2554]
test al, 1
je 0x4427dc
and eax, 0xfffffffe
mov dword [ebp - 0x2554], eax
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x25c8]
add ecx, 0xfffffff0
call fcn.0040259b
cmp byte [ebp - 0x251d], 0
je 0x44288a
lea eax, [ebp - 0x2540]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call fcn.0046f866
lea eax, [ebp - 0x2544]
push eax
push 0x4da978
lea eax, [ebp - 0x2588]
push eax
call fcn.0040e62c
mov byte [ebp - 4], 0x2e
push str.__ATA_
push eax
lea eax, [ebp - 0x2560]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x2540]
call fcn.00401ffd
mov byte [ebp - 4], 0x30
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x2560]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x31
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x2588]
add ecx, 0xfffffff0
call fcn.0040259b
push 0x4cd5bc
call fcn.0048cb73
pop ecx
push eax
push 0x4cd5bc
lea ecx, [ebp - 0x2540]
call fcn.00403393
mov edi, ebx
mov dword [ebp - 0x26c0], edi
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0x32
push dword [ebp - 0x2564]
push str.ASSOCIATORS_OF_Win32_IDEController.DeviceID__s__WHERE_AssocClass__Win32_IDEControllerDevice
lea eax, [ebp - 0x2534]
push eax
call fcn.00403636
add esp, 0xc
push dword [ebp - 0x2534]
lea ecx, [ebp - 0x2524]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x33
push 0x4d7e0c
lea ecx, [ebp - 0x2570]
call fcn.004147ed
mov byte [ebp - 4], 0x34
mov ecx, dword [esi]
test ecx, ecx
je 0x4428f0
mov esi, dword [ecx]
jmp 0x4428f2
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x4428fc
mov edx, dword [eax]
jmp 0x4428fe
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea eax, [ebp - 0x2548]
push eax
push ebx
push 0x30
push esi
push edx
mov eax, dword [ebp - 0x2578]
push eax
call dword [ecx + 0x50]
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x2570]
call fcn.004147bc
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2524]
call fcn.004147bc
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x442e6f
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x442e6f
cmp dword [ebp - 0x2574], 1
jne 0x442e6f
cmp edi, 0x100
jge 0x442e6f
inc edi
mov dword [ebp - 0x26c0], edi
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x2568]
call fcn.0040364a
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2584]
call fcn.0040364a
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x2580]
call fcn.0040364a
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1434]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x442a5f
inc eax
cmp word [ebp - 0x1434], ax
jbe 0x442a5f
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x2584]
call fcn.004022db
push ebx
push str.PCIIDEIDECHANNEL
lea ecx, [ebp - 0x2584]
call fcn.0040a80a
test eax, eax
jne 0x442a4e
push 1
lea eax, [ebp - 0x25f0]
push eax
lea ecx, [ebp - 0x2584]
call fcn.0040330c
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x2580]
call fcn.00401ffd
mov byte [ebp - 4], 0x39
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x25f0]
add ecx, 0xfffffff0
call fcn.0040259b
lea eax, [ebp - 0x1434]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
jmp 0x442a65
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1434]
push edx
push ebx
push str.Name
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x442b2e
inc eax
cmp word [ebp - 0x1434], ax
jbe 0x442b2e
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x2568]
call fcn.004022db
mov eax, dword [ebp - 0x2580]
cmp dword [eax - 0xc], 0
je 0x442b25
lea eax, [ebp - 0x2580]
push eax
push 0x4cefc4
lea eax, [ebp - 0x25f8]
push eax
call fcn.0040e62c
mov byte [ebp - 4], 0x3a
push 0x4d17a4
push eax
lea eax, [ebp - 0x25f4]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x3b
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2568]
call fcn.00403393
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x25f4]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x25f8]
add ecx, 0xfffffff0
call fcn.0040259b
lea eax, [ebp - 0x1434]
push eax
call esi
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x442b44
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
push ebx
push str.NVIDIA
lea ecx, [ebp - 0x2544]
call fcn.0040a80a
test eax, eax
jne 0x442b65
mov eax, dword [ebp - 0x25bc]
mov dword [eax], 1
push ebx
push str.Marvell
lea ecx, [ebp - 0x2544]
call fcn.0040a80a
test eax, eax
jne 0x442b86
mov eax, dword [ebp - 0x25d4]
mov dword [eax], 1
lea eax, [ebp - 0x2544]
push eax
push 0x4daa60
lea eax, [ebp - 0x2600]
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x3e
mov esi, dword [ebp - 0x2554]
or esi, 2
mov dword [ebp - 0x2554], esi
push ebx
push dword [eax]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
jns 0x442c09
lea eax, [ebp - 0x2544]
push eax
push 0x4daa6c
lea eax, [ebp - 0x25fc]
push eax
call fcn.0040e62c
add esp, 0xc
mov dword [ebp - 4], 0x3f
or esi, 4
mov dword [ebp - 0x2554], esi
push ebx
push dword [eax]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
mov byte [ebp - 0x251d], bl
js 0x442c10
mov byte [ebp - 0x251d], 1
mov dword [ebp - 4], 0x3e
mov eax, dword [ebp - 0x2554]
test al, 4
je 0x442c49
and eax, 0xfffffffb
mov dword [ebp - 0x2554], eax
mov dword [ebp - 4], 0x40
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x25fc]
add ecx, 0xfffffff0
call fcn.0040259b
mov eax, dword [ebp - 0x2554]
mov dword [ebp - 4], 0x37
test al, 2
je 0x442c73
and eax, 0xfffffffd
mov dword [ebp - 0x2554], eax
mov byte [ebp - 4], 0x41
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x2600]
add ecx, 0xfffffff0
call fcn.0040259b
cmp byte [ebp - 0x251d], 0
je 0x442da1
lea eax, [ebp - 0x2544]
push eax
push 0x4daa78
lea eax, [ebp - 0x2604]
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x42
push eax
lea ecx, [ebp - 0x254c]
call fcn.00401ffd
mov byte [ebp - 4], 0x43
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x2604]
add ecx, 0xfffffff0
call fcn.0040259b
lea eax, [ebp - 0x2544]
push eax
push 0x4daa80
lea eax, [ebp - 0x2608]
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x44
push eax
lea ecx, [ebp - 0x259c]
call fcn.00401ffd
mov byte [ebp - 4], 0x45
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x2608]
add ecx, 0xfffffff0
call fcn.0040259b
push dword [ebp - 0x259c]
push dword [ebp - 0x254c]
lea ecx, [ebp - 0x2540]
call fcn.0040a844
push str._r_n______
lea eax, [ebp - 0x2544]
push eax
lea eax, [ebp - 0x25e8]
push eax
call fcn.0040a72e
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x2568]
push ecx
push eax
lea eax, [ebp - 0x260c]
push eax
call fcn.0040a78d
add esp, 0x18
mov byte [ebp - 4], 0x47
push eax
lea ecx, [ebp - 0x254c]
call fcn.00401ffd
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x260c]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x25e8]
add ecx, 0xfffffff0
call fcn.0040259b
push dword [ebp - 0x254c]
push dword [ebp - 0x2544]
lea ecx, [ebp - 0x2540]
call fcn.0040a844
jmp 0x442e13
lea eax, [ebp - 0x2568]
push eax
push 0x4daa60
lea eax, [ebp - 0x2594]
push eax
call fcn.0040e62c
mov byte [ebp - 4], 0x4a
push 0x4cd5bc
push eax
lea eax, [ebp - 0x25b0]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x4b
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2540]
call fcn.00403393
mov byte [ebp - 4], 0x4c
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x25b0]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x4d
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x2594]
add ecx, 0xfffffff0
call fcn.0040259b
push 0x4daa9c
push 0x4da978
lea ecx, [ebp - 0x2540]
call fcn.0040a844
mov byte [ebp - 4], 0x4e
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x2580]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x4f
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x2584]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x50
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x2568]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x44293a
push 0x4cd5b4
push 0x4da978
lea ecx, [ebp - 0x2540]
call fcn.0040a844
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x442e9a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2548], ebx
mov byte [ebp - 4], 0x51
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x2534]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x52
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x253c]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x53
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x2564]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x54
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x2544]
add ecx, 0xfffffff0
call fcn.0040259b
mov esi, dword [ebp - 0x2654]
xor edi, edi
inc edi
jmp 0x442508
lea eax, [ebp - 0x2540]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call fcn.0046f866
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x442f2e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2558], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x2594], esp
push str.OK:Win32_IDEController
call fcn.00402306
mov byte [ebp - 4], 0x55
mov byte [ebp - 4], 0x20
call fcn.0043bfae
pop ecx
wait
mov dword [ebp - 4], 0x16
jmp 0x442f9f
mov byte [ebp - 4], 0x58
wait
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x2540]
call fcn.00402266
push str.select_Name__DeviceID_from_Win32_SCSIController
lea ecx, [ebp - 0x25b0]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x59
push 0x4d7e0c
lea ecx, [ebp - 0x2594]
call fcn.004147ed
mov byte [ebp - 4], 0x5a
mov ecx, dword [esi]
test ecx, ecx
je 0x442ff4
mov esi, dword [ecx]
jmp 0x442ff6
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x443000
mov edx, dword [eax]
jmp 0x443002
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea edi, [ebp - 0x2558]
push edi
push ebx
push 0x30
push esi
push edx
push eax
call dword [ecx + 0x50]
mov esi, eax
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x2594]
call fcn.004147bc
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x25b0]
call fcn.004147bc
test esi, esi
mov edi, dword [ebp - 0x2528]
jns 0x44304e
wait
mov byte [ebp - 4], 0x16
jmp 0x445d01
mov esi, ebx
mov dword [ebp - 0x2658], esi
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x443a66
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x443a66
cmp dword [ebp - 0x2574], 1
jne 0x443a66
cmp esi, 0x100
jge 0x443a66
inc esi
mov dword [ebp - 0x2658], esi
mov dword [ebp - 0x2660], ebx
mov dword [ebp - 0x2640], ebx
mov dword [ebp - 0x2618], ebx
mov dword [ebp - 0x2614], ebx
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x2524]
call fcn.0040364a
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x2568]
call fcn.0040364a
mov byte [ebp - 4], 0x5c
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x443146
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x443146
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2568]
call fcn.004022db
push 0x4da954
push 0x4ca734
lea ecx, [ebp - 0x2568]
call fcn.0040a844
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.Name
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x44337b
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x44337b
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2524]
call fcn.004022db
lea ecx, [edi + 0x44]
lea eax, [ebp - 0x2524]
push eax
push dword [ecx + 8]
call fcn.0046f866
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push ebx
push 0x4cf068
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jns 0x4431d1
push ebx
push 0x4dab68
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
js 0x4431db
mov dword [ebp - 0x2660], 1
mov eax, dword [ebp - 0x25ac]
cmp dword [eax], ebx
jne 0x4431fa
push ebx
push str.VIA_VT6410
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
je 0x443219
mov eax, dword [ebp - 0x25ac]
cmp dword [eax], ebx
jne 0x443223
push ebx
push str.ITE_IT8212
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x443223
mov dword [ebp - 0x2640], 1
push ebx
push str.NVIDIA
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x443244
mov eax, dword [ebp - 0x25bc]
mov dword [eax], 1
push ebx
push str.Marvell
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x443265
mov eax, dword [ebp - 0x25d4]
mov dword [eax], 1
push ebx
push str.DVDFab_Virtual_Drive
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x4432ab
mov byte [ebp - 4], 0x5d
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x2568]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x5e
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x2524]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x443056
push ebx
mov esi, str.Silicon_Image_SiI
push esi
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x443327
mov dword [ebp - 0x2618], 1
lea ecx, [ebp - 0x2580]
call fcn.0040364a
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x2524]
push eax
lea ecx, [ebp - 0x2580]
call fcn.00401ffd
push 0x4c9ff4
push esi
lea ecx, [ebp - 0x2580]
call fcn.0040a844
push dword [ebp - 0x2580]
call fcn.00490f02
pop ecx
mov dword [ebp - 0x2614], eax
mov byte [ebp - 4], 0x60
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x2580]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x44337b
push ebx
push str.BUFFALO_IFC_PCI2ES
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x443352
mov dword [ebp - 0x2618], 1
mov dword [ebp - 0x2614], 0xc28
jmp 0x44337b
push ebx
push str.BUFFALO_IFC_PCIE2SA
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x44337b
mov dword [ebp - 0x2618], 1
mov dword [ebp - 0x2614], 0xc3c
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x443391
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
push ebx
push dword [ebp - 0x2524]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
cmp eax, 0xffffffff
je 0x4433ee
push str.__SCSI_
lea eax, [ebp - 0x2524]
push eax
lea eax, [ebp - 0x2594]
push eax
call fcn.0040a72e
add esp, 0xc
mov byte [ebp - 4], 0x61
mov ecx, dword [ebp - 0x2554]
or ecx, 8
mov dword [ebp - 0x2554], ecx
push ebx
push dword [eax]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
mov byte [ebp - 0x251d], bl
js 0x4433f5
mov byte [ebp - 0x251d], 1
mov dword [ebp - 4], 0x5c
mov eax, dword [ebp - 0x2554]
test al, 8
je 0x443425
and eax, 0xfffffff7
mov dword [ebp - 0x2554], eax
mov byte [ebp - 4], 0x62
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x2594]
add ecx, 0xfffffff0
call fcn.0040259b
cmp byte [ebp - 0x251d], 0
je 0x4434d3
lea eax, [ebp - 0x2540]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call fcn.0046f866
lea eax, [ebp - 0x2524]
push eax
push 0x4da978
lea eax, [ebp - 0x25e8]
push eax
call fcn.0040e62c
mov byte [ebp - 4], 0x63
push str.__SCSI_
push eax
lea eax, [ebp - 0x25b0]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x64
push eax
lea ecx, [ebp - 0x2540]
call fcn.00401ffd
mov byte [ebp - 4], 0x65
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x25b0]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x66
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x25e8]
add ecx, 0xfffffff0
call fcn.0040259b
push 0x4cd5bc
call fcn.0048cb73
pop ecx
push eax
push 0x4cd5bc
lea ecx, [ebp - 0x2540]
call fcn.00403393
mov edi, ebx
mov dword [ebp - 0x26cc], edi
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0x67
push dword [ebp - 0x2568]
push str.ASSOCIATORS_OF_Win32_SCSIController.DeviceID__s__WHERE_AssocClass__Win32_SCSIControllerDevice
lea eax, [ebp - 0x2534]
push eax
call fcn.00403636
add esp, 0xc
push dword [ebp - 0x2534]
lea ecx, [ebp - 0x2608]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x68
push 0x4d7e0c
lea ecx, [ebp - 0x260c]
call fcn.004147ed
mov byte [ebp - 4], 0x69
mov ecx, dword [esi]
test ecx, ecx
je 0x443539
mov esi, dword [ecx]
jmp 0x44353b
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x443545
mov edx, dword [eax]
jmp 0x443547
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea eax, [ebp - 0x2548]
push eax
push ebx
push 0x30
push esi
push edx
mov eax, dword [ebp - 0x2578]
push eax
call dword [ecx + 0x50]
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x260c]
call fcn.004147bc
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x2608]
call fcn.004147bc
mov esi, dword [ebp - 0x2614]
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x4439e8
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x4439e8
cmp dword [ebp - 0x2574], 1
jne 0x4439e8
cmp edi, 0x100
jge 0x4439e8
inc edi
mov dword [ebp - 0x26cc], edi
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x2584]
call fcn.0040364a
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x2564]
call fcn.0040364a
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1434]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4436ba
inc eax
cmp word [ebp - 0x1434], ax
jbe 0x4436ba
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x2564]
call fcn.004022db
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [ebp - 0x2660], 0
je 0x443672
mov ecx, dword [ebp - 0x25e4]
lea eax, [ebp - 0x2564]
push eax
push dword [ecx + 8]
call fcn.0046f866
cmp dword [ebp - 0x2640], 0
je 0x443690
mov ecx, dword [ebp - 0x25e0]
lea eax, [ebp - 0x2564]
push eax
push dword [ecx + 8]
call fcn.0046f866
cmp dword [ebp - 0x2618], 0
je 0x4436ba
mov ecx, dword [ebp - 0x25ec]
lea eax, [ebp - 0x2564]
push eax
push dword [ecx + 8]
call fcn.0046f866
push esi
mov ecx, dword [ebp - 0x25c4]
call fcn.00414763
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1434]
push edx
push ebx
push str.Name
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x443701
inc eax
cmp word [ebp - 0x1434], ax
jbe 0x443701
push dword [ebp - 0x142c]
lea ecx, [ebp - 0x2584]
call fcn.004022db
lea eax, [ebp - 0x1434]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x443717
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
lea eax, [ebp - 0x2524]
push eax
push 0x4daa60
lea eax, [ebp - 0x2600]
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x2554]
or ecx, 0x10
mov dword [ebp - 0x2554], ecx
push ebx
push dword [eax]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
jns 0x443798
lea eax, [ebp - 0x2524]
push eax
push 0x4daa6c
lea eax, [ebp - 0x2604]
push eax
call fcn.0040e62c
add esp, 0xc
mov dword [ebp - 4], 0x6d
or dword [ebp - 0x2554], 0x20
push ebx
push dword [eax]
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
mov byte [ebp - 0x251d], bl
js 0x44379f
mov byte [ebp - 0x251d], 1
mov dword [ebp - 4], 0x6c
mov eax, dword [ebp - 0x2554]
test al, 0x20
je 0x4437d8
and eax, 0xffffffdf
mov dword [ebp - 0x2554], eax
mov dword [ebp - 4], 0x6e
mov byte [ebp - 4], 0x6c
mov ecx, dword [ebp - 0x2604]
add ecx, 0xfffffff0
call fcn.0040259b
mov eax, dword [ebp - 0x2554]
mov dword [ebp - 4], 0x6b
test al, 0x10
je 0x443802
and eax, 0xffffffef
mov dword [ebp - 0x2554], eax
mov byte [ebp - 4], 0x6f
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x2600]
add ecx, 0xfffffff0
call fcn.0040259b
cmp byte [ebp - 0x251d], 0
je 0x443930
lea eax, [ebp - 0x2524]
push eax
push 0x4daa78
lea eax, [ebp - 0x25fc]
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x70
push eax
lea ecx, [ebp - 0x254c]
call fcn.00401ffd
mov byte [ebp - 4], 0x71
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x25fc]
add ecx, 0xfffffff0
call fcn.0040259b
lea eax, [ebp - 0x2524]
push eax
push 0x4daa80
lea eax, [ebp - 0x25f8]
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x72
push eax
lea ecx, [ebp - 0x259c]
call fcn.00401ffd
mov byte [ebp - 4], 0x73
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x25f8]
add ecx, 0xfffffff0
call fcn.0040259b
push dword [ebp - 0x259c]
push dword [ebp - 0x254c]
lea ecx, [ebp - 0x2540]
call fcn.0040a844
push str._r_n______
lea eax, [ebp - 0x2524]
push eax
lea eax, [ebp - 0x25f0]
push eax
call fcn.0040a72e
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x2584]
push ecx
push eax
lea eax, [ebp - 0x25f4]
push eax
call fcn.0040a78d
add esp, 0x18
mov byte [ebp - 4], 0x75
push eax
lea ecx, [ebp - 0x254c]
call fcn.00401ffd
mov byte [ebp - 4], 0x76
mov byte [ebp - 4], 0x74
mov ecx, dword [ebp - 0x25f4]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x77
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x25f0]
add ecx, 0xfffffff0
call fcn.0040259b
push dword [ebp - 0x254c]
push dword [ebp - 0x2524]
lea ecx, [ebp - 0x2540]
call fcn.0040a844
jmp 0x4439a2
lea eax, [ebp - 0x2584]
push eax
push 0x4daa60
lea eax, [ebp - 0x256c]
push eax
call fcn.0040e62c
mov byte [ebp - 4], 0x78
push 0x4cd5bc
push eax
lea eax, [ebp - 0x2538]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x79
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2540]
call fcn.00403393
mov byte [ebp - 4], 0x7a
mov byte [ebp - 4], 0x78
mov ecx, dword [ebp - 0x2538]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x7b
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x256c]
add ecx, 0xfffffff0
call fcn.0040259b
push 0x4daa9c
push 0x4da978
lea ecx, [ebp - 0x2540]
call fcn.0040a844
mov byte [ebp - 4], 0x7c
mov byte [ebp - 4], 0x6a
mov ecx, dword [ebp - 0x2564]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x7d
mov byte [ebp - 4], 0x67
mov ecx, dword [ebp - 0x2584]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x443589
push 0x4cd5b4
push 0x4da978
lea ecx, [ebp - 0x2540]
call fcn.0040a844
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x443a13
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2548], ebx
mov byte [ebp - 4], 0x7e
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x2534]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x7f
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x2568]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x80
mov byte [ebp - 4], 0x58
mov ecx, dword [ebp - 0x2524]
add ecx, 0xfffffff0
call fcn.0040259b
mov esi, dword [ebp - 0x2658]
mov edi, dword [ebp - 0x2528]
jmp 0x443056
lea eax, [ebp - 0x2540]
push eax
push dword [ebp - 0x1440]
lea ecx, [ebp - 0x1448]
call fcn.0046f866
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x443a94
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2558], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x25c4], esp
push str.OK:Win32_SCSIController
call fcn.00402306
mov byte [ebp - 4], 0x81
mov byte [ebp - 4], 0x58
call fcn.0043bfae
pop ecx
wait
mov dword [ebp - 4], 0x16
jmp 0x443b05
mov esi, ebx
cmp dword [ebp - 0x1440], 0
jle 0x443b36
push esi
lea ecx, [ebp - 0x1448]
call fcn.0040af76
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
mov ecx, dword [ebp - 0x25b8]
call fcn.00403393
inc esi
cmp esi, dword [ebp - 0x1440]
jl 0x443b10
push ecx
mov eax, esp
mov dword [ebp - 0x25b8], esp
push dword [ebp - 0x25a8]
push str.__ControllerMap___r_n
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0x84
mov byte [ebp - 4], 0x16
call fcn.0043bfae
pop ecx
mov byte [ebp - 4], 0x85
wait
push str.select_Name__DeviceID_from_Win32_USBController
lea ecx, [ebp - 0x25b8]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x86
push 0x4d7e0c
lea ecx, [ebp - 0x25a8]
call fcn.004147ed
mov byte [ebp - 4], 0x87
mov ecx, dword [esi]
test ecx, ecx
je 0x443b9a
mov esi, dword [ecx]
jmp 0x443b9c
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x443ba6
mov edx, dword [eax]
jmp 0x443ba8
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea edi, [ebp - 0x2558]
push edi
push ebx
push 0x30
push esi
push edx
push eax
call dword [ecx + 0x50]
mov esi, eax
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x25a8]
call fcn.004147bc
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x25b8]
call fcn.004147bc
test esi, esi
mov edi, dword [ebp - 0x2528]
js 0x443044
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x4440d2
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x4440bc
cmp dword [ebp - 0x2574], 1
jne 0x4440bc
lea eax, [ebp - 0x1460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [ebp - 0x2560]
call fcn.0040364a
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x25e4]
call fcn.0040364a
mov byte [ebp - 4], 0x89
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1460]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x443cb3
inc eax
cmp word [ebp - 0x1460], ax
jbe 0x443cb3
push dword [ebp - 0x1458]
lea ecx, [ebp - 0x2560]
call fcn.004022db
push 0x4da954
push 0x4ca734
lea ecx, [ebp - 0x2560]
call fcn.0040a844
lea eax, [ebp - 0x1460]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x443cc9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x25e0]
call fcn.0040364a
mov byte [ebp - 4], 0x8b
push dword [ebp - 0x2560]
push str.ASSOCIATORS_OF_Win32_USBController.DeviceID__s__WHERE_AssocClass__Win32_USBControllerDevice
lea eax, [ebp - 0x2534]
push eax
call fcn.00403636
add esp, 0xc
push dword [ebp - 0x2534]
lea ecx, [ebp - 0x25b8]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0x8c
push 0x4d7e0c
lea ecx, [ebp - 0x25a8]
call fcn.004147ed
mov byte [ebp - 4], 0x8d
mov ecx, dword [esi]
test ecx, ecx
je 0x443d36
mov esi, dword [ecx]
jmp 0x443d38
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x443d42
mov edx, dword [eax]
jmp 0x443d44
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea edi, [ebp - 0x2548]
push edi
push ebx
push 0x30
push esi
push edx
push eax
call dword [ecx + 0x50]
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x25a8]
call fcn.004147bc
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x25b8]
call fcn.004147bc
mov edi, dword [ebp - 0x2528]
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x44405f
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x444049
cmp dword [ebp - 0x2574], 1
jne 0x444049
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x44402a
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x44402a
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2540]
call fcn.004022db
lea eax, [ebp - 0x1424]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
push ebx
push str.USBSTOR
lea ecx, [ebp - 0x2540]
call fcn.0040a80a
test eax, eax
js 0x444018
lea ecx, [ebp - 0x1430]
call fcn.0040364a
mov byte [ebp - 4], 0x8e
mov byte [ebp - 4], 0x8f
mov dword [ebp - 0x1428], ebx
mov dword [ebp - 0x142c], ebx
mov dword [ebp - 0x2538], ebx
lea ecx, [ebp - 0x253c]
call fcn.0040364a
mov byte [ebp - 4], 0x90
lea eax, [ebp - 0x2538]
push eax
push 0x4daed8
lea eax, [ebp - 0x25c4]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00429e2b
mov byte [ebp - 4], 0x91
push eax
lea ecx, [ebp - 0x253c]
call fcn.00401ffd
mov byte [ebp - 4], 0x92
mov byte [ebp - 4], 0x90
mov ecx, dword [ebp - 0x25c4]
add ecx, 0xfffffff0
call fcn.0040259b
push 0x4c9ff4
lea eax, [ebp - 0x253c]
push eax
call fcn.00429dc7
pop ecx
pop ecx
test al, al
je 0x443f68
push 0x4c9ff4
push str.VID_
lea ecx, [ebp - 0x253c]
call fcn.0040a844
test eax, eax
jle 0x443ef7
push 0x10
push ebx
push dword [ebp - 0x253c]
call fcn.00492b2e
mov dword [ebp - 0x142c], eax
jmp 0x443f24
push 0x4c9ff4
push str.PID_
lea ecx, [ebp - 0x253c]
call fcn.0040a844
test eax, eax
jle 0x443f27
push 0x10
push ebx
push dword [ebp - 0x253c]
call fcn.00492b2e
mov dword [ebp - 0x1428], eax
add esp, 0xc
lea eax, [ebp - 0x2538]
push eax
push 0x4daed8
lea eax, [ebp - 0x25ec]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00429e2b
mov byte [ebp - 4], 0x93
push eax
lea ecx, [ebp - 0x253c]
call fcn.00401ffd
mov byte [ebp - 4], 0x94
mov byte [ebp - 4], 0x90
mov ecx, dword [ebp - 0x25ec]
jmp 0x443ea5
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.Name
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x443fab
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x443fab
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x1430]
call fcn.004022db
lea eax, [ebp - 0x1424]
push eax
call esi
sub esp, 0xc
mov dword [ebp - 0x2594], esp
mov esi, esp
mov dword [ebp - 0x25b0], esi
lea eax, [ebp - 0x1430]
push eax
mov ecx, esi
call fcn.00401f6f
mov byte [ebp - 4], 0x95
mov eax, dword [ebp - 0x142c]
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1428]
mov dword [esi + 8], eax
mov byte [ebp - 4], 0x96
mov byte [ebp - 4], 0x90
mov ecx, dword [ebp - 0x258c]
call fcn.00456528
mov byte [ebp - 4], 0x97
mov byte [ebp - 4], 0x8f
mov ecx, dword [ebp - 0x253c]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x1430]
call fcn.00446dc8
lea eax, [ebp - 0x2540]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00401ffd
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x443d80
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
jmp 0x443d80
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x44405f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2548], ebx
mov byte [ebp - 4], 0x98
mov byte [ebp - 4], 0x8a
mov ecx, dword [ebp - 0x25e0]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x99
mov byte [ebp - 4], 0x89
mov ecx, dword [ebp - 0x2534]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x9a
mov byte [ebp - 4], 0x88
mov ecx, dword [ebp - 0x25e4]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x85
mov ecx, dword [ebp - 0x2560]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x443bee
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x4440d2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2558], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x258c], esp
push str.OK:Win32_USBController
call fcn.00402306
mov byte [ebp - 4], 0x9c
mov byte [ebp - 4], 0x85
call fcn.0043bfae
mov esi, ebx
mov dword [ebp - 0x269c], esi
pop ecx
cmp esi, dword [edi + 0x24]
jge 0x444156
push esi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
push dword [eax + 8]
push esi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
push dword [eax + 4]
push str.VID_04Xh__PID_04Xh
lea eax, [ebp - 0x2540]
push eax
call fcn.00403636
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x258c], esp
lea eax, [ebp - 0x2540]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x9d
mov byte [ebp - 4], 0x85
call fcn.0043bfae
inc esi
jmp 0x4440f4
wait
mov dword [ebp - 4], 0x16
jmp 0x4441a6
mov esi, ebx
mov dword [ebp - 0x258c], ebx
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x1468]
rep stosd dword es:[edi], eax
push esi
call fcn.0044f321
mov edi, eax
test edi, edi
je 0x444266
cmp edi, 0xffffffff
je 0x444266
push ebx
lea eax, [ebp - 0x258c]
push eax
push 0x18
lea eax, [ebp - 0x1468]
push eax
push ebx
push ebx
push 0x70000
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
cmp dword [ebp - 0x1460], 0xc
jne 0x44425f
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0xa0
push esi
push str.WakeUp__d_
lea eax, [ebp - 0x2534]
push eax
call fcn.00403636
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x25a8], esp
lea eax, [ebp - 0x2534]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xa1
mov byte [ebp - 4], 0xa0
call fcn.0043bfae
pop ecx
push esi
mov ecx, dword [ebp - 0x2528]
call fcn.0044d002
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x2534]
add ecx, 0xfffffff0
call fcn.0040259b
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, 0x38
jl 0x4441a8
mov edi, dword [ebp - 0x2528]
cmp dword [edi + 0x13c], ebx
je 0x4442bd
cmp dword [ebp - 0x263c], 0x5d
jl 0x4442bd
push 0x1000
push ebx
lea eax, [ebp - 0x251c]
push eax
call fcn.00488da0
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x258c], esp
push str.DoIdentifyDeviceAMD_RC2:begin
call fcn.00402306
mov byte [ebp - 4], 0xa3
mov byte [ebp - 4], 0x16
call fcn.0043bfae
pop ecx
jmp 0x4442d6
cmp dword [ebp - 0x263c], 0x5c
je 0x4442d6
mov esi, ebx
push esi
mov ecx, edi
call fcn.00452ebd
inc esi
cmp esi, 0x10
jl 0x4442c8
cmp dword [edi + 0x134], ebx
je 0x4442ee
mov esi, ebx
push esi
mov ecx, edi
call fcn.00453a86
inc esi
cmp esi, 0x10
jl 0x4442e0
mov byte [ebp - 4], 0xa6
wait
push ecx
mov ecx, esp
mov dword [ebp - 0x258c], esp
push str.DO:SELECT__FROM_Win32_DiskDrive
call fcn.00402306
mov byte [ebp - 4], 0xa7
mov byte [ebp - 4], 0xa6
call fcn.0043bfae
mov dword [esp], str.SELECT__FROM_Win32_DiskDrive
lea ecx, [ebp - 0x25a8]
call fcn.004147ed
mov esi, eax
mov byte [ebp - 4], 0xa8
push 0x4d7e0c
lea ecx, [ebp - 0x258c]
call fcn.004147ed
mov byte [ebp - 4], 0xa9
mov ecx, dword [esi]
test ecx, ecx
je 0x444349
mov esi, dword [ecx]
jmp 0x44434b
mov esi, ebx
mov eax, dword [eax]
test eax, eax
je 0x444355
mov edx, dword [eax]
jmp 0x444357
mov edx, ebx
mov eax, dword [ebp - 0x2578]
mov ecx, dword [eax]
lea edi, [ebp - 0x2558]
push edi
push ebx
push 0x30
push esi
push edx
push eax
call dword [ecx + 0x50]
mov esi, eax
mov byte [ebp - 4], 0xa8
lea ecx, [ebp - 0x258c]
call fcn.004147bc
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0x25a8]
call fcn.004147bc
test esi, esi
js 0x443044
push ecx
mov ecx, esp
mov dword [ebp - 0x258c], esp
push str.OK1:SELECT__FROM_Win32_DiskDrive
call fcn.00402306
mov byte [ebp - 4], 0xaa
mov byte [ebp - 4], 0xa6
call fcn.0043bfae
pop ecx
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
jne 0x4443e8
push ecx
mov ecx, esp
mov dword [ebp - 0x25c0], esp
push str.pEnumCOMDevs__NULL
call fcn.00402306
mov byte [ebp - 4], 0xab
mov byte [ebp - 4], 0xa6
call fcn.0043bfae
pop ecx
jmp 0x443044
mov eax, dword [ecx]
lea edx, [ebp - 0x2574]
push edx
lea edx, [ebp - 0x252c]
push edx
push 1
push 0x2710
push ecx
call dword [eax + 0x10]
test eax, eax
js 0x444431
push ecx
mov ecx, esp
cmp dword [ebp - 0x2574], 1
je 0x444475
mov dword [ebp - 0x25c0], esp
push str.uReturned___1
call fcn.00402306
mov byte [ebp - 4], 0xac
mov byte [ebp - 4], 0xa6
call fcn.0043bfae
pop ecx
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x444447
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2558], ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.OK2:SELECT__FROM_Win32_DiskDrive
call fcn.00402306
mov byte [ebp - 4], 0xf8
mov byte [ebp - 4], 0xa6
call fcn.0043bfae
pop ecx
wait
mov dword [ebp - 4], 0x16
jmp 0x445d01
mov dword [ebp - 0x260c], esp
push str.while_pEnumCOMDevs_...
call fcn.00402306
mov byte [ebp - 4], 0xad
mov byte [ebp - 4], 0xa6
call fcn.0043bfae
pop ecx
lea ecx, [ebp - 0x25e8]
call fcn.0040364a
mov byte [ebp - 4], 0xae
lea ecx, [ebp - 0x25b0]
call fcn.0040364a
mov byte [ebp - 4], 0xaf
lea ecx, [ebp - 0x2524]
call fcn.0040364a
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0x2564]
call fcn.0040364a
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0x2534]
call fcn.0040364a
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0x253c]
call fcn.0040364a
mov byte [ebp - 4], 0xb3
lea ecx, [ebp - 0x2568]
call fcn.0040364a
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x2570]
call fcn.0040364a
mov byte [ebp - 4], 0xb5
lea ecx, [ebp - 0x2538]
call fcn.0040364a
mov byte [ebp - 4], 0xb6
or dword [ebp - 0x25dc], 0xffffffff
or dword [ebp - 0x2624], 0xffffffff
or dword [ebp - 0x2628], 0xffffffff
or dword [ebp - 0x2644], 0xffffffff
mov dword [ebp - 0x25a4], ebx
mov edi, ebx
mov dword [ebp - 0x264c], edi
mov dword [ebp - 0x261c], ebx
mov dword [ebp - 0x2638], ebx
mov dword [ebp - 0x2648], ebx
mov byte [ebp - 4], 0xb7
wait
lea eax, [ebp - 0x1424]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.Size
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4445df
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x4445df
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2534]
call fcn.004022db
push ecx
mov eax, esp
mov dword [ebp - 0x2608], esp
lea ecx, [ebp - 0x2534]
push ecx
push str.diskSize:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xb8
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1424]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
jmp 0x4445e5
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.DeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444727
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444727
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2564]
call fcn.004022db
push ecx
mov eax, esp
mov dword [ebp - 0x2604], esp
lea ecx, [ebp - 0x2564]
push ecx
push str.deviceId:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xb9
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
mov dword [esp], 0x4da954
push 0x4ca734
lea ecx, [ebp - 0x2564]
call fcn.0040a844
push 2
lea eax, [ebp - 0x258c]
push eax
lea ecx, [ebp - 0x2564]
call fcn.0040330c
mov byte [ebp - 4], 0xba
push dword [eax]
call fcn.00490f02
pop ecx
cmp eax, 0xa
setge byte [ebp - 0x251d]
mov byte [ebp - 4], 0xbb
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x258c]
add ecx, 0xfffffff0
call fcn.0040259b
lea ecx, [ebp - 0x2564]
cmp byte [ebp - 0x251d], 0
je 0x4446e8
push 2
lea eax, [ebp - 0x25a8]
push eax
call fcn.0040330c
mov byte [ebp - 4], 0xbc
push dword [eax]
call fcn.00490f02
pop ecx
mov dword [ebp - 0x25dc], eax
mov byte [ebp - 4], 0xbd
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x25a8]
jmp 0x444716
push 1
lea eax, [ebp - 0x25b8]
push eax
call fcn.0040330c
mov byte [ebp - 4], 0xbe
push dword [eax]
call fcn.00490f02
pop ecx
mov dword [ebp - 0x25dc], eax
mov byte [ebp - 4], 0xbf
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x25b8]
add ecx, 0xfffffff0
call fcn.0040259b
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.Model
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444796
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444796
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2524]
call fcn.004022db
push ecx
mov eax, esp
mov dword [ebp - 0x2600], esp
lea ecx, [ebp - 0x2524]
push ecx
push str.model:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc0
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.FirmwareRevision
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4447d9
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x4447d9
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2538]
call fcn.004022db
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.SCSIPort
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444817
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444817
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x2624], eax
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.SCSITargetId
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444855
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444855
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x2628], eax
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.SCSIBus
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444893
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444893
mov eax, dword [ebp - 0x141c]
mov dword [ebp - 0x2644], eax
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.MediaType
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x4449c7
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x4449c7
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x253c]
call fcn.004022db
push ecx
mov eax, esp
mov dword [ebp - 0x25fc], esp
lea ecx, [ebp - 0x253c]
push ecx
push str.mediaType:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc1
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
mov eax, dword [ebp - 0x253c]
mov esi, dword [eax - 0xc]
push esi
lea ecx, [ebp - 0x253c]
call fcn.004024ec
lea ecx, [esi + 1]
push ecx
push eax
call fcn.004998f3
pop ecx
pop ecx
push esi
lea ecx, [ebp - 0x253c]
call fcn.00402524
lea eax, [ebp - 0x1424]
push eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call esi
push ebx
push str.SanDisk_Extreme
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
je 0x444967
push ebx
push str.Kingston_DT_Ultimate
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x444978
xor eax, eax
inc eax
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x2620], eax
jmp 0x4449c7
mov eax, dword [ebp - 0x2528]
cmp dword [eax + 0x124], ebx
je 0x444999
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x2620], ecx
jmp 0x4449c7
push ebx
push str.removable
lea ecx, [ebp - 0x253c]
call fcn.0040a80a
test eax, eax
jns 0x4449bf
mov eax, dword [ebp - 0x253c]
cmp dword [eax - 0xc], 0
je 0x4449bf
xor eax, eax
inc eax
jmp 0x4449c1
mov eax, ebx
mov dword [ebp - 0x25a4], eax
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.InterfaceType
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444a36
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444a36
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2568]
call fcn.004022db
push ecx
mov eax, esp
mov dword [ebp - 0x25f8], esp
lea ecx, [ebp - 0x2568]
push ecx
push str.interfaceTypeWmi:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc2
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1424]
push eax
call esi
mov eax, dword [ebp - 0x252c]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x1424]
push edx
push ebx
push str.PNPDeviceID
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x444cbf
inc eax
cmp word [ebp - 0x1424], ax
jbe 0x444cbf
push dword [ebp - 0x141c]
lea ecx, [ebp - 0x2570]
call fcn.004022db
push ecx
mov eax, esp
mov dword [ebp - 0x25f4], esp
lea ecx, [ebp - 0x2570]
push ecx
push str.pnpDeviceId:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc3
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
lea ecx, [ebp - 0x2570]
call fcn.0040a7e2
lea eax, [ebp - 0x1424]
push eax
call esi
mov esi, ebx
mov dword [ebp - 0x26a8], esi
mov eax, dword [ebp - 0x2528]
cmp esi, dword [eax + 0xb4]
jge 0x444b25
push ebx
push dword [ebp - 0x2570]
push esi
mov ecx, dword [ebp - 0x26a4]
call fcn.0040af76
mov ecx, eax
call fcn.0040a80a
test eax, eax
js 0x444b22
push ecx
mov eax, esp
mov dword [ebp - 0x25f0], esp
lea ecx, [ebp - 0x2570]
push ecx
push str.UASPController:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc4
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
mov dword [ebp - 0x261c], 1
inc esi
jmp 0x444aba
mov esi, ebx
mov dword [ebp - 0x26b0], esi
cmp esi, dword [eax + 0xa0]
jge 0x444bb4
push ebx
push dword [ebp - 0x2570]
push esi
mov ecx, dword [ebp - 0x26ac]
call fcn.0040af76
mov ecx, eax
call fcn.0040a80a
test eax, eax
js 0x444ba8
push ecx
mov eax, esp
mov dword [ebp - 0x2704], esp
lea ecx, [ebp - 0x2570]
push ecx
push str.SiliconImageController:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc5
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
test esi, esi
js 0x446db8
mov eax, dword [ebp - 0x25d8]
cmp esi, dword [eax + 0xc8]
jge 0x446db8
mov eax, dword [eax + 0xc4]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x2648], eax
inc esi
mov eax, dword [ebp - 0x2528]
jmp 0x444b27
mov esi, ebx
mov dword [ebp - 0x2650], esi
cmp esi, dword [eax + 0x78]
jge 0x444c53
push ebx
push dword [ebp - 0x2570]
push esi
mov ecx, dword [ebp - 0x26b4]
call fcn.0040af76
mov ecx, eax
call fcn.0040a80a
test eax, eax
js 0x444c47
push ecx
mov eax, esp
mov dword [ebp - 0x26fc], esp
lea ecx, [ebp - 0x2570]
push ecx
push str.BlackIdeController:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc6
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
mov esi, dword [ebp - 0x26b8]
mov edi, dword [esi + 8]
test edi, edi
js 0x446db8
push ecx
lea eax, [edi + 1]
push eax
mov ecx, esi
call fcn.0040abbc
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x25dc]
mov dword [eax + edi*4], ecx
xor edi, edi
inc edi
mov dword [ebp - 0x264c], edi
mov esi, dword [ebp - 0x2650]
inc esi
mov eax, dword [ebp - 0x2528]
jmp 0x444bb6
mov esi, ebx
mov dword [ebp - 0x26bc], esi
cmp esi, dword [eax + 0x8c]
jge 0x444cbf
push ebx
push dword [ebp - 0x2570]
push esi
mov ecx, dword [ebp - 0x262c]
call fcn.0040af76
mov ecx, eax
call fcn.0040a80a
test eax, eax
js 0x444cb6
push ecx
mov eax, esp
mov dword [ebp - 0x26f8], esp
lea ecx, [ebp - 0x2570]
push ecx
push str.BlackScsiController:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xc7
mov byte [ebp - 4], 0xb7
call fcn.0043bfae
pop ecx
xor edi, edi
inc edi
mov dword [ebp - 0x264c], edi
inc esi
mov eax, dword [ebp - 0x2528]
jmp 0x444c55
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x444cd5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
test edi, edi
jne 0x445b9a
lea ecx, [ebp - 0x2588]
call fcn.0040364a
mov byte [ebp - 4], 0xc8
push dword [ebp - 0x253c]
push dword [ebp - 0x2628]
push dword [ebp - 0x2624]
push dword [ebp - 0x25dc]
push str.DO:GetDiskInfo_pd_d__sp_d__st_d__mt_s
lea eax, [ebp - 0x2588]
push eax
call fcn.00403636
add esp, 0x14
mov ecx, esp
mov dword [ebp - 0x26f4], esp
lea eax, [ebp - 0x2588]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xc9
mov byte [ebp - 4], 0xc8
call fcn.0043bfae
pop ecx
mov edi, ebx
mov dword [ebp - 0x2634], ebx
mov eax, ebx
mov dword [ebp - 0x2678], eax
push ebx
push str.1394
lea ecx, [ebp - 0x2568]
call fcn.0040a80a
test eax, eax
jns 0x444e74
push ebx
push str._IEEE_1394_SBP2_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jg 0x444e74
push ebx
push 0x4cf068
lea ecx, [ebp - 0x2568]
call fcn.0040a80a
test eax, eax
jns 0x444e1a
push ebx
push str._USB_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jg 0x444e1a
cmp dword [ebp - 0x261c], 0
jne 0x444e1a
push ebx
push 0x4db430
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jns 0x444deb
push ebx
push str.NVME
lea ecx, [ebp - 0x2570]
call fcn.0040a80a
test eax, eax
jns 0x444deb
xor eax, eax
inc eax
mov dword [ebp - 0x25a4], eax
jmp 0x444e98
push ecx
mov ecx, esp
mov dword [ebp - 0x26ec], esp
push str.INTERFACE_TYPE_NVME
call fcn.00402306
mov byte [ebp - 4], 0xcc
mov byte [ebp - 4], 0xc8
call fcn.0043bfae
pop ecx
push 6
mov dword [ebp - 0x2638], 1
jmp 0x444e97
push ecx
mov ecx, esp
mov dword [ebp - 0x26f0], esp
push str.INTERFACE_TYPE_USB
call fcn.00402306
mov byte [ebp - 4], 0xcb
mov byte [ebp - 4], 0xc8
call fcn.0043bfae
pop ecx
push 3
pop edi
push ebx
push 0x4db430
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jns 0x444e68
push ebx
push str.NVME
lea ecx, [ebp - 0x2570]
call fcn.0040a80a
test eax, eax
js 0x444e98
mov dword [ebp - 0x2638], 1
jmp 0x444e98
push ecx
mov ecx, esp
mov dword [ebp - 0x2700], esp
push str.INTERFACE_TYPE_IEEE1394
call fcn.00402306
mov byte [ebp - 4], 0xca
mov byte [ebp - 4], 0xc8
call fcn.0043bfae
pop ecx
push 4
pop edi
mov esi, ebx
mov dword [ebp - 0x26c8], esi
mov eax, dword [ebp - 0x2528]
cmp esi, dword [eax + 0x24]
jge 0x444f3a
push esi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
push ebx
push dword [eax]
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x444f34
push esi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov eax, dword [eax + 4]
mov dword [ebp - 0x2634], eax
push esi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov eax, dword [eax + 8]
mov dword [ebp - 0x2678], eax
push eax
push dword [ebp - 0x2634]
push str.usbVendorId_04X__usbProductId_04X
lea eax, [ebp - 0x2588]
push eax
call fcn.00403636
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x26d4], esp
lea eax, [ebp - 0x2588]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xcd
mov byte [ebp - 4], 0xc8
call fcn.0043bfae
pop ecx
inc esi
jmp 0x444e9a
mov eax, dword [ebp - 0x25ac]
cmp dword [eax], ebx
je 0x444f5b
mov eax, dword [ebp - 0x253c]
cmp dword [eax - 0xc], 0
jne 0x444f5b
xor esi, esi
inc esi
mov dword [ebp - 0x25a4], esi
jmp 0x444f61
mov esi, dword [ebp - 0x25a4]
push ebx
push str.SAMSUNG_HD155UI
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
je 0x444f8b
push ebx
push str.SAMSUNG_HD204UI
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
test eax, eax
jne 0x444fb6
push ebx
push str.1AQ10003
lea ecx, [ebp - 0x2538]
call fcn.0040a80a
test eax, eax
je 0x444fb6
mov eax, dword [ebp - 0x25b4]
mov eax, dword [eax]
neg eax
sbb eax, eax
not eax
and esi, eax
mov dword [ebp - 0x25a4], esi
push ebx
push str.FuzeDrive
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
cmp eax, 0xffffffff
jne 0x444fe2
push ebx
push str.StoreMI
lea ecx, [ebp - 0x2524]
call fcn.0040a80a
cmp eax, 0xffffffff
je 0x444fea
mov esi, ebx
mov dword [ebp - 0x25a4], esi
mov eax, dword [ebp - 0x2528]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x25c4], eax
push ecx
mov ecx, esp
mov dword [ebp - 0x26d8], esp
push str.flagTarget__GetDiskInfo
call fcn.00402306
mov byte [ebp - 4], 0xce
mov byte [ebp - 4], 0xc8
call fcn.0043bfae
pop ecx
test esi, esi
je 0x445b84
push dword [ebp - 0x261c]
push dword [ebp - 0x2638]
push ecx
mov ecx, esp
mov dword [ebp - 0x26dc], esp
lea eax, [ebp - 0x2570]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0x25d4]
push dword [eax]
mov eax, dword [ebp - 0x25bc]
push dword [eax]
push dword [ebp - 0x2648]
push dword [ebp - 0x2644]
mov eax, dword [ebp - 0x2678]
push eax
push dword [ebp - 0x2634]
push ebx
push edi
push dword [ebp - 0x2628]
push dword [ebp - 0x2624]
push dword [ebp - 0x25dc]
mov byte [ebp - 4], 0xc8
mov esi, dword [ebp - 0x2528]
mov ecx, esi
call fcn.0044d0b6
test eax, eax
je 0x445b84
lea ecx, [ebp - 0x2580]
call fcn.0040364a
mov byte [ebp - 4], 0xd0
mov eax, dword [esi + 0x10]
dec eax
push eax
push str.index_d
lea eax, [ebp - 0x2580]
push eax
call fcn.00403636
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x26e0], esp
lea eax, [ebp - 0x2580]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xd1
mov byte [ebp - 4], 0xd0
call fcn.0043bfae
pop ecx
mov edi, dword [esi + 0x10]
dec edi
mov dword [ebp - 0x2698], edi
mov dword [ebp - 0x2544], edi
lea eax, [edi + 1]
mov ecx, dword [ebp - 0x25c4]
cmp eax, ecx
jle 0x445b6e
push ecx
mov eax, dword [esi + 0x10]
dec eax
push eax
push str.index_d__previousCount_d
lea eax, [ebp - 0x2580]
push eax
call fcn.00403636
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x26e4], esp
lea eax, [ebp - 0x2580]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0xd2
mov byte [ebp - 4], 0xd0
call fcn.0043bfae
pop ecx
mov eax, dword [ebp - 0x2534]
cmp dword [eax - 0xc], 0
je 0x4451f3
push eax
call fcn.00490f41
pop ecx
push ebx
mov esi, 0x3e8
push esi
push edx
push eax
call fcn.00488070
push ebx
push esi
push edx
push eax
call fcn.00488070
lea esi, [eax - 0x31]
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1784], esi
push edi
mov esi, dword [ebp - 0x2550]
mov ecx, esi
call fcn.0040ab14
cmp dword [eax + 0x174c], ebx
jbe 0x4451b0
push edi
mov ecx, esi
call fcn.0040ab14
cmp dword [eax + 0x174c], 0x3e8
jb 0x4451f3
push edi
mov ecx, esi
call fcn.0040ab14
push edi
mov ecx, esi
cmp dword [eax + 0x174c], 0x2710
jae 0x4451e6
call fcn.0040ab14
mov esi, dword [eax + 0x1784]
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x174c], esi
jmp 0x4451f3
call fcn.0040ab14
push edi
mov ecx, esi
call fcn.0040ab14
mov esi, ebx
push edi
mov ecx, dword [ebp - 0x25c0]
call fcn.0040ab14
lea ecx, [ebp - 0x2524]
push ecx
lea ecx, [eax + 0x1890]
call fcn.00401ffd
push 0x4c9ff4
push str._SCSI_Disk_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
push 0x4c9ff4
push str._SATA_Disk_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
push 0x4c9ff4
push str._ATA_Disk_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
push 0x4c9ff4
push str._SCSI_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
push 0x4c9ff4
push str._SATA_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
push 0x4c9ff4
push str._ATA_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
push 0x4c9ff4
push str.NVMe
lea ecx, [ebp - 0x2524]
call fcn.0040a844
cmp dword [ebp - 0x261c], 0
je 0x4453f6
xor eax, eax
inc eax
mov dword [ebp - 0x2584], eax
push edi
mov esi, dword [ebp - 0x2550]
mov ecx, esi
call fcn.0040ab14
push dword [eax + 0x18ac]
push str.UASP___s_
lea eax, [ebp - 0x2588]
push eax
call fcn.00403636
add esp, 0xc
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [ebp - 0x2588]
push ecx
lea ecx, [eax + 0x18ac]
call fcn.00401ffd
push edi
mov ecx, esi
call fcn.0040ab14
mov dword [eax + 0x1814], 3
push edi
mov ecx, esi
call fcn.0040ab14
mov dword [eax + 0x1734], 1
mov edi, ebx
mov dword [ebp - 0x26d0], edi
mov esi, dword [ebp - 0x2544]
mov eax, dword [ebp - 0x2528]
cmp edi, dword [eax + 0x24]
jge 0x4456aa
push ebx
push esi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
push dword [eax + 0x1890]
push edi
mov ecx, dword [ebp - 0x25d0]
call fcn.00456509
mov ecx, eax
call fcn.0040a80a
test eax, eax
jne 0x4453ea
push edi
mov ecx, dword [ebp - 0x25d0]
call fcn.00456509
mov esi, eax
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x18b0]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov esi, dword [eax + 4]
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1824], esi
push edi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov esi, dword [eax + 8]
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1828], esi
mov esi, dword [ebp - 0x2544]
inc edi
mov dword [ebp - 0x26d0], edi
jmp 0x445334
push 0x4c9ff4
push str._USB_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
test eax, eax
jg 0x445584
push ebx
push 0x4cf068
lea ecx, [ebp - 0x2568]
call fcn.0040a80a
test eax, eax
jns 0x445584
push 0x4c9ff4
push str._IEEE_1394_SBP2_Device
lea ecx, [ebp - 0x2524]
call fcn.0040a844
test eax, eax
jg 0x44545e
push ebx
push str.1394
lea ecx, [ebp - 0x2568]
call fcn.0040a80a
test eax, eax
js 0x4456b6
xor eax, eax
inc eax
mov dword [ebp - 0x2584], eax
push edi
mov esi, dword [ebp - 0x2550]
mov ecx, esi
call fcn.0040ab14
push dword [eax + 0x18ac]
push str.IEEE_1394___s_
lea eax, [ebp - 0x2588]
push eax
call fcn.00403636
add esp, 0xc
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [ebp - 0x2588]
push ecx
lea ecx, [eax + 0x18ac]
call fcn.00401ffd
push edi
mov ecx, esi
call fcn.0040ab14
mov dword [eax + 0x1814], 4
mov edi, ebx
mov dword [ebp - 0x2690], edi
mov eax, dword [ebp - 0x2528]
cmp edi, dword [eax + 0x24]
jge 0x4456aa
push ebx
push dword [ebp - 0x2544]
mov ecx, esi
call fcn.0040ab14
push dword [eax + 0x1890]
push edi
mov ecx, dword [ebp - 0x25d0]
call fcn.00456509
mov ecx, eax
call fcn.0040a80a
test eax, eax
jne 0x44557e
push edi
mov ecx, dword [ebp - 0x25d0]
call fcn.00456509
mov esi, eax
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x18b0]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov esi, dword [eax + 4]
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1824], esi
push edi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov esi, dword [eax + 8]
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1828], esi
mov esi, dword [ebp - 0x2550]
inc edi
jmp 0x4454c1
xor eax, eax
inc eax
mov dword [ebp - 0x2584], eax
push edi
mov esi, dword [ebp - 0x2550]
mov ecx, esi
call fcn.0040ab14
push dword [eax + 0x18ac]
push str.USB___s_
lea eax, [ebp - 0x2588]
push eax
call fcn.00403636
add esp, 0xc
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [ebp - 0x2588]
push ecx
lea ecx, [eax + 0x18ac]
call fcn.00401ffd
push edi
mov ecx, esi
call fcn.0040ab14
mov dword [eax + 0x1814], 3
mov edi, ebx
mov dword [ebp - 0x2694], edi
mov eax, dword [ebp - 0x2528]
cmp edi, dword [eax + 0x24]
jge 0x4456aa
push ebx
push dword [ebp - 0x2544]
mov ecx, esi
call fcn.0040ab14
push dword [eax + 0x1890]
push edi
mov ecx, dword [ebp - 0x25d0]
call fcn.00456509
mov ecx, eax
call fcn.0040a80a
test eax, eax
jne 0x4456a4
push edi
mov ecx, dword [ebp - 0x25d0]
call fcn.00456509
mov esi, eax
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x18b0]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov esi, dword [eax + 4]
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1824], esi
push edi
mov ecx, dword [ebp - 0x25a0]
call fcn.00456509
mov esi, dword [eax + 8]
push dword [ebp - 0x2544]
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov dword [eax + 0x1828], esi
mov esi, dword [ebp - 0x2550]
inc edi
jmp 0x4455e7
mov edi, dword [ebp - 0x2544]
mov esi, dword [ebp - 0x2584]
lea ecx, [ebp - 0x2560]
call fcn.0040364a
mov byte [ebp - 4], 0xd3
lea ecx, [ebp - 0x256c]
call fcn.0040364a
mov byte [ebp - 4], 0xd4
lea ecx, [ebp - 0x25cc]
call fcn.0040364a
mov byte [ebp - 4], 0xd5
lea ecx, [ebp - 0x25c8]
call fcn.0040364a
mov byte [ebp - 4], 0xd6
lea eax, [ebp - 0x2524]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00401ffd
push 0x4c9ff4
push 0x4d0680
lea ecx, [ebp - 0x2560]
call fcn.0040a844
push 8
lea eax, [ebp - 0x25ec]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00411461
mov byte [ebp - 4], 0xd7
push eax
lea ecx, [ebp - 0x256c]
call fcn.00401ffd
mov byte [ebp - 4], 0xd8
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x25ec]
add ecx, 0xfffffff0
call fcn.0040259b
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
lea ecx, [ebp - 0x2560]
call fcn.00401ffd
push 0x4c9ff4
push 0x4d0680
lea ecx, [ebp - 0x2560]
call fcn.0040a844
push 8
lea eax, [ebp - 0x25e0]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00411461
mov byte [ebp - 4], 0xd9
push eax
lea ecx, [ebp - 0x25cc]
call fcn.00401ffd
mov byte [ebp - 4], 0xda
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x25e0]
add ecx, 0xfffffff0
call fcn.0040259b
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x188c
push eax
lea ecx, [ebp - 0x2560]
call fcn.00401ffd
push 0x4c9ff4
push 0x4d0680
lea ecx, [ebp - 0x2560]
call fcn.0040a844
push 8
lea eax, [ebp - 0x25e4]
push eax
lea ecx, [ebp - 0x2560]
call fcn.00411461
mov byte [ebp - 4], 0xdb
push eax
lea ecx, [ebp - 0x25c8]
call fcn.00401ffd
mov byte [ebp - 4], 0xdc
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x25e4]
add ecx, 0xfffffff0
call fcn.0040259b
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov eax, dword [eax + 0x1888]
cmp dword [eax - 0xc], 0
jne 0x4458d7
push ecx
mov eax, esp
mov dword [ebp - 0x26e8], esp
lea ecx, [ebp - 0x2524]
push ecx
push str.WmiModel:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xdd
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
mov esi, esp
mov dword [ebp - 0x26a0], esp
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1878
push eax
push str.SerialNumber:
push esi
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xde
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
mov ecx, esp
mov dword [ebp - 0x265c], esp
push str.vars.RemoveAt_index____1
call fcn.00402306
mov byte [ebp - 4], 0xdf
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.00456428
jmp 0x445aea
test esi, esi
jne 0x445aea
mov eax, dword [ebp - 0x2524]
cmp dword [eax - 0xc], esi
je 0x445aea
cmp dword [ebp - 0x25cc], esi
je 0x446dbd
push dword [ebp - 0x25cc]
push dword [ebp - 0x256c]
call fcn.00490f86
pop ecx
pop ecx
test eax, eax
je 0x445aea
cmp dword [ebp - 0x25c8], esi
je 0x446dbd
push dword [ebp - 0x25c8]
push dword [ebp - 0x256c]
call fcn.00490f86
pop ecx
pop ecx
push edi
mov ecx, dword [ebp - 0x2550]
test eax, eax
jne 0x445a23
call fcn.0040ab14
lea esi, [eax + 0x187c]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1878]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x1884]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1880]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x188c]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1888]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1878
push eax
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
lea eax, [ebp - 0x2594]
push eax
call fcn.00429cf1
mov esi, eax
mov byte [ebp - 4], 0xe0
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1894]
push esi
call fcn.00401ffd
mov byte [ebp - 4], 0xe1
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x2594]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x445aea
call fcn.0040ab14
cmp dword [eax + 0x1814], 3
je 0x445aea
push ecx
mov eax, esp
mov dword [ebp - 0x2668], esp
lea ecx, [ebp - 0x2524]
push ecx
push str.WmiModel:
push eax
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xe2
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
mov esi, esp
mov dword [ebp - 0x2664], esp
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
push str.Model:
push esi
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xe3
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
mov esi, esp
mov dword [ebp - 0x266c], esp
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1878
push eax
push str.SerialNumber:
push esi
call fcn.0040e62c
add esp, 0xc
mov byte [ebp - 4], 0xe4
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
mov ecx, esp
mov dword [ebp - 0x2670], esp
push str.DISABLED:_vars.RemoveAt_index____2
call fcn.00402306
mov byte [ebp - 4], 0xe5
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
pop ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x2630], esp
push str.OK:Check_Model_Name
call fcn.00402306
mov byte [ebp - 4], 0xe6
mov byte [ebp - 4], 0xd6
call fcn.0043bfae
pop ecx
mov byte [ebp - 4], 0xe7
mov byte [ebp - 4], 0xd5
mov ecx, dword [ebp - 0x25c8]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xe8
mov byte [ebp - 4], 0xd4
mov ecx, dword [ebp - 0x25cc]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xe9
mov byte [ebp - 4], 0xd3
mov ecx, dword [ebp - 0x256c]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xea
mov byte [ebp - 4], 0xd0
mov ecx, dword [ebp - 0x2560]
add ecx, 0xfffffff0
call fcn.0040259b
mov esi, dword [ebp - 0x2528]
jmp 0x4450e9
mov byte [ebp - 4], 0xeb
mov byte [ebp - 4], 0xc8
mov ecx, dword [ebp - 0x2580]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xec
mov byte [ebp - 4], 0xb7
mov ecx, dword [ebp - 0x2588]
add ecx, 0xfffffff0
call fcn.0040259b
wait
mov dword [ebp - 4], 0xb6
jmp 0x445bea
mov byte [ebp - 4], 0xef
mov byte [ebp - 4], 0xb5
mov ecx, dword [ebp - 0x2538]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf0
mov byte [ebp - 4], 0xb4
mov ecx, dword [ebp - 0x2570]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf1
mov byte [ebp - 4], 0xb3
mov ecx, dword [ebp - 0x2568]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf2
mov byte [ebp - 4], 0xb2
mov ecx, dword [ebp - 0x253c]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf3
mov byte [ebp - 4], 0xb1
mov ecx, dword [ebp - 0x2534]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf4
mov byte [ebp - 4], 0xb0
mov ecx, dword [ebp - 0x2564]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf5
mov byte [ebp - 4], 0xaf
mov ecx, dword [ebp - 0x2524]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf6
mov byte [ebp - 4], 0xae
mov ecx, dword [ebp - 0x25b0]
add ecx, 0xfffffff0
call fcn.0040259b
mov byte [ebp - 4], 0xf7
mov byte [ebp - 4], 0xa6
mov ecx, dword [ebp - 0x25e8]
add ecx, 0xfffffff0
call fcn.0040259b
mov ecx, dword [ebp - 0x2558]
jmp 0x4443e8
mov dword [ebp - 0x2590], 0x41
mov ecx, dword [ebp - 0x252c]
test ecx, ecx
je 0x445d17
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x252c], ebx
mov ecx, dword [ebp - 0x2558]
test ecx, ecx
je 0x445d2d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2558], ebx
mov ecx, dword [ebp - 0x2548]
test ecx, ecx
je 0x445d43
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2548], ebx
mov ecx, dword [ebp - 0x2578]
test ecx, ecx
je 0x445d59
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x2578], ebx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x259c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x254c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x2540]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x255c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1448]
call fcn.0046f6a5
jmp 0x445dd8
mov dword [ebp - 0x2598], esp
push str.CAtaSmart::Init_WMI_off___Start
call fcn.00402306
mov byte [ebp - 4], 0xff
mov byte [ebp - 4], bl
call fcn.0043bfae
pop ecx
mov dword [ebp - 0x2590], 0x41
mov dword [ebp - 0x259c], ebx
mov dword [ebp - 0x2538], ebx
mov dword [ebp - 0x25d4], ebx
push 6
pop ecx
xor eax, eax
lea edi, [ebp - 0x144c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x2534], ebx
mov dword [ebp - 0x256c], ebx
mov esi, ebx
mov eax, dword [ebp - 0x2528]
mov edi, dword [ebp - 0x259c]
cmp dword [eax + 0x10], ebx
jle 0x445e42
push esi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
cmp edi, dword [eax + 0x1738]
jne 0x445e34
mov dword [ebp - 0x2538], 1
inc esi
mov eax, dword [ebp - 0x2528]
cmp esi, dword [eax + 0x10]
jl 0x445e16
xor ebx, ebx
mov ecx, ebx
mov esi, dword [ebp - 0x2528]
mov edx, dword [esi + 0xdc]
test edx, edx
jle 0x445e84
test ecx, ecx
js 0x446db8
cmp ecx, edx
jge 0x446db8
mov eax, dword [ebp - 0x25d8]
mov eax, dword [eax + 0xd8]
cmp edi, dword [eax + ecx*4]
jne 0x445e7f
mov dword [ebp - 0x2538], 1
inc ecx
cmp ecx, edx
jl 0x445e54
cmp dword [ebp - 0x2538], 0
jne 0x4464b3
push edi
call fcn.0044f321
mov esi, eax
mov dword [ebp - 0x2538], esi
test esi, esi
je 0x4464ad
cmp esi, 0xffffffff
je 0x4464ad
push ebx
lea eax, [ebp - 0x25d4]
push eax
push 0x18
lea eax, [ebp - 0x144c]
push eax
push ebx
push ebx
push 0x70000
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x4464a6
cmp dword [ebp - 0x25d4], 0x18
jne 0x4464a6
cmp dword [ebp - 0x1444], 0xc
jne 0x4464a6
mov dword [ebp - 0x255c], ebx
push 0x1000
call fcn.0045a96b
pop ecx
mov esi, eax
xor eax, eax
lea edi, [ebp - 0x1430]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x253c]
call fcn.0040364a
mov dword [ebp - 4], 0x100
lea ecx, [ebp - 0x257c]
call fcn.0040364a
mov byte [ebp - 4], 1
test esi, esi
jne 0x445f5b
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x257c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x253c]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x4464ad
push 0x1000
push ebx
push esi
call fcn.00488da0
add esp, 0xc
mov dword [ebp - 0x1430], ebx
mov dword [ebp - 0x142c], ebx
mov byte [ebp - 0x1428], bl
push ebx
lea eax, [ebp - 0x255c]
push eax
push 0x1000
push esi
push 0xc
lea eax, [ebp - 0x1430]
push eax
push 0x2d1400
mov edi, dword [ebp - 0x2538]
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x445fcd
push esi
call fcn.0045a966
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x257c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
jmp 0x445f45
mov eax, dword [esi + 0x10]
test eax, eax
je 0x445fe2
add eax, esi
push eax
lea ecx, [ebp - 0x253c]
call fcn.00457a3d
mov eax, dword [esi + 0x14]
test eax, eax
je 0x445ff7
add eax, esi
push eax
lea ecx, [ebp - 0x257c]
call fcn.00457a3d
cmp dword [esi + 0x1c], 0x11
jne 0x446007
mov dword [ebp - 0x2534], 6
push esi
call fcn.0045a966
pop ecx
push ebx
push str.SAMSUNG_HD155UI
lea ecx, [ebp - 0x253c]
call fcn.0040a80a
test eax, eax
je 0x446038
push ebx
push str.SAMSUNG_HD204UI
lea ecx, [ebp - 0x253c]
call fcn.0040a80a
test eax, eax
jne 0x44606d
push ebx
push str.1AQ10003
lea ecx, [ebp - 0x257c]
call fcn.0040a80a
test eax, eax
je 0x44606d
mov eax, dword [ebp - 0x25b4]
cmp dword [eax], ebx
je 0x44606d
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x257c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
jmp 0x445f45
push ebx
push str.FuzeDrive
lea ecx, [ebp - 0x253c]
call fcn.0040a80a
cmp eax, 0xffffffff
jne 0x446490
push ebx
push str.StoreMI
lea ecx, [ebp - 0x253c]
call fcn.0040a80a
cmp eax, 0xffffffff
jne 0x446490
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.USB_HDD_Check
call fcn.00402306
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 1
call fcn.0043bfae
mov dword [ebp - 0x25c0], ebx
mov dword [esp], 0x1000
push ebx
lea eax, [ebp - 0x1014]
push eax
call fcn.00488da0
add esp, 0xc
xor eax, eax
lea edi, [ebp - 0x1420]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push ebx
lea eax, [ebp - 0x25c0]
push eax
push 0x1000
lea eax, [ebp - 0x1014]
push eax
push 0xc
lea eax, [ebp - 0x1420]
push eax
push 0x2d1400
mov esi, dword [ebp - 0x2538]
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x44617b
push ecx
mov ecx, esp
mov dword [ebp - 0x2630], esp
push str.Check_Bus_Type
call fcn.00402306
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 1
call fcn.0043bfae
pop ecx
cmp dword [ebp - 0xff8], 7
jne 0x44617b
push ecx
mov ecx, esp
mov dword [ebp - 0x2670], esp
push str.Bus_Type__USB
call fcn.00402306
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 1
call fcn.0043bfae
pop ecx
mov dword [ebp - 0x2534], 3
mov dword [ebp - 0x256c], 0xffff
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
mov ecx, esp
mov dword [ebp - 0x266c], esp
push str.DO:GetDiskInfo
call fcn.00402306
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 1
call fcn.0043bfae
pop ecx
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x2664], esp
push 0x4c9ff4
call fcn.00402306
mov byte [ebp - 4], 0xe
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x256c]
push ebx
push dword [ebp - 0x2534]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov eax, dword [ebp - 0x259c]
push eax
mov byte [ebp - 4], 1
mov esi, dword [ebp - 0x2528]
mov ecx, esi
call fcn.0044d0b6
test eax, eax
je 0x44646c
push ecx
mov ecx, esp
mov dword [ebp - 0x2668], esp
push str.OK:GetDiskInfo
call fcn.00402306
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 1
call fcn.0043bfae
pop ecx
mov edi, dword [esi + 0x10]
dec edi
lea ecx, [ebp - 0x254c]
call fcn.0040364a
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x25bc]
call fcn.0040364a
mov byte [ebp - 4], 0x11
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
lea ecx, [ebp - 0x254c]
call fcn.00401ffd
push ecx
mov ecx, esp
mov dword [ebp - 0x265c], esp
push str.Check_Reverse
call fcn.00402306
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 0x11
call fcn.0043bfae
pop ecx
push ebx
push str.DW_C
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x4462f6
push ebx
push str.iHat
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x4462f6
push ebx
push str.ASSM
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x4462f6
push ebx
push str.aMtx
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x4462f6
push ebx
push str.OTHS
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x4462f6
push ebx
push str.UFIJ
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
jne 0x4463fb
push ecx
mov ecx, esp
mov dword [ebp - 0x26a0], esp
push str.Reverse
call fcn.00402306
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x11
call fcn.0043bfae
pop ecx
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x187c]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1878]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x1884]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1880]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x188c]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1888]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1878
push eax
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
lea eax, [ebp - 0x262c]
push eax
call fcn.00429cf1
mov esi, eax
mov byte [ebp - 4], 0x14
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1894]
push esi
call fcn.00401ffd
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x262c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov esi, dword [ebp - 0x2528]
cmp dword [ebp - 0x2534], 3
jne 0x446448
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
push dword [eax + 0x18ac]
push str.USB___s_
lea eax, [ebp - 0x25bc]
push eax
call fcn.00403636
add esp, 0xc
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [ebp - 0x25bc]
push ecx
lea ecx, [eax + 0x18ac]
call fcn.00401ffd
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x25bc]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x254c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x257c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x253c]
add ecx, 0xfffffff0
call fcn.0040259b
jmp 0x4464b3
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x257c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
jmp 0x445f45
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [ebp - 0x2528]
mov edx, dword [ebp - 0x259c]
inc edx
mov dword [ebp - 0x259c], edx
cmp edx, 0x38
jl 0x445dde
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.OK:GetDiskInfo___PhysicalDrive
call fcn.00402306
mov dword [ebp - 4], 0x11a
mov dword [ebp - 4], ebx
call fcn.0043bfae
mov dword [esp], 0x446e11
push 0x18c8
push dword [esi + 0x10]
push dword [esi + 0xc]
call fcn.00499170
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x2630], esp
push str.OK:qsort
call fcn.00402306
mov dword [ebp - 4], 0x11b
mov dword [ebp - 4], ebx
call fcn.0043bfae
pop ecx
mov eax, dword [ebp - 0x25ac]
cmp dword [eax], ebx
je 0x44677d
mov edi, ebx
mov dword [ebp - 0x25d8], ebx
mov esi, ebx
mov dword [ebp - 0x25b4], ebx
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push 0x4c9ff4
call fcn.00402306
mov dword [ebp - 4], 0x11c
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push ebx
push esi
push edi
push 0xffffffffffffffff
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x2528]
call fcn.0044d0b6
test eax, eax
je 0x44673a
mov eax, dword [ebp - 0x2528]
mov edi, dword [eax + 0x10]
dec edi
lea ecx, [ebp - 0x254c]
call fcn.0040364a
mov dword [ebp - 4], 0x11d
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
lea ecx, [ebp - 0x254c]
call fcn.00401ffd
push ebx
push str.DW_C
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x44663f
push ebx
push str.iHat
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x44663f
push ebx
push str.ASSM
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x44663f
push ebx
push str.aMtx
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x44663f
push ebx
push str.OTHS
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
je 0x44663f
push ebx
push str.UFIJ
lea ecx, [ebp - 0x254c]
call fcn.0040a80a
test eax, eax
jne 0x446723
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x187c]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1878]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x1884]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1880]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea esi, [eax + 0x188c]
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1888]
push esi
call fcn.00401ffd
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1878
push eax
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1888
push eax
lea eax, [ebp - 0x255c]
push eax
call fcn.00429cf1
mov esi, eax
mov byte [ebp - 4], 0x1e
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [eax + 0x1894]
push esi
call fcn.00401ffd
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x255c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov esi, dword [ebp - 0x25b4]
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x254c]
add ecx, 0xfffffff0
call fcn.0040259b
mov edi, dword [ebp - 0x25d8]
inc esi
mov dword [ebp - 0x25b4], esi
cmp esi, 8
jl 0x446545
inc edi
mov dword [ebp - 0x25d8], edi
cmp edi, 0x10
jl 0x44653d
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.OK:GetDiskInfo___Scsi
call fcn.00402306
mov dword [ebp - 4], 0x121
mov dword [ebp - 4], ebx
call fcn.0043bfae
pop ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.Drive_Letter_Mapping___Start
call fcn.00402306
mov dword [ebp - 4], 0x122
mov dword [ebp - 4], ebx
call fcn.0043bfae
pop ecx
push 0x41
pop edi
lea ecx, [ebp - 0x2548]
call fcn.0040364a
mov dword [ebp - 4], 0x123
push 0x208
push ebx
lea eax, [ebp - 0x21c]
push eax
call fcn.00488da0
push edi
push str._c:_
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x2548]
call fcn.004022db
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
lea eax, [ebp - 0x2548]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x24
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
push dword [ebp - 0x2548]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
je 0x44686f
cmp dword [ebp - 0x2620], 0
je 0x446849
push dword [ebp - 0x2548]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 2
jne 0x446849
push 0x43
pop eax
cmp word [ebp - 0x2590], ax
jae 0x44686f
push ecx
mov ecx, esp
mov dword [ebp - 0x2630], esp
push str.Drive_Letter_Mapping_____DRIVE_FIXED
call fcn.00402306
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
jmp 0x446a5b
push edi
push str.._c:
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x2548]
call fcn.004022db
push ecx
mov ecx, esp
mov dword [ebp - 0x2670], esp
lea eax, [ebp - 0x2548]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x27
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
push ebx
push 0x80
push 3
push ebx
push 3
push 0xc0000000
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x446904
push ecx
mov ecx, esp
mov dword [ebp - 0x266c], esp
push str.Drive_Letter_Mapping___INVALID_HANDLE_VALUE
call fcn.00402306
mov byte [ebp - 4], 0x28
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
jmp 0x446a5b
push 0x68
push ebx
lea eax, [ebp - 0x14d0]
push eax
call fcn.00488da0
add esp, 0xc
mov dword [ebp - 0x255c], ebx
push ebx
lea eax, [ebp - 0x255c]
push eax
push 0x68
lea eax, [ebp - 0x14d0]
push eax
push ebx
push ebx
push 0x560000
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [ebp - 0x25c0], eax
test esi, esi
je 0x446952
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x25c0]
test eax, eax
jne 0x44697c
push ecx
mov ecx, esp
mov dword [ebp - 0x2664], esp
push str.Drive_Letter_Mapping___bResult__FALSE
call fcn.00402306
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
jmp 0x446a5b
push dword [ebp - 0x14d0]
push str.volumeDiskExtents.NumberOfDiskExtents___d
lea eax, [ebp - 0x2548]
push eax
call fcn.00403636
pop ecx
pop ecx
mov ecx, esp
mov dword [ebp - 0x2668], esp
lea eax, [ebp - 0x2548]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
mov dword [ebp - 0x2538], ebx
mov ecx, dword [ebp - 0x14d0]
test ecx, ecx
je 0x446a5b
lea esi, [ebp - 0x14c8]
cmp ecx, 4
jae 0x446a5b
mov eax, dword [esi + 0x10]
or eax, dword [esi + 0x14]
je 0x446a43
mov edx, dword [esi]
cmp edx, 0x100
jae 0x446a00
lea eax, [edi - 0x41]
mov ecx, dword [ebp + edx*4 - 0x1414]
bts ecx, eax
mov dword [ebp + edx*4 - 0x1414], ecx
push edx
push dword [ebp - 0x2538]
push str.n___d__pDiskExtent__DiskNumber___d
lea eax, [ebp - 0x2548]
push eax
call fcn.00403636
add esp, 0xc
mov ecx, esp
mov dword [ebp - 0x265c], esp
lea eax, [ebp - 0x2548]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x23
call fcn.0043bfae
pop ecx
mov ecx, dword [ebp - 0x14d0]
mov eax, dword [ebp - 0x2538]
inc eax
mov dword [ebp - 0x2538], eax
add esi, 0x18
cmp eax, ecx
jb 0x4469d1
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x2548]
add ecx, 0xfffffff0
call fcn.0040259b
mov ecx, dword [ebp - 0x2590]
inc ecx
mov dword [ebp - 0x2590], ecx
inc edi
push 0x5a
pop eax
cmp cx, ax
jbe 0x4467a3
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.Drive_Letter_Mapping___End
call fcn.00402306
mov dword [ebp - 4], 0x12f
mov dword [ebp - 4], ebx
call fcn.0043bfae
pop ecx
mov esi, ebx
mov eax, dword [ebp - 0x2528]
cmp dword [eax + 0x10], ebx
jle 0x446c32
push esi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
cmp dword [eax + 0x1738], ebx
jl 0x446c22
push 0x4c9ff4
lea ecx, [ebp - 0x2538]
call fcn.00402306
mov dword [ebp - 4], 0x130
mov edi, ebx
mov ebx, dword [ebp - 0x2550]
xor eax, eax
inc eax
mov ecx, edi
shl eax, cl
mov dword [ebp - 0x25b4], eax
push esi
mov ecx, ebx
call fcn.0040ab14
mov eax, dword [eax + 0x1738]
mov ecx, dword [ebp - 0x25b4]
test dword [ebp + eax*4 - 0x1414], ecx
je 0x446bce
lea ecx, [ebp - 0x25ac]
call fcn.0040364a
mov byte [ebp - 4], 0x31
lea eax, [edi + 0x41]
push eax
push 0x4dbc6c
lea eax, [ebp - 0x25ac]
push eax
call fcn.00403636
push 0x4dbc74
lea eax, [ebp - 0x25ac]
push eax
lea eax, [ebp - 0x255c]
push eax
call fcn.0040a72e
add esp, 0x18
mov byte [ebp - 4], 0x32
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea ecx, [ebp - 0x2538]
call fcn.00403393
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x255c]
lea ecx, [ecx - 0x10]
call fcn.0040259b
push esi
mov ecx, ebx
call fcn.0040ab14
mov ecx, dword [ebp - 0x25b4]
add dword [eax + 0x1808], ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
lea eax, [ebp - 0x25ac]
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x34
mov byte [ebp - 4], 0x31
call fcn.0043bfae
pop ecx
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x25ac]
lea ecx, [ecx - 0x10]
call fcn.0040259b
inc edi
cmp edi, 0x1a
jl 0x446af1
push esi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
mov edi, 0x1898
lea ecx, [edi + eax]
mov eax, dword [ebp - 0x2538]
push dword [eax - 0xc]
push eax
call fcn.00403393
push esi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
lea ecx, [edi + eax]
call fcn.0040aa3f
xor ebx, ebx
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x2538]
add ecx, 0xfffffff0
call fcn.0040259b
inc esi
mov eax, dword [ebp - 0x2528]
cmp esi, dword [eax + 0x10]
jl 0x446aba
call fcn.0043c2f6
mov esi, dword [ebp - 0x2528]
mov dword [esi + 0xf8], eax
mov dword [esi + 0xfc], edx
push ecx
mov ecx, esp
mov dword [ebp - 0x2598], esp
push str.CAtaSmart::Init___Complete
call fcn.00402306
mov dword [ebp - 4], 0x137
mov dword [ebp - 4], ebx
call fcn.0043bfae
pop ecx
cmp dword [ebp - 0x2674], 0
je 0x446d58
mov eax, dword [esi + 0x10]
cmp eax, dword [ebp - 0x2684]
jne 0x446d4c
mov edi, ebx
test eax, eax
jle 0x446d58
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov esi, eax
push edi
lea ecx, [ebp - 0x268c]
call fcn.00456666
mov ecx, dword [esi + 0x1738]
cmp ecx, dword [eax]
jne 0x446d46
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov esi, eax
push edi
lea ecx, [ebp - 0x268c]
call fcn.00456666
mov ecx, dword [esi + 0x1740]
cmp ecx, dword [eax + 8]
jne 0x446d46
push edi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
mov esi, eax
push edi
lea ecx, [ebp - 0x268c]
call fcn.00456666
mov ecx, dword [esi + 0x173c]
cmp ecx, dword [eax + 4]
jne 0x446d46
push 0x40
push edi
lea ecx, [ebp - 0x268c]
call fcn.00456666
add eax, 0xc
push eax
push edi
mov ecx, dword [ebp - 0x2530]
call fcn.0040ab14
add eax, 0x1836
push eax
call fcn.00489521
add esp, 0xc
mov esi, dword [ebp - 0x2528]
test eax, eax
jne 0x446d4c
inc edi
cmp edi, dword [esi + 0x10]
jl 0x446c92
jmp 0x446d58
mov esi, dword [ebp - 0x2528]
mov eax, dword [ebp - 0x2674]
mov dword [eax], 1
cmp dword [ebp + 0x1c], 0
je 0x446d8d
mov esi, dword [esi + 0x10]
test esi, esi
jle 0x446d8d
jmp 0x446d88
push esi
mov ecx, dword [ebp - 0x2550]
call fcn.0040ab14
cmp dword [eax + 0x17a4], ebx
jne 0x446d88
push ecx
push esi
mov ecx, dword [ebp - 0x2530]
call fcn.00456428
sub esi, 1
jns 0x446d67
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268c]
call fcn.00456685
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.00487643
leave
ret 0x18
call fcn.0045abad
push 0x80004005
call fcn.004025e7
int3