
bf1a: mov ch, al
bf1c: mov ah, 0x18
bf1e: mul ah
bf20: add ax, 0x1926
bf23: mov bx, ax
bf25: push cx
bf26: mov ax, bp
bf28: xchg word ptr [di + 4], ax
bf2b: push di
bf2c: mov di, bp
bf2e: push ss
bf2f: pop es
bf30: stosw word ptr es:[di], ax
bf31: mov cx, 0x37
bf34: sub ax, ax
bf36: rep stosw word ptr es:[di], ax
bf38: pop di
bf39: pop cx
bf3a: mov word ptr [bp + 0x20], cx
bf3d: inc cx
bf3e: not byte ptr [bp + 0x6f]
bf41: mov si, bx
bf43: mov word ptr [bp + 0x44], bx
bf46: lodsw ax, word ptr [si]
bf47: mov word ptr [bp + 0x22], ax
bf4a: lodsw ax, word ptr [si]
bf4b: mov word ptr [bp + 0x66], ax
bf4e: mov word ptr [bp + 0x4c], 0xc0c0
bf53: sub dx, dx
bf55: lodsw ax, word ptr [si]
bf56: xchg al, dl
bf58: mov word ptr [bp + 0x32], ax
bf5b: shl dx, 3
bf5e: mov word ptr [bp + 0x30], dx
bf61: sub dx, dx
bf63: lodsw ax, word ptr [si]
bf64: xchg al, dh
bf66: shr ax, 1
bf68: shr dx, 2
bf6b: mov word ptr [bp + 0x34], dx
bf6e: mov word ptr [bp + 0x36], ax
bf71: ret 

bd0e: mov al, byte ptr [0xf003]
bd11: add al, 0x18
bd13: call 0xbf1a
bd16: mov ax, word ptr [bx + 0xe]
bd19: mov byte ptr [0x8006], ah
bd1d: sub ah, ah
bd1f: shl ax, 3
bd22: mov word ptr [0x7f20], ax

be83: mov di, word ptr [bp + 0x44]
be86: mov ah, byte ptr [di + 9]
be89: sub al, al
be8b: shr ax, 4
be8e: mov word ptr [bp + 0x3e], ax
be91: lodsw ax, word ptr [si]
be92: mov byte ptr [bp + 0x46], al
be95: xchg bx, ax
be96: lodsw ax, word ptr [si]
be97: mov dx, 0x8080
be9a: xchg dh, al
be9c: xchg bx, ax
be9d: push cx
be9e: mov ch, byte ptr [di + 0xc]
bea1: sub cl, cl
bea3: sub al, al
bea5: xchg di, ax

3556: mov di, 0x6fb8
3559: mov bp, word ptr [di]
355b: or bp, bp
355d: je 0x358d
355f: push di
3560: push word ptr [bp]
3563: mov bx, word ptr [bp + 0x44]
3566: mov ah, byte ptr [bx + 0x15]
3569: mov al, 0xff
356b: mov dh, byte ptr [bx + 0x14]
356e: mov di, word ptr [bx + 0x16]
3571: mov si, ax
3573: call word ptr [bx + 0x12]
3576: jne 0x3587
3578: mov ax, word ptr [bp + 8]
357b: mov bx, word ptr [bp + 0xa]
357e: mov cx, word ptr [bp + 0xc]
3581: mov dl, byte ptr [bp + 0x20]
3584: call 0x3488
3587: pop bp
3588: or bp, bp
358a: jne 0x3560
358c: pop di
358d: add di, 8
3590: cmp di, 0x6fe0
3594: jb 0x3559

c99c: mov al, 0x18
c99e: mul bl
c9a0: mov bx, 0x1a16
c9a3: add bx, ax
c9a5: mov si, 0x1fe
c9a8: sub cx, cx
c9aa: mov al, 1
c9ac: mov byte ptr [0x7fa6], cl
c9b0: mov dx, 0x8021
c9b3: call 0xc9f5
c9b6: mov bx, word ptr [0xcf5b]
c9ba: mov al, byte ptr [0x7fa6]
c9bd: add byte ptr [bx + 0x5e10], al
c9c1: ret 
c9c2: mov byte ptr [si], 0
c9c5: or al, al
c9c7: je 0xca47
c9c9: test byte ptr ss:[0xd98d], 0x30
c9cf: jne 0xca47
c9d1: mov ah, 0x18
c9d3: mul ah
c9d5: mov bx, 0x190e
c9d8: add bx, ax
c9da: mov ax, 0xffff
c9dd: test word ptr [0x6fbc], ax
c9e1: je 0xca47
c9e3: mov ah, byte ptr [bx + 0xa]
c9e6: cmp byte ptr [0x6202], 2
c9eb: jne 0xc9ef
c9ed: mov ah, 0x80
c9ef: cmp word ptr [0x7fa6], ax
c9f3: sbb ch, ch
c9f5: test dx, 0
c9f9: ror ch, 1
c9fb: jmp word ptr [bx + 0xe]

cac4: sub dl, dl
cac6: mov dh, byte ptr [bx + 0xb]
cac9: sub word ptr [0x7fa6], ax
cacd: mov di, 0x6fb8
cad0: mov bp, 0xd986
cad3: mov ax, word ptr [0x5f0f]
cad6: mov cx, word ptr [0xbf0]
cada: call 0xcb01

caf0: sub dl, dl
caf2: mov cx, word ptr [0xbf0]
caf6: cmp byte ptr [di + 5], dl
caf9: mov word ptr [bp + 0x6a], cx
cafc: je 0xcae7
cafe: mov dh, byte ptr [bx + 0xb]
cb01: push bp
cb02: push ax
cb03: push word ptr [bp + 0x2e]
cb06: push word ptr [bp + 0x44]
cb09: call 0x11c95
cb0c: add dx, cx
cb0e: pop di
cb0f: mov word ptr [bp + 0x68], dx
cb12: pop word ptr [bp + 0x56]
cb15: pop word ptr [bp + 0x6c]
cb18: call 0xbf41
cb1b: pop si
cb1c: add si, 4
cb1f: cmp byte ptr [di + 8], 0
cb23: jne 0xcb67

cc87: mov si, word ptr [bp + 0x44]
cc8a: mov bh, byte ptr [si + 9]
cc8d: sub bl, bl
cc8f: shr bx, 4
cc92: add dx, bx
cc94: mov bx, cx
cc96: shl bx, 2
cc99: jmp 0x858f
cc9c: mov ax, word ptr [bp + 0x6c]
cc9f: or ax, ax
cca1: js 0xccb9
cca3: xchg bx, ax
cca4: push cx
cca5: call 0xd089
cca8: mov si, word ptr [bp + 0x44]
ccab: xchg dx, ax
ccac: mov cl, byte ptr [si + 0x10]
ccaf: shr ax, cl
ccb1: neg ax
ccb3: pop cx
ccb4: add ax, di
ccb6: jmp 0x831e

6eb6: mov si, word ptr [bp + 0x44]
6eb9: push bp
6eba: call word ptr [si + 0xc]
6ebd: pop bp

ce1e: mov si, word ptr [bp + 0x44]
ce21: mov bp, ax
ce23: mov ah, byte ptr [si + 8]
ce26: cmp word ptr [bp + 0x66], 0
ce2a: jne 0xce38
ce2c: mov si, 0x7296
ce2f: call 0x680c
ce32: mov di, 0x6fb0
ce35: jmp 0x7a5d
ce38: mov si, word ptr [bp + 0x44]
ce3b: mov al, byte ptr [si + 8]
ce3e: or al, al
ce40: je 0xcdfb
ce42: push dx
ce43: push bx
ce44: push ax
ce45: sub bx, bx
ce47: sub ah, al
ce49: jbe 0xce56
ce4b: dec bx
ce4c: cmp ah, al
ce4e: jae 0xce56
ce50: div al
ce52: mov ah, al
ce54: mov bx, ax
ce56: push bx
ce57: call 0x854e
ce5a: pop ax
ce5b: pop dx
ce5c: add byte ptr [bp + 0x57], dh
ce5f: jae 0xce66
ce61: mov word ptr [bp + 0x56], 0xffff
ce66: pop bx
ce67: pop dx
ce68: stc 
ce69: adc word ptr [bp + 0x64], ax
ce6c: jb 0xced5

d00e: call 0xd059
d011: jae 0xcfc8
d013: cmp ax, 0xb64
d016: jae 0xcfc8
d018: mov byte ptr [0x5f20], ah
d01c: mov al, byte ptr [0x4544]
d01f: mov bx, 0x191f
d022: mov dx, 0x1880
d025: mul dh
d027: add bx, ax
d029: test byte ptr [bx], 2
d02c: pop ax
d02d: je 0xd054
