;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:1D82
seg000:1D82 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:1D82
seg000:1D82 ;		    S u	b r o u	t i n e
seg000:1D82
seg000:1D82 OleOpenDir1	    proc near		    ; CODE XREF: sub_0_166E+5Dp
seg000:1D82					    ; OleInit+12Ap
seg000:1D82					    ; OleOpenDName+6Cp
seg000:1D82					    ; ProcessWord8+34p
seg000:1D82		    push    si
seg000:1D83		    cmp	    Page_C+6BE8h, 2
seg000:1D88		    jz	    loc_0_1D95
seg000:1D8A		    cmp	    Page_C+6BE8h, 5
seg000:1D8F		    jz	    loc_0_1D95

seg000:1D91		    xor	    ax,	ax
seg000:1D93		    pop	    si
seg000:1D94		    retn
seg000:1D95 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

seg000:1D95
seg000:1D95 loc_0_1D95:				    ; CODE XREF: OleOpenDir1+6j
seg000:1D95					    ; OleOpenDir1+Dj
seg000:1D95		    call    GetFreeHandle
seg000:1D98		    mov	    si,	ax
seg000:1D9A		    or	    si,	ax
seg000:1D9C		    jz	    loc_0_1E05
seg000:1D9E		    mov	    ax,	word ptr Page_C+6C1Ah
seg000:1DA1		    mov	    dx,	word ptr Page_C+6C1Ch
seg000:1DA5		    mov	    [si], ax
seg000:1DA7		    mov	    [si+2], dx
seg000:1DAA		    mov	    word ptr [si+0Ch], 0
seg000:1DAF		    mov	    byte ptr [si+0Fh], 0
seg000:1DB3		    mov	    word ptr [si+10h], 200h
seg000:1DB8		    cmp	    Page_C+6BE8h, 2
seg000:1DBD		    jnz	    loc_0_1DDD
seg000:1DBF		    mov	    ax,	word ptr Page_C+6C1Eh
seg000:1DC2		    mov	    dx,	word ptr Page_C+6C20h
seg000:1DC6		    cmp	    word ptr Page_C+3Ah, dx
seg000:1DCA		    jb	    loc_0_1DDD
seg000:1DCC		    ja	    loc_0_1DD4
seg000:1DCE		    cmp	    word ptr Page_C+38h, ax
seg000:1DD2		    jbe	    loc_0_1DDD
seg000:1DD4
seg000:1DD4 loc_0_1DD4:				    ; CODE XREF: OleOpenDir1+4Aj
seg000:1DD4		    mov	    word ptr [si+10h], 40h ; '@'
seg000:1DD9		    mov	    byte ptr [si+0Fh], 1
seg000:1DDD
seg000:1DDD loc_0_1DDD:				    ; CODE XREF: OleOpenDir1+3Bj
seg000:1DDD					    ; OleOpenDir1+48j
seg000:1DDD					    ; OleOpenDir1+50j
seg000:1DDD		    xor	    ax,	ax
seg000:1DDF		    mov	    [si+0Ah], ax
seg000:1DE2		    mov	    [si+8], ax
seg000:1DE5		    mov	    ax,	word ptr Page_C+6C1Ah
seg000:1DE8		    mov	    dx,	word ptr Page_C+6C1Ch
seg000:1DEC		    mov	    [si+4], ax
seg000:1DEF		    mov	    [si+6], dx
seg000:1DF2		    mov	    ax,	word ptr Page_C+6BA4h
seg000:1DF5		    mov	    [si+12h], ax
seg000:1DF8		    mov	    ax,	word ptr Page_C+6C1Eh
seg000:1DFB		    mov	    dx,	word ptr Page_C+6C20h
seg000:1DFF		    mov	    [si+14h], ax
seg000:1E02		    mov	    [si+16h], dx
seg000:1E05
seg000:1E05 loc_0_1E05:				    ; CODE XREF: OleOpenDir1+1Aj
seg000:1E05		    mov	    ax,	si
seg000:1E07		    pop	    si
seg000:1E08		    retn
seg000:1E08 OleOpenDir1	    endp
seg000:1E08
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:2486
seg000:2486 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:2486
seg000:2486 ;		    S u	b r o u	t i n e
seg000:2486 ; Attributes: bp-based frame
seg000:2486
seg000:2486 LoadFoF	    proc near		    ; CODE XREF: OleInit+A9p
seg000:2486
seg000:2486 var_8	    = word ptr -8
seg000:2486 var_6	    = word ptr -6
seg000:2486 var_4	    = word ptr -4
seg000:2486 var_2	    = word ptr -2
seg000:2486
seg000:2486		    push    bp
seg000:2487		    mov	    bp,	sp
seg000:2489		    sub	    sp,	8
seg000:248C		    push    di
seg000:248D		    push    si
seg000:248E		    mov	    si,	offset Page_C+200h
seg000:2491		    mov	    [bp+var_8],	0
seg000:2496		    mov	    ax,	word ptr Page_C+44h
seg000:2499		    mov	    dx,	word ptr Page_C+46h
seg000:249D		    mov	    [bp+var_4],	ax
seg000:24A0		    mov	    [bp+var_2],	dx
seg000:24A3		    mov	    [bp+var_6],	0
seg000:24A8		    cmp	    ax,	0FFFEh
seg000:24AB		    jnz	    loc_0_24B2
seg000:24AD		    cmp	    dx,	0FFFFh
seg000:24B0		    jz	    loc_0_2501
seg000:24B2
seg000:24B2 loc_0_24B2:				    ; CODE XREF: LoadFoF+25j
seg000:24B2		    mov	    di,	offset Page_C+25DEh
seg000:24B5
seg000:24B5 loc_0_24B5:				    ; CODE XREF: LoadFoF+74j
seg000:24B5					    ; LoadFoF+79j
seg000:24B5		    mov	    ax,	[bp+var_6]
seg000:24B8		    xor	    dx,	dx
seg000:24BA		    cmp	    dx,	word ptr Page_C+4Ah
seg000:24BE		    ja	    loc_0_2501
seg000:24C0		    jb	    loc_0_24C8
seg000:24C2		    cmp	    ax,	word ptr Page_C+48h
seg000:24C6		    jnb	    loc_0_2501
seg000:24C8
seg000:24C8 loc_0_24C8:				    ; CODE XREF: LoadFoF+3Aj
seg000:24C8		    mov	    ax,	[bp+var_4]
seg000:24CB		    mov	    dx,	[bp+var_2]
seg000:24CE		    mov	    [di], ax
seg000:24D0		    mov	    [di+2], dx
seg000:24D3		    mov	    bx,	si
seg000:24D5		    call    ReadCluster
seg000:24D8		    sub	    ax,	200h
seg000:24DB		    add	    [bp+var_8],	ax
seg000:24DE		    mov	    ax,	[si+1FCh]
seg000:24E2		    mov	    dx,	[si+1FEh]
seg000:24E6		    mov	    [bp+var_4],	ax
seg000:24E9		    mov	    [bp+var_2],	dx
seg000:24EC		    lea	    si,	[si+1FCh]

seg000:24F0		    add	    di,	4
seg000:24F3		    inc	    [bp+var_6]
seg000:24F6		    cmp	    [bp+var_4],	0FFFEh
seg000:24FA		    jnz	    loc_0_24B5
seg000:24FC		    cmp	    dx,	0FFFFh
seg000:24FF		    jnz	    loc_0_24B5
seg000:2501
seg000:2501 loc_0_2501:				    ; CODE XREF: LoadFoF+2Aj
seg000:2501					    ; LoadFoF+38j LoadFoF+40j
seg000:2501		    cmp	    [bp+var_8],	1
seg000:2505		    sbb	    ax,	ax
seg000:2507		    neg	    ax
seg000:2509		    pop	    si
seg000:250A		    pop	    di
seg000:250B		    mov	    sp,	bp
seg000:250D		    pop	    bp
seg000:250E		    retn
seg000:250E LoadFoF	    endp
seg000:250E
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:1BBE
seg000:1BBE ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:1BBE
seg000:1BBE ;		    S u	b r o u	t i n e
seg000:1BBE ; Attributes: bp-based frame
seg000:1BBE
seg000:1BBE NextCluster	    proc near		    ; CODE XREF: OleIO+F0p
seg000:1BBE					    ; OleIO+123p
seg000:1BBE					    ; OleInternalSeek+D0p
seg000:1BBE
seg000:1BBE var_8	    = word ptr -8
seg000:1BBE var_6	    = word ptr -6
seg000:1BBE var_4	    = word ptr -4
seg000:1BBE var_2	    = word ptr -2
seg000:1BBE
seg000:1BBE		    push    bp
seg000:1BBF		    mov	    bp,	sp
seg000:1BC1		    sub	    sp,	4
seg000:1BC4		    push    dx
seg000:1BC5		    push    ax
seg000:1BC6		    shr	    dx,	1
seg000:1BC8		    rcr	    ax,	1
seg000:1BCA		    shr	    dx,	1
seg000:1BCC		    rcr	    ax,	1
seg000:1BCE		    shr	    dx,	1
seg000:1BD0		    rcr	    ax,	1
seg000:1BD2		    shr	    dx,	1
seg000:1BD4		    rcr	    ax,	1
seg000:1BD6		    shr	    dx,	1
seg000:1BD8		    rcr	    ax,	1
seg000:1BDA		    shr	    dx,	1
seg000:1BDC		    rcr	    ax,	1
seg000:1BDE		    shr	    dx,	1
seg000:1BE0		    rcr	    ax,	1
seg000:1BE2		    mov	    [bp+var_4],	ax
seg000:1BE5		    mov	    [bp+var_2],	dx
seg000:1BE8		    or	    bl,	bl
seg000:1BEA		    jz	    loc_0_1C5C
seg000:1BEC		    mov	    ax,	word ptr Page_C+25CCh
seg000:1BEF		    mov	    dx,	word ptr Page_C+25CEh
seg000:1BF3		    cmp	    [bp+var_6],	dx
seg000:1BF6		    jb	    loc_0_1C07
seg000:1BF8		    ja	    loc_0_1BFF
seg000:1BFA		    cmp	    [bp+var_8],	ax
seg000:1BFD		    jbe	    loc_0_1C07
seg000:1BFF
seg000:1BFF loc_0_1BFF:				    ; CODE XREF: NextCluster+3Aj
seg000:1BFF					    ; NextCluster+AAj
seg000:1BFF					    ; NextCluster+AFj

seg000:1BFF		    mov	    ax,	0FFFFh
seg000:1C02		    cwd
seg000:1C03		    mov	    sp,	bp
seg000:1C05		    pop	    bp
seg000:1C06		    retn
seg000:1C07 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ

seg000:1C07
seg000:1C07 loc_0_1C07:				    ; CODE XREF: NextCluster+38j
seg000:1C07					    ; NextCluster+3Fj
seg000:1C07		    mov	    ax,	word ptr Page_C+25C8h
seg000:1C0A		    mov	    dx,	word ptr Page_C+25CAh
seg000:1C0E		    cmp	    [bp+var_4],	ax
seg000:1C11		    jnz	    loc_0_1C18
seg000:1C13		    cmp	    [bp+var_2],	dx
seg000:1C16		    jz	    loc_0_1C48
seg000:1C18
seg000:1C18 loc_0_1C18:				    ; CODE XREF: NextCluster+53j
seg000:1C18		    mov	    ax,	[bp+var_4]
seg000:1C1B		    mov	    dx,	[bp+var_2]
seg000:1C1E		    mov	    word ptr Page_C+25C8h, ax
seg000:1C21		    mov	    word ptr Page_C+25CAh, dx
seg000:1C25		    mov	    dh,	dl
seg000:1C27		    mov	    dl,	ah
seg000:1C29		    mov	    ah,	al
seg000:1C2B		    sub	    al,	al
seg000:1C2D		    add	    ax,	ax
seg000:1C2F		    adc	    dx,	dx
seg000:1C31		    mov	    bx,	word ptr Page_C+25D4h
seg000:1C35		    call    OleSeek
seg000:1C38		    mov	    ax,	200h
seg000:1C3B		    push    ax
seg000:1C3C		    xor	    ax,	ax
seg000:1C3E		    mov	    bx,	word ptr Page_C+25D4h
seg000:1C42		    mov	    dx,	offset Page_C+23C4h
seg000:1C45		    call    OleIO
seg000:1C48
seg000:1C48 loc_0_1C48:				    ; CODE XREF: NextCluster+58j
seg000:1C48		    mov	    bl,	byte ptr [bp+var_8]
seg000:1C4B		    and	    bx,	7Fh
seg000:1C4E		    add	    bx,	bx
seg000:1C50		    add	    bx,	bx
seg000:1C52		    mov	    ax,	word ptr Page_C+23C4h[bx]
seg000:1C56		    mov	    dx,	word ptr Page_C+23C6h[bx]
seg000:1C5A		    jmp	    short loc_0_1CBA
seg000:1C5C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:1C5C
seg000:1C5C loc_0_1C5C:				    ; CODE XREF: NextCluster+2Cj
seg000:1C5C		    mov	    ax,	word ptr Page_C+25D0h
seg000:1C5F		    mov	    dx,	word ptr Page_C+25D2h
seg000:1C63		    cmp	    [bp+var_6],	dx
seg000:1C66		    jb	    loc_0_1C6F
seg000:1C68		    ja	    loc_0_1BFF
seg000:1C6A		    cmp	    [bp+var_8],	ax
seg000:1C6D		    ja	    loc_0_1BFF
seg000:1C6F
seg000:1C6F loc_0_1C6F:				    ; CODE XREF: NextCluster+A8j
seg000:1C6F		    mov	    bx,	[bp+var_4]
seg000:1C72		    add	    bx,	bx
seg000:1C74		    add	    bx,	bx
seg000:1C76		    mov	    ax,	word ptr Page_C+4Ch[bx]
seg000:1C7A		    mov	    dx,	word ptr Page_C+4Eh[bx]
seg000:1C7E		    mov	    [bp+var_4],	ax
seg000:1C81		    mov	    [bp+var_2],	dx
seg000:1C84		    mov	    ax,	word ptr Page_C+25C4h
seg000:1C87		    mov	    dx,	word ptr Page_C+25C6h
seg000:1C8B		    cmp	    [bp+var_4],	ax
seg000:1C8E		    jnz	    loc_0_1C95
seg000:1C90		    cmp	    [bp+var_2],	dx
seg000:1C93		    jz	    loc_0_1CA8
seg000:1C95
seg000:1C95 loc_0_1C95:				    ; CODE XREF: NextCluster+D0j
seg000:1C95		    mov	    ax,	[bp+var_4]
seg000:1C98		    mov	    dx,	[bp+var_2]
seg000:1C9B		    mov	    word ptr Page_C+25C4h, ax
seg000:1C9E		    mov	    word ptr Page_C+25C6h, dx
seg000:1CA2		    mov	    bx,	offset Page_C+21C4h
seg000:1CA5		    call    ReadCluster
seg000:1CA8
seg000:1CA8 loc_0_1CA8:				    ; CODE XREF: NextCluster+D5j
seg000:1CA8		    mov	    bl,	byte ptr [bp+var_8]
seg000:1CAB		    and	    bx,	7Fh
seg000:1CAE		    add	    bx,	bx
seg000:1CB0		    add	    bx,	bx
seg000:1CB2		    mov	    ax,	word ptr Page_C+21C4h[bx]
seg000:1CB6		    mov	    dx,	word ptr Page_C+21C6h[bx]
seg000:1CBA
seg000:1CBA loc_0_1CBA:				    ; CODE XREF: NextCluster+9Cj
seg000:1CBA		    mov	    [bp+var_8],	ax
seg000:1CBD		    mov	    [bp+var_6],	dx
seg000:1CC0		    mov	    sp,	bp
seg000:1CC2		    pop	    bp
seg000:1CC3		    retn
seg000:1CC3 NextCluster	    endp
seg000:1CC3

„ «¥¥ á«¥¤ãîâ «¨áâ¨­£¨ â¥å ¦¥ ¯à®æ¥¤ãà, § ¨¬áâ¢®¢ ­­ëå ¨§ ¡®«¥¥
à ­­¨å ¢¥àá¨© AVP ¨ ¯à¨áãâáâ¢ãîé¨å ¢ DrWeb c ¢¥àá¨¨ 3.19 ¯® 3.26

Following procedures were used in previous AVP versions, they were 
also found in DrWeb from 3.19 till 3.26

;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:332A
seg000:332A ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:332A
seg000:332A ;		    S u	b r o u	t i n e
seg000:332A ; Attributes: bp-based frame
seg000:332A
seg000:332A _OleOpenDir1    proc near		    ; CODE XREF: _OleInit+B7p
seg000:332A					    ; _OleInit+C5p
seg000:332A
seg000:332A arg_0	    = word ptr	4
seg000:332A arg_2	    = word ptr	6
seg000:332A
seg000:332A		    push    bp
seg000:332B		    mov	    bp,	sp
seg000:332D		    call    _GetFreeHandle
seg000:3330		    mov	    bx,	ax
seg000:3332		    or	    ax,	ax
seg000:3334		    jz	    loc_0_3364
seg000:3336		    mov	    ax,	[bp+arg_0]
seg000:3339		    mov	    dx,	[bp+arg_2]
seg000:333C		    mov	    [bx], ax
seg000:333E		    mov	    [bx+2], dx
seg000:3341		    mov	    [bx+4], ax
seg000:3344		    mov	    [bx+6], dx
seg000:3347		    mov	    word ptr [bx+10h], 200h
seg000:334C		    xor	    ax,	ax
seg000:334E		    mov	    [bx+0Ch], ax
seg000:3351		    mov	    [bx+0Fh], al
seg000:3354		    mov	    [bx+0Ah], ax
seg000:3357		    mov	    [bx+8], ax
seg000:335A		    dec	    ax
seg000:335B		    mov	    [bx+12h], ax
seg000:335E		    mov	    [bx+14h], ax
seg000:3361		    mov	    [bx+16h], ax
seg000:3364
seg000:3364 loc_0_3364:				    ; CODE XREF: _OleOpenDir1+Aj
seg000:3364		    mov	    ax,	bx
seg000:3366		    pop	    bp
seg000:3367		    retn    4
seg000:3367 _OleOpenDir1    endp
seg000:3367
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:326E
seg000:326E ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:326E
seg000:326E ;		    S u	b r o u	t i n e
seg000:326E ; Attributes: bp-based frame
seg000:326E
seg000:326E _LoadFoF	    proc near		    ; CODE XREF: _OleInit+7Ep
seg000:326E
seg000:326E var_8	    = word ptr -8
seg000:326E var_6	    = word ptr -6
seg000:326E var_4	    = word ptr -4
seg000:326E var_2	    = word ptr -2
seg000:326E
seg000:326E		    push    bp
seg000:326F		    mov	    bp,	sp
seg000:3271		    sub	    sp,	8
seg000:3274		    push    di
seg000:3275		    push    si
seg000:3276		    mov	    si,	offset Page_C_+200h
seg000:3279		    mov	    [bp+var_8],	0
seg000:327E		    mov	    ax,	word ptr Page_C_+44h
seg000:3281		    mov	    dx,	word ptr Page_C_+46h
seg000:3285		    mov	    [bp+var_4],	ax
seg000:3288		    mov	    [bp+var_2],	dx
seg000:328B		    mov	    [bp+var_6],	0
seg000:3290		    cmp	    ax,	0FFFEh
seg000:3293		    jnz	    loc_0_329A
seg000:3295		    cmp	    dx,	0FFFFh
seg000:3298		    jz	    loc_0_32EE
seg000:329A
seg000:329A loc_0_329A:				    ; CODE XREF: _LoadFoF+25j
seg000:329A		    mov	    di,	word ptr Page_C_+25E0h
seg000:329E
seg000:329E loc_0_329E:				    ; CODE XREF: _LoadFoF+79j
seg000:329E					    ; _LoadFoF+7Ej
seg000:329E		    mov	    ax,	[bp+var_6]
seg000:32A1		    xor	    dx,	dx
seg000:32A3		    cmp	    dx,	word ptr Page_C_+4Ah
seg000:32A7		    ja	    loc_0_32EE
seg000:32A9		    jb	    loc_0_32B2
seg000:32AB		    cmp	    ax,	word ptr Page_C_+48h
seg000:32AF		    jnb	    loc_0_32EE
seg000:32B1		    nop
seg000:32B2
seg000:32B2 loc_0_32B2:				    ; CODE XREF: _LoadFoF+3Bj
seg000:32B2		    mov	    ax,	[bp+var_4]
seg000:32B5		    mov	    dx,	[bp+var_2]
seg000:32B8		    mov	    [di], ax
seg000:32BA		    mov	    [di+2], dx
seg000:32BD		    push    si
seg000:32BE		    push    dx
seg000:32BF		    push    ax
seg000:32C0		    call    _ReadCluster
seg000:32C3		    sub	    ax,	200h
seg000:32C6		    add	    [bp+var_8],	ax
seg000:32C9		    mov	    ax,	[si+1FCh]
seg000:32CD		    mov	    dx,	[si+1FEh]
seg000:32D1		    mov	    [bp+var_4],	ax
seg000:32D4		    mov	    [bp+var_2],	dx
seg000:32D7		    lea	    ax,	[si+1FCh]
seg000:32DB		    mov	    si,	ax
seg000:32DD		    add	    di,	4
seg000:32E0		    inc	    [bp+var_6]
seg000:32E3		    cmp	    [bp+var_4],	0FFFEh
seg000:32E7		    jnz	    loc_0_329E
seg000:32E9		    cmp	    dx,	0FFFFh
seg000:32EC		    jnz	    loc_0_329E
seg000:32EE
seg000:32EE loc_0_32EE:				    ; CODE XREF: _LoadFoF+2Aj
seg000:32EE					    ; _LoadFoF+39j
seg000:32EE					    ; _LoadFoF+41j
seg000:32EE		    cmp	    [bp+var_8],	1
seg000:32F2		    sbb	    ax,	ax
seg000:32F4		    neg	    ax
seg000:32F6		    pop	    si
seg000:32F7		    pop	    di
seg000:32F8		    mov	    sp,	bp
seg000:32FA		    pop	    bp
seg000:32FB		    retn
seg000:32FB _LoadFoF	    endp
seg000:32FB
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:363A
seg000:363A ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:363A
seg000:363A ;		    S u	b r o u	t i n e
seg000:363A ; Attributes: bp-based frame
seg000:363A
seg000:363A _NextCluster    proc near		    ; CODE XREF: _OleIO+BFp
seg000:363A					    ; _OleIO+F9p
seg000:363A					    ; _OleInternalSeek+C5p
seg000:363A
seg000:363A var_4	    = word ptr -4
seg000:363A var_2	    = word ptr -2
seg000:363A arg_0	    = word ptr	4
seg000:363A arg_2	    = word ptr	6
seg000:363A arg_4	    = byte ptr	8
seg000:363A
seg000:363A		    push    bp
seg000:363B		    mov	    bp,	sp
seg000:363D		    sub	    sp,	4
seg000:3640		    mov	    ax,	[bp+arg_0]
seg000:3643		    mov	    dx,	[bp+arg_2]
seg000:3646		    mov	    cx,	7
seg000:3649		    call    LongShiftRight
seg000:364C		    mov	    [bp+var_4],	ax
seg000:364F		    mov	    [bp+var_2],	dx
seg000:3652		    cmp	    [bp+arg_4],	0
seg000:3656		    jnz	    loc_0_365A
seg000:3658		    jmp	    short loc_0_36D2
seg000:365A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:365A
seg000:365A loc_0_365A:				    ; CODE XREF: _NextCluster+1Cj
seg000:365A		    mov	    ax,	word ptr Page_C_+25CCh
seg000:365D		    mov	    dx,	word ptr Page_C_+25CEh
seg000:3661		    cmp	    [bp+arg_2],	dx
seg000:3664		    jb	    loc_0_3678
seg000:3666		    ja	    loc_0_366E
seg000:3668		    cmp	    [bp+arg_0],	ax
seg000:366B		    jbe	    loc_0_3678
seg000:366D		    nop
seg000:366E
seg000:366E loc_0_366E:				    ; CODE XREF: _NextCluster+2Cj
seg000:366E					    ; _NextCluster+A4j
seg000:366E					    ; _NextCluster+ABj
seg000:366E		    mov	    ax,	0FFFFh
seg000:3671		    cwd
seg000:3672		    mov	    sp,	bp
seg000:3674		    pop	    bp
seg000:3675		    retn    6
seg000:3678 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:3678
seg000:3678 loc_0_3678:				    ; CODE XREF: _NextCluster+2Aj
seg000:3678					    ; _NextCluster+31j
seg000:3678		    mov	    ax,	word ptr Page_C_+25C8h
seg000:367B		    mov	    dx,	word ptr Page_C_+25CAh
seg000:367F		    cmp	    [bp+var_4],	ax
seg000:3682		    jnz	    loc_0_368A
seg000:3684		    cmp	    [bp+var_2],	dx
seg000:3687		    jz	    loc_0_36BE
seg000:3689		    nop
seg000:368A
seg000:368A loc_0_368A:				    ; CODE XREF: _NextCluster+48j
seg000:368A		    mov	    ax,	[bp+var_4]
seg000:368D		    mov	    dx,	[bp+var_2]
seg000:3690		    mov	    word ptr Page_C_+25C8h, ax
seg000:3693		    mov	    word ptr Page_C_+25CAh, dx
seg000:3697		    mov	    dh,	dl
seg000:3699		    mov	    dl,	ah
seg000:369B		    mov	    ah,	al
seg000:369D		    xor	    al,	al
seg000:369F		    add	    ax,	ax
seg000:36A1		    adc	    dx,	dx
seg000:36A3		    push    dx
seg000:36A4		    push    ax
seg000:36A5		    push    word ptr Page_C_+25D4h
seg000:36A9		    call    _OleSeek
seg000:36AC		    mov	    ax,	200h
seg000:36AF		    push    ax
seg000:36B0		    mov	    ax,	offset Page_C_+23C4h
seg000:36B3		    push    ax
seg000:36B4		    push    word ptr Page_C_+25D4h
seg000:36B8		    xor	    ax,	ax
seg000:36BA		    push    ax
seg000:36BB		    call    _OleIO
seg000:36BE
seg000:36BE loc_0_36BE:				    ; CODE XREF: _NextCluster+4Dj
seg000:36BE		    mov	    bl,	byte ptr [bp+arg_0]
seg000:36C1		    and	    bx,	7Fh
seg000:36C4		    add	    bx,	bx
seg000:36C6		    add	    bx,	bx
seg000:36C8		    mov	    ax,	word ptr Page_C_+23C4h[bx]
seg000:36CC		    mov	    dx,	word ptr Page_C_+23C6h[bx]
seg000:36D0		    jmp	    short loc_0_3736
seg000:36D2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:36D2
seg000:36D2 loc_0_36D2:				    ; CODE XREF: _NextCluster+1Ej
seg000:36D2		    mov	    ax,	word ptr Page_C_+25D0h
seg000:36D5		    mov	    dx,	word ptr Page_C_+25D2h
seg000:36D9		    cmp	    [bp+arg_2],	dx
seg000:36DC		    jb	    loc_0_36E8
seg000:36DE		    ja	    loc_0_366E
seg000:36E0		    cmp	    [bp+arg_0],	ax
seg000:36E3		    jbe	    loc_0_36E8
seg000:36E5		    jmp	    short loc_0_366E
seg000:36E7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:36E7		    nop
seg000:36E8
seg000:36E8 loc_0_36E8:				    ; CODE XREF: _NextCluster+A2j
seg000:36E8					    ; _NextCluster+A9j
seg000:36E8		    mov	    bx,	[bp+var_4]
seg000:36EB		    add	    bx,	bx
seg000:36ED		    add	    bx,	bx
seg000:36EF		    mov	    ax,	word ptr Page_C_+4Ch[bx]
seg000:36F3		    mov	    dx,	word ptr Page_C_+4Eh[bx]
seg000:36F7		    mov	    [bp+var_4],	ax
seg000:36FA		    mov	    [bp+var_2],	dx
seg000:36FD		    mov	    ax,	word ptr Page_C_+25C4h
seg000:3700		    mov	    dx,	word ptr Page_C_+25C6h
seg000:3704		    cmp	    [bp+var_4],	ax
seg000:3707		    jnz	    loc_0_370E
seg000:3709		    cmp	    [bp+var_2],	dx
seg000:370C		    jz	    loc_0_3724
seg000:370E
seg000:370E loc_0_370E:				    ; CODE XREF: _NextCluster+CDj
seg000:370E		    mov	    ax,	[bp+var_4]
seg000:3711		    mov	    dx,	[bp+var_2]
seg000:3714		    mov	    word ptr Page_C_+25C4h, ax
seg000:3717		    mov	    word ptr Page_C_+25C6h, dx
seg000:371B		    mov	    cx,	offset Page_C_+21C4h
seg000:371E		    push    cx
seg000:371F		    push    dx
seg000:3720		    push    ax
seg000:3721		    call    _ReadCluster
seg000:3724
seg000:3724 loc_0_3724:				    ; CODE XREF: _NextCluster+D2j
seg000:3724		    mov	    bl,	byte ptr [bp+arg_0]
seg000:3727		    and	    bx,	7Fh
seg000:372A		    add	    bx,	bx
seg000:372C		    add	    bx,	bx
seg000:372E		    mov	    ax,	word ptr Page_C_+21C4h[bx]
seg000:3732		    mov	    dx,	word ptr Page_C_+21C6h[bx]
seg000:3736
seg000:3736 loc_0_3736:				    ; CODE XREF: _NextCluster+96j
seg000:3736		    mov	    sp,	bp
seg000:3738		    pop	    bp
seg000:3739		    retn    6
seg000:3739 _NextCluster    endp
seg000:3739
