Function at 0x44674b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b6a75
mov eax, dword fs:[0]
push eax
mov eax, 0x3420
call fcn.00487b60
mov eax, dword [0x4f6560]
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 - 0x340c], esi
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x3424], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x341c], eax
mov dword [ebp - 0x33ec], ebx
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [esi + 0x10], 0x40
jl 0x4467b2
mov ebx, ecx
jmp 0x448b44
xor eax, eax
mov dword [ebp - 0x33d8], ecx
mov dword [ebp - 0x33e0], eax
lea edi, [ebp - 0x33cc]
mov dword [ebp - 0x33dc], eax
mov word [ebp - 0x33d4], ax
mov word [ebp - 0x33ce], ax
mov dword [ebp - 0x33d2], ecx
stosd dword es:[edi], eax
push 0x30
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x33b8], eax
mov word [ebp - 0x33b4], ax
lea eax, [ebp - 0x33b2]
push eax
call fcn.00488a40
xor eax, eax
lea edi, [ebp - 0x3376]
mov dword [ebp - 0x3382], eax
xor ecx, ecx
mov dword [ebp - 0x337e], eax
mov dword [ebp - 0x337a], ecx
stosd dword es:[edi], eax
push 0x40
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x336a], ax
lea edi, [ebp - 0x3356]
mov dword [ebp - 0x3364], eax
mov dword [ebp - 0x3360], eax
mov dword [ebp - 0x335c], eax
mov word [ebp - 0x3358], ax
mov dword [ebp - 0x3368], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x334a], eax
lea edi, [ebp - 0x32f6]
mov dword [ebp - 0x3346], eax
mov dword [ebp - 0x3342], eax
mov dword [ebp - 0x333e], eax
mov dword [ebp - 0x333a], eax
mov dword [ebp - 0x3336], eax
mov dword [ebp - 0x3332], eax
mov dword [ebp - 0x332e], eax
mov dword [ebp - 0x332a], eax
mov dword [ebp - 0x3326], eax
mov dword [ebp - 0x3322], eax
mov word [ebp - 0x331e], ax
mov dword [ebp - 0x3310], eax
mov dword [ebp - 0x330c], eax
mov dword [ebp - 0x3308], eax
mov dword [ebp - 0x3304], eax
mov word [ebp - 0x32f8], ax
mov dword [ebp - 0x331c], ecx
mov dword [ebp - 0x3318], ecx
mov dword [ebp - 0x3314], ecx
mov dword [ebp - 0x3300], ecx
mov dword [ebp - 0x32fc], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x32e2], ax
lea eax, [ebp - 0x32e0]
push eax
call fcn.00488a40
xor eax, eax
lea edi, [ebp - 0x329e]
mov word [ebp - 0x32a0], ax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x4a
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
push eax
mov word [ebp - 0x3290], ax
lea eax, [ebp - 0x328e]
push eax
call fcn.00488a40
xor eax, eax
lea edi, [ebp - 0x3222]
mov word [ebp - 0x3244], ax
xor edx, edx
mov word [ebp - 0x323e], ax
mov word [ebp - 0x3234], ax
mov dword [ebp - 0x322e], eax
mov dword [ebp - 0x322a], eax
mov dword [ebp - 0x3226], eax
mov dword [ebp - 0x3242], edx
mov dword [ebp - 0x323c], edx
mov dword [ebp - 0x3238], edx
mov dword [ebp - 0x3232], edx
stosd dword es:[edi], eax
push 0xa
pop ecx
push 0x1674
stosd dword es:[edi], eax
push edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x320c], ax
lea edi, [ebp - 0x320a]
rep stosd dword es:[edi], eax
mov word [ebp - 0x31e2], ax
lea eax, [ebp - 0x31e0]
push eax
call fcn.00488a40
add esp, 0x30
lea ecx, [ebp - 0x1b6c]
call fcn.004038ee
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1b68]
call fcn.004038ee
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1b64]
call fcn.004038ee
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1b60]
call fcn.004038ee
push 5
pop eax
mov dword [ebp - 0x3414], eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x1b5c]
call fcn.004038ee
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1b58]
call fcn.004038ee
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1b54]
call fcn.004038ee
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1b50]
call fcn.004038ee
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b4c]
call fcn.004038ee
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b48]
call fcn.004038ee
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1b44]
call fcn.004038ee
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1b40]
call fcn.004038ee
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1b3c]
call fcn.004038ee
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1b38]
call fcn.004038ee
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1b34]
call fcn.004038ee
push 0x10
pop eax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x1b30]
call fcn.004038ee
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1b2c]
call fcn.004038ee
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1b28]
call fcn.004038ee
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1b24]
call fcn.004038ee
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x1b20]
call fcn.004038ee
mov byte [ebp - 4], 0x15
xor eax, eax
mov dword [ebp - 0x1b18], eax
lea edi, [ebp - 0x1b04]
mov dword [ebp - 0x1b14], eax
xor ecx, ecx
mov word [ebp - 0x1b0c], ax
mov word [ebp - 0x1b06], ax
mov dword [ebp - 0x1b10], ecx
mov dword [ebp - 0x1b0a], ecx
stosd dword es:[edi], eax
push 0x30
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x1af0], eax
mov word [ebp - 0x1aec], ax
lea eax, [ebp - 0x1aea]
push eax
call fcn.00488a40
xor eax, eax
lea edi, [ebp - 0x1aae]
xor ecx, ecx
mov dword [ebp - 0x1aba], eax
mov dword [ebp - 0x1ab6], eax
mov dword [ebp - 0x1ab2], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x1aa2], ax
mov dword [ebp - 0x1aa0], ecx
mov dword [ebp - 0x1a9c], eax
mov dword [ebp - 0x1a98], eax
lea edi, [ebp - 0x1a8e]
mov dword [ebp - 0x1a94], eax
mov word [ebp - 0x1a90], ax
stosd dword es:[edi], eax
push 0x40
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x1a82], eax
lea edi, [ebp - 0x1a2e]
mov dword [ebp - 0x1a7e], eax
mov dword [ebp - 0x1a7a], eax
mov dword [ebp - 0x1a76], eax
mov dword [ebp - 0x1a72], eax
mov dword [ebp - 0x1a6e], eax
mov dword [ebp - 0x1a6a], eax
mov dword [ebp - 0x1a66], eax
mov dword [ebp - 0x1a62], eax
mov dword [ebp - 0x1a5e], eax
mov dword [ebp - 0x1a5a], eax
mov word [ebp - 0x1a56], ax
mov dword [ebp - 0x1a48], eax
mov dword [ebp - 0x1a44], eax
mov dword [ebp - 0x1a40], eax
mov dword [ebp - 0x1a3c], eax
mov word [ebp - 0x1a30], ax
mov dword [ebp - 0x1a54], ecx
mov dword [ebp - 0x1a50], ecx
mov dword [ebp - 0x1a4c], ecx
mov dword [ebp - 0x1a38], ecx
mov dword [ebp - 0x1a34], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov word [ebp - 0x1a1a], ax
lea eax, [ebp - 0x1a18]
push eax
call fcn.00488a40
xor eax, eax
lea edi, [ebp - 0x19d6]
mov word [ebp - 0x19d8], ax
stosd dword es:[edi], eax
push 0x4a
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
push eax
mov word [ebp - 0x19c8], ax
lea eax, [ebp - 0x19c6]
push eax
call fcn.00488a40
xor eax, eax
lea edi, [ebp - 0x195a]
mov word [ebp - 0x197c], ax
xor edx, edx
mov word [ebp - 0x1976], ax
mov word [ebp - 0x196c], ax
mov dword [ebp - 0x1966], eax
mov dword [ebp - 0x1962], eax
mov dword [ebp - 0x195e], eax
mov dword [ebp - 0x197a], edx
mov dword [ebp - 0x1974], edx
mov dword [ebp - 0x1970], edx
mov dword [ebp - 0x196a], edx
stosd dword es:[edi], eax
push 0xa
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [ebp - 0x1944], ax
lea edi, [ebp - 0x1942]
rep stosd dword es:[edi], eax
push 0x1674
mov word [ebp - 0x191a], ax
lea eax, [ebp - 0x1918]
push edx
push eax
call fcn.00488a40
add esp, 0x30
lea ecx, [ebp - 0x2a4]
call fcn.004038ee
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x2a0]
call fcn.004038ee
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x29c]
call fcn.004038ee
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x298]
call fcn.004038ee
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x294]
call fcn.004038ee
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x290]
call fcn.004038ee
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x28c]
call fcn.004038ee
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x288]
call fcn.004038ee
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x284]
call fcn.004038ee
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x280]
call fcn.004038ee
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x27c]
call fcn.004038ee
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x278]
call fcn.004038ee
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x274]
call fcn.004038ee
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x270]
call fcn.004038ee
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x26c]
call fcn.004038ee
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x268]
call fcn.004038ee
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x264]
call fcn.004038ee
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x260]
call fcn.004038ee
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x25c]
call fcn.004038ee
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x258]
call fcn.004038ee
mov byte [ebp - 4], 0x29
mov eax, 0x200
mov edi, dword [ebp - 0x341c]
push eax
lea eax, [ebp - 0x33e0]
push edi
push eax
call fcn.00488ba0
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 - 0x3424]
push 0x4c90b8
mov dword [ebp - 0x1bcc], eax
mov dword [ebp - 0x304], eax
call fcn.0048c5e3
add esp, 0x10
lea ecx, [ebp - 0x1b2c]
push eax
push 0x4c90b8
call fcn.00402592
test ebx, ebx
je 0x446e92
push 0x40
lea eax, [ebp - 0x1bae]
push ebx
push eax
call fcn.00488ba0
add esp, 0xc
mov eax, dword [ebp - 0x3424]
xor ebx, ebx
inc ebx
cmp eax, ebx
je 0x446ece
cmp eax, 4
jl 0x446ea9
cmp eax, 0xb
jle 0x446ece
mov esi, dword [eax*4 + 0x4cc3c0]
test esi, esi
jne 0x446eb8
xor eax, eax
jmp 0x446ebf
push esi
call fcn.0048c5e3
pop ecx
push eax
push esi
lea ecx, [ebp - 0x1b30]
call fcn.00402592
jmp 0x446ef7
cmp byte [ebp + 0x18], 0xb0
mov eax, dword [eax*4 + 0x4cc3c0]
push eax
lea eax, [ebp - 0x1b30]
jne 0x446ee9
push 0x4dac6c
jmp 0x446eee
push 0x4dac74
push eax
call fcn.004038da
add esp, 0xc
push 0x1e
lea esi, [ebp - 0x1e78]
pop edi
push 0xc
lea eax, [esi - 0x168]
push 0
push eax
call fcn.00488a40
push 0xc
push 0
push esi
call fcn.00488a40
add esp, 0x18
add esi, 0xc
sub edi, 1
jne 0x446f00
mov esi, dword [ebp - 0x340c]
xor ecx, ecx
mov edi, dword [ebp - 0x341c]
mov eax, ecx
mov edx, 0x200
mov byte [ebp + eax - 0x23e0], cl
mov byte [ebp + eax - 0x21e0], cl
inc eax
cmp eax, edx
jl 0x446f3a
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 - 0x1bd0], ecx
mov dword [ebp - 0x1bc8], ecx
mov dword [ebp - 0x1bc4], ecx
mov dword [ebp - 0x1bc0], ecx
mov dword [ebp - 0x1bbc], ecx
mov byte [ebp - 0x1bb8], al
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b6c]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b64]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b5c]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b58]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b54]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b50]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b4c]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b48]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b44]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b40]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b3c]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b38]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b34]
call fcn.00402592
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b28]
call fcn.00402592
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x1b24]
call fcn.0040232a
push 0x4c90b8
call fcn.0048c5e3
pop ecx
push eax
push 0x4c90b8
lea ecx, [ebp - 0x1b3c]
call fcn.00402592
mov eax, 0x200
push eax
lea eax, [ebp - 0x250]
push edi
push eax
call fcn.00488ba0
add esp, 0xc
xor eax, eax
mov cl, al
add cl, byte [ebp + eax - 0x250]
inc eax
cmp eax, 0x200
jl 0x4472fa
test cl, cl
je 0x447313
mov dword [ebp - 0x1d00], ebx
lea eax, [edi + 0x14]
push 0x14
push eax
call fcn.00455481
test eax, eax
jne 0x448b1e
lea eax, [edi + 0x2e]
push 8
push eax
call fcn.00455481
test eax, eax
jne 0x448b1e
lea eax, [edi + 0x36]
push 0x28
push eax
call fcn.00455481
test eax, eax
jne 0x448b1e
push 0x14
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00498095
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b68]
push eax
call fcn.004576ad
lea ecx, [ebp - 0x1b68]
call fcn.0040ac25
lea ecx, [ebp - 0x1b68]
call fcn.0040ac89
push 8
lea eax, [edi + 0x2e]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00498095
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b60]
push eax
call fcn.004576ad
lea ecx, [ebp - 0x1b60]
call fcn.0040ac25
lea ecx, [ebp - 0x1b60]
call fcn.0040ac89
push 0x28
lea eax, [edi + 0x36]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00498095
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b58]
push eax
call fcn.004576ad
lea ecx, [ebp - 0x1b58]
call fcn.0040ac25
lea ecx, [ebp - 0x1b58]
call fcn.0040ac89
push 0x14
lea eax, [edi + 0x14]
push eax
call fcn.00455458
push 8
lea eax, [edi + 0x2e]
push eax
call fcn.00455458
push 0x28
lea eax, [edi + 0x36]
push eax
call fcn.00455458
push 0x14
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00498095
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b6c]
push eax
call fcn.004576ad
lea ecx, [ebp - 0x1b6c]
call fcn.0040ac25
lea ecx, [ebp - 0x1b6c]
call fcn.0040ac89
push 8
lea eax, [edi + 0x2e]
push eax
push 0x40
lea eax, [ebp - 0x50]
push eax
call fcn.00498095
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b64]
push eax
call fcn.004576ad
lea ecx, [ebp - 0x1b64]
call fcn.0040ac25
lea ecx, [ebp - 0x1b64]
call fcn.0040ac89
push 0x28
lea eax, [edi + 0x36]
push eax
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00498095
add esp, 0x10
lea eax, [ebp - 0x50]
lea ecx, [ebp - 0x1b5c]
push eax
call fcn.004576ad
lea ecx, [ebp - 0x1b5c]
call fcn.0040ac25
lea ecx, [ebp - 0x1b5c]
call fcn.0040ac89
mov eax, dword [ebp - 0x1b5c]
cmp dword [eax - 0xc], 0
je 0x448afd
mov eax, dword [ebp - 0x1b64]
cmp dword [eax - 0xc], 0
je 0x448afd
xor eax, eax
or ecx, 0xffffffff
mov dword [ebp - 0x3428], ecx
mov dword [ebp - 0x33e8], eax
cmp dword [esi + 0x10], eax
jle 0x447685
lea ecx, [esi + 8]
mov dword [ebp - 0x33fc], ecx
push eax
call fcn.0040ad5e
mov eax, dword [eax + 0x1884]
test eax, eax
je 0x448b71
push eax
push dword [ebp - 0x1b5c]
call fcn.0048fce5
pop ecx
pop ecx
test eax, eax
jne 0x4475a9
push dword [ebp - 0x33e8]
lea ecx, [esi + 8]
call fcn.0040ad5e
mov eax, dword [eax + 0x1874]
test eax, eax
je 0x448b71
push eax
push dword [ebp - 0x1b6c]
call fcn.0048fce5
pop ecx
pop ecx
test eax, eax
jne 0x4475a9
push dword [ebp - 0x33e8]
lea ecx, [esi + 8]
call fcn.0040ad5e
push dword [ebp - 0x33e8]
lea ecx, [esi + 8]
cmp dword [eax + 0x1738], 0xffffffff
je 0x4475c7
call fcn.0040ad5e
mov eax, dword [eax + 0x188c]
cmp dword [eax - 0xc], 0
jne 0x447599
mov eax, dword [ebp - 0x33e8]
mov dword [ebp - 0x3428], eax
jmp 0x4475af
mov eax, dword [ebp - 0x1b54]
cmp dword [eax - 0xc], 0
je 0x448b24
mov eax, dword [ebp - 0x33e8]
inc eax
mov dword [ebp - 0x33e8], eax
cmp eax, dword [esi + 0x10]
jge 0x447685
lea ecx, [esi + 8]
jmp 0x447506
call fcn.0040ad5e
mov ecx, dword [ebp - 0x1ca8]
mov dword [eax + 0x1738], ecx
cmp dword [esi + 0x13c], ebx
jne 0x448b24
mov esi, dword [ebp - 0x33e8]
mov ecx, esi
push ecx
mov dword [ebp - 0x3428], ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.vars_i_.CommandType__CMD_TYPE_CSMI_PHYSICAL_DRIVE
call fcn.00402632
mov byte [ebp - 4], 0x2d
mov byte [ebp - 4], 0x29
call fcn.0043b8ee
pop ecx
mov ecx, dword [ebp - 0x33fc]
push esi
call fcn.0040ad5e
mov ecx, dword [ebp - 0x33fc]
push esi
mov dword [eax + 0x1814], 0xd
call fcn.0040ad5e
mov ecx, dword [ebp - 0x33fc]
push esi
mov eax, dword [eax + 0x1814]
mov eax, dword [eax*4 + 0x4cc3c0]
mov dword [ebp - 0x33f4], eax
call fcn.0040ad5e
mov esi, dword [ebp - 0x33f4]
add eax, 0x18b0
mov dword [ebp - 0x3418], eax
test esi, esi
jne 0x44766d
xor ecx, ecx
jmp 0x44767c
push esi
call fcn.0048c5e3
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x3418]
push ecx
push esi
mov ecx, eax
call fcn.00402592
mov eax, dword [ebp - 0x1b64]
add eax, 0xfffffff0
push eax
call fcn.004022cf
add eax, 0x10
mov dword [ebp - 0x33fc], eax
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x33fc]
mov dword [esp], 0x4c90b8
push 0x4cac30
call fcn.0040e8d2
push 0
push str.ADATA_SSD
lea ecx, [ebp - 0x1b5c]
call fcn.0040abeb
mov esi, dword [ebp - 0x33fc]
test eax, eax
jne 0x4476ee
push esi
call fcn.0048fc76
pop ecx
cmp eax, 0x15a
jne 0x4476ee
fld qword [0x4decf0]
fstp qword [ebp - 0x1c20]
lea eax, [ebp - 0x1b6c]
push eax
lea eax, [ebp - 0x1b5c]
push eax
lea eax, [ebp - 0x33f4]
push eax
call fcn.0042a3d1
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x1b50]
push eax
call fcn.0040232a
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x33f4]
add ecx, 0xfffffff0
call fcn.004028cb
lea eax, [ebp - 0x1b40]
push eax
movzx eax, word [edi + 0xa0]
push eax
call fcn.00455c3a
mov dword [ebp - 0x1be8], eax
lea eax, [ebp - 0x1b3c]
push eax
movzx eax, word [edi + 0xa2]
push eax
call fcn.00455cc6
lea eax, [ebp - 0x1bd0]
push eax
lea eax, [ebp - 0x1b38]
push eax
lea eax, [ebp - 0x1b48]
push eax
lea eax, [ebp - 0x1b44]
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.00455566
push eax
mov dword [ebp - 0x1c48], eax
lea eax, [ebp - 0x1b64]
push dword [ebp - 0x1be8]
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x1b5c]
push ecx
mov ecx, esp
mov dword [ebp - 0x3404], esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x31
call fcn.00455907
push 6
pop ecx
mov dword [ebp - 0x1c44], eax
push 5
pop edx
cmp eax, ecx
jne 0x4477f6
mov dword [ebp - 0x1c40], ecx
jmp 0x447800
cmp eax, edx
jne 0x447800
mov dword [ebp - 0x1c40], edx
mov ecx, dword [ebp - 0x1be8]
cmp ecx, 3
jb 0x447838
test byte [ebp - 0x333c], 1
je 0x44781a
mov dword [ebp - 0x1ce4], ebx
test byte [ebp - 0x333a], 8
je 0x447838
test byte [ebp - 0x3334], 8
mov dword [ebp - 0x1cd8], ebx
je 0x447838
mov dword [ebp - 0x1cd0], ebx
cmp ecx, edx
jb 0x44786f
mov eax, 0x200
test dword [ebp - 0x333a], eax
je 0x44785d
mov dword [ebp - 0x1cdc], ebx
test dword [ebp - 0x3334], eax
je 0x44785d
mov dword [ebp - 0x1cd4], ebx
test dword [ebp - 0x333a], 0x400
je 0x44786f
mov dword [ebp - 0x1ce0], ebx
cmp ecx, 6
jb 0x447886
test dword [ebp - 0x3348], 0x100
je 0x447886
mov dword [ebp - 0x1ccc], ebx
cmp ecx, 7
jb 0x44793d
test byte [ebp - 0x3234], 1
je 0x44789e
mov dword [ebp - 0x1cc8], ebx
test byte [ebp - 0x328e], 1
je 0x4478ad
mov dword [ebp - 0x1cb8], ebx
mov dx, word [ebp - 0x322e]
cmp dx, bx
jne 0x4478c5
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 0x4478ec
movzx eax, dx
mov dword [ebp - 0x1c18], eax
mov eax, dword [ebp - 0x3290]
mov edx, eax
and edx, 0xf
jbe 0x447926
cmp dx, word [ebp - 0x3414]
ja 0x447926
and eax, 0xf
push dword [eax*4 + 0x4cc324]
lea eax, [ebp - 0x1b28]
push 0x4c9330
push eax
call fcn.004038da
mov ecx, dword [ebp - 0x1be8]
add esp, 0xc
cmp ecx, 7
jb 0x44793d
test dword [ebp - 0x3344], 0x100
je 0x44793d
mov dword [ebp - 0x1cc4], ebx
mov eax, dword [ebp - 0x1b5c]
add eax, 0xfffffff0
push eax
call fcn.004022cf
add eax, 0x10
pop ecx
mov dword [ebp - 0x342c], eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x342c]
call fcn.0040abc3
push 0
push str.MAXTOR
lea ecx, [ebp - 0x342c]
call fcn.0040abeb
test eax, eax
jne 0x44798a
cmp dword [ebp - 0x1c44], 2
jne 0x44798a
mov dword [ebp - 0x1cc0], ebx
movzx eax, word [edi + 2]
mov ecx, eax
mov dword [ebp - 0x33e8], ecx
mov ecx, 0x3fff
cmp ax, cx
jbe 0x4479b0
mov word [edi + 2], cx
mov dword [ebp - 0x1d0c], ebx
mov dword [ebp - 0x33e8], ecx
movzx eax, word [edi + 6]
push 0x10
pop ecx
mov edx, eax
mov dword [ebp - 0x3410], edx
cmp ax, cx
jbe 0x4479d6
mov edx, ecx
mov word [edi + 6], cx
mov dword [ebp - 0x1d0c], ebx
mov dword [ebp - 0x3410], edx
movzx eax, word [edi + 0xc]
mov dword [ebp - 0x3420], 0x3f
mov ecx, eax
mov dword [ebp - 0x3408], ecx
cmp ax, word [ebp - 0x3420]
jbe 0x447a0d
mov eax, dword [ebp - 0x3420]
mov ecx, eax
mov word [edi + 0xc], ax
mov dword [ebp - 0x1d0c], ebx
mov dword [ebp - 0x3408], ecx
mov eax, dword [ebp - 0x33e8]
movzx eax, ax
mov dword [ebp - 0x1c90], eax
movzx eax, dx
mov dword [ebp - 0x1c8c], eax
movzx eax, cx
mov dword [ebp - 0x1c88], eax
mov eax, dword [edi + 0x78]
mov dword [ebp - 0x33e4], eax
and eax, 0xfffffff
mov dword [ebp - 0x1c84], eax
movzx esi, word [edi + 0xcc]
mov dword [ebp - 0x3414], eax
mov eax, dword [edi + 0xc8]
mov dword [ebp - 0x1c80], eax
mov dword [ebp - 0x3418], eax
movzx eax, word [edi + 0xcc]
mov dword [ebp - 0x1c7c], eax
movzx eax, word [edi + 0xd4]
mov dword [ebp - 0x33f4], esi
mov esi, 0x4000
mov dword [ebp - 0x3404], eax
and eax, 0xc000
cmp ax, si
mov esi, dword [ebp - 0x33fc]
jne 0x447adb
movzx eax, word [edi + 0xd4]
and al, 0xf
cmp al, 3
jne 0x447aba
mov eax, 0x200
mov dword [ebp - 0x1c64], eax
mov dword [ebp - 0x1c60], 0x1000
jmp 0x447ae1
mov eax, 0x1000
mov dword [ebp - 0x3400], eax
test dword [ebp - 0x3404], eax
je 0x447adb
mov dword [ebp - 0x1c64], eax
mov dword [ebp - 0x1c60], eax
jmp 0x447ae7
mov eax, dword [ebp - 0x1c64]
mov dword [ebp - 0x3400], eax
cmp dword [edi + 0x78], 0x1100003
jne 0x447af6
mov dword [ebp - 0x1cec], ebx
mov eax, dword [ebp - 0x33e8]
test ax, ax
je 0x448adb
test dx, dx
je 0x448adb
test cx, cx
je 0x448adb
movzx eax, ax
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x3410]
movzx eax, ax
cdq
push edx
push eax
push ecx
push edi
call fcn.004aa380
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0x3408]
movzx eax, ax
cdq
push edx
push eax
push ecx
push edi
call fcn.004aa380
mov ecx, edx
mov dword [ebp - 0x3410], eax
push 0
mov edi, ecx
mov dword [ebp - 0x33e8], ecx
shld edi, eax, 9
push 0x3e8
shl eax, 9
push edi
push eax
mov dword [ebp - 0x3404], eax
call fcn.004aa890
push 0
push 0x3e8
push edx
push eax
call fcn.004aa890
mov dword [ebp - 0x3408], eax
test edi, edi
jne 0x447b98
cmp dword [ebp - 0x3404], 0x3baa0c40
jb 0x447ba1
add eax, 0xffffffcf
mov dword [ebp - 0x3408], eax
mov dword [ebp - 0x1c70], eax
mov eax, dword [ebp - 0x3410]
mov dword [ebp - 0x1c78], eax
mov eax, dword [ebp - 0x33e8]
mov dword [ebp - 0x1c74], eax
mov eax, dword [ebp - 0x3414]
test eax, eax
je 0x447c12
mov ecx, 0x200
mul ecx
test edx, edx
jne 0x447bdb
cmp eax, 0x2faf080
jb 0x447c12
push 0
mov edi, 0x3e8
push edi
push edx
push eax
call fcn.004aa890
push 0
push edi
push edx
push eax
call fcn.004aa890
lea edi, [eax - 0x31]
mov dword [ebp - 0x1c6c], edi
mov eax, dword [ebp - 0x3414]
and dword [ebp - 0x1c74], 0
mov dword [ebp - 0x1c78], eax
jmp 0x447c1a
xor edi, edi
mov dword [ebp - 0x1c6c], edi
cmp dword [ebp - 0x1ce0], 0
je 0x447c97
mov eax, dword [ebp - 0x33f4]
mul dword [ebp - 0x3400]
mov dword [ebp - 0x3404], eax
mov eax, dword [ebp - 0x3418]
mul dword [ebp - 0x3400]
mov ecx, dword [ebp - 0x3404]
add ecx, edx
jne 0x447c52
cmp eax, 0x2faf080
jb 0x447c97
push 0
push 0x3e8
push ecx
push eax
call fcn.004aa890
push 0
push 0x3e8
push edx
push eax
call fcn.004aa890
lea edx, [eax - 0x31]
mov dword [ebp - 0x1c68], edx
mov eax, dword [ebp - 0x3418]
mov dword [ebp - 0x1c78], eax
mov eax, dword [ebp - 0x33f4]
mov dword [ebp - 0x3400], edx
mov dword [ebp - 0x1c74], eax
jmp 0x447ca5
xor eax, eax
mov dword [ebp - 0x3400], eax
mov dword [ebp - 0x1c68], eax
mov eax, dword [ebp - 0x341c]
movzx ecx, word [eax + 0x2a]
shl ecx, 9
cmp dword [ebp - 0x1cc8], 0
mov dword [ebp - 0x1c58], ecx
je 0x447cda
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 0x447d18
mov ecx, dword [ebp - 0x3408]
test ecx, ecx
je 0x447d18
mov eax, dword [ebp - 0x3400]
cmp eax, edi
jbe 0x447d04
mov dword [ebp - 0x1c94], eax
jmp 0x447d25
cmp edi, ecx
jbe 0x447d10
mov dword [ebp - 0x1c94], edi
jmp 0x447d25
mov dword [ebp - 0x1c94], ecx
jmp 0x447d25
and dword [ebp - 0x1c94], 0
mov eax, dword [ebp - 0x3400]
cmp dword [ebp - 0x1ce0], 0
je 0x447d46
cmp edx, 0xfffffff
jae 0x447d46
sub edi, eax
neg edi
sbb edi, edi
not edi
and edi, eax
mov dword [ebp - 0x1c68], edi
lea ecx, [ebp - 0x33f0]
call fcn.004038ee
mov byte [ebp - 4], 0x3b
cmp dword [ebp - 0x1ce4], 0
mov edi, dword [ebp - 0x340c]
jne 0x447d7a
cmp dword [ebp - 0x1cec], 0
jne 0x447d7a
cmp dword [edi + 0xe8], 0
je 0x448945
mov ecx, dword [ebp - 0x1bcc]
cmp ecx, 0xc
jg 0x44854d
je 0x44842c
cmp ecx, ebx
je 0x4481ec
cmp ecx, 2
je 0x4480e0
cmp ecx, 3
je 0x447f91
lea eax, [ecx - 4]
cmp eax, 7
ja 0x448a93
push dword [ecx*4 + 0x4cc3c0]
lea eax, [ebp - 0x33f0]
push dword [ebp + 8]
push str.GetSmartAttributeSat__d____1___s_
push eax
call fcn.004038da
add esp, 0xc
lea eax, [ebp - 0x33f0]
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x46
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.00451c45
test eax, eax
je 0x447e9c
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSat___1A
call fcn.00402632
mov byte [ebp - 4], 0x47
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.00451c45
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x447e77
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.00451eb0
test eax, eax
je 0x447e96
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448945
push dword [ebp - 0x1bcc]
push ecx
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.004520fa
test eax, eax
je 0x448945
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSat___2
call fcn.00402632
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.00451c45
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSat___2A
call fcn.00402632
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.00451c45
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x447f69
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.00451eb0
test eax, eax
je 0x44893f
mov dword [ebp - 0x1d04], ebx
jmp 0x44893f
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSi_physicalDriveId__asi_
call fcn.00402632
mov eax, dword [ebp - 0x3420]
mov byte [ebp - 4], al
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.00452750
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartAttributeSi_physicalDriveId__asiCheck_
call fcn.00402632
mov byte [ebp - 4], 0x40
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 8]
call fcn.00452750
push ecx
mov ecx, esp
mov dword [ebp - 0x3404], esp
push str.CheckSmartAttributeCorrect_asi__asiCheck____1
call fcn.00402632
mov byte [ebp - 4], 0x41
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x44893f
lea eax, [ebp - 0x1b18]
mov dword [ebp - 0x1d08], ebx
push eax
push 0xa0
push dword [ebp + 8]
mov ecx, edi
call fcn.0044f357
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.CheckSmartAttributeCorrect_asi__asiCheck____2
call fcn.00402632
mov byte [ebp - 4], 0x42
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x44893f
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.GetSmartThresholdPd
call fcn.00402632
mov byte [ebp - 4], 0x43
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push 0xa0
push dword [ebp + 8]
call fcn.0044f4bb
jmp 0x447f86
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451459
test eax, eax
je 0x448159
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451459
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x448137
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004515ab
test eax, eax
je 0x448153
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448945
push ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004516f7
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451459
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00451459
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x4481d5
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004515ab
jmp 0x447f7e
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1
push eax
call fcn.004038da
pop ecx
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f357
test eax, eax
je 0x4482c3
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f357
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x44829c
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1A
push eax
call fcn.004038da
add esp, 0xc
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f4bb
test eax, eax
je 0x4482bd
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x4483c0
push ecx
push dword [ebp - 0x1bb8]
mov ecx, edi
push dword [ebp + 8]
call fcn.0044f60e
test eax, eax
je 0x4483c0
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____2
push eax
call fcn.004038da
pop ecx
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x3d
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f357
test eax, eax
je 0x4483c0
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f357
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x448399
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____2A
push eax
call fcn.004038da
add esp, 0xc
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f4bb
test eax, eax
je 0x4483ba
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.00489738
add esp, 0xc
test eax, eax
jne 0x448945
cmp dword [ebp - 0x1bc4], 3
je 0x448945
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.asi.SmartReadData__asi.SmartReadThreshold
call fcn.00402632
mov byte [ebp - 4], 0x3e
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
and dword [ebp - 0x1d08], 0
and dword [ebp - 0x1d04], 0
and dword [ebp - 0x1d10], 0
pop ecx
jmp 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
test eax, eax
je 0x4484ae
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x448489
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.004532e7
test eax, eax
je 0x4484a8
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448945
push ecx
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045336f
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x448533
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.004532e7
jmp 0x447f7e
sub ecx, 0xd
je 0x4486be
sub ecx, 1
je 0x448674
sub ecx, 8
jne 0x448a93
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453945
test eax, eax
je 0x4485e1
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453945
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x4485bf
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004539de
test eax, eax
je 0x4485db
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1d08], 0
jne 0x448945
push ecx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453a69
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453945
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00453945
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x44865d
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.004539de
jmp 0x447f7e
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push 0
call fcn.0045282c
mov dword [ebp - 0x1d08], eax
mov ecx, edi
lea eax, [ebp - 0x33e0]
push eax
call fcn.00452805
cmp dword [ebp - 0x1d08], 0
mov dword [ebp - 0x1d04], eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
jmp 0x44893f
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1_CSMI
push eax
call fcn.004038da
pop ecx
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f357
test eax, eax
je 0x448799
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f357
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x44876e
push dword [ebp + 8]
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributePd__d____1A_CSMI
push eax
call fcn.004038da
add esp, 0xc
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x1bb8]
push dword [ebp + 8]
call fcn.0044f4bb
test eax, eax
je 0x44878f
mov dword [ebp - 0x1d04], ebx
mov eax, ebx
mov dword [ebp - 0x1d10], eax
jmp 0x44879f
mov eax, dword [ebp - 0x1d10]
test eax, eax
je 0x4487b9
cmp dword [ebp - 0x1d08], 0
je 0x4487b9
cmp dword [ebp - 0x1d04], 0
jne 0x448945
lea eax, [ebp - 0x33f0]
push str.GetSmartAttributeCsmi___1_CSMI
push eax
call fcn.004038da
pop ecx
lea eax, [ebp - 0x33f0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.0040229c
mov byte [ebp - 4], 0x45
mov byte [ebp - 4], 0x3b
call fcn.0043b8ee
pop ecx
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
test eax, eax
je 0x448873
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x44884a
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.004532e7
test eax, eax
je 0x448869
mov dword [ebp - 0x1d04], ebx
mov eax, ebx
mov dword [ebp - 0x1d10], eax
jmp 0x448879
mov eax, dword [ebp - 0x1d10]
test eax, eax
mov eax, dword [ebp - 0x1d08]
je 0x44889a
test eax, eax
je 0x4488a2
cmp dword [ebp - 0x1d04], 0
je 0x44889a
mov dword [ebp - 0x1bcc], 0xc
test eax, eax
jne 0x448945
push ecx
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045336f
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
test eax, eax
je 0x448945
lea eax, [ebp - 0x33e0]
mov ecx, edi
push eax
call fcn.0044a22a
lea eax, [ebp - 0x1b18]
mov ecx, edi
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.0045325b
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x33e0]
push eax
call fcn.0044ce97
test eax, eax
je 0x448916
mov dword [ebp - 0x1d08], ebx
lea eax, [ebp - 0x33e0]
push eax
push dword [ebp - 0x33ec]
push dword [ebp + 0xc]
call fcn.004532e7
test eax, eax
je 0x448935
mov dword [ebp - 0x1d04], ebx
mov dword [ebp - 0x1bcc], 0xc
mov dword [ebp - 0x1d10], ebx
cmp dword [ebp - 0x1bc4], 7
jne 0x4489a4
push 0
push str.OCZ_VERTEX3
lea ecx, [ebp - 0x1b5c]
call fcn.0040abeb
test eax, eax
jne 0x448979
push eax
push str.2.02
lea ecx, [ebp - 0x1b64]
call fcn.0040abeb
test eax, eax
je 0x4489cf
push 0
push str.OCZ_VERTEX2
lea ecx, [ebp - 0x1b5c]
call fcn.0040abeb
test eax, eax
jne 0x4489a4
push eax
push str.1.27
lea ecx, [ebp - 0x1b64]
call fcn.0040abeb
test eax, eax
je 0x4489cf
push 0
push str.SSD_G2_Series
lea ecx, [ebp - 0x1b5c]
call fcn.0040abeb
test eax, eax
jne 0x4489d5
push eax
push str.3.6.5
lea ecx, [ebp - 0x1b64]
call fcn.0040abeb
test eax, eax
jne 0x4489d5
mov dword [ebp - 0x1ce8], ebx
cmp dword [ebp - 0x1d08], 0
mov eax, dword [ebp - 0x1c30]
mov dword [ebp - 0x1c2c], eax
jne 0x448a1d
and dword [ebp - 0x1c28], 0
or eax, 0xffffffff
and dword [ebp - 0x1be0], 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 - 0x1b5c]
call fcn.0040abeb
test eax, eax
jne 0x448a56
mov eax, dword [ebp - 0x1c34]
mov ecx, 0xda753
cmp eax, ecx
jle 0x448a56
sub dword [ebp - 0x1c30], ecx
sub dword [ebp - 0x1c38], ecx
sub eax, ecx
mov dword [ebp - 0x1c34], eax
cmp dword [ebp - 0x1d0c], 0
je 0x448a71
cmp dword [edi + 0xe8], 0
je 0x448a93
cmp dword [ebp - 0x3424], 4
jge 0x448a93
mov eax, dword [ebp - 0x3428]
cmp eax, 0xffffffff
je 0x448a97
cmp dword [ebp - 0x1d08], 0
je 0x448a93
push ecx
add edi, 8
push eax
mov ecx, edi
call fcn.004560a6
jmp 0x448a9a
xor ebx, ebx
jmp 0x448ac7
add edi, 8
mov eax, 0x18c8
call fcn.00487b60
lea eax, [ebp - 0x33e0]
mov dword [ebp - 0x33e4], esp
mov ecx, esp
push eax
call fcn.00448dc3
mov byte [ebp - 4], 0x56
mov byte [ebp - 4], 0x3b
mov ecx, edi
call fcn.00455ffe
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x33f0]
lea ecx, [ecx - 0x10]
call fcn.004028cb
jmp 0x448add
xor ebx, ebx
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x342c]
lea ecx, [ecx - 0x10]
call fcn.004028cb
mov byte [ebp - 4], 0x29
lea ecx, [esi - 0x10]
call fcn.004028cb
jmp 0x448b26
push ecx
mov ecx, esp
mov dword [ebp - 0x33e4], esp
push str.asi.Model.IsEmpty____asi.FirmwareRev.IsEmpty__
call fcn.00402632
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x29
call fcn.0043b8ee
pop ecx
mov dword [ebp - 0x1d0c], ebx
xor ebx, ebx
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1b18]
call fcn.00448b7c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x33e0]
call fcn.00448b7c
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp + 0x2c]
add ecx, 0xfffffff0
call fcn.004028cb
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.00487168
leave
ret 0x28
push 0x80004005
call fcn.00402917
int3