;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:1402
seg000:1402 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:1402
seg000:1402 ;		    S u	b r o u	t i n e
seg000:1402 ; Attributes: bp-based frame
seg000:1402
seg000:1402 OleOpenDir	    proc near		    ; CODE XREF: OleInit+52p
seg000:1402
seg000:1402 arg_0	    = word ptr	4
seg000:1402
seg000:1402		    push    bp
seg000:1403		    mov	    bp,	sp
seg000:1405		    push    di
seg000:1406		    push    si
seg000:1407		    call    GetFreeHandle
seg000:140A		    mov	    si,	ax
seg000:140C		    cmp	    si,	0FFFFh
seg000:140F		    jz	    loc_0_146A
seg000:1411		    mov	    di,	[bp+arg_0]
seg000:1414		    push    di
seg000:1415		    call    ReadDirEntry

seg000:1418		    or	    ax,	ax
seg000:141A		    jz	    loc_0_1426
seg000:141C
seg000:141C loc_0_141C:				    ; CODE XREF: OleOpenDir+29j
seg000:141C		    mov	    ax,	0FFFFh
seg000:141F		    pop	    si
seg000:1420		    pop	    di
seg000:1421		    pop	    bp
seg000:1422		    retn    2
seg000:1422 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:1425		    align 2
seg000:1426
seg000:1426 loc_0_1426:				    ; CODE XREF: OleOpenDir+18j
seg000:1426		    cmp	    byte_5000_842, 0
seg000:142B		    jz	    loc_0_141C
seg000:142D		    mov	    ax,	12h
seg000:1430		    mul	    si
seg000:1432		    xchg    ax,	bx
seg000:1433		    mov	    ax,	word_5000_874
seg000:1436		    mov	    dx,	word_5000_876
seg000:143A		    mov	    word ptr unk_5000_1116[bx],	ax
seg000:143E		    mov	    word ptr unk_5000_1118[bx],	dx
seg000:1442		    mov	    word ptr unk_5000_111E[bx],	0
seg000:1448		    mov	    word ptr unk_5000_111A[bx],	ax
seg000:144C		    mov	    word ptr unk_5000_111C[bx],	dx
seg000:1450		    mov	    word ptr unk_5000_1120[bx],	1
seg000:1456		    mov	    word ptr unk_5000_1122[bx],	di
seg000:145A		    mov	    ax,	word_5000_878
seg000:145D		    mov	    dx,	word_5000_87A
seg000:1461		    mov	    word ptr unk_5000_1124[bx],	ax
seg000:1465		    mov	    word ptr unk_5000_1126[bx],	dx
seg000:1469		    nop
seg000:146A
seg000:146A loc_0_146A:				    ; CODE XREF: OleOpenDir+Dj
seg000:146A		    mov	    ax,	si
seg000:146C		    pop	    si
seg000:146D		    pop	    di
seg000:146E		    pop	    bp
seg000:146F		    retn    2
seg000:146F OleOpenDir	    endp
seg000:146F
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:136A
seg000:136A ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:136A
seg000:136A ;		    S u	b r o u	t i n e
seg000:136A ; Attributes: bp-based frame
seg000:136A
seg000:136A LoadFoF	    proc near		    ; CODE XREF: OleInitp
seg000:136A
seg000:136A var_8	    = word ptr -8
seg000:136A var_6	    = word ptr -6
seg000:136A var_4	    = word ptr -4
seg000:136A var_2	    = word ptr -2
seg000:136A
seg000:136A		    push    bp
seg000:136B		    mov	    bp,	sp
seg000:136D		    sub	    sp,	10h
seg000:1370		    push    di
seg000:1371		    push    si
seg000:1372		    xor	    di,	di
seg000:1374		    mov	    si,	offset unk_5000_C60
seg000:1377		    mov	    ax,	word_5000_2044
seg000:137A		    mov	    dx,	word_5000_2046
seg000:137E		    mov	    [bp+var_4],	ax
seg000:1381		    mov	    [bp+var_2],	dx
seg000:1384		    xor	    ax,	ax
seg000:1386		    mov	    [bp+var_6],	ax
seg000:1389		    mov	    [bp+var_8],	ax
seg000:138C		    cmp	    word_5000_204A, ax
seg000:1390		    jnz	    loc_0_139A
seg000:1392		    cmp	    word_5000_2048, 8
seg000:1397		    jbe	    loc_0_13A4
seg000:1399		    nop
seg000:139A
seg000:139A loc_0_139A:				    ; CODE XREF: LoadFoF+26j
seg000:139A		    mov	    ax,	1
seg000:139D		    pop	    si
seg000:139E		    pop	    di
seg000:139F		    mov	    sp,	bp
seg000:13A1		    pop	    bp
seg000:13A2		    retn
seg000:13A2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:13A3		    align 2
seg000:13A4
seg000:13A4 loc_0_13A4:				    ; CODE XREF: LoadFoF+2Dj
seg000:13A4		    cmp	    [bp+var_4],	0FFFEh
seg000:13A8		    jnz	    loc_0_13B0
seg000:13AA		    cmp	    [bp+var_2],	0FFFFh
seg000:13AE		    jz	    loc_0_13FA
seg000:13B0
seg000:13B0 loc_0_13B0:				    ; CODE XREF: LoadFoF+3Ej
seg000:13B0					    ; LoadFoF+89j LoadFoF+8Ej
seg000:13B0		    mov	    ax,	word_5000_2048
seg000:13B3		    mov	    dx,	word_5000_204A
seg000:13B7		    cmp	    [bp+var_6],	dx
seg000:13BA		    ja	    loc_0_13FA
seg000:13BC		    jb	    loc_0_13C4
seg000:13BE		    cmp	    [bp+var_8],	ax
seg000:13C1		    jnb	    loc_0_13FA
seg000:13C3		    nop
seg000:13C4
seg000:13C4 loc_0_13C4:				    ; CODE XREF: LoadFoF+52j
seg000:13C4		    push    si
seg000:13C5		    push    [bp+var_2]
seg000:13C8		    push    [bp+var_4]
seg000:13CB		    call    ReadCluster

seg000:13CE		    sub	    ax,	200h
seg000:13D1		    add	    di,	ax
seg000:13D3		    mov	    ax,	[si+1FCh]
seg000:13D7		    mov	    dx,	[si+1FEh]
seg000:13DB		    mov	    [bp+var_4],	ax
seg000:13DE		    mov	    [bp+var_2],	dx
seg000:13E1		    lea	    ax,	[si+1FCh]
seg000:13E5		    mov	    si,	ax
seg000:13E7		    add	    [bp+var_8],	1
seg000:13EB		    adc	    [bp+var_6],	0
seg000:13EF		    cmp	    [bp+var_4],	0FFFEh
seg000:13F3		    jnz	    loc_0_13B0
seg000:13F5		    cmp	    dx,	0FFFFh
seg000:13F8		    jnz	    loc_0_13B0
seg000:13FA
seg000:13FA loc_0_13FA:				    ; CODE XREF: LoadFoF+44j
seg000:13FA					    ; LoadFoF+50j LoadFoF+57j
seg000:13FA		    mov	    ax,	di
seg000:13FC		    pop	    si
seg000:13FD		    pop	    di
seg000:13FE		    mov	    sp,	bp
seg000:1400		    pop	    bp
seg000:1401		    retn
seg000:1401 LoadFoF	    endp
seg000:1401
;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º This file is generated by Interactive Disassembler (IDA)        º
; º Copyright (c) 1997 by DataRescue sprl, <ida@datarescue.com>     º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
;


seg000:0D08
seg000:0D08 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
seg000:0D08
seg000:0D08 ;		    S u	b r o u	t i n e
seg000:0D08 ; Attributes: bp-based frame
seg000:0D08
seg000:0D08 NextCluster	    proc near		    ; CODE XREF: OleSeek+84p
seg000:0D08					    ; OleIO+E1p OleIO+14Fp
seg000:0D08
seg000:0D08 var_4	    = word ptr -4
seg000:0D08 var_2	    = word ptr -2
seg000:0D08 arg_0	    = word ptr	4
seg000:0D08 arg_2	    = word ptr	6
seg000:0D08 arg_4	    = word ptr	8
seg000:0D08
seg000:0D08		    push    bp
seg000:0D09		    mov	    bp,	sp
seg000:0D0B		    sub	    sp,	4
seg000:0D0E		    mov	    ax,	[bp+arg_2]
seg000:0D11		    mov	    dx,	[bp+arg_4]
seg000:0D14		    mov	    cx,	7
seg000:0D17		    nop
seg000:0D18







seg000:0D18 loc_0_D18:				    ; CODE XREF: NextCluster+14j
seg000:0D18		    shr	    dx,	1
seg000:0D1A		    rcr	    ax,	1
seg000:0D1C		    loop    loc_0_D18
seg000:0D1E		    mov	    [bp+var_4],	ax
seg000:0D21		    mov	    [bp+var_2],	dx
seg000:0D24		    cmp	    [bp+arg_0],	0
seg000:0D28		    jnz	    loc_0_D2C
seg000:0D2A		    jmp	    short loc_0_DA0
seg000:0D2C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:0D2C
seg000:0D2C loc_0_D2C:				    ; CODE XREF: NextCluster+20j
seg000:0D2C		    mov	    ax,	word_5000_110A
seg000:0D2F		    mov	    dx,	word_5000_110C
seg000:0D33		    cmp	    [bp+arg_4],	dx
seg000:0D36		    jb	    loc_0_D46
seg000:0D38		    jbe	    loc_0_D3E
seg000:0D3A		    jmp	    loc_0_DF6
seg000:0D3D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:0D3D		    nop
seg000:0D3E
seg000:0D3E loc_0_D3E:				    ; CODE XREF: NextCluster+30j
seg000:0D3E		    cmp	    [bp+arg_2],	ax
seg000:0D41		    jbe	    loc_0_D46
seg000:0D43		    jmp	    loc_0_DF6
seg000:0D46 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:0D46
seg000:0D46 loc_0_D46:				    ; CODE XREF: NextCluster+2Ej
seg000:0D46					    ; NextCluster+39j
seg000:0D46		    mov	    ax,	word_5000_1106
seg000:0D49		    mov	    dx,	word_5000_1108
seg000:0D4D		    cmp	    [bp+var_4],	ax
seg000:0D50		    jnz	    loc_0_D58
seg000:0D52		    cmp	    [bp+var_2],	dx
seg000:0D55		    jz	    loc_0_D8C
seg000:0D57		    nop
seg000:0D58
seg000:0D58 loc_0_D58:				    ; CODE XREF: NextCluster+48j
seg000:0D58		    mov	    ax,	[bp+var_4]
seg000:0D5B		    mov	    dx,	[bp+var_2]
seg000:0D5E		    mov	    word_5000_1106, ax
seg000:0D61		    mov	    word_5000_1108, dx
seg000:0D65		    mov	    dh,	dl
seg000:0D67		    mov	    dl,	ah
seg000:0D69		    mov	    ah,	al
seg000:0D6B		    sub	    al,	al
seg000:0D6D		    add	    ax,	ax
seg000:0D6F		    adc	    dx,	dx
seg000:0D71		    push    dx
seg000:0D72		    push    ax
seg000:0D73		    push    word_5000_1112
seg000:0D77		    call    OleSeek
seg000:0D7A		    mov	    ax,	200h
seg000:0D7D		    push    ax
seg000:0D7E		    mov	    ax,	offset unk_5000_200
seg000:0D81		    push    ax
seg000:0D82		    push    word_5000_1112
seg000:0D86		    xor	    ax,	ax
seg000:0D88		    push    ax
seg000:0D89		    call    OleIO

seg000:0D8C
seg000:0D8C loc_0_D8C:				    ; CODE XREF: NextCluster+4Dj
seg000:0D8C		    mov	    bl,	byte ptr [bp+arg_2]
seg000:0D8F		    and	    bx,	7Fh
seg000:0D92		    shl	    bx,	1
seg000:0D94		    shl	    bx,	1
seg000:0D96		    mov	    ax,	word ptr unk_5000_200[bx]
seg000:0D9A		    mov	    dx,	word ptr unk_5000_202[bx]
seg000:0D9E		    jmp	    short loc_0_DF0
seg000:0DA0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
seg000:0DA0
seg000:0DA0 loc_0_DA0:				    ; CODE XREF: NextCluster+22j
seg000:0DA0		    mov	    ax,	word_5000_110E
seg000:0DA3		    mov	    dx,	word_5000_1110
seg000:0DA7		    cmp	    [bp+arg_4],	dx
seg000:0DAA		    ja	    loc_0_DF6
seg000:0DAC		    jb	    loc_0_DB4
seg000:0DAE		    cmp	    [bp+arg_2],	ax
seg000:0DB1		    jnb	    loc_0_DF6
seg000:0DB3		    nop
seg000:0DB4
seg000:0DB4 loc_0_DB4:				    ; CODE XREF: NextCluster+A4j
seg000:0DB4		    mov	    bx,	[bp+var_4]
seg000:0DB7		    shl	    bx,	1
seg000:0DB9		    shl	    bx,	1
seg000:0DBB		    mov	    ax,	word ptr unk_5000_204C[bx]
seg000:0DBF		    mov	    dx,	word ptr unk_5000_204E[bx]
seg000:0DC3		    cmp	    ax,	word_5000_1100
seg000:0DC7		    jnz	    loc_0_DD0
seg000:0DC9		    cmp	    dx,	word_5000_1102
seg000:0DCD		    jz	    loc_0_DE0
seg000:0DCF		    nop
seg000:0DD0
seg000:0DD0 loc_0_DD0:				    ; CODE XREF: NextCluster+BFj
seg000:0DD0		    mov	    word_5000_1100, ax
seg000:0DD3		    mov	    word_5000_1102, dx
seg000:0DD7		    mov	    bx,	offset word_5000_0
seg000:0DDA		    push    bx
seg000:0DDB		    push    dx
seg000:0DDC		    push    ax
seg000:0DDD		    call    _ReadCluster
seg000:0DE0
seg000:0DE0 loc_0_DE0:				    ; CODE XREF: NextCluster+C5j
seg000:0DE0		    mov	    bl,	byte ptr [bp+arg_2]
seg000:0DE3		    and	    bx,	7Fh
seg000:0DE6		    shl	    bx,	1
seg000:0DE8		    shl	    bx,	1
seg000:0DEA		    mov	    ax,	[bx]
seg000:0DEC		    mov	    dx,	word_5000_2[bx]
seg000:0DEF		    nop
seg000:0DF0
seg000:0DF0 loc_0_DF0:				    ; CODE XREF: NextCluster+96j
seg000:0DF0		    mov	    [bp+arg_2],	ax
seg000:0DF3		    mov	    [bp+arg_4],	dx
seg000:0DF6
seg000:0DF6 loc_0_DF6:				    ; CODE XREF: NextCluster+32j
seg000:0DF6					    ; NextCluster+3Bj
seg000:0DF6					    ; NextCluster+A2j
seg000:0DF6					    ; NextCluster+A9j
seg000:0DF6		    mov	    ax,	[bp+arg_2]
seg000:0DF9		    mov	    dx,	[bp+arg_4]
seg000:0DFC		    mov	    sp,	bp
seg000:0DFE		    pop	    bp
seg000:0DFF		    retn    6
seg000:0DFF NextCluster	    endp
seg000:0DFF
