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

Disassembly:
sub esp, 0xd4
push ebx
push ebp
push esi
push edi
mov edi, 0x4a3a64
or ecx, 0xffffffff
xor eax, eax
mov ebx, dword [esp + 0xec]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, dword [esp + 0xe8]
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___
and ecx, 3
mov dword [esp + 0x18], str.2___Throughput_Performance
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x1c], str.3___RPM
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.184_End_To_End_Error_Detection
mov dword [esp + 0x4c], str.187_
mov dword [esp + 0x50], str.188_
mov dword [esp + 0x54], str.190_
mov dword [esp + 0x58], str.191_G_sense_Error_Rate
mov dword [esp + 0x5c], str.192_Power_Off_Retract_Count
mov dword [esp + 0x60], str.193_Load_Cycle_Count
mov dword [esp + 0x64], str.194_
mov dword [esp + 0x68], str.195_
mov dword [esp + 0x6c], str.196_
mov dword [esp + 0x70], str.197_
mov dword [esp + 0x74], str.198_
mov dword [esp + 0x78], str.199_Ultra_DMA_CRC
mov dword [esp + 0x7c], str.200_
mov dword [esp + 0x80], str.201_
mov dword [esp + 0x84], str.202_
mov dword [esp + 0x88], str.203_Run_Out_Cancel
mov dword [esp + 0x8c], str.204_Soft_ECC_Correction
mov dword [esp + 0x90], str.205_Thermal_Asperity_Rate
mov dword [esp + 0x94], str.206_Flying_Height
mov dword [esp + 0x98], str.207_Spin_High_Current
mov dword [esp + 0x9c], str.208_Spin_Buzz
mov dword [esp + 0xa0], str.209_Offline_Seek_Performance
mov dword [esp + 0xa4], str.220_Disk_Shift
mov dword [esp + 0xa8], str.221_G_Sense_Error_Rate
mov dword [esp + 0xac], str.222_Loaded_Hours
mov dword [esp + 0xb0], str.223_Load_Unload_Retry_Count
mov dword [esp + 0xb4], str.224_Load_Friction
mov dword [esp + 0xb8], str.225_Load_Unload_Cycle_Count
mov dword [esp + 0xbc], str.226_Load_in_time
mov dword [esp + 0xc0], str.227_Torque_Amplification_Count
mov dword [esp + 0xc4], str.228_Power_Off_Retract_Cycle
mov dword [esp + 0xc8], str.230_GMR_Head_Amplitude
mov dword [esp + 0xcc], str.231_Temperature
mov dword [esp + 0xd0], str.232_Available_Reserved_Space
mov dword [esp + 0xd4], str.233_Media_Wearout_Inidcator
mov dword [esp + 0xd8], str.240_Head_Flying_Hours
mov dword [esp + 0xdc], str.250_Read_Error_Retry_Rate
mov dword [esp + 0xe0], 0x4a3310
xor edi, edi
mov esi, dword [esp + edi*4 + 0x10]
push esi
call fcn.00447ced
mov edx, eax
add esp, 4
cmp edx, ebp
jne 0x415d87
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 0x415d88
inc edi
cmp edx, 0xffffffff
je 0x415d92
cmp edi, 0xffffffff
jne 0x415d4f
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0xd4
ret