; typically used by ReadISO

.text:0042ADD0 sub_42ADD0      proc near               ; CODE XREF: sub_42B2D0+FCp
.text:0042ADD0                                         ; sub_42B2D0+12Cp ...
.text:0042ADD0
.text:0042ADD0 arg_0           = byte ptr  4		; minutes (dec)
.text:0042ADD0 arg_4           = byte ptr  8		; seconds (dec)
.text:0042ADD0 arg_8           = byte ptr  0Ch		; frames (dec)
.text:0042ADD0
.text:0042ADD0                 movzx   eax, [esp+arg_4]
.text:0042ADD5                 sub     eax, 2
.text:0042ADD8                 movzx   ecx, [esp+arg_0]
.text:0042ADDD                 movzx   edx, [esp+arg_8]
.text:0042ADE2                 jns     short loc_42ADEA
.text:0042ADE4                 add     eax, 3Ch
.text:0042ADE7                 sub     ecx, 1
.text:0042ADEA

ex. 00:02:16 --> $16 LBA
ecx = $00
eax = $02
edx = $10

.text:0042ADEA loc_42ADEA:                             ; CODE XREF: sub_42ADD0+12j
.text:0042ADEA                 push    esi

; sneaky way to do (minutes * 60) + seconds
; - (x * 16 - x) * 4
.text:0042ADEB                 mov     esi, ecx
.text:0042ADED                 shl     esi, 4
.text:0042ADF0                 sub     esi, ecx
.text:0042ADF2                 lea     eax, [eax+esi*4]

; normal way to do (minutes + seconds) * 75
.text:0042ADF5                 imul    eax, 4Bh

; add frames
.text:0042ADF8                 add     eax, edx
.text:0042ADFA                 pop     esi
.text:0042ADFB                 retn
.text:0042ADFB sub_42ADD0      endp

