Function at 0x4d0258
Capabilities:
Manipulate cd-rom drive
Power down monitor

Disassembly:
mov edx, dword [eax + 4]
cmp edx, 0x16
ja case.default.0x4d0264
jmp dword [edx*4 + 0x4d026b]
mov eax, dword [0x4e4f38]
mov eax, dword [eax]
mov eax, dword [eax + 0x58c]
xor edx, edx
mov dword [eax + 8], edx
ret
cmp byte [eax + 8], 0
je 0x4d0314
mov byte [eax + 8], 0
push 0
push 0
push 1
push 0
push 1
call sub.user32.dll_mouse_event
push 0xffffffffffffffff
push 0xf170
push 0x112
mov eax, dword [0x4e5174]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SendMessageA
jmp case.default.0x4d0264
mov byte [eax + 8], 1
push 2
push 0xf170
push 0x112
mov eax, dword [0x4e5174]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SendMessageA
ret
cmp byte [eax + 8], 0
je 0x4d0354
mov byte [eax + 8], 0
push 0
push 0
push 0
push 0x4d0530
call sub.winmm.dll_mciSendStringA
jmp case.default.0x4d0264
mov byte [eax + 8], 1
push 0
push 0
push 0
push 0x4d0548
call sub.winmm.dll_mciSendStringA
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004ce0c8
ret
push 0
push 0xf140
push 0x112
mov eax, dword [0x4e5174]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SendMessageA
ret
call fcn.004d0178
test al, al
jne 0x4d03a5
call fcn.004d01c4
test al, al
je 0x4d03b6
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004cdcc8
jmp case.default.0x4d0264
mov eax, 0x4d0560
xor edx, edx
call fcn.00486afc
ret
call fcn.004d0178
test al, al
jne 0x4d03d5
call fcn.004d01c4
test al, al
je 0x4d03e6
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004cdb4c
jmp case.default.0x4d0264
mov eax, 0x4d056c
xor edx, edx
call fcn.00486afc
ret
call fcn.004d0178
test al, al
jne 0x4d0405
call fcn.004d01c4
test al, al
je 0x4d0416
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004cd9e4
jmp case.default.0x4d0264
mov eax, 0x4d057c
xor edx, edx
call fcn.00486afc
ret
call fcn.004d0178
test al, al
jne 0x4d0439
call fcn.004d01c4
test al, al
je case.default.0x4d0264
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004cdde4
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 1
call fcn.004ce260
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 2
call fcn.004ce260
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 3
call fcn.004ce260
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 1
call fcn.004ce898
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 2
call fcn.004ce898
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 3
call fcn.004ce898
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004ce008
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
call fcn.004cd780
ret
call fcn.004d0134
ret
push 6
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_ShowWindow
ret
push 0
push 0
push 0x10
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_SendMessageA
ret
mov eax, dword [0x4e4f38]
mov eax, dword [eax]
mov eax, dword [eax + 0x58c]
xor edx, edx
mov dword [eax + 8], edx
call fcn.004d01e8
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 4
call fcn.004ce260
ret
mov eax, dword [0x4e5228]
mov eax, dword [eax]
mov edx, 4
call fcn.004ce898
ret