Function at 0x487024
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], 0x9cc
mov dword [section..data], 0x9ce
mov dword [esp + 4], 1
mov dword [section..data], 0x9d3
mov dword [section..data], 0x9d4
jmp 0x4870f1
mov dword [section..data], 0x9d4
mov dword [section..data], 0x9d4
mov dword [section..data], 0x9d4
push 0
push 2
mov eax, str.MODE:_ValidateVUK
push eax
mov eax, str.FVMAIN_Mode_ValidateVUK_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004a1bb5
mov dword [section..data], 0x9d4
jmp 0x48716c
mov dword [section..data], 0x9d4
mov dword [section..data], 0x9d4
mov dword [section..data], 0x9d6
push edx
call fcn.00587290
pop edx
push eax
mov eax, 0x6bef8a
push eax
xor eax, eax
push eax
mov eax, str.ValidateVUK
push eax
call fcn.0047eb54
lea eax, [esp + 4]
push eax
call fcn.005872c0
mov dword [section..data], 0x9d7
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 2
push dword [esp + 0xc]
call fcn.005752e0
call fcn.00587380
mov edx, 0x6bfcc6
pop ecx
push ecx
call fcn.004fc330
mov ecx, eax
call fcn.004fc340
je 0x487236
mov dword [section..data], 0x9d8
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587290
pop edx
push eax
push 3
push dword [esp + 0xc]
call fcn.00575510
mov ebp, dword [esp + 0x24]
lea eax, [ebp + 0x18c]
push eax
call fcn.005872c0
mov dword [section..data], 0x9d9
jmp 0x48726b
mov dword [section..data], 0x9d9
mov dword [section..data], 0x9da
mov edx, dword [esp]
push edx
call fcn.00587290
pop edx
push eax
push edx
call fcn.00587330
mov ebp, dword [esp + 0x24]
lea eax, [ebp + 0x18c]
push eax
call fcn.005872c0
mov dword [section..data], 0x9db
mov dword [section..data], 0x9dd
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x18c]
call fcn.00575080
mov ebx, eax
cmp ebx, 0x20
je 0x4873f4
mov dword [section..data], 0x9de
jmp 0x487332
mov dword [section..data], 0x9de
mov dword [section..data], 0x9de
mov dword [section..data], 0x9de
push 0
push 0
mov eax, str.ERROR__Supplied_VUK_has_the_wrong_length___must_have_32_characters_
push eax
mov eax, str.FVMAIN_Mode_ValidateVUK_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004a1bb5
mov dword [section..data], 0x9de
jmp 0x4873ad
mov dword [section..data], 0x9de
mov dword [section..data], 0x9de
mov dword [section..data], 0x9df
mov dword [esp + 4], 0
mov dword [section..data], 0x9e0
mov dword [esp + 8], 1
mov dword [section..data], 0x9e1
jmp 0x487768
mov dword [section..data], 0x9e2
mov dword [section..data], 0x9e4
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], 0x9e6
push dword [esp]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x487754
mov dword [section..data], 0x9e7
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], 0x9e9
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], 0x9eb
mov ebx, dword [esp + 0x10]
cmp ebx, 5
je 0x48774a
mov dword [section..data], 0x9ec
jmp 0x487605
mov dword [section..data], 0x9ec
mov dword [section..data], 0x9ec
mov dword [section..data], 0x9ec
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_ValidateVUK_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], 0x9ec
jmp 0x487706
mov dword [section..data], 0x9ec
mov dword [section..data], 0x9ec
mov dword [section..data], 0x9ed
mov dword [esp + 0xc], 1
mov dword [section..data], 0x9ee
mov dword [esp + 4], 0
mov dword [section..data], 0x9ef
jmp 0x487768
mov dword [section..data], 0x9f0
mov dword [section..data], 0x9f1
mov dword [section..data], 0x9f4
mov dword [section..data], 0x9f6
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x18c]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x4877a7
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x13c]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x4877a7
mov eax, 1
jmp 0x4877a9
xor eax, eax
and eax, eax
je 0x4877bb
cmp dword [esp + 4], 0
je 0x4877bb
mov eax, 1
jmp 0x4877bd
xor eax, eax
and eax, eax
je 0x487c10
mov dword [section..data], 0x9f8
mov eax, 0x6bd550
push eax
call dword [0x6f6ce0]
mov dword [section..data], 0x9f9
jmp 0x4878e4
mov dword [section..data], 0x9f9
mov dword [section..data], 0x9f9
mov dword [section..data], 0x9f9
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._VUK__________:
push edx
call fcn.00587330
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp + 0x18c]
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.FVMAIN_Mode_ValidateVUK_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], 0x9f9
jmp 0x4879cf
mov dword [section..data], 0x9f9
mov dword [section..data], 0x9f9
mov dword [section..data], 0x9fa
jmp 0x487aec
mov dword [section..data], 0x9fa
mov dword [section..data], 0x9fa
mov dword [section..data], 0x9fa
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_ValidateVUK_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], 0x9fa
jmp 0x487bd7
mov dword [section..data], 0x9fa
mov dword [section..data], 0x9fa
mov dword [section..data], 0x9fb
mov eax, 0x6bd550
push eax
call dword [0x6f6ce0]
mov dword [section..data], 0x9fc
jmp 0x488234
mov dword [section..data], 0x9fc
mov dword [section..data], 0x9fd
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x18c]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x487c44
cmp dword [esp + 8], 0
jne 0x487c44
jmp 0x487c4b
mov eax, 1
jmp 0x487c4d
xor eax, eax
and eax, eax
je 0x487e89
mov dword [section..data], 0x9fe
jmp 0x487d74
mov dword [section..data], 0x9fe
mov dword [section..data], 0x9fe
mov dword [section..data], 0x9fe
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___VUK_is_missing_or_incorrect__
push edx
call fcn.00587330
mov ebp, dword [esp + 0x30]
mov edx, dword [ebp + 0x18c]
push edx
call fcn.00587330
mov edx, 0x6bef86
push edx
call fcn.00587330
call fcn.00587380
mov eax, str.FVMAIN_Mode_ValidateVUK_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], 0x9fe
jmp 0x487e75
mov dword [section..data], 0x9fe
mov dword [section..data], 0x9fe
mov dword [section..data], 0x9ff
mov dword [section..data], 0xa00
mov ebp, dword [esp + 0x20]
push dword [ebp + 0x13c]
mov edx, 0x6bb5f6
pop ecx
call fcn.004fc340
jne 0x487ebd
cmp dword [esp + 0xc], 0
jne 0x487ebd
jmp 0x487ec4
mov eax, 1
jmp 0x487ec6
xor eax, eax
and eax, eax
je 0x488102
mov dword [section..data], 0xa01
jmp 0x487fed
mov dword [section..data], 0xa01
mov dword [section..data], 0xa01
mov dword [section..data], 0xa01
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_ValidateVUK_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], 0xa01
jmp 0x4880ee
mov dword [section..data], 0xa01
mov dword [section..data], 0xa01
mov dword [section..data], 0xa02
mov dword [section..data], 0xa04
jmp 0x4881a5
mov dword [section..data], 0xa04
mov dword [section..data], 0xa04
mov dword [section..data], 0xa04
push 0
push 2
mov eax, str.Example_for_correct_parameters:__ValidateVUK12345678901234567890123456789012__DriveX
push eax
mov eax, str.FVMAIN_Mode_ValidateVUK_GetParam
push eax
mov eax, 0x6bb5f6
push eax
call fcn.004a1bb5
mov dword [section..data], 0xa04
jmp 0x488220
mov dword [section..data], 0xa04
mov dword [section..data], 0xa04
mov dword [section..data], 0xa06
mov dword [section..data], 0xa08
mov eax, dword [esp + 4]
jmp 0x48825a
push dword [esp]
call fcn.00587410
add esp, 0x14
pop ebx
pop ebp
ret 4