;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg001:02E8
seg001:02E8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg001:02E8
seg001:02E8 ;		    S u	b r o u	t i n e
seg001:02E8
seg001:02E8 OleOpenDir1	    proc near		    ; CODE XREF: OleOpenDir+7p
seg001:02E8					    ; OleOpenDName+62p


seg001:02E8		    push    si
seg001:02E9		    cmp	    ds:_Page_C+6BE8h, 2
seg001:02EE		    jz	    loc_7A3_302
seg001:02F0		    cmp	    ds:_Page_C+6BE8h, 5
seg001:02F5		    jz	    loc_7A3_302
seg001:02F7		    mov	    word ptr ds:_Page_C+6CC2h, 3
seg001:02FD		    xor	    ax,	ax
seg001:02FF		    pop	    si
seg001:0300		    retn
seg001:0301 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg001:0301		    nop
seg001:0302
seg001:0302 loc_7A3_302:			    ; CODE XREF: OleOpenDir1+6j
seg001:0302					    ; OleOpenDir1+Dj
seg001:0302		    call    GetFreeHandle
seg001:0305		    mov	    si,	ax
seg001:0307		    or	    si,	ax
seg001:0309		    jz	    loc_7A3_372
seg001:030B		    mov	    ax,	word ptr ds:_Page_C+6C1Ah
seg001:030E		    mov	    dx,	word ptr ds:_Page_C+6C1Ch
seg001:0312		    mov	    [si], ax
seg001:0314		    mov	    [si+2], dx
seg001:0317		    mov	    word ptr [si+0Ch], 0
seg001:031C		    mov	    byte ptr [si+0Fh], 0
seg001:0320		    mov	    word ptr [si+10h], 200h
seg001:0325		    cmp	    ds:_Page_C+6BE8h, 2
seg001:032A		    jnz	    loc_7A3_34A
seg001:032C		    mov	    ax,	word ptr ds:_Page_C+6C1Eh
seg001:032F		    mov	    dx,	word ptr ds:_Page_C+6C20h
seg001:0333		    cmp	    word ptr ds:_Page_C+3Ah, dx
seg001:0337		    jb	    loc_7A3_34A
seg001:0339		    ja	    loc_7A3_341
seg001:033B		    cmp	    word ptr ds:_Page_C+38h, ax
seg001:033F		    jbe	    loc_7A3_34A
seg001:0341
seg001:0341 loc_7A3_341:			    ; CODE XREF: OleOpenDir1+51j
seg001:0341		    mov	    word ptr [si+10h], 40h ; '@'
seg001:0346		    mov	    byte ptr [si+0Fh], 1
seg001:034A
seg001:034A loc_7A3_34A:			    ; CODE XREF: OleOpenDir1+42j
seg001:034A					    ; OleOpenDir1+4Fj
seg001:034A					    ; OleOpenDir1+57j
seg001:034A		    sub	    ax,	ax
seg001:034C		    mov	    [si+0Ah], ax
seg001:034F		    mov	    [si+8], ax
seg001:0352		    mov	    ax,	word ptr ds:_Page_C+6C1Ah
seg001:0355		    mov	    dx,	word ptr ds:_Page_C+6C1Ch
seg001:0359		    mov	    [si+4], ax
seg001:035C		    mov	    [si+6], dx
seg001:035F		    mov	    ax,	word ptr ds:_Page_C+6BA4h
seg001:0362		    mov	    [si+12h], ax
seg001:0365		    mov	    ax,	word ptr ds:_Page_C+6C1Eh
seg001:0368		    mov	    dx,	word ptr ds:_Page_C+6C20h
seg001:036C		    mov	    [si+14h], ax
seg001:036F		    mov	    [si+16h], dx
seg001:0372
seg001:0372 loc_7A3_372:			    ; CODE XREF: OleOpenDir1+21j
seg001:0372		    mov	    ax,	si
seg001:0374		    pop	    si
seg001:0375		    retn
seg001:0375 OleOpenDir1	    endp
seg001:0375
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg001:0080
seg001:0080 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg001:0080
seg001:0080 ;		    S u	b r o u	t i n e
seg001:0080 ; Attributes: bp-based frame
seg001:0080
seg001:0080 LoadFoF	    proc near		    ; CODE XREF: OleInit+10Cp
seg001:0080
seg001:0080 var_8	    = word ptr -8
seg001:0080 var_6	    = word ptr -6
seg001:0080 var_4	    = word ptr -4
seg001:0080 var_2	    = word ptr -2
seg001:0080
seg001:0080		    push    bp
seg001:0081		    mov	    bp,	sp
seg001:0083		    sub	    sp,	8
seg001:0086		    push    di
seg001:0087		    push    si
seg001:0088		    mov	    si,	offset _Page_C+200h
seg001:008B		    mov	    [bp+var_8],	0
seg001:0090		    mov	    ax,	word ptr ds:_Page_C+44h
seg001:0093		    mov	    dx,	word ptr ds:_Page_C+46h
seg001:0097		    mov	    [bp+var_4],	ax
seg001:009A		    mov	    [bp+var_2],	dx
seg001:009D		    mov	    [bp+var_6],	0
seg001:00A2		    cmp	    ax,	0FFFEh
seg001:00A5		    jnz	    loc_7A3_AC
seg001:00A7		    cmp	    dx,	0FFFFh
seg001:00AA		    jz	    loc_7A3_FD
seg001:00AC
seg001:00AC loc_7A3_AC:				    ; CODE XREF: LoadFoF+25j
seg001:00AC		    mov	    di,	offset _Page_C+25DEh
seg001:00AF
seg001:00AF loc_7A3_AF:				    ; CODE XREF: LoadFoF+76j
seg001:00AF					    ; LoadFoF+7Bj
seg001:00AF		    mov	    ax,	[bp+var_6]
seg001:00B2		    sub	    dx,	dx
seg001:00B4		    cmp	    dx,	word ptr ds:_Page_C+4Ah
seg001:00B8		    ja	    loc_7A3_FD
seg001:00BA		    jb	    loc_7A3_C2
seg001:00BC		    cmp	    ax,	word ptr ds:_Page_C+48h
seg001:00C0		    jnb	    loc_7A3_FD
seg001:00C2
seg001:00C2 loc_7A3_C2:				    ; CODE XREF: LoadFoF+3Aj
seg001:00C2		    mov	    ax,	[bp+var_4]
seg001:00C5		    mov	    dx,	[bp+var_2]
seg001:00C8		    mov	    [di], ax
seg001:00CA		    mov	    [di+2], dx
seg001:00CD		    mov	    bx,	si
seg001:00CF		    call    ReadCluster
seg001:00D2		    sub	    ax,	200h
seg001:00D5		    add	    [bp+var_8],	ax
seg001:00D8		    mov	    ax,	[si+1FCh]
seg001:00DC		    mov	    dx,	[si+1FEh]
seg001:00E0		    mov	    [bp+var_4],	ax
seg001:00E3		    mov	    [bp+var_2],	dx
seg001:00E6		    lea	    ax,	[si+1FCh]
seg001:00EA		    mov	    si,	ax
seg001:00EC		    add	    di,	4
seg001:00EF		    inc	    [bp+var_6]
seg001:00F2		    cmp	    [bp+var_4],	0FFFEh
seg001:00F6		    jnz	    loc_7A3_AF
seg001:00F8		    cmp	    dx,	0FFFFh
seg001:00FB		    jnz	    loc_7A3_AF
seg001:00FD
seg001:00FD loc_7A3_FD:				    ; CODE XREF: LoadFoF+2Aj
seg001:00FD					    ; LoadFoF+38j LoadFoF+40j
seg001:00FD		    cmp	    [bp+var_8],	1
seg001:0101		    sbb	    ax,	ax
seg001:0103		    neg	    ax
seg001:0105		    pop	    si
seg001:0106		    pop	    di
seg001:0107		    mov	    sp,	bp
seg001:0109		    pop	    bp
seg001:010A		    retn
seg001:010A LoadFoF	    endp
seg001:010A
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg001:0596
seg001:0596 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg001:0596
seg001:0596 ;		    S u	b r o u	t i n e
seg001:0596 ; Attributes: bp-based frame
seg001:0596
seg001:0596 NextCluster	    proc near		    ; CODE XREF: OleIO+FDp
seg001:0596					    ; OleIO+130p
seg001:0596					    ; OleInternalSeek+D8p
seg001:0596
seg001:0596 var_8	    = word ptr -8
seg001:0596 var_6	    = word ptr -6
seg001:0596 var_4	    = word ptr -4
seg001:0596 var_2	    = word ptr -2
seg001:0596
seg001:0596		    push    bp
seg001:0597		    mov	    bp,	sp
seg001:0599		    sub	    sp,	4
seg001:059C		    push    dx
seg001:059D		    push    ax
seg001:059E		    shr	    dx,	1
seg001:05A0		    rcr	    ax,	1
seg001:05A2		    shr	    dx,	1
seg001:05A4		    rcr	    ax,	1
seg001:05A6		    shr	    dx,	1
seg001:05A8		    rcr	    ax,	1
seg001:05AA		    shr	    dx,	1
seg001:05AC		    rcr	    ax,	1
seg001:05AE		    shr	    dx,	1
seg001:05B0		    rcr	    ax,	1
seg001:05B2		    shr	    dx,	1
seg001:05B4		    rcr	    ax,	1
seg001:05B6		    shr	    dx,	1
seg001:05B8		    rcr	    ax,	1
seg001:05BA		    mov	    [bp+var_4],	ax
seg001:05BD		    mov	    [bp+var_2],	dx
seg001:05C0		    or	    bl,	bl
seg001:05C2		    jz	    loc_7A3_63C
seg001:05C4		    mov	    ax,	word ptr ds:_Page_C+25CCh
seg001:05C7		    mov	    dx,	word ptr ds:_Page_C+25CEh
seg001:05CB		    cmp	    [bp+var_6],	dx
seg001:05CE		    jb	    loc_7A3_5E6
seg001:05D0		    ja	    loc_7A3_5D7
seg001:05D2		    cmp	    [bp+var_8],	ax
seg001:05D5		    jbe	    loc_7A3_5E6
seg001:05D7
seg001:05D7 loc_7A3_5D7:			    ; CODE XREF: NextCluster+3Aj
seg001:05D7					    ; NextCluster+B2j
seg001:05D7					    ; NextCluster+B7j
seg001:05D7		    mov	    word ptr ds:_Page_C+6CC2h, 0Ah
seg001:05DD		    mov	    ax,	0FFFFh
seg001:05E0		    cwd
seg001:05E1		    mov	    sp,	bp
seg001:05E3		    pop	    bp
seg001:05E4		    retn
seg001:05E5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg001:05E5		    nop
seg001:05E6
seg001:05E6 loc_7A3_5E6:			    ; CODE XREF: NextCluster+38j
seg001:05E6					    ; NextCluster+3Fj
seg001:05E6		    mov	    ax,	word ptr ds:_Page_C+25C8h
seg001:05E9		    mov	    dx,	word ptr ds:_Page_C+25CAh
seg001:05ED		    cmp	    [bp+var_4],	ax
seg001:05F0		    jnz	    loc_7A3_5F7
seg001:05F2		    cmp	    [bp+var_2],	dx
seg001:05F5		    jz	    loc_7A3_628
seg001:05F7
seg001:05F7 loc_7A3_5F7:			    ; CODE XREF: NextCluster+5Aj
seg001:05F7		    mov	    ax,	[bp+var_4]
seg001:05FA		    mov	    dx,	[bp+var_2]
seg001:05FD		    mov	    word ptr ds:_Page_C+25C8h, ax
seg001:0600		    mov	    word ptr ds:_Page_C+25CAh, dx
seg001:0604		    mov	    dh,	dl
seg001:0606		    mov	    dl,	ah
seg001:0608		    mov	    ah,	al
seg001:060A		    sub	    al,	al
seg001:060C		    add	    ax,	ax
seg001:060E		    adc	    dx,	dx
seg001:0610		    mov	    bx,	word ptr ds:_Page_C+25D4h
seg001:0614		    call    OleSeek
seg001:0617		    mov	    ax,	200h
seg001:061A		    push    ax
seg001:061B		    xor	    ax,	ax
seg001:061D		    mov	    bx,	word ptr ds:_Page_C+25D4h
seg001:0621		    lea	    dx,	_Page_C+23C4h
seg001:0625		    call    OleIO
seg001:0628
seg001:0628 loc_7A3_628:			    ; CODE XREF: NextCluster+5Fj
seg001:0628		    mov	    bl,	byte ptr [bp+var_8]
seg001:062B		    and	    bx,	7Fh
seg001:062E		    add	    bx,	bx
seg001:0630		    add	    bx,	bx
seg001:0632		    mov	    ax,	word ptr ds:_Page_C+23C4h[bx]
seg001:0636		    mov	    dx,	word ptr ds:_Page_C+23C6h[bx]
seg001:063A		    jmp	    short loc_7A3_69B
seg001:063C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg001:063C
seg001:063C loc_7A3_63C:			    ; CODE XREF: NextCluster+2Cj
seg001:063C		    mov	    ax,	word ptr ds:_Page_C+25D0h
seg001:063F		    mov	    dx,	word ptr ds:_Page_C+25D2h
seg001:0643		    cmp	    [bp+var_6],	dx
seg001:0646		    jb	    loc_7A3_64F
seg001:0648		    ja	    loc_7A3_5D7
seg001:064A		    cmp	    [bp+var_8],	ax
seg001:064D		    ja	    loc_7A3_5D7
seg001:064F
seg001:064F loc_7A3_64F:			    ; CODE XREF: NextCluster+B0j
seg001:064F		    mov	    bx,	[bp+var_4]
seg001:0652		    add	    bx,	bx
seg001:0654		    add	    bx,	bx
seg001:0656		    mov	    ax,	word ptr ds:_Page_C+4Ch[bx]
seg001:065A		    mov	    dx,	word ptr ds:_Page_C+4Eh[bx]
seg001:065E		    mov	    [bp+var_4],	ax
seg001:0661		    mov	    [bp+var_2],	dx
seg001:0664		    mov	    ax,	word ptr ds:_Page_C+25C4h
seg001:0667		    mov	    dx,	word ptr ds:_Page_C+25C6h
seg001:066B		    cmp	    [bp+var_4],	ax
seg001:066E		    jnz	    loc_7A3_675
seg001:0670		    cmp	    [bp+var_2],	dx
seg001:0673		    jz	    loc_7A3_689
seg001:0675
seg001:0675 loc_7A3_675:			    ; CODE XREF: NextCluster+D8j
seg001:0675		    mov	    ax,	[bp+var_4]
seg001:0678		    mov	    dx,	[bp+var_2]
seg001:067B		    mov	    word ptr ds:_Page_C+25C4h, ax
seg001:067E		    mov	    word ptr ds:_Page_C+25C6h, dx
seg001:0682		    lea	    bx,	_Page_C+21C4h
seg001:0686		    call    ReadCluster
seg001:0689
seg001:0689 loc_7A3_689:			    ; CODE XREF: NextCluster+DDj
seg001:0689		    mov	    bl,	byte ptr [bp+var_8]
seg001:068C		    and	    bx,	7Fh
seg001:068F		    add	    bx,	bx
seg001:0691		    add	    bx,	bx
seg001:0693		    mov	    ax,	word ptr ds:_Page_C+21C4h[bx]
seg001:0697		    mov	    dx,	word ptr ds:_Page_C+21C6h[bx]
seg001:069B
seg001:069B loc_7A3_69B:			    ; CODE XREF: NextCluster+A4j
seg001:069B		    mov	    [bp+var_8],	ax
seg001:069E		    mov	    [bp+var_6],	dx
seg001:06A1		    mov	    sp,	bp
seg001:06A3		    pop	    bp
seg001:06A4		    retn
seg001:06A4 NextCluster	    endp
seg001:06A4
