Function at 0x4f4cf0
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x57c870]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x120], 0
mov dword [0x5fdb24], 0
push 0x65ab60
call fcn.00532e80
add esp, 4
mov dword [ebp - 0x11c], eax
mov dword [ebp - 4], 0
push 0x65ab60
push 0x603c20
call fcn.00532580
add esp, 8
mov eax, dword [ebp - 0x11c]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp 0x4f4d61
mov ecx, dword [ebp - 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0
jl 0x4f4ddf
cmp dword [ebp - 4], 3
je 0x4f4ddf
mov edx, dword [ebp - 0xc]
movsx eax, byte [edx + 0x603c20]
cmp eax, 0x5c
jne 0x4f4dda
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [0x5fdb60], 0
je 0x4f4dca
cmp dword [ebp - 4], 2
jne 0x4f4dca
push 7
push str.content
mov edx, dword [ebp - 0xc]
add edx, 0x603c21
push edx
call fcn.00532bd0
add esp, 0xc
mov eax, dword [ebp - 0xc]
add eax, 0x65ab67
push eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x603c28
push ecx
call fcn.00532580
add esp, 8
jmp 0x4f4ddf
cmp dword [ebp - 4], 3
jne 0x4f4dda
mov edx, dword [ebp - 0xc]
mov byte [edx + 0x603c20], 0
jmp 0x4f4d58
mov dword [ebp - 0xc], 0
jmp 0x4f4df1
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xc7
jg 0x4f4e14
fild dword [ebp - 0xc]
fmul qword [str.333333]
call fcn.00532f90
mov ecx, dword [ebp - 0xc]
mov dword [ecx*4 + 0x64d5c0], eax
jmp 0x4f4de8
call fcn.004df1b0
cmp dword [0x5fdb60], 0
jne 0x4f4edc
cmp dword [0x573db8], 1
jne 0x4f4edc
mov dword [ebp - 8], 0
jmp 0x4f4e45
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x1a
jge 0x4f4e7f
mov eax, dword [ebp - 8]
add eax, 0x41
movsx ecx, al
push ecx
push str._c:_
lea edx, [ebp - 0x110]
push edx
call fcn.00532706
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
jne 0x4f4e7d
jmp 0x4f4e7f
jmp 0x4f4e3c
mov ecx, dword [ebp - 8]
add ecx, 0x41
mov byte [0x575a4f], cl
lea edx, [ebp - 0x114]
push edx
call fcn.00486a90
add esp, 4
test eax, eax
jne 0x4f4edc
push 0x601474
push 0x601475
push 0x5776dc
push str.MSG_Sys_Err_NoCDRomDriveFound
call fcn.00422b80
add esp, 0x10
cmp dword [0x5c6c1c], 0
jne 0x4f4edc
push 0x601476
push 0x76
push 0x57770c
call fcn.00431ee0
add esp, 0xc
jmp 0x4f50ac
cmp dword [0x5c6c1c], 0
jne 0x4f4f0a
cmp dword [0x5fdb60], 0
jne 0x4f4f0a
movsx eax, byte [0x5f9fd0]
push eax
push str._c:DATA
push 0x658de0
call fcn.00532706
add esp, 0xc
jmp 0x4f4f1c
push 0x603c20
push 0x658de0
call fcn.00532580
add esp, 8
cmp dword [0x5fd3bc], 1
jne 0x4f4f37
push str.J:DEVELPROD10MULV3_0DUMBCDDATA
push 0x658de0
call fcn.00532580
add esp, 8
cmp dword [0x5c6c1c], 0
jne 0x4f4f52
cmp dword [0x5fdb60], 0
jne 0x4f4f52
cmp dword [0x573db8], 0
jne 0x4f4f57
jmp 0x4f5076
movsx ecx, byte [0x5f9fd0]
push ecx
push str._c:datalesson0lessons.c
lea edx, [ebp - 0x110]
push edx
call fcn.00532706
add esp, 0xc
movsx eax, byte [0x5f9fd0]
push eax
push 0x577768
lea ecx, [ebp - 0x110]
push ecx
call fcn.00532706
add esp, 0xc
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
movsx edx, byte [0x5f9fd0]
push edx
push str._c:_version
lea eax, [ebp - 0x110]
push eax
call fcn.00532706
add esp, 0xc
push 0
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.KERNEL32.dll__lopen]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
je 0x4f4fd6
jmp 0x4f5069
push 0x65ab60
push str._s_version
lea edx, [ebp - 0x110]
push edx
call fcn.00532706
add esp, 0xc
push 0
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll__lopen]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
je 0x4f500f
jmp 0x4f5069
push 0x601477
push str.MSG_Button_Cancel
push 0x5777a0
push str.MSG_Sys_Err_InsertCD2
call fcn.00422b80
add esp, 0x10
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 2
jne 0x4f5051
push 0x601478
push 0xa4
push str.setMyMode
call fcn.00431ee0
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
cmp dword [0x5fdb24], 1
jne 0x4f5064
jmp 0x4f50ac
jmp 0x4f4f8f
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll__lclose]
mov byte [0x603da0], 0
mov dword [ebp - 0xc], 0
jmp 0x4f508f
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 4
jg 0x4f50a4
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x15
mov byte [eax + 0x662c40], 0
jmp 0x4f5086
jmp 0x4f50ac
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00532783
mov esp, ebp
pop ebp
ret