Function at 0x478207
Capabilities:
Get disk information

Disassembly:
push ebp
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.005873a0
mov dword [section..data], 0xa0c
mov dword [section..data], 0xa12
mov dword [esp + 4], 1
mov dword [section..data], 0xa17
mov dword [section..data], 0xa18
jmp 0x4782d4
mov dword [section..data], 0xa18
mov dword [section..data], 0xa18
mov dword [section..data], 0xa18
push 0
push 2
mov eax, str.MODE:_ValidateDisc
push eax
mov eax, str.FVMAIN_Mode_ValidateDisc_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004a1bb5
mov dword [section..data], 0xa18
jmp 0x47834f
mov dword [section..data], 0xa18
mov dword [section..data], 0xa18
mov dword [section..data], 0xa1a
push edx
call fcn.00587290
pop edx
push eax
mov eax, 0x6bef8a
push eax
xor eax, eax
push eax
mov eax, 0x6e27be
push eax
call fcn.0047eb54
lea eax, [esp + 4]
push eax
call fcn.005872c0
mov dword [section..data], 0xa1c
push dword [esp]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x4786b9
mov dword [section..data], 0xa1d
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 1
push dword [esp + 0xc]
call fcn.005752e0
mov ebp, dword [esp + 0x24]
lea eax, [ebp + 0x13c]
push eax
call fcn.005872c0
mov dword [section..data], 0xa1f
push edx
call fcn.00587290
pop edx
push eax
mov ebp, dword [esp + 0x24]
mov edx, dword [ebp + 0x13c]
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587330
mov edx, 0x6e043a
push edx
call fcn.00587330
call fcn.004fc302
add dword [esp], edx
call sub.KERNEL32.dll_GetDriveTypeW
call fcn.004fc320
mov dword [esp + 0x10], eax
mov dword [section..data], 0xa21
mov ebx, dword [esp + 0x10]
cmp ebx, 5
je 0x4786af
mov dword [section..data], 0xa22
jmp 0x47856a
mov dword [section..data], 0xa22
mov dword [section..data], 0xa22
mov dword [section..data], 0xa22
push edx
call fcn.00587290
pop edx
push eax
push 0
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.ERROR__Drive__
push edx
call fcn.00587330
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp + 0x13c]
push edx
call fcn.00587330
mov edx, str.__is_not_an_optical_drive_
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.FVMAIN_Mode_ValidateDisc_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.004a1bb5
call fcn.004fc320
mov dword [section..data], 0xa22
jmp 0x47866b
mov dword [section..data], 0xa22
mov dword [section..data], 0xa22
mov dword [section..data], 0xa23
mov dword [esp + 0xc], 1
mov dword [section..data], 0xa24
mov dword [esp + 4], 0
mov dword [section..data], 0xa25
jmp 0x4786cd
mov dword [section..data], 0xa26
mov dword [section..data], 0xa27
mov dword [section..data], 0xa2a
mov dword [section..data], 0xa2c
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x13c]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x4786fc
cmp dword [esp + 4], 0
je 0x4786fc
mov eax, 1
jmp 0x4786fe
xor eax, eax
and eax, eax
je 0x478949
mov dword [section..data], 0xa2e
mov eax, 0x6bd550
push eax
call dword [0x6f6ce0]
mov dword [section..data], 0xa2f
jmp 0x478825
mov dword [section..data], 0xa2f
mov dword [section..data], 0xa2f
mov dword [section..data], 0xa2f
push edx
call fcn.00587290
pop edx
push eax
push 0
push 2
push edx
call fcn.00587290
pop edx
push eax
mov edx, str._DriveLetter__:
push edx
call fcn.00587330
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp + 0x13c]
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.FVMAIN_Mode_ValidateDisc_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.004a1bb5
call fcn.004fc320
mov dword [section..data], 0xa2f
jmp 0x478910
mov dword [section..data], 0xa2f
mov dword [section..data], 0xa2f
mov dword [section..data], 0xa30
mov eax, 0x6bd550
push eax
call dword [0x6f6ce0]
mov dword [section..data], 0xa31
jmp 0x478d06
mov dword [section..data], 0xa31
mov dword [section..data], 0xa32
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x13c]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x47897d
cmp dword [esp + 0xc], 0
jne 0x47897d
jmp 0x478984
mov eax, 1
jmp 0x478986
xor eax, eax
and eax, eax
je 0x478bc2
mov dword [section..data], 0xa33
jmp 0x478aad
mov dword [section..data], 0xa33
mov dword [section..data], 0xa33
mov dword [section..data], 0xa33
push edx
call fcn.00587290
pop edx
push eax
push 0
push 0
push edx
call fcn.00587290
pop edx
push eax
mov edx, str.Not_all_required_parameters_are_available___Driveletter_is_missing_or_incorrect__
push edx
call fcn.00587330
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp + 0x13c]
push edx
call fcn.00587330
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.FVMAIN_Mode_ValidateDisc_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004fc302
add dword [esp + 8], edx
call fcn.004a1bb5
call fcn.004fc320
mov dword [section..data], 0xa33
jmp 0x478bae
mov dword [section..data], 0xa33
mov dword [section..data], 0xa33
mov dword [section..data], 0xa34
mov dword [section..data], 0xa36
jmp 0x478c65
mov dword [section..data], 0xa36
mov dword [section..data], 0xa36
mov dword [section..data], 0xa36
push 0
push 2
mov eax, str.Example_for_correct_parameters:__ValidateDisc__DriveX
push eax
mov eax, str.FVMAIN_Mode_ValidateDisc_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004a1bb5
mov dword [section..data], 0xa36
jmp 0x478ce0
mov dword [section..data], 0xa36
mov dword [section..data], 0xa36
mov dword [section..data], 0xa38
mov dword [esp + 4], 0
mov dword [section..data], 0xa39
mov dword [section..data], 0xa3b
mov eax, dword [esp + 4]
jmp 0x478d2c
push dword [esp]
call fcn.00587410
add esp, 0x14
pop ebx
pop ebp
ret 4