Function at 0x4173e0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x848
mov eax, dword [0x439190]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x103
xor edi, edi
lea eax, [ebp - 0x20b]
push edi
push eax
mov dword [ebp - 0x848], esi
mov byte [ebp - 0x20c], 0
call fcn.00419b60
push 0x103
lea ecx, [ebp - 0x107]
push edi
push ecx
mov byte [ebp - 0x108], 0
call fcn.00419b60
add esp, 0x18
xor ebx, ebx
mov byte [esi], 0
mov dword [ebp - 0x840], ebx
cmp ebx, 0x10
jge 0x41764e
push ebx
lea edx, [ebp - 0x20c]
push str..Scsi_d:
push edx
call fcn.0041874b
add esp, 0xc
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4174b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x108]
push str.R_S_D_I_e1____C_F__.failed__szDriveName:_s__dwErrCode:_lu_n
push edx
call fcn.0041874b
add esp, 0x10
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x41763f
xor ebx, ebx
test edi, edi
jne 0x417632
cmp ebx, 2
jge 0x417632
push 0x22c
lea ecx, [ebp - 0x43b]
push 0
push ecx
call fcn.00419b60
push 8
lea edx, [ebp - 0x438]
push str.SCSIDISK
push edx
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x43c], 0x1c
mov dword [ebp - 0x430], 0x1388
mov dword [ebp - 0x424], 0x211
mov dword [ebp - 0x42c], 0x1b0501
call fcn.0041b050
add esp, 0x18
push 0
lea eax, [ebp - 0x844]
push eax
push 0x22d
lea ecx, [ebp - 0x43c]
push ecx
push 0x3c
mov edx, ecx
push edx
push 0x4d008
push esi
mov byte [ebp - 0x416], 0xec
mov byte [ebp - 0x414], bl
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x417583
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x108]
push str.R_S_D_I_e2____D_I_C_I_S_M_.failed__szDriveName:_s__nDriveId:_d__dwErrCode:_lu_n
push ecx
call fcn.0041874b
add esp, 0x14
jmp 0x41761c
cmp byte [ebp - 0x3da], 0
je 0x417600
xor eax, eax
mov edi, edi
movzx ecx, word [ebp + eax*2 - 0x410]
mov dword [ebp + eax*4 - 0x83c], ecx
inc eax
cmp eax, 0x100
jl 0x417590
mov edi, dword [ebp - 0x848]
push edi
push 0x13
lea edx, [ebp - 0x83c]
push 0xa
push edx
call fcn.00416ca0
mov eax, edi
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4175c6
sub eax, edx
push eax
push ebx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x108]
push str.R_S_D_I_OK____succeed__szDriveName:_s__nDriveId:_d__nSnLength:_d_n
push ecx
call fcn.0041874b
add esp, 0x14
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edi, 1
jmp 0x417629
push ebx
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x108]
push str.R_S_D_I_e3____pId__sModelNumber_0___0__szDriveName:_s__nDriveId:_d_n
push ecx
call fcn.0041874b
add esp, 0x10
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
inc ebx
test edi, edi
je 0x4174c0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [ebp - 0x840]
inc ebx
mov dword [ebp - 0x840], ebx
test edi, edi
je 0x417441
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004180c9
mov esp, ebp
pop ebp
ret