Function at 0x446e47
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b8939
mov eax, dword fs:[0]
push eax
mov eax, 0x341c
call fcn.00488010
mov eax, dword [0x4f8560]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x3404], esi
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x3408], eax
mov dword [ebp - 0x3414], edi
mov dword [ebp - 0x33ec], ebx
and dword [ebp - 4], 0
cmp dword [esi + 0x10], 0x50
jl 0x446ead
xor ebx, ebx
jmp 0x448e76
push 0x1878
lea eax, [ebp - 0x33e0]
push 0
push eax
call fcn.00488da0
add esp, 0xc
lea ecx, [ebp - 0x1b68]
call fcn.0040364a
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1b64]
call fcn.0040364a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1b60]
call fcn.0040364a
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1b5c]
call fcn.0040364a
push 5
pop eax
mov dword [ebp - 0x341c], eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x1b58]
call fcn.0040364a
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1b54]
call fcn.0040364a
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1b50]
call fcn.0040364a
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1b4c]
call fcn.0040364a
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b48]
call fcn.0040364a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b44]
call fcn.0040364a
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1b40]
call fcn.0040364a
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1b3c]
call fcn.0040364a
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1b38]
call fcn.0040364a
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1b34]
call fcn.0040364a
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1b30]
call fcn.0040364a
push 0x10
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x1b2c]
call fcn.0040364a
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1b28]
call fcn.0040364a
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1b24]
call fcn.0040364a
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1b20]
call fcn.0040364a
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x1b1c]
call fcn.0040364a
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x1b18]
push 0x1878
push 0
push eax
call fcn.00488da0
add esp, 0xc
lea ecx, [ebp - 0x2a0]
call fcn.0040364a
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x29c]
call fcn.0040364a
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x298]
call fcn.0040364a
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x294]
call fcn.0040364a
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x290]
call fcn.0040364a
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x28c]
call fcn.0040364a
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x288]
call fcn.0040364a
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x284]
call fcn.0040364a
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x280]
call fcn.0040364a
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x27c]
call fcn.0040364a
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x278]
call fcn.0040364a
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x274]
call fcn.0040364a
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x270]
call fcn.0040364a
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x26c]
call fcn.0040364a
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x268]
call fcn.0040364a
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x264]
call fcn.0040364a
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x260]
call fcn.0040364a
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x25c]
call fcn.0040364a
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x258]
call fcn.0040364a
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x254]
call fcn.0040364a
mov byte [ebp - 4], 0x29
mov eax, 0x200
push eax
lea eax, [ebp - 0x33e0]
push edi
push eax
call fcn.00488f00
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1ca8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x1c9c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1ca4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1ca0], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x1c98], eax
mov eax, dword [ebp - 0x3408]
push 0x4c9ff4
mov dword [ebp - 0x1bc8], eax
mov dword [ebp - 0x300], eax
call fcn.0048cb73
add esp, 0x10
lea ecx, [ebp - 0x1b28]
push eax
push 0x4c9ff4
call fcn.00402266
test ebx, ebx
je 0x4471c1
push 0x40
lea eax, [ebp - 0x1baa]
push ebx
push eax
call fcn.00488f00
add esp, 0xc
mov eax, dword [ebp - 0x3408]
xor ebx, ebx
inc ebx
cmp eax, ebx
je 0x4471fd
cmp eax, 4
jl 0x4471d8
cmp eax, 0xb
jle 0x4471fd
mov esi, dword [eax*4 + 0x4ccf88]
test esi, esi
jne 0x4471e7
xor eax, eax
jmp 0x4471ee
push esi
call fcn.0048cb73
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1b2c]
call fcn.00402266
jmp 0x447226
cmp byte [ebp + 0x18], 0xb0
mov eax, dword [eax*4 + 0x4ccf88]
push eax
lea eax, [ebp - 0x1b2c]
jne 0x447218
push 0x4dbcb4
jmp 0x44721d
push 0x4dbcbc
push eax
call fcn.00403636
add esp, 0xc
push 0x1e
lea esi, [ebp - 0x1e78]
pop edi
push 0xc
lea eax, [esi - 0x168]
push 0
push eax
call fcn.00488da0
push 0xc
push 0
push esi
call fcn.00488da0
add esp, 0x18
add esi, 0xc
sub edi, 1
jne 0x44722f
mov esi, dword [ebp - 0x3404]
xor ecx, ecx
mov edi, dword [ebp - 0x3414]
mov eax, ecx
mov edx, 0x200
mov byte [ebp + eax - 0x23e0], cl
mov byte [ebp + eax - 0x21e0], cl
inc eax
cmp eax, edx
jl 0x447269
fld1
or eax, 0xffffffff
mov dword [ebp - 0x1c38], eax
mov dword [ebp - 0x1c34], eax
mov dword [ebp - 0x1c30], eax
mov dword [ebp - 0x1c2c], eax
mov dword [ebp - 0x1c00], eax
mov dword [ebp - 0x1c14], eax
mov dword [ebp - 0x1c10], eax
mov dword [ebp - 0x1c0c], eax
mov dword [ebp - 0x1c08], eax
mov dword [ebp - 0x1c04], eax
mov al, byte [ebp + 0x18]
fstp qword [ebp - 0x1c20]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x1d0c], ecx
mov dword [ebp - 0x1d08], ecx
mov dword [ebp - 0x1d04], ecx
mov dword [ebp - 0x1cfc], ecx
mov dword [ebp - 0x1cf8], ecx
mov dword [ebp - 0x1d00], ecx
mov dword [ebp - 0x1cf4], ecx
mov dword [ebp - 0x1cf0], ecx
mov dword [ebp - 0x1cec], ecx
mov dword [ebp - 0x1ce8], ecx
mov dword [ebp - 0x1ce4], ecx
mov dword [ebp - 0x1ce0], ecx
mov dword [ebp - 0x1ccc], ecx
mov dword [ebp - 0x1cdc], ecx
mov dword [ebp - 0x1cd8], ecx
mov dword [ebp - 0x1cd4], ecx
mov dword [ebp - 0x1cd0], ecx
mov dword [ebp - 0x1cc8], ecx
mov dword [ebp - 0x1cc4], ecx
mov dword [ebp - 0x1cc0], ecx
mov dword [ebp - 0x1cbc], ecx
mov dword [ebp - 0x1cb8], ecx
mov dword [ebp - 0x1cb4], ecx
mov dword [ebp - 0x1cb0], ecx
mov dword [ebp - 0x1cac], ecx
mov dword [ebp - 0x1c94], ecx
mov dword [ebp - 0x1c90], ecx
mov dword [ebp - 0x1c8c], ecx
mov dword [ebp - 0x1c88], ecx
mov dword [ebp - 0x1c84], ecx
mov dword [ebp - 0x1c80], ecx
mov dword [ebp - 0x1c7c], ecx
mov dword [ebp - 0x1c78], ecx
mov dword [ebp - 0x1c74], ecx
mov dword [ebp - 0x1c70], ecx
mov dword [ebp - 0x1c6c], ecx
mov dword [ebp - 0x1c68], ecx
mov dword [ebp - 0x1c64], edx
mov dword [ebp - 0x1c60], edx
mov dword [ebp - 0x1c5c], ecx
mov dword [ebp - 0x1c58], ecx
mov dword [ebp - 0x1c50], ecx
mov dword [ebp - 0x1c4c], ecx
mov dword [ebp - 0x1c48], ecx
mov dword [ebp - 0x1c44], ecx
mov dword [ebp - 0x1c40], ecx
mov dword [ebp - 0x1c3c], ecx
mov dword [ebp - 0x1c28], ecx
mov dword [ebp - 0x1c24], 0xfffffc18
mov dword [ebp - 0x1c18], ecx
mov dword [ebp - 0x1bfc], ecx
mov dword [ebp - 0x1bf8], ecx
mov dword [ebp - 0x1bf4], ecx
mov dword [ebp - 0x1bf0], ecx
mov dword [ebp - 0x1bec], ecx
mov dword [ebp - 0x1be8], ecx
mov dword [ebp - 0x1be4], ecx
mov dword [ebp - 0x1be0], ecx
mov dword [ebp - 0x1bdc], ecx
mov dword [ebp - 0x1bd8], ecx
mov dword [ebp - 0x1bd4], ecx
mov dword [ebp - 0x1bcc], ecx
mov dword [ebp - 0x1bc4], ecx
mov dword [ebp - 0x1bc0], ecx
mov dword [ebp - 0x1bbc], ecx
mov dword [ebp - 0x1bb8], ecx
push 0x4c9ff4
mov byte [ebp - 0x1bb4], al
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b68]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b60]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b58]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b54]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b50]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b4c]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b48]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b44]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b40]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b3c]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b38]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b34]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b30]
call fcn.00402266
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b24]
call fcn.00402266
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x1b20]
call fcn.00401ffd
push 0x4c9ff4
call fcn.0048cb73
pop ecx
push eax
push 0x4c9ff4
lea ecx, [ebp - 0x1b38]
call fcn.00402266
push 0x40
lea eax, [ebp - 0x50]
push 0
push eax
call fcn.00488da0
mov eax, 0x200
push eax
lea eax, [ebp - 0x250]
push 0
push eax
call fcn.00488da0
mov eax, 0x200
push eax
lea eax, [ebp - 0x250]
push edi
push eax
call fcn.00488f00
add esp, 0x24
xor eax, eax
mov cl, al
add cl, byte [ebp + eax - 0x250]
inc eax
cmp eax, 0x200
jl 0x447650
test cl, cl
je 0x447669
mov dword [ebp - 0x1d00], ebx
lea eax, [edi + 0x14]
push 0x14
push eax
call fcn.004557f6
test eax, eax
jne 0x448e50
lea eax, [edi + 0x2e]
push 8
push eax
call fcn.004557f6
test eax, eax
jne 0x448e50
lea eax, [edi + 0x36]
push 0x28
push eax
call fcn.004557f6
test eax, eax
jne 0x448e50
push 0x14
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00499715
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b64]
push eax
call fcn.00457a3d
lea ecx, [ebp - 0x1b64]
call fcn.0040a9db
lea ecx, [ebp - 0x1b64]
call fcn.0040aa3f
push 8
lea eax, [edi + 0x2e]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00499715
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b5c]
push eax
call fcn.00457a3d
lea ecx, [ebp - 0x1b5c]
call fcn.0040a9db
lea ecx, [ebp - 0x1b5c]
call fcn.0040aa3f
push 0x28
lea eax, [edi + 0x36]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00499715
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b54]
push eax
call fcn.00457a3d
lea ecx, [ebp - 0x1b54]
call fcn.0040a9db
lea ecx, [ebp - 0x1b54]
call fcn.0040aa3f
push 0x14
lea eax, [edi + 0x14]
push eax
call fcn.004557cd
push 8
lea eax, [edi + 0x2e]
push eax
call fcn.004557cd
push 0x28
lea eax, [edi + 0x36]
push eax
call fcn.004557cd
push 0x14
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00499715
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b68]
push eax
call fcn.00457a3d
lea ecx, [ebp - 0x1b68]
call fcn.0040a9db
lea ecx, [ebp - 0x1b68]
call fcn.0040aa3f
push 8
lea eax, [edi + 0x2e]
push eax
push 0x40
lea eax, [ebp - 0x50]
push eax
call fcn.00499715
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b60]
push eax
call fcn.00457a3d
lea ecx, [ebp - 0x1b60]
call fcn.0040a9db
lea ecx, [ebp - 0x1b60]
call fcn.0040aa3f
push 0x28
lea eax, [edi + 0x36]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00499715
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b58]
push eax
call fcn.00457a3d
lea ecx, [ebp - 0x1b58]
call fcn.0040a9db
lea ecx, [ebp - 0x1b58]
call fcn.0040aa3f
mov eax, dword [ebp - 0x1b58]
cmp dword [eax - 0xc], 0
je 0x448e2f
mov eax, dword [ebp - 0x1b60]
cmp dword [eax - 0xc], 0
je 0x448e2f
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x3410], ecx
mov dword [ebp - 0x33e8], eax
cmp dword [esi + 0x10], eax
jle 0x4479db
lea ecx, [esi + 8]
mov dword [ebp - 0x33fc], ecx
push eax
call fcn.0040ab14
mov eax, dword [eax + 0x1888]
test eax, eax
je 0x448ea3
push eax
push dword [ebp - 0x1b58]
call fcn.00490f86
pop ecx
pop ecx
test eax, eax
jne 0x4478ff
push dword [ebp - 0x33e8]
lea ecx, [esi + 8]
call fcn.0040ab14
mov eax, dword [eax + 0x1878]
test eax, eax
je 0x448ea3
push eax
push dword [ebp - 0x1b68]
call fcn.00490f86
pop ecx
pop ecx
test eax, eax
jne 0x4478ff
push dword [ebp - 0x33e8]
lea ecx, [esi + 8]
call fcn.0040ab14
push dword [ebp - 0x33e8]
lea ecx, [esi + 8]
cmp dword [eax + 0x1738], 0xffffffff
je 0x44791d
call fcn.0040ab14
mov eax, dword [eax + 0x1890]
cmp dword [eax - 0xc], 0
jne 0x4478ef
mov eax, dword [ebp - 0x33e8]
mov dword [ebp - 0x3410], eax
jmp 0x447905
mov eax, dword [ebp - 0x1b50]
cmp dword [eax - 0xc], 0
je 0x448e56
mov eax, dword [ebp - 0x33e8]
inc eax
mov dword [ebp - 0x33e8], eax
cmp eax, dword [esi + 0x10]
jge 0x4479db
lea ecx, [esi + 8]
jmp 0x44785c
call fcn.0040ab14
mov ecx, dword [ebp - 0x1ca8]
mov dword [eax + 0x1738], ecx
cmp dword [esi + 0x144], ebx
jne 0x448e56
mov esi, dword [ebp - 0x33e8]
mov ecx, esi
push ecx
mov dword [ebp - 0x3410], ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.vars_i_.CommandType__CMD_TYPE_CSMI_PHYSICAL_DRIVE
call fcn.00402306
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x29
call fcn.0043bfae
pop ecx
mov ecx, dword [ebp - 0x33fc]
push esi
call fcn.0040ab14
mov ecx, dword [ebp - 0x33fc]
push esi
mov dword [eax + 0x1818], 0xd
call fcn.0040ab14
mov ecx, dword [ebp - 0x33fc]
push esi
mov eax, dword [eax + 0x1818]
mov eax, dword [eax*4 + 0x4ccf88]
mov dword [ebp - 0x33f4], eax
call fcn.0040ab14
mov esi, dword [ebp - 0x33f4]
add eax, 0x18b4
mov dword [ebp - 0x340c], eax
test esi, esi
jne 0x4479c3
xor ecx, ecx
jmp 0x4479d2
push esi
call fcn.0048cb73
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x340c]
push ecx
push esi
mov ecx, eax
call fcn.00402266
mov eax, dword [ebp - 0x1b60]
add eax, 0xfffffff0
push eax
call fcn.00401fa2
add eax, 0x10
mov dword [ebp - 0x3418], eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3418]
mov dword [esp], 0x4c9ff4
push 0x4cb614
call fcn.0040a844
push 0
push str.ADATA_SSD
lea ecx, [ebp - 0x1b58]
call fcn.0040a80a
mov esi, dword [ebp - 0x3418]
test eax, eax
jne 0x447a44
push esi
call fcn.00490f02
pop ecx
cmp eax, 0x15a
jne 0x447a44
fld qword [0x4dfd38]
fstp qword [ebp - 0x1c20]
lea eax, [ebp - 0x1b68]
push eax
lea eax, [ebp - 0x1b58]
push eax
lea eax, [ebp - 0x33f4]
push eax
call fcn.00429cf1
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x1b4c]
push eax
call fcn.00401ffd
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x33f4]
add ecx, 0xfffffff0
call fcn.0040259b
cmp dword [ebp - 0x3408], 0x17
jne 0x447b04
movzx eax, word [edi + 0x98]
and eax, ebx
mov dword [ebp - 0x1be4], 3
cmp byte [edi + 0x160], 0x4e
mov dword [ebp - 0x1cbc], eax
mov eax, str.N_A___on_AMD_RC2
mov dword [ebp - 0x1ce4], ebx
je 0x447abb
mov eax, str.SATA___on_AMD_RC2
push eax
mov dword [ebp - 0x3400], eax
call fcn.0048cb73
pop ecx
push eax
push dword [ebp - 0x3400]
lea ecx, [ebp - 0x1b34]
call fcn.00402266
lea eax, [edi + 0x160]
push eax
lea ecx, [ebp - 0x1b3c]
call fcn.00457a3d
xor eax, eax
mov byte [edi + 0x160], 0
mov word [edi + 0x98], ax
mov eax, dword [ebp - 0x1c48]
jmp 0x447b76
lea eax, [ebp - 0x1b3c]
push eax
movzx eax, word [edi + 0xa0]
push eax
call fcn.00455fb5
mov dword [ebp - 0x1be4], eax
lea eax, [ebp - 0x1b38]
push eax
movzx eax, word [edi + 0xa2]
push eax
call fcn.00456048
lea eax, [ebp - 0x1bcc]
push eax
lea eax, [ebp - 0x1b34]
push eax
lea eax, [ebp - 0x1b44]
push eax
lea eax, [ebp - 0x1b40]
push eax
movzx eax, word [edi + 0xb0]
push eax
movzx eax, word [edi + 0x9a]
push eax
movzx eax, word [edi + 0x98]
push eax
movzx eax, word [edi + 0x7e]
push eax
call fcn.004558db
mov dword [ebp - 0x1c48], eax
push eax
push dword [ebp - 0x1be4]
lea eax, [ebp - 0x1b60]
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x1b58]
push ecx
mov ecx, esp
mov dword [ebp - 0x33f4], esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x31
call fcn.00455c82
push 6
pop ecx
mov dword [ebp - 0x1c44], eax
push 5
pop edx
cmp eax, ecx
jne 0x447bd0
mov dword [ebp - 0x1c40], ecx
jmp 0x447bda
cmp eax, edx
jne 0x447bda
mov dword [ebp - 0x1c40], edx
mov ecx, dword [ebp - 0x1be4]
cmp ecx, 3
jb 0x447c12
test byte [ebp - 0x333c], 1
je 0x447bf4
mov dword [ebp - 0x1ce4], ebx
test byte [ebp - 0x333a], 8
je 0x447c12
test byte [ebp - 0x3334], 8
mov dword [ebp - 0x1cd8], ebx
je 0x447c12
mov dword [ebp - 0x1cd0], ebx
cmp ecx, edx
jb 0x447c49
mov eax, 0x200
test dword [ebp - 0x333a], eax
je 0x447c37
mov dword [ebp - 0x1cdc], ebx
test dword [ebp - 0x3334], eax
je 0x447c37
mov dword [ebp - 0x1cd4], ebx
test dword [ebp - 0x333a], 0x400
je 0x447c49
mov dword [ebp - 0x1ce0], ebx
cmp ecx, 6
jb 0x447c60
test dword [ebp - 0x3348], 0x100
je 0x447c60
mov dword [ebp - 0x1ccc], ebx
cmp ecx, 7
jb 0x447d17
test byte [ebp - 0x3234], 1
je 0x447c78
mov dword [ebp - 0x1cc8], ebx
test byte [ebp - 0x328e], 1
je 0x447c87
mov dword [ebp - 0x1cb8], ebx
mov dx, word [ebp - 0x322e]
cmp dx, bx
jne 0x447c9f
mov dword [ebp - 0x1cbc], ebx
mov dword [ebp - 0x1c18], ebx
mov eax, dword [ebp - 0x322e]
add eax, 0xfffffbff
mov dword [ebp - 0x33f4], 0xfbfd
cmp ax, word [ebp - 0x33f4]
ja 0x447cc6
movzx eax, dx
mov dword [ebp - 0x1c18], eax
mov edx, dword [ebp - 0x3290]
mov eax, edx
and eax, 0xf
jbe 0x447d00
cmp ax, word [ebp - 0x341c]
ja 0x447d00
and edx, 0xf
lea eax, [ebp - 0x1b24]
push dword [edx*4 + 0x4ccebc]
push 0x4ca26c
push eax
call fcn.00403636
mov ecx, dword [ebp - 0x1be4]
add esp, 0xc
cmp ecx, 7
jb 0x447d17
test dword [ebp - 0x3344], 0x100
je 0x447d17
mov dword [ebp - 0x1cc4], ebx
mov eax, dword [ebp - 0x1b58]
add eax, 0xfffffff0
push eax
call fcn.00401fa2
add eax, 0x10
pop ecx
mov dword [ebp - 0x3400], eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x3400]
call fcn.0040a7e2
push 0
push str.MAXTOR
lea ecx, [ebp - 0x3400]
call fcn.0040a80a
test eax, eax
jne 0x447d64
cmp dword [ebp - 0x1c44], 2
jne 0x447d64
mov dword [ebp - 0x1cc0], ebx
movzx eax, word [edi + 2]
mov edx, 0x3fff
mov ecx, eax
cmp ax, dx
jbe 0x447d80
mov word [edi + 2], dx
mov ecx, edx
mov dword [ebp - 0x1d0c], ebx
movzx eax, cx
push 0x10
mov dword [ebp - 0x3424], eax
movzx eax, word [edi + 6]
pop edx
mov ecx, eax
cmp ax, dx
jbe 0x447da3
mov word [edi + 6], dx
mov ecx, edx
mov dword [ebp - 0x1d0c], ebx
movzx eax, word [edi + 0xc]
mov dword [ebp - 0x33fc], 0x3f
movzx edx, cx
mov ecx, eax
cmp ax, word [ebp - 0x33fc]
jbe 0x447dd1
mov eax, dword [ebp - 0x33fc]
mov ecx, eax
mov word [edi + 0xc], ax
mov dword [ebp - 0x1d0c], ebx
mov eax, dword [ebp - 0x3424]
movzx eax, ax
mov dword [ebp - 0x1c90], eax
mov eax, edx
mov edx, dword [edi + 0x78]
mov dword [ebp - 0x1c8c], eax
movzx eax, cx
mov dword [ebp - 0x1c88], eax
mov eax, edx
and eax, 0xfffffff
mov dword [ebp - 0x33e4], edx
mov dword [ebp - 0x1c84], eax
movzx ecx, word [edi + 0xcc]
mov dword [ebp - 0x341c], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x1c80], eax
mov dword [ebp - 0x340c], eax
mov dword [ebp - 0x1c7c], ecx
movzx eax, word [edi + 0xd4]
mov edi, 0x4000
mov dword [ebp - 0x33f4], ecx
mov ecx, eax
and eax, 0xc000
cmp ax, di
jne 0x447e86
mov al, cl
and al, 0xf
cmp al, 3
jne 0x447e69
mov eax, 0x200
mov dword [ebp - 0x1c64], eax
mov dword [ebp - 0x1c60], 0x1000
jmp 0x447e8c
mov eax, 0x1000
mov dword [ebp - 0x33e8], eax
test eax, ecx
je 0x447e86
mov dword [ebp - 0x1c64], eax
mov dword [ebp - 0x1c60], eax
jmp 0x447e92
mov eax, dword [ebp - 0x1c64]
mov dword [ebp - 0x33e8], eax
cmp edx, 0x1100003
jne 0x447ea0
mov dword [ebp - 0x1cec], ebx
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x1c70], eax
mov eax, dword [ebp - 0x1c88]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x1c8c]
cdq
push edx
push eax
push ecx
push edi
call fcn.004ac250
mov ecx, edx
mov edi, eax
mov edx, dword [ebp - 0x3424]
movzx eax, dx
cdq
push edx
push eax
push ecx
push edi
call fcn.004ac250
mov dword [ebp - 0x1c78], eax
mov edi, 0x3e8
mov eax, dword [ebp - 0x341c]
mov dword [ebp - 0x1c74], edx
test eax, eax
je 0x447f3e
mov ecx, 0x200
mul ecx
push 0
push edi
push edx
push eax
call fcn.004ac140
push 0
push edi
push edx
push eax
call fcn.004ac140
mov dword [ebp - 0x3424], edx
test edx, edx
jne 0x447f20
cmp eax, 0x31
jbe 0x447f3e
lea edi, [eax - 0x31]
mov dword [ebp - 0x1c6c], edi
mov eax, dword [ebp - 0x341c]
and dword [ebp - 0x1c74], 0
mov dword [ebp - 0x1c78], eax
jmp 0x447f46
xor edi, edi
mov dword [ebp - 0x1c6c], edi
cmp dword [ebp - 0x1ce0], 0
je 0x447fb9
mov eax, dword [ebp - 0x33f4]
mul dword [ebp - 0x33e8]
push 0
mov ecx, eax
mov eax, dword [ebp - 0x340c]
mul dword [ebp - 0x33e8]
push 0x3e8
add ecx, edx
push ecx
push eax
call fcn.004ac140
push 0
push 0x3e8
push edx
push eax
call fcn.004ac140
mov dword [ebp - 0x341c], edx
test edx, edx
jne 0x447f96
cmp eax, 0x31
jbe 0x447fb9
lea edx, [eax - 0x31]
mov dword [ebp - 0x1c68], edx
mov eax, dword [ebp - 0x340c]
mov dword [ebp - 0x1c78], eax
mov eax, dword [ebp - 0x33f4]
mov dword [ebp - 0x1c74], eax
jmp 0x447fc0
and dword [ebp - 0x1c68], 0
mov eax, dword [ebp - 0x3414]
movzx ecx, word [eax + 0x2a]
shl ecx, 9
cmp dword [ebp - 0x1cc8], 0
mov dword [ebp - 0x1c58], ecx
je 0x447ff5
mov eax, dword [eax + 0x1ae]
mov ecx, 0x200
mul ecx
mov dword [ebp - 0x1c50], eax
mov dword [ebp - 0x1c4c], edx
mov edx, dword [ebp - 0x33e4]
cmp edx, 0xfffffff
ja 0x448030
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x448030
mov eax, dword [ebp - 0x1c68]
cmp eax, edi
jbe 0x44801c
mov dword [ebp - 0x1c94], eax
jmp 0x44803d
cmp edi, ecx
jbe 0x448028
mov dword [ebp - 0x1c94], edi
jmp 0x44803d
mov dword [ebp - 0x1c94], ecx
jmp 0x44803d
and dword [ebp - 0x1c94], 0
mov eax, dword [ebp - 0x1c68]
cmp dword [ebp - 0x1ce0], 0
je 0x44805e
cmp edx, 0xfffffff
jae 0x44805e
sub edi, eax
neg edi
sbb edi, edi
not edi
and edi, eax
mov dword [ebp - 0x1c68], edi
lea ecx, [ebp - 0x33f0]
call fcn.0040364a
mov byte [ebp - 4], 0x3b
cmp dword [ebp - 0x1ce4], 0
mov edi, dword [ebp - 0x3404]
jne 0x448092
cmp dword [ebp - 0x1cec], 0
jne 0x448092
cmp dword [edi + 0xe8], 0
je 0x448c73
mov ecx, dword [ebp - 0x1bc8]
cmp ecx, 9
jg 0x448555
je case.0x4480b3.4
lea eax, [ecx - 1]
cmp eax, 7
ja case.default.0x4480b3
jmp dword [eax*4 + 0x448eaf]
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1
push eax
call fcn.00403636
pop ecx
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f533
test eax, eax
je 0x448191
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f533
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x44816a
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1A
push eax
call fcn.00403636
add esp, 0xc
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f6a3
test eax, eax
je 0x44818b
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x44828e
push ecx
push dword [ebp - 0x1bb4]
mov ecx, edi
push dword [ebp + 8]
call fcn.0044f805
test eax, eax
je 0x44828e
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____2
push eax
call fcn.00403636
pop ecx
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f533
test eax, eax
je 0x44828e
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f533
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448267
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____2A
push eax
call fcn.00403636
add esp, 0xc
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f6a3
test eax, eax
je 0x448288
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
mov eax, 0x200
push eax
lea eax, [ebp - 0x21e0]
push eax
lea eax, [ebp - 0x23e0]
push eax
call fcn.00489521
add esp, 0xc
test eax, eax
jne 0x448c73
cmp dword [ebp - 0x1bc0], 3
je 0x448c73
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.asi.SmartReadData__asi.SmartReadThreshold
call fcn.00402306
mov byte [ebp - 4], 0x3e
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
and dword [ebp - 0x1d08], 0
and dword [ebp - 0x1d04], 0
and dword [ebp - 0x1d10], 0
pop ecx
jmp 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451681
test eax, eax
je 0x448373
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451681
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448351
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004517dd
test eax, eax
je 0x44836d
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448c73
push ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451933
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451681
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451681
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x4483ef
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004517dd
jmp 0x448c63
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSi_physicalDriveId__asi_
call fcn.00402306
mov eax, dword [ebp - 0x33fc]
mov byte [ebp - 4], al
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.004529fd
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSi_physicalDriveId__asiCheck_
call fcn.00402306
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.004529fd
push ecx
mov ecx, esp
mov dword [ebp - 0x3414], esp
push str.CheckSmartAttributeCorrect_asi__asiCheck____1
call fcn.00402306
mov byte [ebp - 4], 0x41
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448c6d
lea eax, [ebp - 0x1b18]
mov dword [ebp - 0x1d08], ebx
push eax
push 0xa0
push dword [ebp + 8]
mov ecx, edi
call fcn.0044f533
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.CheckSmartAttributeCorrect_asi__asiCheck____2
call fcn.00402306
mov byte [ebp - 4], 0x42
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448c6d
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartThresholdPd
call fcn.00402306
mov byte [ebp - 4], 0x43
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push 0xa0
push dword [ebp + 8]
call fcn.0044f6a3
jmp 0x448c67
mov eax, ecx
sub eax, 0xa
je case.0x4480b3.4
sub eax, 1
je case.0x4480b3.4
sub eax, 1
je 0x448979
sub eax, 1
je 0x4486ef
sub eax, 1
je 0x4486a5
sub eax, 8
je 0x448599
sub eax, 1
je 0x448c73
xor ebx, ebx
jmp 0x448dfd
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453c9f
test eax, eax
je 0x448612
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453c9f
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x4485f0
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453d24
test eax, eax
je 0x44860c
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448c73
push ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453da1
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453c9f
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453c9f
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x44868e
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453d24
jmp 0x448c63
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push 0
call fcn.00452af4
mov dword [ebp - 0x1d08], eax
mov ecx, edi
lea eax, [ebp - 0x33e0]
push eax
call fcn.00452ac1
cmp dword [ebp - 0x1d08], 0
mov dword [ebp - 0x1d04], eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
jmp 0x448c6d
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1_CSMI
push eax
call fcn.00403636
pop ecx
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f533
test eax, eax
je 0x4487ca
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f533
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x44879f
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1A_CSMI
push eax
call fcn.00403636
add esp, 0xc
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.0044f6a3
test eax, eax
je 0x4487c0
mov dword [ebp - 0x1d04], ebx
mov eax, ebx
mov dword [ebp - 0x1d10], eax
jmp 0x4487d0
mov eax, dword [ebp - 0x1d10]
test eax, eax
je 0x4487ea
cmp dword [ebp - 0x1d08], 0
je 0x4487ea
cmp dword [ebp - 0x1d04], 0
jne 0x448c73
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributeCsmi___1_CSMI
push eax
call fcn.00403636
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x45
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
test eax, eax
je 0x4488a4
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x44887b
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.00453606
test eax, eax
je 0x44889a
mov dword [ebp - 0x1d04], ebx
mov eax, ebx
mov dword [ebp - 0x1d10], eax
jmp 0x4488aa
mov eax, dword [ebp - 0x1d10]
test eax, eax
mov eax, dword [ebp - 0x1d08]
je 0x4488cb
test eax, eax
je 0x4488d3
cmp dword [ebp - 0x1d04], 0
je 0x4488cb
mov dword [ebp - 0x1bc8], 0xc
test eax, eax
jne 0x448c73
push ecx
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045368e
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x44894b
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.00453606
test eax, eax
je 0x44896a
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1bc8], 0xc
jmp 0x448c6d
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
test eax, eax
je 0x4489fb
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x4489d6
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.00453606
test eax, eax
je 0x4489f5
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448c73
push ecx
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045368e
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045357a
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448a80
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.00453606
jmp 0x448c63
push dword [ecx*4 + 0x4ccf88]
lea eax, [ebp - 0x33f0]
push dword [ebp + 8]
push str.GetSmartAttributeSat__d____1___s_
push eax
call fcn.00403636
add esp, 0xc
lea eax, [ebp - 0x33f0]
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push eax
call fcn.00401f6f
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00451e9c
test eax, eax
je 0x448b81
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSat___1A
call fcn.00402306
mov byte [ebp - 4], 0x47
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00451e9c
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448b5c
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00452113
test eax, eax
je 0x448b7b
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448c73
push dword [ebp - 0x1bc8]
push ecx
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00452369
test eax, eax
je 0x448c73
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSat___2
call fcn.00402306
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00451e9c
test eax, eax
je 0x448c73
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a274
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSat___2A
call fcn.00402306
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x3b
call fcn.0043bfae
pop ecx
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00451e9c
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044cf7f
test eax, eax
je 0x448c4e
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x1bb4]
push dword [ebp + 8]
call fcn.00452113
test eax, eax
je 0x448c6d
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1bc0], 7
jne 0x448cd2
push 0
push str.OCZ_VERTEX3
lea ecx, [ebp - 0x1b58]
call fcn.0040a80a
test eax, eax
jne 0x448ca7
push eax
push str.2.02
lea ecx, [ebp - 0x1b60]
call fcn.0040a80a
test eax, eax
je 0x448cfd
push 0
push str.OCZ_VERTEX2
lea ecx, [ebp - 0x1b58]
call fcn.0040a80a
test eax, eax
jne 0x448cd2
push eax
push str.1.27
lea ecx, [ebp - 0x1b60]
call fcn.0040a80a
test eax, eax
je 0x448cfd
push 0
push str.SSD_G2_Series
lea ecx, [ebp - 0x1b58]
call fcn.0040a80a
test eax, eax
jne 0x448d03
push eax
push str.3.6.5
lea ecx, [ebp - 0x1b60]
call fcn.0040a80a
test eax, eax
jne 0x448d03
mov dword [ebp - 0x1ce8], ebx
cmp dword [ebp - 0x1d08], 0
mov eax, dword [ebp - 0x1c30]
mov dword [ebp - 0x1c2c], eax
jne 0x448d4b
and dword [ebp - 0x1c28], 0
or eax, 0xffffffff
and dword [ebp - 0x1bdc], 0
mov dword [ebp - 0x1c38], eax
mov dword [ebp - 0x1c34], eax
mov dword [ebp - 0x1c30], eax
mov dword [ebp - 0x1c2c], eax
mov dword [ebp - 0x1c24], 0xfffffc18
push 0
push str.Intel
lea ecx, [ebp - 0x1b58]
call fcn.0040a80a
test eax, eax
jne 0x448d84
mov eax, dword [ebp - 0x1c34]
mov ecx, 0xda753
cmp eax, ecx
jle 0x448d84
sub dword [ebp - 0x1c30], ecx
sub dword [ebp - 0x1c38], ecx
sub eax, ecx
mov dword [ebp - 0x1c34], eax
cmp dword [ebp - 0x1d0c], 0
je 0x448da7
cmp dword [edi + 0xe8], 0
je case.default.0x4480b3
cmp dword [ebp - 0x3408], 4
jge case.default.0x4480b3
mov eax, dword [ebp - 0x3410]
cmp eax, 0xffffffff
je 0x448dcd
cmp dword [ebp - 0x1d08], 0
je case.default.0x4480b3
push ecx
add edi, 8
push eax
mov ecx, edi
call fcn.00456428
jmp 0x448dd0
add edi, 8
mov eax, 0x18c8
call fcn.00488010
lea eax, [ebp - 0x33e0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.00449116
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], 0x3b
mov ecx, edi
call fcn.00456380
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x33f0]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x3400]
lea ecx, [ecx - 0x10]
call fcn.0040259b
mov byte [ebp - 4], 0x29
lea ecx, [esi - 0x10]
call fcn.0040259b
jmp 0x448e58
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.asi.Model.IsEmpty____asi.FirmwareRev.IsEmpty__
call fcn.00402306
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x29
call fcn.0043bfae
pop ecx
mov dword [ebp - 0x1d0c], ebx
xor ebx, ebx
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1b18]
call fcn.00448ecf
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x33e0]
call fcn.00448ecf
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x2c]
add ecx, 0xfffffff0
call fcn.0040259b
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00487643
leave
ret 0x2c
push 0x80004005
call fcn.004025e7
mov edi, edi
mov edx, 0xfa004480
add byte [eax + eax + 6], 0x84
inc esp
add byte [edx - 0x65ffbb76], bl
mov al, byte [eax + eax - 0x66]
mov al, byte [eax + eax - 0x66]
mov al, byte [eax + eax - 0x66]
mov al, byte [eax + eax + 0x55]
push ebp