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

Disassembly:
sub esp, 0xf4
push ebx
push ebp
push esi
push edi
mov edi, 0x4a6bd8
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0x10c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], str.0___No_Attribute_Here
mov eax, ecx
mov esi, edi
mov edi, ebx
mov dword [esp + 0x14], str.1___
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x18], str.2___Throughput_Performance
and ecx, 3
mov dword [esp + 0x1c], str.3___RPM
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x20], str.4___
mov dword [esp + 0x24], str.5___
mov dword [esp + 0x28], str.6___Read_Channel_Margin
mov dword [esp + 0x2c], str.7___
mov dword [esp + 0x30], str.8___
mov dword [esp + 0x34], str.9___
mov dword [esp + 0x38], str.10__
mov dword [esp + 0x3c], str.11__
mov dword [esp + 0x40], str.12__
mov dword [esp + 0x44], str.13__
mov dword [esp + 0x48], str.171_Program_Fail_Count
mov dword [esp + 0x4c], str.172_Erase_Fail_Block_Count
mov dword [esp + 0x50], str.174_Unexpected_Power_Loss_Count
mov dword [esp + 0x54], str.177_Wear_Range_Delta
mov dword [esp + 0x58], str.181_Program_Fail_Count
mov dword [esp + 0x5c], str.182_Erase_Fail_Count
mov dword [esp + 0x60], str.184_End_To_End_Error_Detection
mov dword [esp + 0x64], str.187_
mov dword [esp + 0x68], str.188_
mov dword [esp + 0x6c], str.190_
mov dword [esp + 0x70], str.191_G_sense_Error_Rate
mov dword [esp + 0x74], str.192_Unsafe_Shutdown_Count
mov dword [esp + 0x78], str.193_Load_Cycle_Count
mov dword [esp + 0x7c], str.194_
mov dword [esp + 0x80], str.195_
mov dword [esp + 0x84], str.196_
mov dword [esp + 0x88], str.197_
mov dword [esp + 0x8c], str.198_
mov dword [esp + 0x90], str.199_Ultra_DMA_CRC
mov dword [esp + 0x94], str.200_
mov dword [esp + 0x98], str.201_Soft
mov dword [esp + 0x9c], str.202_
mov dword [esp + 0xa0], str.203_Run_Out_Cancel
mov dword [esp + 0xa4], str.204_Soft_ECC_Correction
mov dword [esp + 0xa8], str.205_Thermal_Asperity_Rate
mov dword [esp + 0xac], str.206_Flying_Height
mov dword [esp + 0xb0], str.207_Spin_High_Current
mov dword [esp + 0xb4], str.208_Spin_Buzz
mov dword [esp + 0xb8], str.209_Offline_Seek_Performance
mov dword [esp + 0xbc], str.220_Disk_Shift
mov dword [esp + 0xc0], str.221_G_Sense_Error_Rate
mov dword [esp + 0xc4], str.222_Loaded_Hours
mov dword [esp + 0xc8], str.223_Load_Unload_Retry_Count
mov dword [esp + 0xcc], str.224_Load_Friction
mov dword [esp + 0xd0], str.225_Load_Unload_Cycle_Count
mov dword [esp + 0xd4], str.226_Load_in_time
mov dword [esp + 0xd8], str.227_Torque_Amplification_Count
mov dword [esp + 0xdc], str.228_Power_Off_Retract_Cycle
mov dword [esp + 0xe0], str.230_GMR_Head_Amplitude
mov dword [esp + 0xe4], str.231_Temperature
mov dword [esp + 0xe8], str.232_Available_Reserved_Space
mov dword [esp + 0xec], str.233_Media_Wearout_Inidcator
mov dword [esp + 0xf0], str.240_Head_Flying_Hours
mov dword [esp + 0xf4], str.241_LifeTime_Writes_from_Host
mov dword [esp + 0xf8], str.242_LifeTime_Reads_from_Host
mov dword [esp + 0xfc], str.250_Read_Error_Retry_Rate
mov dword [esp + 0x100], 0x4a6364
xor edi, edi
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + edi*4 + 0x10]
push esi
call fcn.0044a3ed
mov edx, eax
add esp, 4
cmp edx, ebp
jne 0x4169af
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 0x4169b0
inc edi
cmp edx, 0xffffffff
je 0x4169ba
cmp edi, 0xffffffff
jne 0x416977
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xf4
ret