Function at 0x4091e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc0
push ebx
push ebp
push esi
push edi
mov edi, str._unknown_attribute_
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0xd8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, dword [esp + 0xd4]
mov eax, ecx
mov esi, edi
mov edi, ebx
mov dword [esp + 0x10], str.0___No_Attribute_Here
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x14], str.1___Raw_Read_Error_Rate
and ecx, 3
mov dword [esp + 0x18], str.2___Throughput_Performance
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x1c], str.3___Spin_Up_Time
mov dword [esp + 0x20], str.4___Start_Stop_Count
mov dword [esp + 0x24], str.5___Reallocated_Sector_Count
mov dword [esp + 0x28], str.6___Read_Channel_Margin
mov dword [esp + 0x2c], str.7___Seek_Error_Rate
mov dword [esp + 0x30], str.8___Seek_Time_Performance
mov dword [esp + 0x34], str.9___Power_On_Hours_Count
mov dword [esp + 0x38], str.10__Spin_Retry_Count
mov dword [esp + 0x3c], str.11__Calibration_Retry_Count
mov dword [esp + 0x40], str.12__Power_Cycle_Count
mov dword [esp + 0x44], str.13__Soft_Read_Error_Rate
mov dword [esp + 0x48], str.190_Airflow_Temperature
mov dword [esp + 0x4c], str.191_G_sense_Error_Rate
mov dword [esp + 0x50], str.192_Power_Off_Retract_Count
mov dword [esp + 0x54], str.193_Load_Cycle_Count
mov dword [esp + 0x58], str.194_Temperature
mov dword [esp + 0x5c], str.195_Hardware_ECC_Recovered
mov dword [esp + 0x60], str.196_Reallocated_Event_Count
mov dword [esp + 0x64], str.197_Current_Pending_Sector
mov dword [esp + 0x68], str.198_Offline_Uncorrectable
mov dword [esp + 0x6c], str.199_Ultra_DMA_CRC_Error_Count
mov dword [esp + 0x70], str.200_Write_Error_Rate
mov dword [esp + 0x74], str.201_TA_Counter_Detected
mov dword [esp + 0x78], str.202_TA_Counter_Increased
mov dword [esp + 0x7c], str.203_Run_Out_Cancel
mov dword [esp + 0x80], str.204_Soft_ECC_Correction
mov dword [esp + 0x84], str.205_Thermal_Asperity_Rate
mov dword [esp + 0x88], str.206_Flying_Height
mov dword [esp + 0x8c], str.207_Spin_High_Current
mov dword [esp + 0x90], str.208_Spin_Buzz
mov dword [esp + 0x94], str.209_Offline_Seek_Performance
mov dword [esp + 0x98], str.220_Disk_Shift
mov dword [esp + 0x9c], str.221_G_Sense_Error_Rate
mov dword [esp + 0xa0], str.222_Loaded_Hours
mov dword [esp + 0xa4], str.223_Load_Unload_Retry_Count
mov dword [esp + 0xa8], str.224_Load_Friction
mov dword [esp + 0xac], str.225_Load_Unload_Cycle_Count
mov dword [esp + 0xb0], str.226_Load_in_time
mov dword [esp + 0xb4], str.227_Torque_Amplification_Count
mov dword [esp + 0xb8], str.228_Power_Off_Retract_Cycle
mov dword [esp + 0xbc], str.230_GMR_Head_Amplitude
mov dword [esp + 0xc0], str.231_Temperature
mov dword [esp + 0xc4], str.240_Head_Flying_Hours
mov dword [esp + 0xc8], str.250_Read_Error_Retry_Rate
mov dword [esp + 0xcc], 0x4534c0
xor edi, edi
mov esi, dword [esp + edi*4 + 0x10]
push esi
call fcn.004201e9
mov edx, eax
add esp, 4
cmp edx, ebp
jne 0x409410
lea edi, [esi + 4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or edi, 0xffffffff
jmp 0x409411
inc edi
cmp edx, 0xffffffff
je 0x40941b
cmp edi, 0xffffffff
jne 0x4093d8
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xc0
ret