// fn0800_0B12 // Return size: 4 void fn0800_0B12() fn0800_0B12_entry: // succ: l0800_0B12 l0800_0B12: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp al = Mem0[ds:0x09F5:byte] al = al | Mem0[ds:0x0E6A:byte] SZO = cond(al) C = false branch Test(NE,Z) l0800_0B5D // succ: l0800_0B1E l0800_0B5D l0800_0B1E: bx = Mem0[ss:bp + 0x0006:word16] ax = Mem0[ds:0x0CE4:word16] ax = ax - Mem0[ds:0x0CDC:word16] SCZO = cond(ax) ax = ax - bx SCZO = cond(ax) branch Test(UGT,CZ) l0800_0B5D // succ: l0800_0B2C l0800_0B5D l0800_0B2C: ax = -ax SCZO = cond(ax) C = ax == 0x0000 ax = ax + 0x000F SCZO = cond(ax) cl = 0x04 ax = ax >>u cl SCZO = cond(ax) dx = ax cx = Mem0[ds:0x0B10:word16] cx = cx + 0x0001 SZO = cond(cx) ax = ax + cx SCZO = cond(ax) ax = ax - Mem0[ds:0x0CEA:word16] SCZO = cond(ax) v17 = ax ax = bx bx = v17 ax = Mem0[ss:bp + 0x0004:word16] cx = cx - ax SCZO = cond(cx) cx = cx << 0x0001 SCZO = cond(cx) cx = cx << 0x0001 SCZO = cond(cx) cx = cx << 0x0001 SCZO = cond(cx) cx = cx << 0x0001 SCZO = cond(cx) ah = 0x4A es = Mem0[ds:0x0CEA:selector] C = msdos_resize_memory_block(es, bx, out bx) ax = 0x0000 branch Test(UGE,C) l0800_0B62 // succ: l0800_0B5D l0800_0B62 l0800_0B5D: bp = Mem0[ss:sp:word16] sp = sp + 0x0002 __sti() sp = sp - 0x0002 Mem0[ss:sp:word16] = ss es = Mem0[ss:sp:selector] sp = sp + 0x0002 return // succ: fn0800_0B12_exit l0800_0B62: Mem0[ds:0x005A:word16] = bx v20 = Mem0[ds:0x0B10:word16] + dx Mem0[ds:0x0B10:word16] = v20 SCZO = cond(v20) ax = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = cx cl = 0x04 ax = ax << cl SCZO = cond(ax) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 v21 = Mem0[ds:0x0CE4:word16] + ax Mem0[ds:0x0CE4:word16] = v21 SCZO = cond(v21) ax = Mem0[ss:bp + 0x0004:word16] ds = ax ax = ax + dx SCZO = cond(ax) es = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di si = cx si = si - 0x0001 SZO = cond(si) si = si - 0x0001 SZO = cond(si) di = si D = true __cli() cx = cx >>u 0x0001 SCZO = cond(cx) // succ: l0800_0B8B l0800_0B8B: branch cx == 0x0000 l0800_0B8D // succ: l0800_0B8B_1 l0800_0B8D l0800_0B8B_1: v25 = Mem0[ds:si:word16] Mem0[es:di:word16] = v25 si = si - 0x0002 di = di - 0x0002 cx = cx - 0x0001 goto l0800_0B8B // succ: l0800_0B8B l0800_0B8D: D = false sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 dx = Mem0[ss:bp + 0x0004:word16] Mem0[ss:bp + 0x0004:word16] = ax Mem0[es:0x28A9:word16] = ax Mem0[ds:0x09F1:word16] = ax Mem0[ds:0x09B6:word16] = ax Mem0[ds:0x0020:word16] = ax SCZO = cond(Mem0[ds:0x0A12:word16] - 0x0000) branch Test(NE,Z) l0800_0BB2 // succ: l0800_0BAA l0800_0BB2 l0800_0BAA: cx = ax cx = cx - dx SCZO = cond(cx) v26 = Mem0[ds:0x0A10:word16] + cx Mem0[ds:0x0A10:word16] = v26 SCZO = cond(v26) // succ: l0800_0BB2 l0800_0BB2: es = Mem0[ds:0x0CEA:selector] SCZO = cond(Mem0[es:0x000C:word16] - dx) branch Test(NE,Z) l0800_0BC1 // succ: l0800_0BBD l0800_0BC1 l0800_0BBD: Mem0[es:0x000C:word16] = ax // succ: l0800_0BC1 l0800_0BC1: bx = bx ^ bx SZO = cond(bx) C = false es = bx di = 0x0F8C si = 0x1028 cx = 0x0027 // succ: l0800_0BCE l0800_0BCE: SCZO = cond(Mem0[ds:bx + di:word16] - dx) branch Test(NE,Z) l0800_0BD4 // succ: l0800_0BD2 l0800_0BD4 l0800_0BD2: Mem0[ds:bx + di:word16] = ax // succ: l0800_0BD4 l0800_0BD4: SCZO = cond(Mem0[ds:bx + si:word16] - dx) branch Test(NE,Z) l0800_0BDA // succ: l0800_0BD8 l0800_0BDA l0800_0BD8: Mem0[ds:bx + si:word16] = ax // succ: l0800_0BDA l0800_0BDA: SCZO = cond(Mem0[es:bx + 0x0022:word16] - dx) branch Test(NE,Z) l0800_0BE4 // succ: l0800_0BE0 l0800_0BE4 l0800_0BE0: Mem0[es:bx + 0x0022:word16] = ax // succ: l0800_0BE4 l0800_0BE4: bx = bx + 0x0004 SCZO = cond(bx) cx = cx - 0x0001 branch cx != 0x0000 l0800_0BCE // succ: l0800_0BE9 l0800_0BCE l0800_0BE9: bl = Mem0[ds:0x0034:byte] SCZO = cond(bl - 0x2E) branch Test(ULE,CZ) l0800_0C02 // succ: l0800_0BF2 l0800_0C02 l0800_0BF2: bh = bh ^ bh SZO = cond(bh) C = false bx = bx << 0x0001 SCZO = cond(bx) bx = bx << 0x0001 SCZO = cond(bx) SCZO = cond(Mem0[es:bx + 0x0002:word16] - dx) branch Test(NE,Z) l0800_0C02 // succ: l0800_0BFE l0800_0C02 l0800_0BFE: Mem0[es:bx + 0x0002:word16] = ax // succ: l0800_0C02 l0800_0C02: sp = sp - 0x0002 Mem0[ss:sp:word16] = ax es = Mem0[ss:sp:selector] sp = sp + 0x0002 Mem0[es:0x12CA:word16] = ax di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 goto l0800_0B5D // succ: l0800_0B5D fn0800_0B12_exit: // fn09BD_016C // Return size: 2 void fn09BD_016C() fn09BD_016C_entry: // succ: l09BD_016C l09BD_016C: sp = fp bx = bx ^ bx SZO = cond(bx) C = false dx = 0x0000 cx = 0x0100 ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_0176 l09BD_0176: Mem0[ds:bx + 0x00C6:word16] = ax Mem0[ds:bx + 0x00C4:word16] = 0x8E00 Mem0[ds:bx + 0x00C2:word16] = 0x0070 Mem0[ds:bx + 0x00C0:word16] = dx dx = dx + 0x0004 SCZO = cond(dx) bx = bx + 0x0008 SCZO = cond(bx) cx = cx - 0x0001 branch cx != 0x0000 l09BD_0176 // succ: l09BD_0192 l09BD_0176 l09BD_0192: cx = 0x0011 dx = 0x41F1 bx = bx ^ bx SZO = cond(bx) C = false // succ: l09BD_019A l09BD_019A: Mem0[ds:bx + 0x00C0:word16] = dx dx = dx + 0x001C SCZO = cond(dx) bx = bx + 0x0008 SCZO = cond(bx) cx = cx - 0x0001 branch cx != 0x0000 l09BD_019A // succ: l09BD_01A7 l09BD_019A l09BD_01A7: Mem0[ds:0x0128:word16] = 0x1F96 Mem0[ds:0x01B8:word16] = 0x0084 Mem0[ds:0x01C0:word16] = 0x0C80 Mem0[ds:0x01C2:word16] = 0x0018 Mem0[ds:0x01C8:word16] = 0x0C9E Mem0[ds:0x01D8:word16] = 0x05EB Mem0[ds:0x0248:word16] = 0x448E SCZO = cond(Mem0[ds:0x002E:byte] - 0x0B) branch Test(NE,Z) l09BD_01E4 // succ: l09BD_01D8 l09BD_01E4 l09BD_01D8: Mem0[ds:0x03F8:word16] = 0x2C6F Mem0[ds:0x03FA:word16] = 0x0018 // succ: l09BD_01E4 l09BD_01E4: call fn09BD_2071 (retsize: 2;) SZO = cond(Mem0[ds:0x0047:byte] & 0x01) C = false branch Test(EQ,Z) l09BD_0216 // succ: l09BD_01EE l09BD_0216 l09BD_01EE: Mem0[ds:0x0170:word16] = 0x04FA Mem0[ds:0x01B0:word16] = 0x0C7C Mem0[ds:0x01B2:word16] = 0x0018 bl = Mem0[ds:0x0051:byte] bl = bl | bl SZO = cond(bl) C = false branch Test(EQ,Z) l09BD_0216 // succ: l09BD_0208 l09BD_0216 l09BD_0208: bl = bl + 0x05 SCZO = cond(bl) bh = bh ^ bh SZO = cond(bh) C = false bx = bx << 0x0003 SCZO = cond(bx) Mem0[ds:bx + 0x00C0:word16] = 0x0556 // succ: l09BD_0216 l09BD_0216: SCZO = cond(Mem0[ds:0x003E:byte] - 0x00) branch Test(EQ,Z) l09BD_0245 // succ: l09BD_021D l09BD_0245 l09BD_021D: l09BD_0245: return // succ: fn09BD_016C_exit fn09BD_016C_exit: // fn09BD_0290 // Return size: 0 void fn09BD_0290() fn09BD_0290_entry: // succ: l09BD_0290 l09BD_0290: sp = fp dx = 0x0020 v4 = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = bx sp = sp - 0x0002 Mem0[ss:sp:word16] = v4 sp = sp - 0x0002 Mem0[ss:sp:word16] = bp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di call SEQ(cs, Mem0[ds:0x09C0:word16]) (retsize: 2;) ss = dx dx = 0x0020 ds = dx es = dx ax = 0x0068 fn09BD_0290_exit: // fn09BD_0733 // Return size: 2 void fn09BD_0733() fn09BD_0733_entry: // succ: l09BD_0733 l09BD_0733: sp = fp __outb(0x22, al) ah = al // succ: l09BD_0739 l09BD_0739: al = __inb(0x23) return // succ: fn09BD_0733_exit fn09BD_0733_exit: // fn09BD_092C // Return size: 0 void fn09BD_092C() fn09BD_092C_entry: // succ: l09BD_092C l09BD_092C: sp = fp call Mem0[ds:0x09BC:word16] (retsize: 4;) return // succ: fn09BD_092C_exit fn09BD_092C_exit: // fn09BD_0C0D // Return size: 2 void fn09BD_0C0D() fn09BD_0C0D_entry: // succ: l09BD_0C0D l09BD_0C0D: sp = fp __cli() cx = cx ^ cx SZO = cond(cx) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = ds ds = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = 0x0020 cx = cx - 0x0001 SZO = cond(cx) es = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = di di = 0x0030 D = false cx = 0x0004 // succ: l09BD_0C22 l09BD_0C22: branch cx == 0x0000 l09BD_0C24 // succ: l09BD_0C22_1 l09BD_0C24 l09BD_0C22_1: SCZO = cond(Mem0[ds:si:word16] - Mem0[es:di:word16]) si = si + 0x0002 di = di + 0x0002 cx = cx - 0x0001 branch Test(NE,Z) l09BD_0C22 // succ: l09BD_0C24 l09BD_0C22 l09BD_0C24: di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 ds = Mem0[ss:sp:selector] sp = sp + 0x0002 return // succ: fn09BD_0C0D_exit fn09BD_0C0D_exit: // fn09BD_0EF4 // Return size: 2 void fn09BD_0EF4() fn09BD_0EF4_entry: // succ: l09BD_0EF4 l09BD_0EF4: sp = fp __syscall(0x15) return // succ: fn09BD_0EF4_exit fn09BD_0EF4_exit: // fn09BD_14AC // Return size: 2 void fn09BD_14AC() fn09BD_14AC_entry: // succ: l09BD_14AC l09BD_14AC: sp = fp bx = sp v5 = Mem0[ds:0x0AC2:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v5 Mem0[ds:0x0AC2:word16] = 0x14C4 v7 = Mem0[ss:bx + 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v7 call fn09BD_229D (retsize: 2;) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:0x0AC2:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_14AC_exit fn09BD_14AC_exit: // fn09BD_18A4 // Return size: 2 void fn09BD_18A4() fn09BD_18A4_entry: // succ: l09BD_18A4 l09BD_18A4: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp v5 = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v5 ax = Mem0[ds:0x11F8:word16] ax = ax + 0x1190 SCZO = cond(ax) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_25DE (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_18A4_exit fn09BD_18A4_exit: // fn09BD_18BA // Return size: 2 void fn09BD_18BA() fn09BD_18BA_entry: // succ: l09BD_18BA l09BD_18BA: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2610 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(ax - Mem0[ds:0x11F8:word16]) branch Test(NE,Z) l09BD_18D2 // succ: l09BD_18CB l09BD_18D2 l09BD_18CB: v10 = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v10 call fn09BD_18A4 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_18D2 l09BD_18D2: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_18BA_exit fn09BD_18BA_exit: // fn09BD_18D6 // Return size: 2 void fn09BD_18D6() fn09BD_18D6_entry: // succ: l09BD_18D6 l09BD_18D6: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp ax = Mem0[ss:bp + 0x0004:word16] ax = ax - 0x0061 SCZO = cond(ax) SCZO = cond(ax - 0x0019) branch Test(UGT,CZ) l09BD_18EC // succ: l09BD_18E4 l09BD_18EC l09BD_18E4: ax = Mem0[ss:bp + 0x0004:word16] ax = ax - 0x0020 SCZO = cond(ax) bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_18D6_exit l09BD_18EC: ax = Mem0[ss:bp + 0x0004:word16] bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_18D6_exit fn09BD_18D6_exit: // fn09BD_18F1 // Return size: 2 void fn09BD_18F1() fn09BD_18F1_entry: // succ: l09BD_18F1 l09BD_18F1: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) goto l09BD_1906 // succ: l09BD_1906 l09BD_18F9: sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_18D6 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:bp + 0x0004:word16] v14 = Mem0[ss:bp + 0x0004:word16] + 0x0001 Mem0[ss:bp + 0x0004:word16] = v14 SZO = cond(v14) Mem0[ds:bx:byte] = al // succ: l09BD_1906 l09BD_1906: bx = Mem0[ss:bp + 0x0006:word16] v7 = Mem0[ss:bp + 0x0006:word16] + 0x0001 Mem0[ss:bp + 0x0006:word16] = v7 SZO = cond(v7) al = Mem0[ds:bx:byte] ax = (int16) al ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_18F9 // succ: l09BD_1913 l09BD_18F9 l09BD_1913: bx = Mem0[ss:bp + 0x0004:word16] Mem0[ds:bx:byte] = 0x00 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_18F1_exit fn09BD_18F1_exit: // fn09BD_191D // Return size: 2 void fn09BD_191D() fn09BD_191D_entry: // succ: l09BD_191D l09BD_191D: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) v6 = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v6 ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_18F1 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2610 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0002:word16] = ax Mem0[ds:0x11F8:word16] = ax goto l09BD_1954 // succ: l09BD_1954 l09BD_193F: bx = Mem0[ss:bp - 0x0002:word16] SCZO = cond(Mem0[ds:bx + 0x1190:byte] - 0x5C) branch Test(EQ,Z) l09BD_1959 // succ: l09BD_1949 l09BD_1959 l09BD_1949: SCZO = cond(Mem0[ds:bx + 0x1190:byte] - 0x2E) branch Test(NE,Z) l09BD_1954 // succ: l09BD_1950 l09BD_1954 l09BD_1950: Mem0[ds:0x11F8:word16] = bx // succ: l09BD_1954 l09BD_1954: v10 = Mem0[ss:bp - 0x0002:word16] - 0x0001 Mem0[ss:bp - 0x0002:word16] = v10 SZO = cond(v10) branch Test(NS,S) l09BD_193F // succ: l09BD_1959 l09BD_193F l09BD_1959: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_191D_exit fn09BD_191D_exit: // fn09BD_195D // Return size: 2 void fn09BD_195D() fn09BD_195D_entry: // succ: l09BD_195D l09BD_195D: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0004 SCZO = cond(sp) goto l09BD_197B // succ: l09BD_197B l09BD_1965: Mem0[ss:bp - 0x0004:word16] = bx v10 = Mem0[ss:bp + 0x0006:word16] + 0x0001 Mem0[ss:bp + 0x0006:word16] = v10 SZO = cond(v10) al = Mem0[ds:bx:byte] bx = Mem0[ss:bp + 0x0004:word16] v13 = Mem0[ss:bp + 0x0004:word16] + 0x0001 Mem0[ss:bp + 0x0004:word16] = v13 SZO = cond(v13) SCZO = cond(Mem0[ds:bx:byte] - al) branch Test(EQ,Z) l09BD_197B // succ: l09BD_1977 l09BD_197B l09BD_1977: ax = ax - ax SCZO = cond(ax) goto l09BD_1986 // succ: l09BD_1986 l09BD_197B: bx = Mem0[ss:bp + 0x0006:word16] SCZO = cond(Mem0[ds:bx:byte] - 0x00) branch Test(NE,Z) l09BD_1965 // succ: l09BD_1983 l09BD_1965 l09BD_1983: ax = 0x0001 // succ: l09BD_1986 l09BD_1986: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_195D_exit fn09BD_195D_exit: // fn09BD_199A // Return size: 2 void fn09BD_199A() fn09BD_199A_entry: // succ: l09BD_199A l09BD_199A: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0010 sp = sp - 0x0002 Mem0[ss:sp:word16] = si ax = Mem0[ds:0x09B4:word16] dx = dx - dx SCZO = cond(dx) cl = 0x04 call fn09BD_2794 (retsize: 2;) bx = dx Mem0[ds:0x08E2:word16] = ax dx = ax si = bx Mem0[ds:0x08E4:byte] = bl Mem0[ss:bp - 0x0008:word16] = dx Mem0[ss:bp - 0x0006:word16] = si dx = dx + 0x08C0 SCZO = cond(dx) si = si + 0x00 + C SCZO = cond(si) Mem0[ds:0x0976:word16] = dx Mem0[ds:0x0978:word16] = si Mem0[ds:0x08C8:word16] = 0x009F Mem0[ss:bp - 0x000C:word16] = dx Mem0[ss:bp - 0x000A:word16] = si Mem0[ds:0x08CA:word16] = dx al = Mem0[ss:bp - 0x000A:byte] Mem0[ds:0x08CC:byte] = al ax = 0x0960 ax = ax - 0x08C0 SCZO = cond(ax) dx = dx - dx SCZO = cond(dx) ax = ax + Mem0[ss:bp - 0x000C:word16] SCZO = cond(ax) dx = dx + si + C SCZO = cond(dx) cx = ax bx = dx Mem0[ds:0x0912:word16] = ax dx = ax si = bx Mem0[ds:0x0914:byte] = bl ax = ax - ax SCZO = cond(ax) Mem0[ds:0x08CE:word16] = ax Mem0[ds:0x0916:word16] = ax ax = 0x0960 ax = ax - 0x00C0 SCZO = cond(ax) dx = dx - ax SCZO = cond(dx) si = si - 0x00 - C SCZO = cond(si) Mem0[ss:bp - 0x000E:word16] = si Mem0[ds:0x08D2:word16] = dx al = Mem0[ss:bp - 0x000E:byte] Mem0[ds:0x08D4:byte] = al ax = Mem0[ds:0x09B6:word16] dx = dx - dx SCZO = cond(dx) cl = 0x04 call fn09BD_2794 (retsize: 2;) bx = dx Mem0[ds:0x090A:word16] = ax Mem0[ds:0x08DA:word16] = ax Mem0[ds:0x090C:byte] = bl Mem0[ds:0x08DC:byte] = bl ax = 0x0D74 dx = dx - dx SCZO = cond(dx) ax = ax + Mem0[ss:bp - 0x0008:word16] SCZO = cond(ax) dx = dx + Mem0[ss:bp - 0x0006:word16] + C SCZO = cond(dx) cx = ax bx = dx Mem0[ds:0x091A:word16] = ax Mem0[ds:0x091C:byte] = bl ax = Mem0[ds:0x0A10:word16] dx = Mem0[ds:0x0A12:word16] cl = 0x04 call fn09BD_2794 (retsize: 2;) Mem0[ss:bp - 0x0002:word16] = dx Mem0[ds:0x0932:word16] = ax al = Mem0[ss:bp - 0x0002:byte] Mem0[ds:0x0934:byte] = al Mem0[ds:0x0D70:word16] = 0x0080 SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(LT,SO) l09BD_1A78 // succ: l09BD_1A72 l09BD_1A78 l09BD_1A72: Mem0[ds:0x08FE:word16] = 0x008F // succ: l09BD_1A78 l09BD_1A78: si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_199A_exit fn09BD_199A_exit: // fn09BD_1DEC // Return size: 2 void fn09BD_1DEC() fn09BD_1DEC_entry: // succ: l09BD_1DEC l09BD_1DEC: sp = fp bx = 0x0010 // succ: l09BD_1DEF l09BD_1DEF: bx = bx - 0x0001 SZO = cond(bx) bx = bx - 0x0001 SZO = cond(bx) branch Test(SG,S) l09BD_1E11 // succ: l09BD_1DF3 l09BD_1E11 l09BD_1DF3: dx = Mem0[ds:bx + 0x0ADC:word16] dx = dx | dx SZO = cond(dx) C = false branch Test(EQ,Z) l09BD_1DEF // succ: l09BD_1DFB l09BD_1DEF l09BD_1DFB: sp = sp - 0x0002 Mem0[ss:sp:word16] = bx ah = 0x0D call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) ah = 0x0A call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:bx + 0x0ADC:word16] = 0x0000 goto l09BD_1DEF // succ: l09BD_1DEF l09BD_1E11: return // succ: fn09BD_1DEC_exit fn09BD_1DEC_exit: // fn09BD_2071 // Return size: 0 void fn09BD_2071() fn09BD_2071_entry: goto l09BD_2071 // succ: l09BD_2071 l0070_5401: l09BD_2071: sp = fp call fn09BD_0290 (retsize: 2;) goto l0070_5401 // succ: l0070_5401 fn09BD_2071_exit: // fn09BD_229D // Return size: 2 void fn09BD_229D() fn09BD_229D_entry: // succ: l09BD_229D l09BD_229D: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x009C SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si Mem0[ss:bp - 0x0002:word16] = 0x0000 SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0000) branch Test(GE,SO) l09BD_22B9 // succ: l09BD_22B1 l09BD_22B9 l09BD_22B1: Mem0[ss:bp - 0x0002:word16] = 0x0001 v9 = -Mem0[ss:bp + 0x0004:word16] Mem0[ss:bp + 0x0004:word16] = v9 SCZO = cond(v9) C = v9 == 0x0000 // succ: l09BD_22B9 l09BD_22B9: ax = Mem0[ss:bp + 0x0004:word16] Mem0[ss:bp - 0x009A:word16] = ax si = bp - 0x0098 SCZO = cond(Mem0[ds:0x0F21:byte] - 0x01) branch Test(EQ,Z) l09BD_231D // succ: l09BD_22CB l09BD_231D l09BD_22CB: Mem0[ss:bp - 0x0098:byte] = 0x5B si = bp - 0x0097 // succ: l09BD_22D4 l09BD_22D4: si = si + 0x0001 SZO = cond(si) cx = 0x000A ax = Mem0[ss:bp - 0x009A:word16] dx_ax = (int32) ax v18 = dx_ax dx = (int16) (v18 % cx) ax = (int16) (v18 / cx) SCZO = cond(ax) Mem0[ss:bp - 0x009A:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_22D4 // succ: l09BD_22E7 l09BD_22D4 l09BD_22E7: di = si ax = Mem0[ss:bp + 0x0004:word16] Mem0[ss:bp - 0x009A:word16] = ax // succ: l09BD_22F0 l09BD_22F0: dx_ax = (int32) ax v19 = dx_ax dx = (int16) (v19 % cx) ax = (int16) (v19 / cx) SCZO = cond(ax) bx = dx al = Mem0[ds:bx + 0x0AB0:byte] di = di - 0x0001 SZO = cond(di) Mem0[ds:di:byte] = al ax = Mem0[ss:bp - 0x009A:word16] dx_ax = (int32) ax v22 = dx_ax dx = (int16) (v22 % cx) ax = (int16) (v22 / cx) SCZO = cond(ax) Mem0[ss:bp - 0x009A:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_22F0 // succ: l09BD_230B l09BD_22F0 l09BD_230B: si = si + 0x0001 SZO = cond(si) Mem0[ds:si - 0x0001:byte] = 0x5D si = si + 0x0001 SZO = cond(si) Mem0[ds:si - 0x0001:byte] = 0x20 si = si + 0x0001 SZO = cond(si) Mem0[ds:si - 0x0001:byte] = 0x20 Mem0[ds:si:byte] = 0x00 // succ: l09BD_231D l09BD_231D: di = 0x15E8 goto l09BD_233D // succ: l09BD_233D l09BD_2322: SCZO = cond(Mem0[ds:0x0F22:word16] - di) branch Test(ULE,CZ) l09BD_2349 // succ: l09BD_2328 l09BD_2349 l09BD_2328: SCZO = cond(ax - Mem0[ss:bp + 0x0004:word16]) branch Test(NE,Z) l09BD_2336 // succ: l09BD_232D l09BD_2336 l09BD_232D: sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_25DE (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 goto l09BD_2349 // succ: l09BD_2349 l09BD_2336: di = di + 0x0001 SZO = cond(di) SCZO = cond(Mem0[ds:di - 0x0001:byte] - 0x00) branch Test(NE,Z) l09BD_2336 // succ: l09BD_233D l09BD_2336 l09BD_233D: ax = Mem0[ds:di:word16] di = di + 0x0001 SZO = cond(di) di = di + 0x0001 SZO = cond(di) Mem0[ss:bp - 0x009A:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(GE,SO) l09BD_2322 ax = Mem0[ds:di:word16] di = di + 0x0001 SZO = cond(di) di = di + 0x0001 SZO = cond(di) Mem0[ss:bp - 0x009A:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(GE,SO) l09BD_2322 // succ: l09BD_2349 l09BD_2322 l09BD_2349: SCZO = cond(Mem0[ss:bp - 0x0002:word16] - 0x0000) branch Test(EQ,Z) l09BD_235E SCZO = cond(Mem0[ss:bp - 0x0002:word16] - 0x0000) branch Test(EQ,Z) l09BD_235E // succ: l09BD_234F l09BD_235E l09BD_234F: ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x0098 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call SEQ(cs, Mem0[ds:0x0E6C:word16]) (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x0098 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call SEQ(cs, Mem0[ds:0x0E6C:word16]) (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_235E l09BD_235E: ax = ax - ax SCZO = cond(ax) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x0098 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call SEQ(cs, Mem0[ds:0x0E6C:word16]) (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_229D_exit fn09BD_229D_exit: // fn09BD_2372 // Return size: 2 void fn09BD_2372() fn09BD_2372_entry: // succ: l09BD_2372 l09BD_2372: sp = fp di = 0x0800 ss = di sp = sp + 0x120E SCZO = cond(sp) si = 0x09BD si = si - di SCZO = cond(si) ax = si cl = 0x04 ax = ax << cl SCZO = cond(ax) ax = ax - 0x0001 SZO = cond(ax) Mem0[ss:0x0CE4:word16] = ax Mem0[ss:0x0CDA:word16] = sp si = 0x170B si = si + 0x0001 SZO = cond(si) Mem0[ds:0x0002:word16] = si bx = es bx = bx - si SCZO = cond(bx) bx = -bx SCZO = cond(bx) C = bx == 0x0000 ah = 0x4A C = msdos_resize_memory_block(es, bx, out bx) Mem0[ss:0x0CEA:word16] = ds sp = sp - 0x0002 Mem0[ss:sp:word16] = ss es = Mem0[ss:sp:selector] sp = sp + 0x0002 D = false di = 0x1186 cx = 0x1210 cx = cx - di SCZO = cond(cx) ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_23B4 l09BD_23B4: branch cx == 0x0000 l09BD_23B6 // succ: l09BD_23B4_1 l09BD_23B6 l09BD_23B4_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_23B4 // succ: l09BD_23B4 l09BD_23B6: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 ah = 0x30 al = msdos_get_dos_version(out ah) Mem0[ds:0x0CEC:word16] = ax bx = 0x0004 // succ: l09BD_23C2 l09BD_23C2: ax = 0x4400 C = msdos_ioctl_get_device_info(bx, out dx) branch Test(ULT,C) l09BD_23D3 // succ: l09BD_23C9 l09BD_23D3 l09BD_23C9: SZO = cond(dl & 0x80) C = false branch Test(EQ,Z) l09BD_23D3 // succ: l09BD_23CE l09BD_23D3 l09BD_23CE: v21 = Mem0[ds:bx + 0x0CF8:byte] | 0x40 Mem0[ds:bx + 0x0CF8:byte] = v21 SZO = cond(Mem0[ds:bx + 0x0CF8:byte]) C = false // succ: l09BD_23D3 l09BD_23D3: bx = bx - 0x0001 SZO = cond(bx) branch Test(NS,S) l09BD_23C2 // succ: l09BD_23D6 l09BD_23C2 l09BD_23D6: call fn09BD_2450 (retsize: 2;) bp = bp ^ bp SZO = cond(bp) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 v24 = Mem0[ds:0x0CF4:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v24 v25 = Mem0[ds:0x0CF2:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v25 v26 = Mem0[ds:0x0CF0:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v26 call fn09BD_2D88 (retsize: 2;) return // succ: fn09BD_2372_exit fn09BD_2372_exit: // fn09BD_242E // Return size: 2 void fn09BD_242E() fn09BD_242E_entry: // succ: l09BD_242E l09BD_242E: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) v6 = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v6 call fn09BD_65A3 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0002:word16] = ax ax = ax + 0x0001 SZO = cond(ax) branch Test(EQ,Z) l09BD_2446 // succ: l09BD_2441 l09BD_2446 l09BD_2441: ax = Mem0[ss:bp - 0x0002:word16] goto l09BD_2448 // succ: l09BD_2448 l09BD_2446: ax = ax - ax SCZO = cond(ax) // succ: l09BD_2448 l09BD_2448: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_242E_exit fn09BD_242E_exit: // fn09BD_2450 // Return size: 0 void fn09BD_2450() fn09BD_2450_entry: // succ: l09BD_2450 l09BD_2450: sp = fp Mem0[ds:0x0D0E:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 ah = 0x30 al = msdos_get_dos_version(out ah) Mem0[ds:0x0CEC:word16] = ax dx = 0x0001 SCZO = cond(al - 0x02) branch Test(EQ,Z) l09BD_248B // succ: l09BD_2462 l09BD_248B l09BD_2462: es = Mem0[ds:0x0CEA:selector] es = Mem0[es:0x002C:selector] Mem0[ds:0x0CF8:word16] = es ax = ax ^ ax SZO = cond(ax) C = false dx_ax = (int32) ax cx = 0x8000 di = di ^ di SZO = cond(di) C = false // succ: l09BD_2477 l09BD_2477: branch cx == 0x0000 l09BD_2479 // succ: l09BD_2477_1 l09BD_2479 l09BD_2477_1: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_2477 // succ: l09BD_2479 l09BD_2477 l09BD_2479: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 branch Test(NE,Z) l09BD_2477 // succ: l09BD_247C l09BD_2477 l09BD_247C: di = di + 0x0001 SZO = cond(di) di = di + 0x0001 SZO = cond(di) Mem0[ds:0x0CF6:word16] = di cx = 0xFFFF // succ: l09BD_2485 l09BD_2485: branch cx == 0x0000 l09BD_2487 // succ: l09BD_2485_2 l09BD_2487 l09BD_2485_2: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_2485 // succ: l09BD_2487 l09BD_2485 l09BD_2487: cx = ~cx dx = cx // succ: l09BD_248B l09BD_248B: di = 0x0001 si = 0x0081 ds = Mem0[ds:0x0CEA:selector] // succ: l09BD_2495 l09BD_2495: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x20) branch Test(EQ,Z) l09BD_2495 // succ: l09BD_249A l09BD_2495 l09BD_249A: SCZO = cond(al - 0x09) branch Test(EQ,Z) l09BD_2495 // succ: l09BD_249E l09BD_2495 l09BD_249E: SCZO = cond(al - 0x0D) branch Test(EQ,Z) l09BD_2511 // succ: l09BD_24A2 l09BD_2511 l09BD_24A2: al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_2511 // succ: l09BD_24A6 l09BD_2511 l09BD_24A6: di = di + 0x0001 SZO = cond(di) // succ: l09BD_24A7 l09BD_24A7: si = si - 0x0001 SZO = cond(si) // succ: l09BD_24A8 l09BD_24A8: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x20) branch Test(EQ,Z) l09BD_2495 // succ: l09BD_24AD l09BD_2495 l09BD_24AD: SCZO = cond(al - 0x09) branch Test(EQ,Z) l09BD_2495 // succ: l09BD_24B1 l09BD_2495 l09BD_24B1: SCZO = cond(al - 0x0D) branch Test(EQ,Z) l09BD_2511 // succ: l09BD_24B5 l09BD_2511 l09BD_24B5: al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_2511 // succ: l09BD_24B9 l09BD_2511 l09BD_24B9: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_24E1 // succ: l09BD_24BD l09BD_24E1 l09BD_24BD: SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_24C4 // succ: l09BD_24C1 l09BD_24C4 l09BD_24C1: dx = dx + 0x0001 SZO = cond(dx) goto l09BD_24A8 // succ: l09BD_24A8 l09BD_24C4: cx = cx ^ cx SZO = cond(cx) C = false // succ: l09BD_24C6 l09BD_24C6: cx = cx + 0x0001 SZO = cond(cx) al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_24C6 // succ: l09BD_24CC l09BD_24C6 l09BD_24CC: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_24D4 // succ: l09BD_24D0 l09BD_24D4 l09BD_24D0: dx = dx + cx SCZO = cond(dx) goto l09BD_24A7 // succ: l09BD_24A7 l09BD_24D4: ax = cx cx = cx >>u 0x0001 SCZO = cond(cx) dx = dx + cx + C SCZO = cond(dx) SZO = cond(al & 0x01) C = false branch Test(NE,Z) l09BD_24A8 // succ: l09BD_24DE l09BD_24A8 l09BD_24DE: goto l09BD_24E1 // succ: l09BD_24E1 l09BD_24E0: si = si - 0x0001 SZO = cond(si) // succ: l09BD_24E1 l09BD_24E1: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x0D) branch Test(EQ,Z) l09BD_2511 // succ: l09BD_24E6 l09BD_2511 l09BD_24E6: al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_2511 // succ: l09BD_24EA l09BD_2511 l09BD_24EA: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_24A8 // succ: l09BD_24EE l09BD_24A8 l09BD_24EE: SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_24F5 // succ: l09BD_24F2 l09BD_24F5 l09BD_24F2: dx = dx + 0x0001 SZO = cond(dx) goto l09BD_24E1 // succ: l09BD_24E1 l09BD_24F5: cx = cx ^ cx SZO = cond(cx) C = false // succ: l09BD_24F7 l09BD_24F7: cx = cx + 0x0001 SZO = cond(cx) al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_24F7 // succ: l09BD_24FD l09BD_24F7 l09BD_24FD: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_2505 // succ: l09BD_2501 l09BD_2505 l09BD_2501: dx = dx + cx SCZO = cond(dx) goto l09BD_24E0 // succ: l09BD_24E0 l09BD_2505: ax = cx cx = cx >>u 0x0001 SCZO = cond(cx) dx = dx + cx + C SCZO = cond(dx) SZO = cond(al & 0x01) C = false branch Test(NE,Z) l09BD_24E1 // succ: l09BD_250F l09BD_24E1 l09BD_250F: goto l09BD_24A8 // succ: l09BD_24A8 l09BD_2511: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 Mem0[ds:0x0CF0:word16] = di dx = dx + di SCZO = cond(dx) di = di + 0x0001 SZO = cond(di) di = di << 0x0001 SCZO = cond(di) dx = dx + di SCZO = cond(dx) dx = dx + 0x0001 SZO = cond(dx) dl = dl & 0xFE SZO = cond(dl) C = false sp = sp - dx SCZO = cond(sp) ax = sp Mem0[ds:0x0CF2:word16] = ax bx = ax di = di + bx SCZO = cond(di) sp = sp - 0x0002 Mem0[ss:sp:word16] = ss es = Mem0[ss:sp:selector] sp = sp + 0x0002 Mem0[ss:bx:word16] = di bx = bx + 0x0001 SZO = cond(bx) bx = bx + 0x0001 SZO = cond(bx) ds_si = Mem0[ds:0x0CF6:segptr32] // succ: l09BD_2538 l09BD_2538: al = Mem0[ds:si:byte] si = si + 0x0001 Mem0[es:di:byte] = al di = di + 0x0001 al = al | al SZO = cond(al) C = false branch Test(NE,Z) l09BD_2538 // succ: l09BD_253E l09BD_2538 l09BD_253E: ds = Mem0[ss:0x0CEA:selector] si = 0x0081 goto l09BD_254B // succ: l09BD_254B l09BD_2548: ax = ax ^ ax SZO = cond(ax) C = false Mem0[es:di:byte] = al di = di + 0x0001 // succ: l09BD_254B l09BD_254B: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x20) branch Test(EQ,Z) l09BD_254B // succ: l09BD_2550 l09BD_254B l09BD_2550: SCZO = cond(al - 0x09) branch Test(EQ,Z) l09BD_254B // succ: l09BD_2554 l09BD_254B l09BD_2554: SCZO = cond(al - 0x0D) branch Test(EQ,Z) l09BD_25D4 // succ: l09BD_2558 l09BD_25D4 l09BD_2558: al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_25D4 // succ: l09BD_255C l09BD_25D4 l09BD_255C: Mem0[ss:bx:word16] = di bx = bx + 0x0001 SZO = cond(bx) bx = bx + 0x0001 SZO = cond(bx) // succ: l09BD_2561 l09BD_2561: si = si - 0x0001 SZO = cond(si) // succ: l09BD_2562 l09BD_2562: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x20) branch Test(EQ,Z) l09BD_2548 // succ: l09BD_2567 l09BD_2548 l09BD_2567: SCZO = cond(al - 0x09) branch Test(EQ,Z) l09BD_2548 // succ: l09BD_256B l09BD_2548 l09BD_256B: SCZO = cond(al - 0x0D) branch Test(EQ,Z) l09BD_25D1 // succ: l09BD_256F l09BD_25D1 l09BD_256F: al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_25D1 // succ: l09BD_2573 l09BD_25D1 l09BD_2573: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_259E // succ: l09BD_2577 l09BD_259E l09BD_2577: SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_257E // succ: l09BD_257B l09BD_257E l09BD_257B: Mem0[es:di:byte] = al di = di + 0x0001 goto l09BD_2562 // succ: l09BD_2562 l09BD_257E: cx = cx ^ cx SZO = cond(cx) C = false // succ: l09BD_2580 l09BD_2580: cx = cx + 0x0001 SZO = cond(cx) al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_2580 // succ: l09BD_2586 l09BD_2580 l09BD_2586: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_2590 // succ: l09BD_258A l09BD_2590 l09BD_258A: al = 0x5C // succ: l09BD_258C l09BD_258C: branch cx == 0x0000 l09BD_258E // succ: l09BD_258C_1 l09BD_258E l09BD_258C_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_258C // succ: l09BD_258C l09BD_258E: goto l09BD_2561 // succ: l09BD_2561 l09BD_2590: al = 0x5C cx = cx >>u 0x0001 SCZO = cond(cx) // succ: l09BD_2594 l09BD_2594: branch cx == 0x0000 l09BD_2596 // succ: l09BD_2594_1 l09BD_2596 l09BD_2594_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_2594 // succ: l09BD_2594 l09BD_2596: branch Test(UGE,C) l09BD_259E // succ: l09BD_2598 l09BD_259E l09BD_2598: al = 0x22 Mem0[es:di:byte] = al di = di + 0x0001 goto l09BD_2562 // succ: l09BD_2562 l09BD_259D: si = si - 0x0001 SZO = cond(si) // succ: l09BD_259E l09BD_259E: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x0D) branch Test(EQ,Z) l09BD_25D1 // succ: l09BD_25A3 l09BD_25D1 l09BD_25A3: al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_25D1 // succ: l09BD_25A7 l09BD_25D1 l09BD_25A7: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_2562 // succ: l09BD_25AB l09BD_2562 l09BD_25AB: SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_25B2 // succ: l09BD_25AF l09BD_25B2 l09BD_25AF: Mem0[es:di:byte] = al di = di + 0x0001 goto l09BD_259E // succ: l09BD_259E l09BD_25B2: cx = cx ^ cx SZO = cond(cx) C = false // succ: l09BD_25B4 l09BD_25B4: cx = cx + 0x0001 SZO = cond(cx) al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x5C) branch Test(EQ,Z) l09BD_25B4 // succ: l09BD_25BA l09BD_25B4 l09BD_25BA: SCZO = cond(al - 0x22) branch Test(EQ,Z) l09BD_25C4 // succ: l09BD_25BE l09BD_25C4 l09BD_25BE: al = 0x5C // succ: l09BD_25C0 l09BD_25C0: branch cx == 0x0000 l09BD_25C2 // succ: l09BD_25C0_1 l09BD_25C2 l09BD_25C0_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_25C0 // succ: l09BD_25C0 l09BD_25C2: goto l09BD_259D // succ: l09BD_259D l09BD_25C4: al = 0x5C cx = cx >>u 0x0001 SCZO = cond(cx) // succ: l09BD_25C8 l09BD_25C8: branch cx == 0x0000 l09BD_25CA // succ: l09BD_25C8_1 l09BD_25CA l09BD_25C8_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_25C8 // succ: l09BD_25C8 l09BD_25CA: branch Test(UGE,C) l09BD_2562 // succ: l09BD_25CC l09BD_2562 l09BD_25CC: al = 0x22 Mem0[es:di:byte] = al di = di + 0x0001 goto l09BD_259E // succ: l09BD_259E l09BD_25D1: ax = ax ^ ax SZO = cond(ax) C = false Mem0[es:di:byte] = al di = di + 0x0001 // succ: l09BD_25D4 l09BD_25D4: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 Mem0[ds:bx:word16] = 0x0000 call Mem0[ds:0x0D0E:word16] (retsize: 4;) return // succ: fn09BD_2450_exit fn09BD_2450_exit: // fn09BD_25DE // Return size: 2 void fn09BD_25DE() fn09BD_25DE_entry: // succ: l09BD_25DE l09BD_25DE: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp dx = di bx = si si = Mem0[ss:bp + 0x0006:word16] di = si ax = ds es = ax ax = ax ^ ax SZO = cond(ax) C = false cx = 0xFFFF // succ: l09BD_25F3 l09BD_25F3: branch cx == 0x0000 l09BD_25F5 // succ: l09BD_25F3_1 l09BD_25F5 l09BD_25F3_1: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_25F3 // succ: l09BD_25F5 l09BD_25F3 l09BD_25F5: cx = ~cx di = Mem0[ss:bp + 0x0004:word16] ax = di SZO = cond(al & 0x01) C = false branch Test(EQ,Z) l09BD_2602 // succ: l09BD_2600 l09BD_2602 l09BD_2600: v18 = Mem0[ds:si:byte] Mem0[es:di:byte] = v18 si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 SZO = cond(cx) // succ: l09BD_2602 l09BD_2602: cx = cx >>u 0x0001 SCZO = cond(cx) // succ: l09BD_2604 l09BD_2604: branch cx == 0x0000 l09BD_2606 // succ: l09BD_2604_1 l09BD_2606 l09BD_2604_1: v19 = Mem0[ds:si:word16] Mem0[es:di:word16] = v19 si = si + 0x0002 di = di + 0x0002 cx = cx - 0x0001 goto l09BD_2604 // succ: l09BD_2604 l09BD_2606: cx = cx + cx + C SCZO = cond(cx) // succ: l09BD_2608 l09BD_2608: branch cx == 0x0000 l09BD_260A // succ: l09BD_2608_1 l09BD_260A l09BD_2608_1: v20 = Mem0[ds:si:byte] Mem0[es:di:byte] = v20 si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 goto l09BD_2608 // succ: l09BD_2608 l09BD_260A: si = bx di = dx bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_25DE_exit fn09BD_25DE_exit: // fn09BD_2610 // Return size: 2 void fn09BD_2610() fn09BD_2610_entry: // succ: l09BD_2610 l09BD_2610: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp dx = di ax = ds es = ax di = Mem0[ss:bp + 0x0004:word16] ax = ax ^ ax SZO = cond(ax) C = false cx = 0xFFFF // succ: l09BD_2621 l09BD_2621: branch cx == 0x0000 l09BD_2623 // succ: l09BD_2621_1 l09BD_2623 l09BD_2621_1: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_2621 // succ: l09BD_2623 l09BD_2621 l09BD_2623: cx = ~cx cx = cx - 0x0001 SZO = cond(cx) v16 = ax ax = cx cx = v16 di = dx bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2610_exit fn09BD_2610_exit: // fn09BD_26C0 // Return size: 2 void fn09BD_26C0() fn09BD_26C0_entry: // succ: l09BD_26C0 l09BD_26C0: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di di = Mem0[ss:bp + 0x0004:word16] ax = Mem0[ds:di:word16] bx = Mem0[ds:di + 0x0002:word16] cx = Mem0[ds:di + 0x0004:word16] dx = Mem0[ds:di + 0x0006:word16] si = Mem0[ds:di + 0x0008:word16] di = Mem0[ds:di + 0x000A:word16] __syscall(0x21) sp = sp - 0x0002 Mem0[ss:sp:word16] = di di = Mem0[ss:bp + 0x0006:word16] Mem0[ds:di:word16] = ax Mem0[ds:di + 0x0002:word16] = bx Mem0[ds:di + 0x0004:word16] = cx Mem0[ds:di + 0x0006:word16] = dx Mem0[ds:di + 0x0008:word16] = si Mem0[ds:di + 0x000A:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 branch Test(ULT,C) l09BD_26F6 // succ: l09BD_26F2 l09BD_26F6 l09BD_26F2: si = si ^ si SZO = cond(si) C = false goto l09BD_26FE // succ: l09BD_26FE l09BD_26F6: call fn09BD_27CE (retsize: 2;) si = 0x0001 ax = Mem0[ds:di:word16] // succ: l09BD_26FE l09BD_26FE: Mem0[ds:di + 0x000C:word16] = si di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_26C0_exit fn09BD_26C0_exit: // fn09BD_2708 // Return size: 2 void fn09BD_2708() fn09BD_2708_entry: // succ: l09BD_2708 l09BD_2708: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di di = Mem0[ss:bp + 0x0004:word16] ax = Mem0[ds:di:word16] bx = Mem0[ds:di + 0x0002:word16] cx = Mem0[ds:di + 0x0004:word16] dx = Mem0[ds:di + 0x0006:word16] si = Mem0[ds:di + 0x0008:word16] v12 = Mem0[ds:di + 0x000A:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v12 di = Mem0[ss:bp + 0x0008:word16] es = Mem0[ds:di:selector] ds = Mem0[ds:di + 0x0006:selector] di = Mem0[ss:sp:word16] sp = sp + 0x0002 __syscall(0x21) sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = ds di = ss ds = di di = Mem0[ss:bp + 0x0008:word16] Mem0[ds:di:word16] = es Mem0[ds:di + 0x0006:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:bp + 0x0006:word16] Mem0[ds:di:word16] = ax Mem0[ds:di + 0x0002:word16] = bx Mem0[ds:di + 0x0004:word16] = cx Mem0[ds:di + 0x0006:word16] = dx Mem0[ds:di + 0x0008:word16] = si Mem0[ds:di + 0x000A:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 branch Test(ULT,C) l09BD_2754 // succ: l09BD_2750 l09BD_2754 l09BD_2750: si = si ^ si SZO = cond(si) C = false goto l09BD_275C // succ: l09BD_275C l09BD_2754: call fn09BD_27CE (retsize: 2;) si = 0x0001 ax = Mem0[ds:di:word16] // succ: l09BD_275C l09BD_275C: Mem0[ds:di + 0x000C:word16] = si di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2708_exit fn09BD_2708_exit: // fn09BD_2766 // Return size: 2 void fn09BD_2766() fn09BD_2766_entry: // succ: l09BD_2766 l09BD_2766: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp dx = di ax = ds es = ax di = Mem0[ss:bp + 0x0004:word16] bx = di cx = Mem0[ss:bp + 0x0008:word16] branch cx == 0x0000 l09BD_278E // succ: l09BD_2779 l09BD_278E l09BD_2779: al = Mem0[ss:bp + 0x0006:byte] ah = al SZO = cond(di & 0x0001) C = false branch Test(EQ,Z) l09BD_2786 // succ: l09BD_2784 l09BD_2786 l09BD_2784: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 SZO = cond(cx) // succ: l09BD_2786 l09BD_2786: cx = cx >>u 0x0001 SCZO = cond(cx) // succ: l09BD_2788 l09BD_2788: branch cx == 0x0000 l09BD_278A // succ: l09BD_2788_1 l09BD_278A l09BD_2788_1: Mem0[es:di:word16] = ax di = di + 0x0002 cx = cx - 0x0001 goto l09BD_2788 // succ: l09BD_2788 l09BD_278A: cx = cx + cx + C SCZO = cond(cx) // succ: l09BD_278C l09BD_278C: branch cx == 0x0000 l09BD_278E // succ: l09BD_278C_1 l09BD_278E l09BD_278C_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_278C // succ: l09BD_278C l09BD_278E: di = dx v17 = ax ax = bx bx = v17 bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2766_exit fn09BD_2766_exit: // fn09BD_2794 // Return size: 2 void fn09BD_2794() fn09BD_2794_entry: // succ: l09BD_2794 l09BD_2794: sp = fp ch = ch ^ ch SZO = cond(ch) C = false branch cx == 0x0000 l09BD_279E // succ: l09BD_2798 l09BD_279E l09BD_2798: ax = ax << 0x0001 SCZO = cond(ax) v9 = (dx & 0x0001 << 0x10 - 0x01) != 0x0000 dx = __rcl(dx, 0x01, C) C = v9 cx = cx - 0x0001 branch cx != 0x0000 l09BD_2798 // succ: l09BD_279E l09BD_2798 l09BD_279E: return // succ: fn09BD_2794_exit fn09BD_2794_exit: // fn09BD_27CE // Return size: 2 void fn09BD_27CE() fn09BD_27CE_entry: // succ: l09BD_27CE l09BD_27CE: sp = fp ah = ah ^ ah SZO = cond(ah) C = false call fn09BD_27D4 (retsize: 2;) return // succ: fn09BD_27CE_exit fn09BD_27CE_exit: // fn09BD_27D4 // Return size: 2 void fn09BD_27D4() fn09BD_27D4_entry: // succ: l09BD_27D4 l09BD_27D4: sp = fp Mem0[ds:0x0CEE:byte] = al ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_27FD // succ: l09BD_27DB l09BD_27FD l09BD_27DB: SCZO = cond(Mem0[ds:0x0CEC:byte] - 0x03) branch Test(ULT,C) l09BD_27EE // succ: l09BD_27E2 l09BD_27EE l09BD_27E2: SCZO = cond(al - 0x22) branch Test(UGE,C) l09BD_27F2 // succ: l09BD_27E6 l09BD_27F2 l09BD_27E6: SCZO = cond(al - 0x20) branch Test(ULT,C) l09BD_27EE // succ: l09BD_27EA l09BD_27EE l09BD_27EA: al = 0x05 goto l09BD_27F4 // succ: l09BD_27F4 l09BD_27EE: SCZO = cond(al - 0x13) branch Test(ULE,CZ) l09BD_27F4 // succ: l09BD_27F2 l09BD_27F4 l09BD_27F2: al = 0x13 al = 0x13 // succ: l09BD_27F4 l09BD_27F4: bx = 0x0D10 al = Mem0[ds:bx + (uint16) al:byte] // succ: l09BD_27F8 l09BD_27F8: ax = (int16) al Mem0[ds:0x0CE6:word16] = ax return // succ: fn09BD_27D4_exit l09BD_27FD: al = ah goto l09BD_27F8 // succ: l09BD_27F8 fn09BD_27D4_exit: // fn09BD_2AC7 // Return size: 2 void fn09BD_2AC7() fn09BD_2AC7_entry: // succ: l09BD_2AC7 l09BD_2AC7: sp = fp dx = Mem0[0x09BD:0x2AC5:word16] dx = dx | dx SZO = cond(dx) C = false branch Test(EQ,Z) l09BD_2AD4 // succ: l09BD_2AD0 l09BD_2AD4 l09BD_2AD0: ah = 0x45 ah = ems_release_memory(dx) // succ: l09BD_2AD4 l09BD_2AD4: return // succ: fn09BD_2AC7_exit fn09BD_2AC7_exit: // fn09BD_2D2C // Return size: 2 void fn09BD_2D2C() fn09BD_2D2C_entry: // succ: l09BD_2D2C l09BD_2D2C: sp = fp ax = ax - ax SCZO = cond(ax) return // succ: fn09BD_2D2C_exit fn09BD_2D2C_exit: // fn09BD_2D2F // Return size: 2 void fn09BD_2D2F() fn09BD_2D2F_entry: // succ: l09BD_2D2F l09BD_2D2F: sp = fp Mem0[ds:0x11D4:word16] = 0x0007 ax = 0x0015 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2D2F_exit fn09BD_2D2F_exit: // fn09BD_2D81 // Return size: 2 void fn09BD_2D81() fn09BD_2D81_entry: // succ: l09BD_2D81 l09BD_2D81: sp = fp ax = 0xFFFF return // succ: fn09BD_2D81_exit fn09BD_2D81_exit: // fn09BD_2D85 // Return size: 2 void fn09BD_2D85() fn09BD_2D85_entry: // succ: l09BD_2D85 l09BD_2D85: sp = fp ax = ax - ax SCZO = cond(ax) return // succ: fn09BD_2D85_exit fn09BD_2D85_exit: // fn09BD_2D88 // Return size: 2 void fn09BD_2D88() fn09BD_2D88_entry: // succ: l09BD_2D88 l09BD_2D88: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x000A SCZO = cond(sp) call fn09BD_65C1 (retsize: 2;) Mem0[ds:0x002F:byte] = al ax = 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x09B8 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x002C sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v9 = Mem0[ds:0x0CEA:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v9 call fn09BD_66C1 (retsize: 2;) sp = sp + 0x0008 SCZO = cond(sp) bx = Mem0[ss:bp + 0x0006:word16] v11 = Mem0[ds:bx:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v11 call fn09BD_191D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x0E4E sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_6130 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_2DD8 // succ: l09BD_2DC4 l09BD_2DD8 l09BD_2DC4: ax = 0x0E56 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_6130 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_2DD8 // succ: l09BD_2DD5 l09BD_2DD8 l09BD_2DD5: goto l09BD_2E6C // succ: l09BD_2E6C l09BD_2DD8: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0001) branch Test(GT,SZO) l09BD_2DE1 // succ: l09BD_2DDE l09BD_2DE1 l09BD_2DDE: goto l09BD_2E6C // succ: l09BD_2E6C l09BD_2DE1: bx = Mem0[ss:bp + 0x0006:word16] v16 = Mem0[ds:bx + 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v16 call fn09BD_191D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x0E62 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_18BA (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x0080 dx = Mem0[ds:0x0CEA:word16] Mem0[ss:bp - 0x0008:word16] = ax Mem0[ss:bp - 0x0006:word16] = dx es = dx bx = ax cl = Mem0[es:bx:byte] ch = ch - ch SCZO = cond(ch) Mem0[ss:bp - 0x000A:word16] = cx ax = ax + 0x0001 SZO = cond(ax) Mem0[ss:bp - 0x0004:word16] = ax Mem0[ss:bp - 0x0002:word16] = dx goto l09BD_2E1D // succ: l09BD_2E1D l09BD_2E15: v26 = Mem0[ss:bp - 0x000A:word16] - 0x0001 Mem0[ss:bp - 0x000A:word16] = v26 SZO = cond(v26) branch Test(SG,S) l09BD_2E38 // succ: l09BD_2E1A l09BD_2E38 l09BD_2E1A: v28 = Mem0[ss:bp - 0x0004:word16] + 0x0001 Mem0[ss:bp - 0x0004:word16] = v28 SZO = cond(v28) // succ: l09BD_2E1D l09BD_2E1D: es_bx = Mem0[ss:bp - 0x0004:segptr32] al = Mem0[es:bx:byte] ah = ah - ah SCZO = cond(ah) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2F6B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_2E15 // succ: l09BD_2E2E l09BD_2E15 l09BD_2E2E: goto l09BD_2E38 // succ: l09BD_2E38 l09BD_2E30: v32 = Mem0[ss:bp - 0x000A:word16] - 0x0001 Mem0[ss:bp - 0x000A:word16] = v32 SZO = cond(v32) branch Test(SG,S) l09BD_2E49 // succ: l09BD_2E35 l09BD_2E49 l09BD_2E35: v33 = Mem0[ss:bp - 0x0004:word16] + 0x0001 Mem0[ss:bp - 0x0004:word16] = v33 SZO = cond(v33) // succ: l09BD_2E38 l09BD_2E38: es_bx = Mem0[ss:bp - 0x0004:segptr32] al = Mem0[es:bx:byte] ah = ah - ah SCZO = cond(ah) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2F6B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_2E30 // succ: l09BD_2E49 l09BD_2E30 l09BD_2E49: al = Mem0[ss:bp - 0x000A:byte] es_bx = Mem0[ss:bp - 0x0008:segptr32] Mem0[es:bx:byte] = al // succ: l09BD_2E52 l09BD_2E52: es_bx = Mem0[ss:bp - 0x0004:segptr32] v29 = Mem0[ss:bp - 0x0004:word16] + 0x0001 Mem0[ss:bp - 0x0004:word16] = v29 SZO = cond(v29) al = Mem0[es:bx:byte] v30 = Mem0[ss:bp - 0x0008:word16] + 0x0001 Mem0[ss:bp - 0x0008:word16] = v30 SZO = cond(v30) es_bx = Mem0[ss:bp - 0x0008:segptr32] Mem0[es:bx:byte] = al v31 = Mem0[ss:bp - 0x000A:word16] - 0x0001 Mem0[ss:bp - 0x000A:word16] = v31 SZO = cond(v31) branch Test(NS,S) l09BD_2E52 // succ: l09BD_2E69 l09BD_2E52 l09BD_2E69: call fn09BD_2F91 (retsize: 2;) // succ: l09BD_2E6C l09BD_2E6C: call fn09BD_5978 (retsize: 2;) ax = 0x0E67 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax bx = Mem0[ss:bp + 0x0006:word16] v15 = Mem0[ds:bx:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v15 call fn09BD_600E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_2E87 // succ: l09BD_2E81 l09BD_2E87 l09BD_2E81: call fn09BD_2D2F (retsize: 2;) call fn09BD_5978 (retsize: 2;) // succ: l09BD_2E87 l09BD_2E87: SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(GE,SO) l09BD_2E96 // succ: l09BD_2E8E l09BD_2E96 l09BD_2E8E: ax = 0x000F sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_2E96 l09BD_2E96: call fn09BD_3EBE (retsize: 2;) SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(LT,SO) l09BD_2EAE // succ: l09BD_2EA0 l09BD_2EAE l09BD_2EA0: call fn09BD_2D85 (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax bx = Mem0[ss:bp + 0x0006:word16] v25 = Mem0[ds:bx:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v25 call fn09BD_6A0D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_2EAE l09BD_2EAE: call fn09BD_625F (retsize: 2;) sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2D88_exit fn09BD_2D88_exit: // fn09BD_2F6B // Return size: 2 void fn09BD_2F6B() fn09BD_2F6B_entry: // succ: l09BD_2F6B l09BD_2F6B: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0020) branch Test(EQ,Z) l09BD_2F86 // succ: l09BD_2F74 l09BD_2F86 l09BD_2F74: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0009) branch Test(EQ,Z) l09BD_2F86 // succ: l09BD_2F7A l09BD_2F86 l09BD_2F7A: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x000A) branch Test(EQ,Z) l09BD_2F86 // succ: l09BD_2F80 l09BD_2F86 l09BD_2F80: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x000D) branch Test(NE,Z) l09BD_2F8B // succ: l09BD_2F86 l09BD_2F8B l09BD_2F86: ax = 0x0001 bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2F6B_exit l09BD_2F8B: ax = ax - ax SCZO = cond(ax) bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2F6B_exit fn09BD_2F6B_exit: // fn09BD_2F91 // Return size: 2 void fn09BD_2F91() fn09BD_2F91_entry: // succ: l09BD_2F91 l09BD_2F91: sp = fp return // succ: fn09BD_2F91_exit fn09BD_2F91_exit: // fn09BD_2FF7 // Return size: 2 void fn09BD_2FF7() fn09BD_2FF7_entry: // succ: l09BD_2FF7 l09BD_2FF7: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0006 bx = Mem0[ss:bp + 0x0004:word16] ax = Mem0[ds:bx + 0x0004:word16] dx = dx - dx SCZO = cond(dx) cl = 0x09 call fn09BD_2794 (retsize: 2;) Mem0[ss:bp - 0x0004:word16] = ax Mem0[ss:bp - 0x0002:word16] = dx Mem0[ss:bp - 0x0006:word16] = 0x0000 bx = Mem0[ss:bp + 0x0004:word16] SCZO = cond(Mem0[ds:bx + 0x0002:word16] - 0x0000) branch Test(EQ,Z) l09BD_3033 // succ: l09BD_301C l09BD_3033 l09BD_301C: SCZO = cond(Mem0[ds:bx:byte] - 0x4D) branch Test(NE,Z) l09BD_3026 // succ: l09BD_3021 l09BD_3026 l09BD_3021: Mem0[ss:bp - 0x0006:word16] = 0x0200 // succ: l09BD_3026 l09BD_3026: ax = Mem0[ds:bx + 0x0002:word16] ax = ax - Mem0[ss:bp - 0x0006:word16] SCZO = cond(ax) dx_ax = (int32) ax v13 = Mem0[ss:bp - 0x0004:word16] + ax Mem0[ss:bp - 0x0004:word16] = v13 SCZO = cond(v13) v15 = Mem0[ss:bp - 0x0002:word16] + dx + C Mem0[ss:bp - 0x0002:word16] = v15 SCZO = cond(v15) // succ: l09BD_3033 l09BD_3033: ax = Mem0[ss:bp - 0x0004:word16] dx = Mem0[ss:bp - 0x0002:word16] sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_2FF7_exit fn09BD_2FF7_exit: // fn09BD_303B // Return size: 2 void fn09BD_303B() fn09BD_303B_entry: // succ: l09BD_303B l09BD_303B: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:bp - 0x0002:word16] = 0x0002 // succ: l09BD_3044 l09BD_3044: v6 = Mem0[ds:0x11DC:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v6 v7 = Mem0[ds:0x11DA:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v7 call fn09BD_5FB0 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 v9 = Mem0[ss:bp + 0x0008:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v9 v10 = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v10 call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(ax - Mem0[ss:bp + 0x0008:word16]) branch Test(NE,Z) l09BD_30AE // succ: l09BD_3061 l09BD_30AE l09BD_3061: bx = Mem0[ss:bp + 0x0004:word16] SCZO = cond(Mem0[ds:bx:byte] - 0x4D) branch Test(NE,Z) l09BD_307F // succ: l09BD_3069 l09BD_307F l09BD_3069: SCZO = cond(Mem0[ds:bx + 0x0001:byte] - 0x46) branch Test(NE,Z) l09BD_307F // succ: l09BD_306F l09BD_307F l09BD_306F: ax = Mem0[ds:bx + 0x0002:word16] dx = Mem0[ds:bx + 0x0004:word16] // succ: l09BD_3075 l09BD_3075: v15 = Mem0[ds:0x11DA:word16] + ax Mem0[ds:0x11DA:word16] = v15 SCZO = cond(v15) v17 = Mem0[ds:0x11DC:word16] + dx + C Mem0[ds:0x11DC:word16] = v17 SCZO = cond(v17) goto l09BD_30A8 // succ: l09BD_30A8 l09BD_307F: SCZO = cond(Mem0[ds:bx:byte] - 0x4D) branch Test(NE,Z) l09BD_3091 // succ: l09BD_3084 l09BD_3091 l09BD_3084: SCZO = cond(Mem0[ds:bx + 0x0001:byte] - 0x5A) branch Test(NE,Z) l09BD_3091 // succ: l09BD_308A l09BD_3091 l09BD_308A: sp = sp - 0x0002 Mem0[ss:sp:word16] = bx call fn09BD_2FF7 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 goto l09BD_3075 // succ: l09BD_3075 l09BD_3091: SCZO = cond(Mem0[ds:bx:byte] - 0x42) branch Test(NE,Z) l09BD_30A1 // succ: l09BD_3096 l09BD_30A1 l09BD_3096: SCZO = cond(Mem0[ds:bx + 0x0001:byte] - 0x57) branch Test(NE,Z) l09BD_30A1 // succ: l09BD_309C l09BD_30A1 l09BD_309C: ax = 0x0001 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_303B_exit l09BD_30A1: ah = 0x0D __syscall(0x21) v20 = Mem0[ss:bp - 0x0002:word16] - 0x0001 Mem0[ss:bp - 0x0002:word16] = v20 SZO = cond(v20) // succ: l09BD_30A8 l09BD_30A8: SCZO = cond(Mem0[ss:bp - 0x0002:word16] - 0x0000) branch Test(GE,SO) l09BD_3044 // succ: l09BD_30AE l09BD_3044 l09BD_30AE: SCZO = cond(Mem0[ss:bp + 0x0006:word16] - 0x0000) branch Test(EQ,Z) l09BD_30BA SCZO = cond(Mem0[ss:bp + 0x0006:word16] - 0x0000) branch Test(EQ,Z) l09BD_30BA // succ: l09BD_30B4 l09BD_30BA l09BD_30B4: sp = sp - 0x0002 Mem0[ss:sp:word16] = 0xFFFE call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = 0xFFFE call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_30BA l09BD_30BA: ax = ax - ax SCZO = cond(ax) Mem0[ds:0x11DC:word16] = ax Mem0[ds:0x11DA:word16] = ax sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_303B_exit fn09BD_303B_exit: // fn09BD_30C4 // Return size: 2 void fn09BD_30C4() fn09BD_30C4_entry: // succ: l09BD_30C4 l09BD_30C4: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x00BC al = Mem0[ds:0x0E72:byte] v7 = Mem0[ds:0x0E72:byte] + 0x01 Mem0[ds:0x0E72:byte] = v7 SZO = cond(v7) al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_30D6 // succ: l09BD_30D3 l09BD_30D6 l09BD_30D3: goto l09BD_3256 // succ: l09BD_3256 l09BD_30D6: SCZO = cond(Mem0[ds:0x0E70:word16] - 0x0000) branch Test(GE,SO) l09BD_30E4 // succ: l09BD_30DD l09BD_30E4 l09BD_30DD: sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x1190 call fn09BD_5F9E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_30E4 l09BD_30E4: SCZO = cond(Mem0[ds:0x0E70:word16] - 0x0000) branch Test(GE,SO) l09BD_30EE // succ: l09BD_30EB l09BD_30EE l09BD_30EB: goto l09BD_3256 // succ: l09BD_3256 l09BD_30EE: ax = ax - ax SCZO = cond(ax) Mem0[ss:bp - 0x00BA:word16] = ax Mem0[ss:bp - 0x0002:word16] = ax Mem0[ss:bp - 0x00B8:word16] = ax Mem0[ss:bp - 0x00B6:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x00B0 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x00B2 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_303B (retsize: 2;) sp = sp + 0x0006 SCZO = cond(sp) ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_3115 // succ: l09BD_3112 l09BD_3115 l09BD_3112: goto l09BD_319F // succ: l09BD_319F l09BD_3115: SCZO = cond(Mem0[ss:bp - 0x00B2:byte] - 0x42) branch Test(NE,Z) l09BD_3123 // succ: l09BD_311C l09BD_3123 l09BD_311C: SCZO = cond(Mem0[ss:bp - 0x00B1:byte] - 0x57) branch Test(EQ,Z) l09BD_3125 // succ: l09BD_3123 l09BD_3125 l09BD_3123: goto l09BD_319F // succ: l09BD_319F l09BD_3125: ax = Mem0[ss:bp - 0x0082:word16] v16 = Mem0[ds:0x0014:word16] | ax Mem0[ds:0x0014:word16] = v16 SZO = cond(Mem0[ds:0x0014:word16]) C = false ax = Mem0[ss:bp - 0x00B6:word16] SCZO = cond(Mem0[ss:bp - 0x00A8:word16] - ax) branch Test(ULE,CZ) l09BD_313F // succ: l09BD_3137 l09BD_313F l09BD_3137: ax = Mem0[ss:bp - 0x00A8:word16] Mem0[ss:bp - 0x00B6:word16] = ax // succ: l09BD_313F l09BD_313F: ax = Mem0[ss:bp - 0x00B8:word16] SCZO = cond(Mem0[ss:bp - 0x00A6:word16] - ax) branch Test(ULE,CZ) l09BD_3151 // succ: l09BD_3149 l09BD_3151 l09BD_3149: ax = Mem0[ss:bp - 0x00A6:word16] Mem0[ss:bp - 0x00B8:word16] = ax // succ: l09BD_3151 l09BD_3151: ax = Mem0[ss:bp - 0x0002:word16] SCZO = cond(Mem0[ss:bp - 0x008A:word16] - ax) branch Test(ULE,CZ) l09BD_3161 // succ: l09BD_315A l09BD_3161 l09BD_315A: ax = Mem0[ss:bp - 0x008A:word16] Mem0[ss:bp - 0x0002:word16] = ax // succ: l09BD_3161 l09BD_3161: ax = Mem0[ss:bp - 0x00BA:word16] SCZO = cond(Mem0[ss:bp - 0x008C:word16] - ax) branch Test(ULE,CZ) l09BD_3173 // succ: l09BD_316B l09BD_3173 l09BD_316B: ax = Mem0[ss:bp - 0x008C:word16] Mem0[ss:bp - 0x00BA:word16] = ax // succ: l09BD_3173 l09BD_3173: ax = Mem0[ss:bp - 0x0094:word16] ax = ax | Mem0[ss:bp - 0x0096:word16] SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_319F // succ: l09BD_317D l09BD_319F l09BD_317D: v18 = Mem0[ss:bp - 0x0094:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v18 v19 = Mem0[ss:bp - 0x0096:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v19 call fn09BD_5FB0 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x00B0 ax = bp - 0x00B2 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(ax - 0x00B0) branch Test(NE,Z) l09BD_319F // succ: l09BD_319C l09BD_319F l09BD_319C: goto l09BD_3115 // succ: l09BD_3115 l09BD_319F: SCZO = cond(Mem0[ss:bp - 0x00B6:word16] - 0x0000) branch Test(EQ,Z) l09BD_31B3 // succ: l09BD_31A6 l09BD_31B3 l09BD_31A6: ax = Mem0[ss:bp - 0x00B6:word16] SCZO = cond(Mem0[ds:0x0ECC:word16] - ax) branch Test(ULE,CZ) l09BD_31B3 // succ: l09BD_31B0 l09BD_31B3 l09BD_31B0: Mem0[ds:0x120E:word16] = ax // succ: l09BD_31B3 l09BD_31B3: ax = Mem0[ss:bp - 0x00BA:word16] Mem0[ss:bp - 0x00B4:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_31D0 // succ: l09BD_31BF l09BD_31D0 l09BD_31BF: Mem0[ds:0x0A16:byte] = 0x02 ax = Mem0[ss:bp - 0x0002:word16] SCZO = cond(Mem0[ds:0x1206:word16] - ax) branch Test(UGE,C) l09BD_31D0 // succ: l09BD_31CD l09BD_31D0 l09BD_31CD: Mem0[ds:0x1206:word16] = ax // succ: l09BD_31D0 l09BD_31D0: SCZO = cond(Mem0[ds:0x002E:byte] - 0x00) branch Test(NE,Z) l09BD_31EB // succ: l09BD_31D7 l09BD_31EB l09BD_31D7: ax = Mem0[ss:bp - 0x00B8:word16] Mem0[ss:bp - 0x00B4:word16] = ax ax = Mem0[ss:bp - 0x0002:word16] SCZO = cond(Mem0[ds:0x1206:word16] - ax) branch Test(UGE,C) l09BD_31EB // succ: l09BD_31E8 l09BD_31EB l09BD_31E8: Mem0[ds:0x1206:word16] = ax // succ: l09BD_31EB l09BD_31EB: SCZO = cond(Mem0[ss:bp - 0x00B4:word16] - 0x0000) branch Test(EQ,Z) l09BD_320D // succ: l09BD_31F2 l09BD_320D l09BD_31F2: SCZO = cond(Mem0[ss:bp - 0x00B4:word16] - 0x7FFF) branch Test(EQ,Z) l09BD_320D // succ: l09BD_31FA l09BD_320D l09BD_31FA: SZO = cond(Mem0[ds:0x11D2:byte] & 0x01) C = false branch Test(NE,Z) l09BD_320D // succ: l09BD_3201 l09BD_320D l09BD_3201: ax = Mem0[ss:bp - 0x00B4:word16] Mem0[ds:0x0ECC:word16] = ax v17 = Mem0[ds:0x11D2:byte] | 0x01 Mem0[ds:0x11D2:byte] = v17 SZO = cond(Mem0[ds:0x11D2:byte]) C = false // succ: l09BD_320D l09BD_320D: SZO = cond(Mem0[ds:0x0015:byte] & 0x20) C = false branch Test(EQ,Z) l09BD_3239 // succ: l09BD_3214 l09BD_3239 l09BD_3214: SCZO = cond(Mem0[ds:0x002E:byte] - 0x00) branch Test(EQ,Z) l09BD_3239 // succ: l09BD_321B l09BD_3239 l09BD_321B: SZO = cond(Mem0[ds:0x11D2:byte] & 0x04) C = false branch Test(NE,Z) l09BD_3228 // succ: l09BD_3222 l09BD_3228 l09BD_3222: Mem0[ds:0x0ECE:word16] = 0xFFFE // succ: l09BD_3228 l09BD_3228: SZO = cond(Mem0[ds:0x11D2:byte] & 0x01) C = false branch Test(NE,Z) l09BD_3239 // succ: l09BD_322F l09BD_3239 l09BD_322F: ax = Mem0[ds:0x0ECE:word16] ax = ax - Mem0[ds:0x0ECA:word16] SCZO = cond(ax) Mem0[ds:0x0ECC:word16] = ax // succ: l09BD_3239 l09BD_3239: SCZO = cond(Mem0[ds:0x0ECC:word16] - 0x3C00) branch Test(UGT,CZ) l09BD_3251 // succ: l09BD_3241 l09BD_3251 l09BD_3241: SCZO = cond(Mem0[ds:0x0ECA:word16] - 0x4000) branch Test(UGT,CZ) l09BD_3251 // succ: l09BD_3249 l09BD_3251 l09BD_3249: SCZO = cond(Mem0[ds:0x0ECE:word16] - 0x4000) branch Test(ULE,CZ) l09BD_3256 // succ: l09BD_3251 l09BD_3256 l09BD_3251: v20 = Mem0[ds:0x0015:byte] | 0x20 Mem0[ds:0x0015:byte] = v20 SZO = cond(Mem0[ds:0x0015:byte]) C = false // succ: l09BD_3256 l09BD_3256: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_30C4_exit fn09BD_30C4_exit: // fn09BD_3829 // Return size: 2 void fn09BD_3829() fn09BD_3829_entry: // succ: l09BD_3829 l09BD_3829: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 ax = Mem0[ds:0x0D0C:word16] cx = 0x0180 dx_ax = cx *s ax SCZO = cond(dx_ax) ax = ax + 0x002A SCZO = cond(ax) Mem0[ss:bp - 0x0002:word16] = ax SCZO = cond(Mem0[ds:0x0F4E:word16] - 0x0000) branch Test(NE,Z) l09BD_3863 // succ: l09BD_3842 l09BD_3863 l09BD_3842: Mem0[ds:0x11D4:word16] = 0x0008 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn0800_0B12 (retsize: 4;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 v12 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v12 call fn09BD_242E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:0x0F4E:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_3863 // succ: l09BD_385D l09BD_3863 l09BD_385D: sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0009 call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_3863 l09BD_3863: v15 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v15 sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0000 v16 = Mem0[ds:0x0F4E:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v16 call fn09BD_2766 (retsize: 2;) ax = Mem0[ss:bp - 0x0002:word16] ax = ax + Mem0[ds:0x0F4E:word16] SCZO = cond(ax) Mem0[ds:0x0F4C:word16] = ax ax = ax - 0x002A SCZO = cond(ax) Mem0[ds:0x0996:word16] = ax bx = ax cx = Mem0[ds:0x0F4C:word16] Mem0[ds:bx:word16] = cx Mem0[ds:bx + 0x0018:word16] = 0xFFFF Mem0[ds:0x099E:word16] = 0x0000 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_3829_exit fn09BD_3829_exit: // fn09BD_3EBE // Return size: 2 void fn09BD_3EBE() fn09BD_3EBE_entry: // succ: l09BD_3EBE l09BD_3EBE: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x00EC SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si al = al - al SCZO = cond(al) Mem0[ss:bp - 0x00E8:byte] = al Mem0[ss:bp - 0x0056:byte] = al Mem0[ss:bp - 0x005E:byte] = al Mem0[ss:bp - 0x005C:word16] = 0x0000 call fn09BD_62D8 (retsize: 2;) Mem0[ds:0x00AC:word16] = 0x0000 Mem0[ds:0x00AE:word16] = 0x0010 Mem0[ss:bp - 0x00E6:word16] = 0xFFFE Mem0[ss:bp - 0x00E4:word16] = 0xF000 Mem0[ds:0x11D4:word16] = 0x0002 bx = 0xF000 es = bx bx = 0xFFFE si = Mem0[es:bx:word16] si = si & 0x00FF SZO = cond(si) C = false SCZO = cond(si - 0x00FB) branch Test(EQ,Z) l09BD_3F14 // succ: l09BD_3F0E l09BD_3F14 l09BD_3F0E: SCZO = cond(si - 0x00FD) branch Test(LT,SO) l09BD_3F18 // succ: l09BD_3F14 l09BD_3F18 l09BD_3F14: v16 = Mem0[ds:0x11F0:byte] + 0x01 Mem0[ds:0x11F0:byte] = v16 SZO = cond(v16) // succ: l09BD_3F18 l09BD_3F18: call fn09BD_68A2 (retsize: 2;) Mem0[ds:0x003E:byte] = al call fn09BD_2D2C (retsize: 2;) si = ax Mem0[ds:0x11D4:word16] = 0x0003 al = 0x01 Mem0[ss:bp - 0x0004:byte] = al Mem0[ss:bp - 0x005E:byte] = al si = si | si SZO = cond(si) C = false branch Test(EQ,Z) l09BD_3F38 // succ: l09BD_3F35 l09BD_3F38 l09BD_3F35: goto l09BD_418A // succ: l09BD_418A l09BD_3F38: si = 0x000A al = al - al SCZO = cond(al) Mem0[ss:bp - 0x0004:byte] = al Mem0[ss:bp - 0x005E:byte] = al ax = bp - 0x00E2 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax cx = 0x0E84 sp = sp - 0x0002 Mem0[ss:sp:word16] = cx call fn09BD_464B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(NE,Z) l09BD_3F6E // succ: l09BD_3F57 l09BD_3F6E l09BD_3F57: ax = bp - 0x00E2 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x0E8C sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_464B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(NE,Z) l09BD_3F6E // succ: l09BD_3F6B l09BD_3F6E l09BD_3F6B: goto l09BD_418A // succ: l09BD_418A l09BD_3F6E: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_462B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_18F1 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x005C:word16] = di ax = 0x0E94 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_3F95 // succ: l09BD_3F8B l09BD_3F95 l09BD_3F8B: si = 0x0003 v21 = Mem0[ds:0x11F0:byte] + 0x01 Mem0[ds:0x11F0:byte] = v21 SZO = cond(v21) v22 = Mem0[ss:bp - 0x0004:byte] + 0x01 Mem0[ss:bp - 0x0004:byte] = v22 SZO = cond(v22) // succ: l09BD_3F95 l09BD_3F95: ax = 0x0E9C sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_3FA6 // succ: l09BD_3FA3 l09BD_3FA6 l09BD_3FA3: v23 = Mem0[ss:bp - 0x0004:byte] + 0x01 Mem0[ss:bp - 0x0004:byte] = v23 SZO = cond(v23) // succ: l09BD_3FA6 l09BD_3FA6: ax = 0x0EA1 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_3FBA // succ: l09BD_3FB4 l09BD_3FBA l09BD_3FB4: si = 0x000B v24 = Mem0[ss:bp - 0x0004:byte] + 0x01 Mem0[ss:bp - 0x0004:byte] = v24 SZO = cond(v24) // succ: l09BD_3FBA l09BD_3FBA: ax = 0x0EA6 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_3FF8 // succ: l09BD_3FC8 l09BD_3FF8 l09BD_3FC8: ax = 0x0031 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v25 = Mem0[ds:0x0030:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v25 call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0002:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2610 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0058:word16] = ax goto l09BD_3FED // succ: l09BD_3FED l09BD_3FE2: bx = Mem0[ss:bp - 0x0058:word16] bx = bx + Mem0[ss:bp - 0x0002:word16] SCZO = cond(bx) al = Mem0[ds:bx:byte] Mem0[ds:bx + 0x0001:byte] = al // succ: l09BD_3FED l09BD_3FED: v27 = Mem0[ss:bp - 0x0058:word16] - 0x0001 Mem0[ss:bp - 0x0058:word16] = v27 SZO = cond(v27) branch Test(NS,S) l09BD_3FE2 // succ: l09BD_3FF2 l09BD_3FE2 l09BD_3FF2: bx = Mem0[ss:bp - 0x0002:word16] Mem0[ds:bx:byte] = 0x20 // succ: l09BD_3FF8 l09BD_3FF8: ax = 0x0EAB sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_4014 // succ: l09BD_4006 l09BD_4014 l09BD_4006: ax = 0x0EAF sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_401C // succ: l09BD_4014 l09BD_401C l09BD_4014: si = 0x0002 v29 = Mem0[ss:bp - 0x0004:byte] + 0x01 Mem0[ss:bp - 0x0004:byte] = v29 SZO = cond(v29) goto l09BD_404B // succ: l09BD_404B l09BD_401C: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_6066 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0062:word16] = ax Mem0[ss:bp - 0x0060:word16] = dx dx = dx | ax SZO = cond(dx) C = false branch Test(EQ,Z) l09BD_404B // succ: l09BD_402B l09BD_404B l09BD_402B: v32 = Mem0[ss:bp - 0x0004:byte] + 0x01 Mem0[ss:bp - 0x0004:byte] = v32 SZO = cond(v32) SCZO = cond(Mem0[ss:bp - 0x0060:word16] - 0x0001) branch Test(LT,SO) l09BD_4049 // succ: l09BD_4034 l09BD_4049 l09BD_4034: branch Test(GT,SZO) l09BD_403A // succ: l09BD_4036 l09BD_403A l09BD_4036: ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4049 // succ: l09BD_403A l09BD_4049 l09BD_403A: dx = Mem0[ss:bp - 0x0060:word16] ax = ax - 0x3880 SCZO = cond(ax) dx = dx - 0x01 - C SCZO = cond(dx) Mem0[ss:bp - 0x0062:word16] = ax Mem0[ss:bp - 0x0060:word16] = dx // succ: l09BD_4049 l09BD_4049: si = ax // succ: l09BD_404B l09BD_404B: ax = 0x002C sp = sp - 0x0002 Mem0[ss:sp:word16] = ax Mem0[ss:bp - 0x0002:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_4078 // succ: l09BD_405E l09BD_4078 l09BD_405E: ax = di + 0x0001 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_6062 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(LT,SO) l09BD_4078 // succ: l09BD_406D l09BD_4078 l09BD_406D: ax = ax + 0x0001 SZO = cond(ax) Mem0[ds:0x0012:word16] = ax Mem0[ds:0x0010:word16] = ax v30 = Mem0[ss:bp - 0x00E8:byte] + 0x01 Mem0[ss:bp - 0x00E8:byte] = v30 SZO = cond(v30) // succ: l09BD_4078 l09BD_4078: ax = 0x0040 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v33 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v33 call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_40C5 // succ: l09BD_408A l09BD_40C5 l09BD_408A: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_45A9 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_409E // succ: l09BD_4096 l09BD_409E l09BD_4096: Mem0[ds:0x0ECA:word16] = ax v34 = Mem0[ds:0x11D2:byte] | 0x02 Mem0[ds:0x11D2:byte] = v34 SZO = cond(Mem0[ds:0x11D2:byte]) C = false // succ: l09BD_409E l09BD_409E: ax = 0x002D sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_40C5 // succ: l09BD_40AE l09BD_40C5 l09BD_40AE: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_45A9 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_40C5 // succ: l09BD_40BA l09BD_40C5 l09BD_40BA: Mem0[ds:0x0ECE:word16] = ax v51 = Mem0[ss:bp - 0x005E:byte] + 0x01 Mem0[ss:bp - 0x005E:byte] = v51 SZO = cond(v51) v52 = Mem0[ds:0x11D2:byte] | 0x04 Mem0[ds:0x11D2:byte] = v52 SZO = cond(Mem0[ds:0x11D2:byte]) C = false // succ: l09BD_40C5 l09BD_40C5: ax = 0x003A sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v36 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v36 call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_40E7 // succ: l09BD_40D7 l09BD_40E7 l09BD_40D7: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_45A9 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:0x0ECC:word16] = ax v37 = Mem0[ss:bp - 0x005E:byte] + 0x01 Mem0[ss:bp - 0x005E:byte] = v37 SZO = cond(v37) v38 = Mem0[ds:0x11D2:byte] | 0x01 Mem0[ds:0x11D2:byte] = v38 SZO = cond(Mem0[ds:0x11D2:byte]) C = false // succ: l09BD_40E7 l09BD_40E7: ax = 0x005E sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v40 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v40 call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_4101 // succ: l09BD_40F9 l09BD_4101 l09BD_40F9: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_45A9 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:0x0014:word16] = ax // succ: l09BD_4101 l09BD_4101: ax = 0x0EB4 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v41 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v41 call fn09BD_6130 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4115 // succ: l09BD_4111 l09BD_4115 l09BD_4111: v42 = Mem0[ds:0x11F1:byte] + 0x01 Mem0[ds:0x11F1:byte] = v42 SZO = cond(v42) // succ: l09BD_4115 l09BD_4115: ax = 0x0EB9 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v43 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v43 call fn09BD_6130 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_412A // succ: l09BD_4125 l09BD_412A l09BD_4125: Mem0[ds:0x0036:byte] = 0x80 // succ: l09BD_412A l09BD_412A: ax = 0x002B sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v47 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v47 call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_413F // succ: l09BD_413A l09BD_413F l09BD_413A: v48 = Mem0[ds:0x0047:byte] | 0x02 Mem0[ds:0x0047:byte] = v48 SZO = cond(Mem0[ds:0x0047:byte]) C = false // succ: l09BD_413F l09BD_413F: ax = 0x0056 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v49 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v49 call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_4166 // succ: l09BD_4151 l09BD_4166 l09BD_4151: SCZO = cond(Mem0[ds:di + 0x0001:byte] - 0x43) branch Test(EQ,Z) l09BD_4166 // succ: l09BD_4157 l09BD_4166 l09BD_4157: sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_45A9 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4166 // succ: l09BD_4163 l09BD_4166 l09BD_4163: Mem0[ds:0x0034:byte] = al // succ: l09BD_4166 l09BD_4166: ax = 0x0EBD sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v50 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v50 call fn09BD_6130 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax di = di | di SZO = cond(di) C = false branch Test(EQ,Z) l09BD_418A // succ: l09BD_4178 l09BD_418A l09BD_4178: ax = di + 0x0003 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_45A9 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_418A // succ: l09BD_4187 l09BD_418A l09BD_4187: Mem0[ds:0x0D0C:word16] = ax // succ: l09BD_418A l09BD_418A: sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_456D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4198 // succ: l09BD_4193 l09BD_4198 l09BD_4193: call fn09BD_6375 (retsize: 2;) goto l09BD_419D // succ: l09BD_419D l09BD_4198: v19 = Mem0[ds:0x0047:byte] | 0x01 Mem0[ds:0x0047:byte] = v19 SZO = cond(Mem0[ds:0x0047:byte]) C = false // succ: l09BD_419D l09BD_419D: call fn09BD_696B (retsize: 2;) si = si | si SZO = cond(si) C = false branch Test(GE,SO) l09BD_41BB // succ: l09BD_41A4 l09BD_41BB l09BD_41A4: v20 = Mem0[ss:bp - 0x0056:byte] + 0x01 Mem0[ss:bp - 0x0056:byte] = v20 SZO = cond(v20) ax = si ax = -ax SCZO = cond(ax) C = ax == 0x0000 si = ax SCZO = cond(si - 0x000B) branch Test(EQ,Z) l09BD_41B5 // succ: l09BD_41B2 l09BD_41B5 l09BD_41B2: goto l09BD_42AD // succ: l09BD_42AD l09BD_41B5: call fn09BD_76B6 (retsize: 2;) goto l09BD_42AD // succ: l09BD_42AD l09BD_41BB: call fn09BD_6682 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_41C5 // succ: l09BD_41C2 l09BD_41C5 l09BD_41C2: si = 0x0010 // succ: l09BD_41C5 l09BD_41C5: SCZO = cond(si - 0x0002) branch Test(NE,Z) l09BD_41CD // succ: l09BD_41CA l09BD_41CD l09BD_41CA: call fn09BD_6647 (retsize: 2;) // succ: l09BD_41CD l09BD_41CD: SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(LT,SO) l09BD_423D // succ: l09BD_41D4 l09BD_423D l09BD_41D4: Mem0[ds:0x09C2:word16] = 0x295D call fn09BD_65F8 (retsize: 2;) Mem0[ds:0x002F:byte] = al call fn09BD_6D7C (retsize: 2;) Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4203 // succ: l09BD_41EA l09BD_4203 l09BD_41EA: ax = si Mem0[ds:0x0046:byte] = al SCZO = cond(si - 0x000B) branch Test(NE,Z) l09BD_41FE // succ: l09BD_41F4 l09BD_41FE l09BD_41F4: call fn09BD_76B6 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(LE,SZO) l09BD_41FE // succ: l09BD_41FB l09BD_41FE l09BD_41FB: goto l09BD_42AD // succ: l09BD_42AD l09BD_41FE: si = si - si SCZO = cond(si) goto l09BD_452E // succ: l09BD_452E l09BD_4203: call fn09BD_76B6 (retsize: 2;) Mem0[ss:bp - 0x0058:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(LE,SZO) l09BD_4218 // succ: l09BD_420D l09BD_4218 l09BD_420D: ax = si Mem0[ds:0x0046:byte] = al si = 0x000B goto l09BD_42AD // succ: l09BD_42AD l09BD_4218: Mem0[ds:0x11D4:word16] = 0x0004 ax = ax | ax SZO = cond(ax) C = false branch Test(GE,SO) l09BD_422A // succ: l09BD_4222 l09BD_422A l09BD_4222: ax = 0x0011 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_422A l09BD_422A: sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_456D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_423D // succ: l09BD_4233 l09BD_423D l09BD_4233: si = 0x0003 call fn09BD_6652 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_42AD // succ: l09BD_423D l09BD_42AD l09BD_423D: sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_456D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_4252 sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_456D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_4252 // succ: l09BD_4246 l09BD_4252 l09BD_4246: call fn09BD_6652 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4252 call fn09BD_6652 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4252 // succ: l09BD_424D l09BD_4252 l09BD_424D: si = 0x0002 si = 0x0002 goto l09BD_42AD // succ: l09BD_42AD l09BD_4252: SCZO = cond(Mem0[ss:bp - 0x0004:byte] - 0x00) branch Test(NE,Z) l09BD_42AD // succ: l09BD_4258 l09BD_42AD l09BD_4258: call fn09BD_687E (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_6849 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x00EC:word16] = ax Mem0[ss:bp - 0x00EA:word16] = dx dx = dx | ax SZO = cond(dx) C = false branch Test(NE,Z) l09BD_4290 // succ: l09BD_426E l09BD_4290 l09BD_426E: call fn09BD_6899 (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_6849 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x00EC:word16] = ax Mem0[ss:bp - 0x00EA:word16] = dx dx = dx | ax SZO = cond(dx) C = false branch Test(NE,Z) l09BD_4290 // succ: l09BD_4284 l09BD_4290 l09BD_4284: Mem0[ss:bp - 0x00EC:word16] = 0x0000 Mem0[ss:bp - 0x00EA:word16] = 0x0009 // succ: l09BD_4290 l09BD_4290: SCZO = cond(Mem0[ss:bp - 0x00E8:byte] - 0x00) branch Test(NE,Z) l09BD_42A9 // succ: l09BD_4297 l09BD_42A9 l09BD_4297: SCZO = cond(Mem0[ss:bp - 0x00EC:word16] - 0x0000) branch Test(EQ,Z) l09BD_42A9 // succ: l09BD_429E l09BD_42A9 l09BD_429E: ax = Mem0[ss:bp - 0x00EC:word16] ax = ax + 0x0001 SZO = cond(ax) Mem0[ds:0x0012:word16] = ax Mem0[ds:0x0010:word16] = ax // succ: l09BD_42A9 l09BD_42A9: si = Mem0[ss:bp - 0x00EA:word16] // succ: l09BD_42AD l09BD_42AD: SCZO = cond(si - 0x000B) branch Test(EQ,Z) l09BD_42BC // succ: l09BD_42B2 l09BD_42BC l09BD_42B2: SZO = cond(Mem0[ds:0x0047:byte] & 0x80) C = false branch Test(EQ,Z) l09BD_42BC // succ: l09BD_42B9 l09BD_42BC l09BD_42B9: call fn09BD_698C (retsize: 2;) sp = sp + 0xFFFE // succ: l09BD_42BC l09BD_42BC: Mem0[ds:0x10EE:byte] = 0xFF ax = si ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42C9 // succ: l09BD_42C6 l09BD_42C9 l09BD_42C6: goto l09BD_4354 // succ: l09BD_4354 l09BD_42C9: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42CF // succ: l09BD_42CC l09BD_42CF l09BD_42CC: goto l09BD_43D3 // succ: l09BD_43D3 l09BD_42CF: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42D5 // succ: l09BD_42D2 l09BD_42D5 l09BD_42D2: goto l09BD_43F4 // succ: l09BD_43F4 l09BD_42D5: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42DB // succ: l09BD_42D8 l09BD_42DB l09BD_42D8: goto l09BD_444F // succ: l09BD_444F l09BD_42DB: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42E1 // succ: l09BD_42DE l09BD_42E1 l09BD_42DE: goto l09BD_4409 // succ: l09BD_4409 l09BD_42E1: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42E7 // succ: l09BD_42E4 l09BD_42E7 l09BD_42E4: goto l09BD_4442 // succ: l09BD_4442 l09BD_42E7: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42ED // succ: l09BD_42EA l09BD_42ED l09BD_42EA: goto l09BD_4452 // succ: l09BD_4452 l09BD_42ED: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42F3 // succ: l09BD_42F0 l09BD_42F3 l09BD_42F0: goto l09BD_446C // succ: l09BD_446C l09BD_42F3: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42F9 // succ: l09BD_42F6 l09BD_42F9 l09BD_42F6: goto l09BD_4452 // succ: l09BD_4452 l09BD_42F9: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_42FF // succ: l09BD_42FC l09BD_42FF l09BD_42FC: goto l09BD_4489 // succ: l09BD_4489 l09BD_42FF: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_4305 // succ: l09BD_4302 l09BD_4305 l09BD_4302: goto l09BD_4491 // succ: l09BD_4491 l09BD_4305: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_430B // succ: l09BD_4308 l09BD_430B l09BD_4308: goto l09BD_4498 // succ: l09BD_4498 l09BD_430B: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_4311 // succ: l09BD_430E l09BD_4311 l09BD_430E: goto l09BD_449F // succ: l09BD_449F l09BD_4311: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_4317 // succ: l09BD_4314 l09BD_4317 l09BD_4314: goto l09BD_44AC // succ: l09BD_44AC l09BD_4317: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_431D // succ: l09BD_431A l09BD_431D l09BD_431A: goto l09BD_44B4 // succ: l09BD_44B4 l09BD_431D: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_4323 // succ: l09BD_4320 l09BD_4323 l09BD_4320: goto l09BD_44C6 // succ: l09BD_44C6 l09BD_4323: ax = ax - 0x0003 SCZO = cond(ax) branch Test(NE,Z) l09BD_432B // succ: l09BD_4328 l09BD_432B l09BD_4328: goto l09BD_444A // succ: l09BD_444A l09BD_432B: ax = ax - 0x0001 SZO = cond(ax) branch Test(NE,Z) l09BD_4331 // succ: l09BD_432E l09BD_4331 l09BD_432E: goto l09BD_4481 // succ: l09BD_4481 l09BD_4331: ax = ax - 0x010A SCZO = cond(ax) branch Test(NE,Z) l09BD_4339 // succ: l09BD_4336 l09BD_4339 l09BD_4336: goto l09BD_444F // succ: l09BD_444F l09BD_4339: ax = ax - 0x0064 SCZO = cond(ax) branch Test(NE,Z) l09BD_4341 // succ: l09BD_433E l09BD_4341 l09BD_433E: goto l09BD_43F1 // succ: l09BD_43F1 l09BD_4341: ax = ax - 0x171A SCZO = cond(ax) branch Test(NE,Z) l09BD_4349 // succ: l09BD_4346 l09BD_4349 l09BD_4346: goto l09BD_443F // succ: l09BD_443F l09BD_4349: ax = ax - 0x0DAD SCZO = cond(ax) branch Test(EQ,Z) l09BD_4351 // succ: l09BD_434E l09BD_4351 l09BD_434E: goto l09BD_44CD // succ: l09BD_44CD l09BD_4351: si = 0x0001 // succ: l09BD_4354 l09BD_4354: Mem0[ss:bp - 0x005A:word16] = 0x0381 SCZO = cond(Mem0[ss:bp - 0x005E:byte] - 0x00) branch Test(NE,Z) l09BD_436C // succ: l09BD_435F l09BD_436C l09BD_435F: call fn09BD_6C54 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_436C // succ: l09BD_4366 l09BD_436C l09BD_4366: call fn09BD_63E0 (retsize: 2;) Mem0[ss:bp - 0x005E:byte] = al // succ: l09BD_436C l09BD_436C: Mem0[ds:0x11FE:word16] = 0x0146 Mem0[ds:0x1200:word16] = 0x0040 es_bx = Mem0[ds:0x11FE:segptr32] SZO = cond(Mem0[es:bx:byte] & 0x80) C = false branch Test(EQ,Z) l09BD_4390 // succ: l09BD_4382 l09BD_4390 l09BD_4382: SCZO = cond(Mem0[ds:0x0ECA:word16] - 0x0500) branch Test(UGE,C) l09BD_4390 // succ: l09BD_438A l09BD_4390 l09BD_438A: Mem0[ds:0x0ECA:word16] = 0x0500 // succ: l09BD_4390 l09BD_4390: v35 = Mem0[ds:0x0014:byte] | 0x04 Mem0[ds:0x0014:byte] = v35 SZO = cond(Mem0[ds:0x0014:byte]) C = false Mem0[ds:0x11D4:word16] = 0x0005 SCZO = cond(Mem0[ss:bp - 0x005E:byte] - 0x00) branch Test(NE,Z) l09BD_43B0 // succ: l09BD_43A1 l09BD_43B0 l09BD_43A1: call fn09BD_6C54 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_43B0 // succ: l09BD_43A8 l09BD_43B0 l09BD_43A8: ax = 0x0012 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_43B0 l09BD_43B0: ax = Mem0[ds:0x0ECA:word16] ax = ax + Mem0[ds:0x0ECC:word16] SCZO = cond(ax) Mem0[ss:bp - 0x0058:word16] = ax SCZO = cond(ax - Mem0[ds:0x0ECE:word16]) branch Test(GE,SO) l09BD_43C3 // succ: l09BD_43C0 l09BD_43C3 l09BD_43C0: Mem0[ds:0x0ECE:word16] = ax // succ: l09BD_43C3 l09BD_43C3: ax = Mem0[ds:0x0ECE:word16] ax = ax - 0x0400 SCZO = cond(ax) Mem0[ds:0x00A8:word16] = ax v53 = Mem0[ds:0x11F0:byte] + 0x01 Mem0[ds:0x11F0:byte] = v53 SZO = cond(v53) goto l09BD_4504 // succ: l09BD_4504 l09BD_43D3: Mem0[ss:bp - 0x005A:word16] = 0x08DA call fn09BD_6652 (retsize: 2;) Mem0[ds:0x120C:byte] = al SCZO = cond(Mem0[ss:bp - 0x0056:byte] - 0x00) branch Test(EQ,Z) l09BD_43E9 // succ: l09BD_43E4 l09BD_43E9 l09BD_43E4: v39 = Mem0[ds:0x120C:byte] | 0x02 Mem0[ds:0x120C:byte] = v39 SZO = cond(Mem0[ds:0x120C:byte]) C = false // succ: l09BD_43E9 l09BD_43E9: Mem0[ds:0x10EF:byte] = 0x01 goto l09BD_4504 // succ: l09BD_4504 l09BD_43F1: si = 0x0003 // succ: l09BD_43F4 l09BD_43F4: Mem0[ss:bp - 0x005A:word16] = 0x2814 Mem0[ds:0x10EE:byte] = 0x09 // succ: l09BD_43FE l09BD_43FE: Mem0[ds:0x10EF:byte] = 0x01 call fn09BD_69C0 (retsize: 2;) l09BD_4409: Mem0[ss:bp - 0x005A:word16] = 0x03A7 SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(LT,SO) l09BD_441D // succ: l09BD_4415 l09BD_441D l09BD_4415: Mem0[ds:0x0036:byte] = 0x80 goto l09BD_4390 // succ: l09BD_4390 l09BD_441D: SCZO = cond(Mem0[ds:0x003E:byte] - 0x00) branch Test(NE,Z) l09BD_4427 // succ: l09BD_4424 l09BD_4427 l09BD_4424: goto l09BD_4390 // succ: l09BD_4390 l09BD_4427: ax = 0x005E sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn0800_0B12 (retsize: 4;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x005E sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_242E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:0x0F82:word16] = ax goto l09BD_4390 // succ: l09BD_4390 l09BD_443F: si = 0x0006 // succ: l09BD_4442 l09BD_4442: Mem0[ss:bp - 0x005A:word16] = 0x071A goto l09BD_4504 // succ: l09BD_4504 l09BD_444A: Mem0[ds:0x0ED0:byte] = 0x00 // succ: l09BD_444F l09BD_444F: si = 0x0009 // succ: l09BD_4452 l09BD_4452: Mem0[ss:bp - 0x005A:word16] = 0x08B2 SCZO = cond(Mem0[ds:0x11F0:byte] - 0x00) branch Test(EQ,Z) l09BD_43FE // succ: l09BD_445E l09BD_43FE l09BD_445E: SCZO = cond(Mem0[ds:0x002F:byte] - 0x02) branch Test(NE,Z) l09BD_43FE // succ: l09BD_4465 l09BD_43FE l09BD_4465: call fn09BD_6699 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_447C // succ: l09BD_446C l09BD_447C l09BD_446C: si = 0x0008 Mem0[ds:0x10EE:byte] = 0x0A Mem0[ss:bp - 0x005A:word16] = 0x0749 goto l09BD_4504 // succ: l09BD_4504 l09BD_447C: ax = 0x0013 goto l09BD_44FF // succ: l09BD_44FF l09BD_4481: Mem0[ds:0x0ED0:byte] = 0x00 si = 0x000A // succ: l09BD_4489 l09BD_4489: Mem0[ss:bp - 0x005A:word16] = 0x0905 goto l09BD_43FE // succ: l09BD_43FE l09BD_4491: Mem0[ss:bp - 0x005A:word16] = 0x29AC goto l09BD_4504 // succ: l09BD_4504 l09BD_4498: Mem0[ss:bp - 0x005A:word16] = 0x0679 goto l09BD_4504 // succ: l09BD_4504 l09BD_449F: Mem0[ss:bp - 0x005A:word16] = 0x08AC Mem0[ds:0x10EE:byte] = 0x09 goto l09BD_43E9 // succ: l09BD_43E9 l09BD_44AC: Mem0[ss:bp - 0x005A:word16] = 0x03D6 goto l09BD_4390 // succ: l09BD_4390 l09BD_44B4: Mem0[ss:bp - 0x005A:word16] = 0x0462 SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(GE,SO) l09BD_44C3 // succ: l09BD_44C0 l09BD_44C3 l09BD_44C0: goto l09BD_4390 // succ: l09BD_4390 l09BD_44C3: goto l09BD_4415 // succ: l09BD_4415 l09BD_44C6: Mem0[ss:bp - 0x005A:word16] = 0x04F7 goto l09BD_4504 // succ: l09BD_4504 l09BD_44CD: di = 0x1190 Mem0[ds:di:byte] = 0x00 SCZO = cond(Mem0[ss:bp - 0x005C:word16] - 0x0000) branch Test(EQ,Z) l09BD_44F6 // succ: l09BD_44D9 l09BD_44F6 l09BD_44D9: ax = 0x0EC2 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = di sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_25DE (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x0014 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v54 = Mem0[ss:bp - 0x005C:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v54 ax = 0x1197 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_603A (retsize: 2;) sp = sp + 0x0006 SCZO = cond(sp) // succ: l09BD_44F6 l09BD_44F6: Mem0[ds:0x11D4:word16] = 0x0006 ax = 0xFFEC // succ: l09BD_44FF l09BD_44FF: sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_229D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_4504 l09BD_4504: SCZO = cond(Mem0[ds:0x10EE:byte] - 0xFF) branch Test(NE,Z) l09BD_4510 // succ: l09BD_450B l09BD_4510 l09BD_450B: ax = si Mem0[ds:0x10EE:byte] = al // succ: l09BD_4510 l09BD_4510: ax = si Mem0[ds:0x002E:byte] = al v44 = Mem0[ss:bp - 0x005A:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v44 Mem0[ss:bp - 0x00EC:word16] = ax call fn09BD_6230 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ds:0x0046:byte] - 0x00) branch Test(NE,Z) l09BD_452E // succ: l09BD_4527 l09BD_452E l09BD_4527: al = Mem0[ss:bp - 0x00EC:byte] Mem0[ds:0x0046:byte] = al // succ: l09BD_452E l09BD_452E: Mem0[ds:0x0042:word16] = 0x09FA Mem0[ds:0x0044:word16] = 0x0020 v45 = Mem0[ds:0x0047:byte] & 0xFE Mem0[ds:0x0047:byte] = v45 SZO = cond(Mem0[ds:0x0047:byte]) C = false al = Mem0[ds:0x0046:byte] ax = (int16) al sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_456D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_4551 // succ: l09BD_454C l09BD_4551 l09BD_454C: v46 = Mem0[ds:0x0047:byte] | 0x01 Mem0[ds:0x0047:byte] = v46 SZO = cond(Mem0[ds:0x0047:byte]) C = false // succ: l09BD_4551 l09BD_4551: ax = si Mem0[ds:0x002E:byte] = al SCZO = cond(si - 0x000B) branch Test(NE,Z) l09BD_455E // succ: l09BD_455B l09BD_455E l09BD_455B: call fn09BD_7C31 (retsize: 2;) // succ: l09BD_455E l09BD_455E: SCZO = cond(Mem0[ss:bp - 0x0056:byte] - 0x00) branch Test(NE,Z) l09BD_4567 // succ: l09BD_4564 l09BD_4567 l09BD_4564: call fn09BD_30C4 (retsize: 2;) // succ: l09BD_4567 l09BD_4567: si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_3EBE_exit fn09BD_3EBE_exit: // fn09BD_456D // Return size: 2 void fn09BD_456D() fn09BD_456D_entry: // succ: l09BD_456D l09BD_456D: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0001) branch Test(EQ,Z) l09BD_4588 // succ: l09BD_4576 l09BD_4588 l09BD_4576: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0005) branch Test(EQ,Z) l09BD_4588 // succ: l09BD_457C l09BD_4588 l09BD_457C: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x000E) branch Test(EQ,Z) l09BD_4588 // succ: l09BD_4582 l09BD_4588 l09BD_4582: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x000F) branch Test(NE,Z) l09BD_458D // succ: l09BD_4588 l09BD_458D l09BD_4588: ax = 0x0001 bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_456D_exit l09BD_458D: ax = ax - ax SCZO = cond(ax) bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_456D_exit fn09BD_456D_exit: // fn09BD_4591 // Return size: 2 void fn09BD_4591() fn09BD_4591_entry: // succ: l09BD_4591 l09BD_4591: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0030) branch Test(LT,SO) l09BD_45A5 // succ: l09BD_459A l09BD_45A5 l09BD_459A: SCZO = cond(Mem0[ss:bp + 0x0004:word16] - 0x0039) branch Test(GT,SZO) l09BD_45A5 // succ: l09BD_45A0 l09BD_45A5 l09BD_45A0: ax = 0x0001 bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_4591_exit l09BD_45A5: ax = ax - ax SCZO = cond(ax) bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_4591_exit fn09BD_4591_exit: // fn09BD_45A9 // Return size: 2 void fn09BD_45A9() fn09BD_45A9_entry: // succ: l09BD_45A9 l09BD_45A9: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = Mem0[ss:bp + 0x0004:word16] di = di - di SCZO = cond(di) ax = 0x0ED1 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = si + 0x0001 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_462B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 si = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_195D (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_45E4 // succ: l09BD_45CE l09BD_45E4 l09BD_45CE: sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_6066 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 di = ax // succ: l09BD_45D5 l09BD_45D5: al = Mem0[ds:si:byte] ax = (int16) al sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_4591 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4608 // succ: l09BD_45E1 l09BD_4608 l09BD_45E1: si = si + 0x0001 SZO = cond(si) goto l09BD_45D5 // succ: l09BD_45D5 l09BD_45E4: si = si + 0x0001 SZO = cond(si) si = si + 0x0001 SZO = cond(si) goto l09BD_4603 // succ: l09BD_4603 l09BD_45E8: al = Mem0[ds:si:byte] ax = (int16) al sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x0AB0 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_6106 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_4608 // succ: l09BD_45F9 l09BD_4608 l09BD_45F9: cl = 0x04 di = di << cl SCZO = cond(di) ax = ax - 0x0AB0 SCZO = cond(ax) di = di + ax SCZO = cond(di) si = si + 0x0001 SZO = cond(si) // succ: l09BD_4603 l09BD_4603: SCZO = cond(Mem0[ds:si:byte] - 0x00) branch Test(NE,Z) l09BD_45E8 // succ: l09BD_4608 l09BD_45E8 l09BD_4608: sp = sp - 0x0002 Mem0[ss:sp:word16] = si call fn09BD_462B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = ax SCZO = cond(Mem0[ds:bx:byte] - 0x4D) branch Test(NE,Z) l09BD_4623 // succ: l09BD_4614 l09BD_4623 l09BD_4614: SZO = cond(di & 0xFFC0) C = false branch Test(EQ,Z) l09BD_461F // succ: l09BD_461A l09BD_461F l09BD_461A: di = 0xFFFF goto l09BD_4623 // succ: l09BD_4623 l09BD_461F: cl = 0x0A di = di << cl SCZO = cond(di) // succ: l09BD_4623 l09BD_4623: ax = di si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_45A9_exit fn09BD_45A9_exit: // fn09BD_462B // Return size: 2 void fn09BD_462B() fn09BD_462B_entry: // succ: l09BD_462B l09BD_462B: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = Mem0[ss:bp + 0x0004:word16] goto l09BD_463F // succ: l09BD_463F l09BD_4634: SCZO = cond(Mem0[ds:si:byte] - 0x20) branch Test(EQ,Z) l09BD_463E // succ: l09BD_4639 l09BD_463E l09BD_4639: SCZO = cond(Mem0[ds:si:byte] - 0x09) branch Test(NE,Z) l09BD_4644 // succ: l09BD_463E l09BD_4644 l09BD_463E: si = si + 0x0001 SZO = cond(si) // succ: l09BD_463F l09BD_463F: SCZO = cond(Mem0[ds:si:byte] - 0x00) branch Test(NE,Z) l09BD_4634 // succ: l09BD_4644 l09BD_4634 l09BD_4644: ax = si si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_462B_exit fn09BD_462B_exit: // fn09BD_464B // Return size: 2 void fn09BD_464B() fn09BD_464B_entry: // succ: l09BD_464B l09BD_464B: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x000A SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = si SCZO = cond(Mem0[ds:0x09B8:word16] - 0x0000) branch Test(NE,Z) l09BD_465D // succ: l09BD_4659 l09BD_465D l09BD_4659: ax = ax - ax SCZO = cond(ax) goto l09BD_46BF // succ: l09BD_46BF l09BD_465D: ax = Mem0[ds:0x09B8:word16] Mem0[ss:bp - 0x0004:word16] = 0x0000 Mem0[ss:bp - 0x0002:word16] = ax // succ: l09BD_4668 l09BD_4668: es_bx = Mem0[ss:bp - 0x0004:segptr32] SCZO = cond(Mem0[es:bx:byte] - 0x00) branch Test(EQ,Z) l09BD_4659 // succ: l09BD_4671 l09BD_4659 l09BD_4671: si = Mem0[ss:bp + 0x0004:word16] goto l09BD_4692 // succ: l09BD_4692 l09BD_4676: al = Mem0[ds:si:byte] es_bx = Mem0[ss:bp - 0x0004:segptr32] SCZO = cond(Mem0[es:bx:byte] - al) branch Test(EQ,Z) l09BD_468E // succ: l09BD_4680 l09BD_468E l09BD_4680: bx = Mem0[ss:bp - 0x0004:word16] v18 = Mem0[ss:bp - 0x0004:word16] + 0x0001 Mem0[ss:bp - 0x0004:word16] = v18 SZO = cond(v18) SCZO = cond(Mem0[es:bx:byte] - 0x00) branch Test(EQ,Z) l09BD_4668 // succ: l09BD_468C l09BD_4668 l09BD_468C: goto l09BD_4680 // succ: l09BD_4680 l09BD_468E: si = si + 0x0001 SZO = cond(si) v19 = Mem0[ss:bp - 0x0004:word16] + 0x0001 Mem0[ss:bp - 0x0004:word16] = v19 SZO = cond(v19) // succ: l09BD_4692 l09BD_4692: SCZO = cond(Mem0[ds:si:byte] - 0x00) branch Test(NE,Z) l09BD_4676 // succ: l09BD_4697 l09BD_4676 l09BD_4697: Mem0[ss:bp - 0x0006:word16] = 0x0080 si = Mem0[ss:bp + 0x0006:word16] // succ: l09BD_469F l09BD_469F: v13 = Mem0[ss:bp - 0x0006:word16] - 0x0001 Mem0[ss:bp - 0x0006:word16] = v13 SZO = cond(v13) SCZO = cond(Mem0[ss:bp - 0x0006:word16] - 0x0000) branch Test(LE,SZO) l09BD_46B9 // succ: l09BD_46A8 l09BD_46B9 l09BD_46A8: es_bx = Mem0[ss:bp - 0x0004:segptr32] v15 = Mem0[ss:bp - 0x0004:word16] + 0x0001 Mem0[ss:bp - 0x0004:word16] = v15 SZO = cond(v15) al = Mem0[es:bx:byte] si = si + 0x0001 SZO = cond(si) Mem0[ds:si - 0x0001:byte] = al al = al | al SZO = cond(al) C = false branch Test(NE,Z) l09BD_469F // succ: l09BD_46B9 l09BD_469F l09BD_46B9: Mem0[ds:si:byte] = 0x00 ax = Mem0[ss:bp + 0x0006:word16] // succ: l09BD_46BF l09BD_46BF: si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_464B_exit fn09BD_464B_exit: // fn09BD_5978 // Return size: 2 void fn09BD_5978() fn09BD_5978_entry: // succ: l09BD_5978 l09BD_5978: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x010A SCZO = cond(sp) ax = Mem0[ds:0x0E70:word16] Mem0[ss:bp - 0x0108:word16] = ax SCZO = cond(Mem0[ds:0x0F21:byte] - 0x00) branch Test(GT,SZO) l09BD_5994 // succ: l09BD_598D l09BD_5994 l09BD_598D: SCZO = cond(Mem0[ds:0x0CEC:byte] - 0x03) branch Test(GE,SO) l09BD_5997 // succ: l09BD_5994 l09BD_5997 l09BD_5994: goto l09BD_5AB8 // succ: l09BD_5AB8 l09BD_5997: call fn09BD_68CC (retsize: 2;) Mem0[ss:bp - 0x0106:word16] = ax call fn09BD_2D81 (retsize: 2;) Mem0[ds:0x0E70:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(GE,SO) l09BD_59C3 // succ: l09BD_59A8 l09BD_59C3 l09BD_59A8: ax = bp - 0x0100 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax cx = 0x0F14 sp = sp - 0x0002 Mem0[ss:sp:word16] = cx call fn09BD_464B (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_59C3 // succ: l09BD_59BA l09BD_59C3 l09BD_59BA: ax = bp - 0x0100 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5F9E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_59C3 l09BD_59C3: SCZO = cond(Mem0[ds:0x0E70:word16] - 0x0000) branch Test(GE,SO) l09BD_5A2E // succ: l09BD_59CA l09BD_5A2E l09BD_59CA: ax = Mem0[ss:bp - 0x0108:word16] Mem0[ds:0x0E70:word16] = ax call fn09BD_5FDD (retsize: 2;) Mem0[ss:bp - 0x0108:word16] = 0xFFFF ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5F9E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x001C sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x0104 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = bp - 0x0104 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5AEF (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FB0 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0104:byte] = 0x00 ax = 0x0006 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x0104 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ss:bp - 0x0104:byte] - 0x4D) branch Test(NE,Z) l09BD_5A21 // succ: l09BD_5A1A l09BD_5A21 l09BD_5A1A: SCZO = cond(Mem0[ss:bp - 0x0103:byte] - 0x46) branch Test(EQ,Z) l09BD_5A2E // succ: l09BD_5A21 l09BD_5A2E l09BD_5A21: ax = Mem0[ds:0x0E70:word16] Mem0[ss:bp - 0x0108:word16] = ax Mem0[ds:0x0E70:word16] = 0xFFFF // succ: l09BD_5A2E l09BD_5A2E: SCZO = cond(Mem0[ds:0x0E70:word16] - 0x0000) branch Test(GE,SO) l09BD_5A61 // succ: l09BD_5A35 l09BD_5A61 l09BD_5A35: ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax cx = bp - 0x0100 sp = sp - 0x0002 Mem0[ss:sp:word16] = cx call fn09BD_25DE (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x0F1C sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_18A4 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5F9E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = bp - 0x0100 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = 0x1190 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_25DE (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_5A61 l09BD_5A61: SCZO = cond(Mem0[ds:0x0E70:word16] - 0x0000) branch Test(LT,SO) l09BD_5AA7 // succ: l09BD_5A68 l09BD_5AA7 l09BD_5A68: ax = bp - 0x0104 Mem0[ds:0x1188:word16] = ax ax = ax - ax SCZO = cond(ax) Mem0[ss:bp - 0x0102:word16] = ax Mem0[ss:bp - 0x010A:word16] = ax ax = 0x0001 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x010A sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ss:bp - 0x010A:word16] - 0x004D) branch Test(NE,Z) l09BD_5A93 // succ: l09BD_5A8E l09BD_5A93 l09BD_5A8E: call fn09BD_5DB8 (retsize: 2;) goto l09BD_5AA2 // succ: l09BD_5AA2 l09BD_5A93: v15 = Mem0[ss:bp - 0x0106:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v15 call fn09BD_5BC1 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5AA7 // succ: l09BD_5A9F l09BD_5AA7 l09BD_5A9F: call fn09BD_5C71 (retsize: 2;) // succ: l09BD_5AA2 l09BD_5AA2: Mem0[ds:0x0F21:byte] = 0x01 // succ: l09BD_5AA7 l09BD_5AA7: SCZO = cond(Mem0[ss:bp - 0x0108:word16] - 0x0000) branch Test(LT,SO) l09BD_5AB8 // succ: l09BD_5AAE l09BD_5AB8 l09BD_5AAE: call fn09BD_5FDD (retsize: 2;) ax = Mem0[ss:bp - 0x0108:word16] Mem0[ds:0x0E70:word16] = ax // succ: l09BD_5AB8 l09BD_5AB8: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5978_exit fn09BD_5978_exit: // fn09BD_5ABC // Return size: 2 void fn09BD_5ABC() fn09BD_5ABC_entry: // succ: l09BD_5ABC l09BD_5ABC: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = Mem0[ds:0x1188:word16] v6 = Mem0[ds:si:word16] + 0x0001 Mem0[ds:si:word16] = v6 SZO = cond(v6) ax = Mem0[ds:si:word16] SCZO = cond(Mem0[ds:si + 0x0002:word16] - ax) branch Test(UGT,CZ) l09BD_5AE7 // succ: l09BD_5ACA l09BD_5AE7 l09BD_5ACA: ax = 0x0100 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = si + 0x0004 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:si + 0x0002:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(GT,SZO) l09BD_5AE3 // succ: l09BD_5ADE l09BD_5AE3 l09BD_5ADE: ax = 0xFFFF si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5ABC_exit l09BD_5AE3: Mem0[ds:si:word16] = 0x0000 // succ: l09BD_5AE7 l09BD_5AE7: bx = Mem0[ds:si:word16] al = Mem0[ds:bx + 0x0004 + si:byte] ax = (int16) al si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5ABC_exit fn09BD_5ABC_exit: // fn09BD_5AEF // Return size: 2 void fn09BD_5AEF() fn09BD_5AEF_entry: // succ: l09BD_5AEF l09BD_5AEF: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0006 SCZO = cond(sp) bx = Mem0[ss:bp + 0x0004:word16] ax = Mem0[ds:bx + 0x0004:word16] dx = dx - dx SCZO = cond(dx) cl = 0x09 call fn09BD_2794 (retsize: 2;) Mem0[ss:bp - 0x0004:word16] = ax Mem0[ss:bp - 0x0002:word16] = dx Mem0[ss:bp - 0x0006:word16] = 0x0000 bx = Mem0[ss:bp + 0x0004:word16] SCZO = cond(Mem0[ds:bx + 0x0002:word16] - 0x0000) branch Test(EQ,Z) l09BD_5B2D // succ: l09BD_5B16 l09BD_5B2D l09BD_5B16: SCZO = cond(Mem0[ds:bx:byte] - 0x4D) branch Test(NE,Z) l09BD_5B20 // succ: l09BD_5B1B l09BD_5B20 l09BD_5B1B: Mem0[ss:bp - 0x0006:word16] = 0x0200 // succ: l09BD_5B20 l09BD_5B20: ax = Mem0[ds:bx + 0x0002:word16] ax = ax - Mem0[ss:bp - 0x0006:word16] SCZO = cond(ax) dx_ax = (int32) ax v13 = Mem0[ss:bp - 0x0004:word16] + ax Mem0[ss:bp - 0x0004:word16] = v13 SCZO = cond(v13) v15 = Mem0[ss:bp - 0x0002:word16] + dx + C Mem0[ss:bp - 0x0002:word16] = v15 SCZO = cond(v15) // succ: l09BD_5B2D l09BD_5B2D: ax = Mem0[ss:bp - 0x0004:word16] dx = Mem0[ss:bp - 0x0002:word16] sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5AEF_exit fn09BD_5AEF_exit: // fn09BD_5B37 // Return size: 2 void fn09BD_5B37() fn09BD_5B37_entry: // succ: l09BD_5B37 l09BD_5B37: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = si Mem0[ss:bp - 0x0002:word16] = 0x0000 // succ: l09BD_5B43 l09BD_5B43: call fn09BD_5ABC (retsize: 2;) si = ax SCZO = cond(si - 0x000A) branch Test(NE,Z) l09BD_5B52 // succ: l09BD_5B4D l09BD_5B52 l09BD_5B4D: ax = 0xFFFE goto l09BD_5B8C // succ: l09BD_5B8C l09BD_5B52: SCZO = cond(si - 0x002A) branch Test(NE,Z) l09BD_5B5C // succ: l09BD_5B57 l09BD_5B5C l09BD_5B57: ax = 0xFFFD goto l09BD_5B8C // succ: l09BD_5B8C l09BD_5B5C: SCZO = cond(si - 0x0040) branch Test(NE,Z) l09BD_5B66 // succ: l09BD_5B61 l09BD_5B66 l09BD_5B61: ax = 0xFFFC goto l09BD_5B8C // succ: l09BD_5B8C l09BD_5B66: ax = si - 0x0030 SCZO = cond(ax - 0x0009) branch Test(UGT,CZ) l09BD_5B43 // succ: l09BD_5B6E l09BD_5B43 l09BD_5B6E: ax = 0x000A dx_ax = Mem0[ss:bp - 0x0002:word16] *s ax SCZO = cond(dx_ax) ax = ax + si SCZO = cond(ax) ax = ax - 0x0030 SCZO = cond(ax) Mem0[ss:bp - 0x0002:word16] = ax call fn09BD_5ABC (retsize: 2;) si = ax ax = si - 0x0030 SCZO = cond(ax - 0x0009) branch Test(ULE,CZ) l09BD_5B6E // succ: l09BD_5B89 l09BD_5B6E l09BD_5B89: ax = Mem0[ss:bp - 0x0002:word16] // succ: l09BD_5B8C l09BD_5B8C: si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5B37_exit fn09BD_5B37_exit: // fn09BD_5B91 // Return size: 2 void fn09BD_5B91() fn09BD_5B91_entry: // succ: l09BD_5B91 l09BD_5B91: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) goto l09BD_5BB2 // succ: l09BD_5BB2 l09BD_5B99: Mem0[ss:bp - 0x0002:word16] = bx v10 = Mem0[ss:bp + 0x0004:word16] + 0x0001 Mem0[ss:bp + 0x0004:word16] = v10 SZO = cond(v10) call fn09BD_5ABC (retsize: 2;) bx = Mem0[ss:bp - 0x0002:word16] cx = ax al = Mem0[ds:bx:byte] ax = (int16) al SCZO = cond(cx - ax) branch Test(EQ,Z) l09BD_5BB2 // succ: l09BD_5BAE l09BD_5BB2 l09BD_5BAE: ax = ax - ax SCZO = cond(ax) goto l09BD_5BBD // succ: l09BD_5BBD l09BD_5BB2: bx = Mem0[ss:bp + 0x0004:word16] SCZO = cond(Mem0[ds:bx:byte] - 0x00) branch Test(NE,Z) l09BD_5B99 // succ: l09BD_5BBA l09BD_5B99 l09BD_5BBA: ax = 0x0001 // succ: l09BD_5BBD l09BD_5BBD: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5B91_exit fn09BD_5B91_exit: // fn09BD_5BC1 // Return size: 2 void fn09BD_5BC1() fn09BD_5BC1_entry: // succ: l09BD_5BC1 l09BD_5BC1: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0042 SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si // succ: l09BD_5BC9 l09BD_5BC9: call fn09BD_5ABC (retsize: 2;) ax = ax + 0x0001 SZO = cond(ax) branch Test(EQ,Z) l09BD_5C10 // succ: l09BD_5BCF l09BD_5C10 l09BD_5BCF: ax = ax - 0x003C SCZO = cond(ax) branch Test(NE,Z) l09BD_5BD7 // succ: l09BD_5BD4 l09BD_5BD7 l09BD_5BD4: goto l09BD_5C58 // succ: l09BD_5C58 l09BD_5BD7: ax = ax - 0x000A SCZO = cond(ax) branch Test(EQ,Z) l09BD_5BE3 // succ: l09BD_5BDC l09BD_5BE3 l09BD_5BDC: ax = ax - 0x000D SCZO = cond(ax) // succ: l09BD_5BDF l09BD_5BDF: branch Test(EQ,Z) l09BD_5BEB // succ: l09BD_5BE1 l09BD_5BEB l09BD_5BE1: goto l09BD_5BC9 // succ: l09BD_5BC9 l09BD_5BE3: call fn09BD_5ABC (retsize: 2;) SCZO = cond(ax - 0x0052) goto l09BD_5BDF // succ: l09BD_5BDF l09BD_5BEB: ax = 0x0F24 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5B91 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5BC9 // succ: l09BD_5BF7 l09BD_5BC9 l09BD_5BF7: call fn09BD_5B37 (retsize: 2;) si = ax SCZO = cond(si - Mem0[ss:bp + 0x0004:word16]) branch Test(EQ,Z) l09BD_5C06 // succ: l09BD_5C01 l09BD_5C06 l09BD_5C01: SCZO = cond(si - 0xFFFD) branch Test(NE,Z) l09BD_5C0B // succ: l09BD_5C06 l09BD_5C0B l09BD_5C06: ax = 0x0001 goto l09BD_5C6B // succ: l09BD_5C6B l09BD_5C0B: SCZO = cond(si - 0xFFFF) branch Test(NE,Z) l09BD_5C14 // succ: l09BD_5C10 l09BD_5C14 l09BD_5C10: ax = ax - ax SCZO = cond(ax) ax = ax - ax SCZO = cond(ax) goto l09BD_5C6B // succ: l09BD_5C6B l09BD_5C14: SCZO = cond(si - 0x003B) branch Test(EQ,Z) l09BD_5C58 // succ: l09BD_5C19 l09BD_5C58 l09BD_5C19: SCZO = cond(si - 0xFFFC) branch Test(NE,Z) l09BD_5C50 // succ: l09BD_5C1E l09BD_5C50 l09BD_5C1E: di = bp - 0x0042 goto l09BD_5C24 // succ: l09BD_5C24 l09BD_5C23: di = di + 0x0001 SZO = cond(di) // succ: l09BD_5C24 l09BD_5C24: call fn09BD_5ABC (retsize: 2;) Mem0[ds:di:byte] = al SCZO = cond(al - 0x20) branch Test(GT,SZO) l09BD_5C23 // succ: l09BD_5C2D l09BD_5C23 l09BD_5C2D: call fn09BD_5FDD (retsize: 2;) bx = Mem0[ds:0x1188:word16] Mem0[ds:bx + 0x0002:word16] = 0x0000 Mem0[ds:di:byte] = 0x00 ax = bp - 0x0042 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5F9E (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ds:0x0E70:word16] - 0x0000) branch Test(LT,SO) l09BD_5C4E // succ: l09BD_5C4B l09BD_5C4E l09BD_5C4B: goto l09BD_5BC9 // succ: l09BD_5BC9 l09BD_5C4E: goto l09BD_5C10 // succ: l09BD_5C10 l09BD_5C50: SCZO = cond(si - 0xFFFE) branch Test(NE,Z) l09BD_5BF7 // succ: l09BD_5C55 l09BD_5BF7 l09BD_5C55: goto l09BD_5BC9 // succ: l09BD_5BC9 l09BD_5C58: call fn09BD_5ABC (retsize: 2;) si = ax SCZO = cond(si - 0x000A) branch Test(NE,Z) l09BD_5C65 // succ: l09BD_5C62 l09BD_5C65 l09BD_5C62: goto l09BD_5BC9 // succ: l09BD_5BC9 l09BD_5C65: si = si | si SZO = cond(si) C = false branch Test(GE,SO) l09BD_5C58 // succ: l09BD_5C69 l09BD_5C58 l09BD_5C69: goto l09BD_5C10 // succ: l09BD_5C10 l09BD_5C6B: si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5BC1_exit fn09BD_5BC1_exit: // fn09BD_5C71 // Return size: 2 void fn09BD_5C71() fn09BD_5C71_entry: // succ: l09BD_5C71 l09BD_5C71: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0006 SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = si Mem0[ss:bp - 0x0002:byte] = 0x00 si = 0x15E8 // succ: l09BD_5C7F l09BD_5C7F: call fn09BD_5ABC (retsize: 2;) Mem0[ss:bp - 0x0004:word16] = ax ax = ax + 0x0001 SZO = cond(ax) branch Test(EQ,Z) l09BD_5CFE // succ: l09BD_5C88 l09BD_5CFE l09BD_5C88: ax = ax - 0x0023 SCZO = cond(ax) branch Test(NE,Z) l09BD_5C90 // succ: l09BD_5C8D l09BD_5C90 l09BD_5C8D: goto l09BD_5D11 // succ: l09BD_5D11 l09BD_5C90: ax = ax - 0x0005 SCZO = cond(ax) branch Test(EQ,Z) l09BD_5D11 // succ: l09BD_5C95 l09BD_5D11 l09BD_5C95: ax = ax - 0x0014 SCZO = cond(ax) branch Test(NE,Z) l09BD_5C9D // succ: l09BD_5C9A l09BD_5C9D l09BD_5C9A: goto l09BD_5D48 // succ: l09BD_5D48 l09BD_5C9D: ax = ax - 0x0008 SCZO = cond(ax) branch Test(EQ,Z) l09BD_5CCE // succ: l09BD_5CA2 l09BD_5CCE l09BD_5CA2: ax = ax - 0x0001 SZO = cond(ax) ax = ax - 0x0001 SZO = cond(ax) branch Test(EQ,Z) l09BD_5CF2 // succ: l09BD_5CA6 l09BD_5CF2 l09BD_5CA6: ax = ax - 0x0008 SCZO = cond(ax) branch Test(NE,Z) l09BD_5C7F // succ: l09BD_5CAB l09BD_5C7F l09BD_5CAB: ax = 0x0F29 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5B91 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5C7F // succ: l09BD_5CB7 l09BD_5C7F l09BD_5CB7: SCZO = cond(Mem0[ss:bp - 0x0002:byte] - 0x00) branch Test(EQ,Z) l09BD_5CC1 // succ: l09BD_5CBD l09BD_5CC1 l09BD_5CBD: Mem0[ds:si:byte] = 0x00 si = si + 0x0001 SZO = cond(si) // succ: l09BD_5CC1 l09BD_5CC1: call fn09BD_5B37 (retsize: 2;) Mem0[ds:si:word16] = ax si = si + 0x0001 SZO = cond(si) si = si + 0x0001 SZO = cond(si) Mem0[ss:bp - 0x0002:byte] = 0x01 goto l09BD_5C7F // succ: l09BD_5C7F l09BD_5CCE: ax = 0x0F30 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5B91 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5C7F // succ: l09BD_5CDA l09BD_5C7F l09BD_5CDA: SCZO = cond(Mem0[ss:bp - 0x0002:byte] - 0x00) branch Test(NE,Z) l09BD_5CE1 // succ: l09BD_5CE0 l09BD_5CE1 l09BD_5CE0: si = si - 0x0001 SZO = cond(si) // succ: l09BD_5CE1 l09BD_5CE1: Mem0[ds:si:byte] = 0x0D si = si + 0x0001 SZO = cond(si) Mem0[ds:si:byte] = 0x0A al = al - al SCZO = cond(al) Mem0[ss:bp - 0x0002:byte] = al si = si + 0x0001 SZO = cond(si) Mem0[ds:si:byte] = al goto l09BD_5D24 // succ: l09BD_5D24 l09BD_5CF2: ax = 0x0F38 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5B91 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5C7F // succ: l09BD_5CFE l09BD_5C7F l09BD_5CFE: Mem0[ds:si:word16] = 0xFFFF si = si + 0x0001 SZO = cond(si) si = si + 0x0001 SZO = cond(si) Mem0[ds:0x0F22:word16] = si ax = si al = al & 0xFE SZO = cond(al) C = false Mem0[ds:0x0CDC:word16] = ax Mem0[ds:si:word16] = 0xFFFF si = si + 0x0001 SZO = cond(si) si = si + 0x0001 SZO = cond(si) Mem0[ds:0x0F22:word16] = si ax = si al = al & 0xFE SZO = cond(al) C = false Mem0[ds:0x0CDC:word16] = ax goto l09BD_5D5A // succ: l09BD_5D5A l09BD_5D11: SCZO = cond(Mem0[ss:bp - 0x0002:byte] - 0x00) branch Test(NE,Z) l09BD_5D18 // succ: l09BD_5D17 l09BD_5D18 l09BD_5D17: si = si - 0x0001 SZO = cond(si) // succ: l09BD_5D18 l09BD_5D18: Mem0[ss:bp - 0x0002:byte] = 0x00 // succ: l09BD_5D1C l09BD_5D1C: call fn09BD_5ABC (retsize: 2;) SCZO = cond(ax - Mem0[ss:bp - 0x0004:word16]) branch Test(NE,Z) l09BD_5D28 // succ: l09BD_5D24 l09BD_5D28 l09BD_5D24: si = si + 0x0001 SZO = cond(si) goto l09BD_5C7F // succ: l09BD_5C7F l09BD_5D28: ah = ah - ah SCZO = cond(ah) Mem0[ds:si:word16] = ax ax = Mem0[ds:0x0CE4:word16] ax = ax - 0x0010 SCZO = cond(ax) si = si + 0x0001 SZO = cond(si) SCZO = cond(ax - si) branch Test(UGE,C) l09BD_5D1C // succ: l09BD_5D37 l09BD_5D1C l09BD_5D37: ax = 0x0200 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn0800_0B12 (retsize: 4;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_5D1C // succ: l09BD_5D45 l09BD_5D1C l09BD_5D45: si = si + 0x0001 SZO = cond(si) goto l09BD_5CFE // succ: l09BD_5CFE l09BD_5D48: call fn09BD_5ABC (retsize: 2;) Mem0[ss:bp - 0x0004:word16] = ax SCZO = cond(ax - 0x000A) branch Test(NE,Z) l09BD_5D56 // succ: l09BD_5D53 l09BD_5D56 l09BD_5D53: goto l09BD_5C7F // succ: l09BD_5C7F l09BD_5D56: ax = ax | ax SZO = cond(ax) C = false branch Test(GE,SO) l09BD_5D48 // succ: l09BD_5D5A l09BD_5D48 l09BD_5D5A: si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5C71_exit fn09BD_5C71_exit fn09BD_5C71_exit: // fn09BD_5D5F // Return size: 2 void fn09BD_5D5F() fn09BD_5D5F_entry: // succ: l09BD_5D5F l09BD_5D5F: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x000E SCZO = cond(sp) ax = Mem0[ss:bp + 0x0006:word16] Mem0[ss:bp - 0x000C:word16] = ax // succ: l09BD_5D6B l09BD_5D6B: Mem0[ss:bp - 0x000D:byte] = 0x48 ax = bp - 0x000E sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_26C0 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ss:bp - 0x0002:word16] - 0x0000) branch Test(NE,Z) l09BD_5D84 // succ: l09BD_5D7F l09BD_5D84 l09BD_5D7F: ax = Mem0[ss:bp - 0x000E:word16] goto l09BD_5D94 // succ: l09BD_5D94 l09BD_5D84: SCZO = cond(Mem0[ss:bp - 0x000E:word16] - 0x0008) branch Test(NE,Z) l09BD_5D92 // succ: l09BD_5D8A l09BD_5D92 l09BD_5D8A: ax = Mem0[ss:bp + 0x0004:word16] SCZO = cond(Mem0[ss:bp - 0x000C:word16] - ax) branch Test(UGE,C) l09BD_5D6B // succ: l09BD_5D92 l09BD_5D6B l09BD_5D92: ax = ax - ax SCZO = cond(ax) // succ: l09BD_5D94 l09BD_5D94: sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5D5F_exit fn09BD_5D5F_exit: // fn09BD_5D98 // Return size: 2 void fn09BD_5D98() fn09BD_5D98_entry: // succ: l09BD_5D98 l09BD_5D98: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0016 SCZO = cond(sp) Mem0[ss:bp - 0x000D:byte] = 0x49 ax = Mem0[ss:bp + 0x0004:word16] Mem0[ss:bp - 0x0016:word16] = ax ax = bp - 0x0016 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = bp - 0x000E sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2708 (retsize: 2;) sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5D98_exit fn09BD_5D98_exit: // fn09BD_5DB8 // Return size: 2 void fn09BD_5DB8() fn09BD_5DB8_entry: // succ: l09BD_5DB8 l09BD_5DB8: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0026 SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = Mem0[ds:0x1188:word16] Mem0[ds:si:byte] = 0x4D ax = 0x001B sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = si + 0x0001 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5FC8 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(LT,SO) l09BD_5E2E // succ: l09BD_5DD8 l09BD_5E2E l09BD_5DD8: ax = Mem0[ds:si + 0x0008:word16] Mem0[ss:bp - 0x001A:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5D5F (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x001C:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5E2E // succ: l09BD_5DEC l09BD_5E2E l09BD_5DEC: cl = 0x04 v16 = Mem0[ss:bp - 0x001A:word16] << cl Mem0[ss:bp - 0x001A:word16] = v16 SCZO = cond(v16) ax = Mem0[ss:bp - 0x001A:word16] ax = ax - 0x001C SCZO = cond(ax) Mem0[ss:bp - 0x001E:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = ax cx = Mem0[ss:bp - 0x001C:word16] dx = dx - dx SCZO = cond(dx) sp = sp - 0x0002 Mem0[ss:sp:word16] = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = dx di = ax call fn09BD_5FE9 (retsize: 2;) sp = sp + 0x0006 SCZO = cond(sp) SCZO = cond(ax - di) branch Test(LT,SO) l09BD_5E2E // succ: l09BD_5E0E l09BD_5E2E l09BD_5E0E: cl = 0x05 ax = Mem0[ds:si + 0x0004:word16] ax = ax << cl SCZO = cond(ax) Mem0[ss:bp - 0x001E:word16] = ax v19 = Mem0[ds:si + 0x000C:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v19 ax = ax + Mem0[ds:si + 0x000A:word16] SCZO = cond(ax) ax = ax + 0x0010 SCZO = cond(ax) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_5D5F (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ss:bp - 0x0002:word16] = ax ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_5E31 // succ: l09BD_5E2E l09BD_5E31 l09BD_5E2E: goto l09BD_5F8B // succ: l09BD_5F8B l09BD_5E31: cl = 0x04 v20 = Mem0[ss:bp - 0x001E:word16] << cl Mem0[ss:bp - 0x001E:word16] = v20 SCZO = cond(v20) SCZO = cond(Mem0[ds:si + 0x0002:word16] - 0x0000) branch Test(EQ,Z) l09BD_5E45 // succ: l09BD_5E3C l09BD_5E45 l09BD_5E3C: ax = Mem0[ds:si + 0x0002:word16] ax = ax - 0x0200 SCZO = cond(ax) v21 = Mem0[ss:bp - 0x001E:word16] + ax Mem0[ss:bp - 0x001E:word16] = v21 SCZO = cond(v21) // succ: l09BD_5E45 l09BD_5E45: ax = Mem0[ss:bp - 0x001A:word16] v22 = Mem0[ss:bp - 0x001E:word16] - ax Mem0[ss:bp - 0x001E:word16] = v22 SCZO = cond(v22) ax = Mem0[ss:bp - 0x0002:word16] ax = ax + 0x0010 SCZO = cond(ax) cx = cx - cx SCZO = cond(cx) Mem0[ss:bp - 0x0018:word16] = cx Mem0[ss:bp - 0x0016:word16] = ax v23 = Mem0[ss:bp - 0x001E:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v23 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = cx call fn09BD_5FE9 (retsize: 2;) sp = sp + 0x0006 SCZO = cond(sp) SCZO = cond(ax - Mem0[ss:bp - 0x001E:word16]) branch Test(GE,SO) l09BD_5E6C // succ: l09BD_5E69 l09BD_5E6C l09BD_5E69: goto l09BD_5F8B // succ: l09BD_5F8B l09BD_5E6C: Mem0[ss:bp - 0x0013:byte] = 0x26 ax = Mem0[ss:bp - 0x0002:word16] Mem0[ss:bp - 0x000E:word16] = ax cx = bp - 0x0014 sp = sp - 0x0002 Mem0[ss:sp:word16] = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = cx call fn09BD_26C0 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = Mem0[ss:bp - 0x0002:word16] ax = ax - 0x0001 SZO = cond(ax) bx = 0x0003 es = ax ax = Mem0[es:bx:word16] cx = Mem0[ss:bp - 0x0002:word16] bx = bx - bx SCZO = cond(bx) Mem0[ss:bp - 0x0026:word16] = bx Mem0[ss:bp - 0x0024:word16] = cx bl = bl | 0x02 SZO = cond(bl) C = false es = cx Mem0[es:bx:word16] = ax ax = Mem0[ss:bp - 0x0026:word16] dx = Mem0[ss:bp - 0x0024:word16] al = al | 0x18 SZO = cond(al) C = false cx = 0x0018 bx = Mem0[ds:0x0CEA:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = ds di = ax si = cx es = dx ds = bx cx = 0x000A // succ: l09BD_5EBB l09BD_5EBB: branch cx == 0x0000 l09BD_5EBD // succ: l09BD_5EBB_1 l09BD_5EBD l09BD_5EBB_1: v27 = Mem0[ds:si:word16] Mem0[es:di:word16] = v27 si = si + 0x0002 di = di + 0x0002 cx = cx - 0x0001 goto l09BD_5EBB // succ: l09BD_5EBB l09BD_5EBD: ds = Mem0[ss:sp:selector] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = Mem0[ds:si + 0x0018:word16] ax = ax - 0x001C SCZO = cond(ax) cx = Mem0[ss:bp - 0x001C:word16] Mem0[ss:bp - 0x0006:word16] = ax Mem0[ss:bp - 0x0004:word16] = cx ax = Mem0[ds:si + 0x0006:word16] Mem0[ss:bp - 0x001A:word16] = ax goto l09BD_5EF1 // succ: l09BD_5EF1 l09BD_5ED6: ax = Mem0[ss:bp - 0x0016:word16] es_bx = Mem0[ss:bp - 0x0006:segptr32] cx = Mem0[es:bx + 0x0002:word16] bx = Mem0[es:bx:word16] bx = bx + Mem0[ss:bp - 0x0018:word16] SCZO = cond(bx) cx = cx + ax + C SCZO = cond(cx) es = cx v31 = Mem0[es:bx:word16] + ax Mem0[es:bx:word16] = v31 SCZO = cond(v31) v32 = Mem0[ss:bp - 0x0006:word16] + 0x0004 Mem0[ss:bp - 0x0006:word16] = v32 SCZO = cond(v32) // succ: l09BD_5EF1 l09BD_5EF1: v28 = Mem0[ss:bp - 0x001A:word16] - 0x0001 Mem0[ss:bp - 0x001A:word16] = v28 SZO = cond(v28) branch Test(NS,S) l09BD_5ED6 // succ: l09BD_5EF6 l09BD_5ED6 l09BD_5EF6: Mem0[ss:bp - 0x0020:word16] = 0x15E8 ax = si + 0x0068 Mem0[ss:bp - 0x0022:word16] = ax goto l09BD_5F0E // succ: l09BD_5F0E l09BD_5F03: bx = Mem0[ss:bp - 0x0020:word16] v43 = Mem0[ss:bp - 0x0020:word16] + 0x0001 Mem0[ss:bp - 0x0020:word16] = v43 SZO = cond(v43) SCZO = cond(Mem0[ds:bx:byte] - 0x00) branch Test(NE,Z) l09BD_5F03 // succ: l09BD_5F0E l09BD_5F03 l09BD_5F0E: bx = Mem0[ss:bp - 0x0020:word16] ax = Mem0[ds:bx:word16] bx = Mem0[ss:bp - 0x0022:word16] v33 = Mem0[ss:bp - 0x0022:word16] + 0x0002 Mem0[ss:bp - 0x0022:word16] = v33 SCZO = cond(v33) Mem0[ds:bx:word16] = ax v34 = Mem0[ss:bp - 0x0020:word16] + 0x0002 Mem0[ss:bp - 0x0020:word16] = v34 SCZO = cond(v34) SCZO = cond(Mem0[ds:bx:word16] - 0xFFFF) branch Test(NE,Z) l09BD_5F03 bx = Mem0[ss:bp - 0x0020:word16] ax = Mem0[ds:bx:word16] bx = Mem0[ss:bp - 0x0022:word16] v44 = Mem0[ss:bp - 0x0022:word16] + 0x0002 Mem0[ss:bp - 0x0022:word16] = v44 SCZO = cond(v44) Mem0[ds:bx:word16] = ax v45 = Mem0[ss:bp - 0x0020:word16] + 0x0002 Mem0[ss:bp - 0x0020:word16] = v45 SCZO = cond(v45) SCZO = cond(Mem0[ds:bx:word16] - 0xFFFF) branch Test(NE,Z) l09BD_5F03 // succ: l09BD_5F25 l09BD_5F03 l09BD_5F25: ax = bp - 0x001A sp = sp - 0x0002 Mem0[ss:sp:word16] = ax cx = si + 0x0068 sp = sp - 0x0002 Mem0[ss:sp:word16] = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = si v35 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v35 call fn09BD_68E7 (retsize: 2;) sp = sp + 0x0008 SCZO = cond(sp) Mem0[ss:bp - 0x0006:word16] = ax Mem0[ss:bp - 0x0004:word16] = dx v36 = Mem0[ss:bp - 0x001C:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v36 call fn09BD_5D98 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 v37 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v37 call fn09BD_5D98 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ss:bp - 0x0004:word16] - 0x0000) branch Test(EQ,Z) l09BD_5F8B ax = bp - 0x001A sp = sp - 0x0002 Mem0[ss:sp:word16] = ax cx = si + 0x0068 sp = sp - 0x0002 Mem0[ss:sp:word16] = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = si v46 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v46 call fn09BD_68E7 (retsize: 2;) sp = sp + 0x0008 SCZO = cond(sp) Mem0[ss:bp - 0x0006:word16] = ax Mem0[ss:bp - 0x0004:word16] = dx v47 = Mem0[ss:bp - 0x001C:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v47 call fn09BD_5D98 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 v48 = Mem0[ss:bp - 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v48 call fn09BD_5D98 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ss:bp - 0x0004:word16] - 0x0000) branch Test(EQ,Z) l09BD_5F8B // succ: l09BD_5F51 l09BD_5F8B l09BD_5F51: v38 = Mem0[ss:bp - 0x001A:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v38 call fn0800_0B12 (retsize: 4;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5F84 v49 = Mem0[ss:bp - 0x001A:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v49 call fn0800_0B12 (retsize: 4;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_5F84 // succ: l09BD_5F5E l09BD_5F84 l09BD_5F5E: v39 = Mem0[ss:bp - 0x001A:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v39 ax = 0x15E8 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v40 = Mem0[ds:0x09B4:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v40 v41 = Mem0[ss:bp - 0x0006:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v41 v42 = Mem0[ss:bp - 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v42 call fn09BD_60E8 (retsize: 2;) sp = sp + 0x000A SCZO = cond(sp) ax = Mem0[ss:bp - 0x001A:word16] ax = ax + 0x15E8 SCZO = cond(ax) Mem0[ds:0x0F22:word16] = ax ax = ax + 0x0001 SZO = cond(ax) al = al & 0xFE SZO = cond(al) C = false Mem0[ds:0x0CDC:word16] = ax v50 = Mem0[ss:bp - 0x001A:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v50 ax = 0x15E8 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax v51 = Mem0[ds:0x09B4:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v51 v52 = Mem0[ss:bp - 0x0006:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v52 v53 = Mem0[ss:bp - 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v53 call fn09BD_60E8 (retsize: 2;) sp = sp + 0x000A SCZO = cond(sp) ax = Mem0[ss:bp - 0x001A:word16] ax = ax + 0x15E8 SCZO = cond(ax) Mem0[ds:0x0F22:word16] = ax ax = ax + 0x0001 SZO = cond(ax) al = al & 0xFE SZO = cond(al) C = false Mem0[ds:0x0CDC:word16] = ax // succ: l09BD_5F84 l09BD_5F84: v54 = Mem0[ss:bp - 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v54 call fn09BD_5D98 (retsize: 2;) bx = Mem0[ss:sp:word16] sp = sp + 0x0002 // succ: l09BD_5F8B l09BD_5F8B: si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_5DB8_exit fn09BD_5DB8_exit: // fn09BD_5F9E // Return size: 2 void fn09BD_5F9E() fn09BD_5F9E_entry: // succ: l09BD_5F9E l09BD_5F9E: sp = fp bx = sp dx = Mem0[ds:bx + 0x0002:word16] ax = 0x3D00 C = msdos_open_file(ds_dx, al, out ax) bx = bx - bx - C SCZO = cond(bx) ax = ax | bx SZO = cond(ax) C = false Mem0[ds:0x0E70:word16] = ax return // succ: fn09BD_5F9E_exit fn09BD_5F9E_exit: // fn09BD_5FB0 // Return size: 2 void fn09BD_5FB0() fn09BD_5FB0_entry: // succ: l09BD_5FB0 l09BD_5FB0: sp = fp bx = sp dx = Mem0[ds:bx + 0x0002:word16] cx = Mem0[ds:bx + 0x0004:word16] bx = Mem0[ds:0x0E70:word16] ax = 0x4200 C = msdos_set_file_position(bx, cx_dx, al, dx_ax) bx = bx - bx - C SCZO = cond(bx) ax = ax | bx SZO = cond(ax) C = false dx = dx | bx SZO = cond(dx) C = false return // succ: fn09BD_5FB0_exit fn09BD_5FB0_exit: // fn09BD_5FC8 // Return size: 2 void fn09BD_5FC8() fn09BD_5FC8_entry: // succ: l09BD_5FC8 l09BD_5FC8: sp = fp bx = sp dx = Mem0[ds:bx + 0x0002:word16] cx = Mem0[ds:bx + 0x0004:word16] bx = Mem0[ds:0x0E70:word16] ah = 0x3F C = msdos_read_file(bx, cx, ds_dx, out ax) bx = bx - bx - C SCZO = cond(bx) ax = ax | bx SZO = cond(ax) C = false return // succ: fn09BD_5FC8_exit fn09BD_5FC8_exit: // fn09BD_5FDD // Return size: 2 void fn09BD_5FDD() fn09BD_5FDD_entry: // succ: l09BD_5FDD l09BD_5FDD: sp = fp bx = 0xFFFF v4 = Mem0[ds:0x0E70:word16] Mem0[ds:0x0E70:word16] = bx bx = v4 ah = 0x3E C = msdos_close_file(bx) return // succ: fn09BD_5FDD_exit fn09BD_5FDD_exit: // fn09BD_5FE9 // Return size: 2 void fn09BD_5FE9() fn09BD_5FE9_entry: // succ: l09BD_5FE9 l09BD_5FE9: sp = fp bx = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = ds ax = Mem0[ds:0x0E70:word16] cx = Mem0[ds:bx + 0x0006:word16] dx = Mem0[ds:bx + 0x0002:word16] ds = Mem0[ds:bx + 0x0004:selector] v9 = ax ax = bx bx = v9 ah = 0x3F C = msdos_read_file(bx, cx, ds_dx, out ax) ds = Mem0[ss:sp:selector] sp = sp + 0x0002 bx = bx - bx - C SCZO = cond(bx) ax = ax | bx SZO = cond(ax) C = false return // succ: fn09BD_5FE9_exit fn09BD_5FE9_exit: // fn09BD_600E // Return size: 2 void fn09BD_600E() fn09BD_600E_entry: // succ: l09BD_600E l09BD_600E: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp dx = di bx = si ax = ds es = ax si = Mem0[ss:bp + 0x0004:word16] di = Mem0[ss:bp + 0x0006:word16] ax = ax ^ ax SZO = cond(ax) C = false cx = 0xFFFF // succ: l09BD_6024 l09BD_6024: branch cx == 0x0000 l09BD_6026 // succ: l09BD_6024_1 l09BD_6026 l09BD_6024_1: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_6024 // succ: l09BD_6026 l09BD_6024 l09BD_6026: cx = ~cx di = di - cx SCZO = cond(di) // succ: l09BD_602A l09BD_602A: branch cx == 0x0000 l09BD_602C // succ: l09BD_602A_2 l09BD_602C l09BD_602A_2: SCZO = cond(Mem0[ds:si:byte] - Mem0[es:di:byte]) si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_602A // succ: l09BD_602C l09BD_602A l09BD_602C: branch Test(EQ,Z) l09BD_6033 // succ: l09BD_602E l09BD_6033 l09BD_602E: ax = ax - ax - C SCZO = cond(ax) ax = ax - 0xFFFF - C SCZO = cond(ax) // succ: l09BD_6033 l09BD_6033: si = bx di = dx bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_600E_exit fn09BD_600E_exit: // fn09BD_603A // Return size: 2 void fn09BD_603A() fn09BD_603A_entry: // succ: l09BD_603A l09BD_603A: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = ds es = Mem0[ss:sp:selector] sp = sp + 0x0002 di = Mem0[ss:bp + 0x0004:word16] si = Mem0[ss:bp + 0x0006:word16] bx = di cx = Mem0[ss:bp + 0x0008:word16] branch cx == 0x0000 l09BD_605A // succ: l09BD_604E l09BD_605A l09BD_604E: al = Mem0[ds:si:byte] si = si + 0x0001 al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_6056 // succ: l09BD_6053 l09BD_6056 l09BD_6053: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 branch cx != 0x0000 l09BD_604E // succ: l09BD_6056 l09BD_604E l09BD_6056: al = al ^ al SZO = cond(al) C = false // succ: l09BD_6058 l09BD_6058: branch cx == 0x0000 l09BD_605A // succ: l09BD_6058_1 l09BD_605A l09BD_6058_1: Mem0[es:di:byte] = al di = di + 0x0001 cx = cx - 0x0001 goto l09BD_6058 // succ: l09BD_6058 l09BD_605A: ax = bx si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_603A_exit fn09BD_603A_exit: // fn09BD_6062 // Return size: 2 void fn09BD_6062() fn09BD_6062_entry: // succ: l09BD_6062 l09BD_6062: sp = fp // succ: l09BD_6062_thunk_fn09BD_61D4 l09BD_6062_thunk_fn09BD_61D4: call fn09BD_61D4 (retsize: 0;) return // succ: fn09BD_6062_exit fn09BD_6062_exit: // fn09BD_6066 // Return size: 0 void fn09BD_6066() fn09BD_6066_entry: // succ: l09BD_6066 l09BD_6066: sp = fp // succ: l09BD_6066_thunk_fn09BD_61D4 l09BD_6066_thunk_fn09BD_61D4: call fn09BD_61D4 (retsize: 0;) return // succ: fn09BD_6066_exit fn09BD_6066_exit: // fn09BD_60E8 // Return size: 2 void fn09BD_60E8() fn09BD_60E8_entry: // succ: l09BD_60E8 l09BD_60E8: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = ds ds = Mem0[ss:bp + 0x0004:selector] si = Mem0[ss:bp + 0x0006:word16] es = Mem0[ss:bp + 0x0008:selector] di = Mem0[ss:bp + 0x000A:word16] cx = Mem0[ss:bp + 0x000C:word16] // succ: l09BD_60FD l09BD_60FD: branch cx == 0x0000 l09BD_60FF // succ: l09BD_60FD_1 l09BD_60FF l09BD_60FD_1: v10 = Mem0[ds:si:byte] Mem0[es:di:byte] = v10 si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 goto l09BD_60FD // succ: l09BD_60FD l09BD_60FF: ds = Mem0[ss:sp:selector] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_60E8_exit fn09BD_60E8_exit: // fn09BD_6106 // Return size: 2 void fn09BD_6106() fn09BD_6106_entry: // succ: l09BD_6106 l09BD_6106: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = di di = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = ds es = Mem0[ss:sp:selector] sp = sp + 0x0002 bx = di ax = ax ^ ax SZO = cond(ax) C = false cx = 0xFFFF // succ: l09BD_6116 l09BD_6116: branch cx == 0x0000 l09BD_6118 // succ: l09BD_6116_1 l09BD_6118 l09BD_6116_1: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_6116 // succ: l09BD_6118 l09BD_6116 l09BD_6118: cx = cx + 0x0001 SZO = cond(cx) cx = -cx SCZO = cond(cx) C = cx == 0x0000 al = Mem0[ss:bp + 0x0006:byte] di = bx // succ: l09BD_6120 l09BD_6120: branch cx == 0x0000 l09BD_6122 // succ: l09BD_6120_2 l09BD_6122 l09BD_6120_2: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_6120 // succ: l09BD_6122 l09BD_6120 l09BD_6122: di = di - 0x0001 SZO = cond(di) SCZO = cond(Mem0[ds:di:byte] - al) branch Test(EQ,Z) l09BD_6129 // succ: l09BD_6127 l09BD_6129 l09BD_6127: di = di ^ di SZO = cond(di) C = false // succ: l09BD_6129 l09BD_6129: ax = di di = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_6106_exit fn09BD_6106_exit: // fn09BD_6130 // Return size: 2 void fn09BD_6130() fn09BD_6130_entry: // succ: l09BD_6130 l09BD_6130: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 SCZO = cond(sp) sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = ds es = Mem0[ss:sp:selector] sp = sp + 0x0002 di = Mem0[ss:bp + 0x0006:word16] ax = ax ^ ax SZO = cond(ax) C = false cx = 0xFFFF // succ: l09BD_6142 l09BD_6142: branch cx == 0x0000 l09BD_6144 // succ: l09BD_6142_1 l09BD_6144 l09BD_6142_1: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_6142 // succ: l09BD_6144 l09BD_6142 l09BD_6144: cx = ~cx cx = cx - 0x0001 SZO = cond(cx) branch cx == 0x0000 l09BD_6183 // succ: l09BD_6149 l09BD_6183 l09BD_6149: cx = cx - 0x0001 SZO = cond(cx) Mem0[ss:bp - 0x0002:word16] = cx di = Mem0[ss:bp + 0x0004:word16] bx = di ax = ax ^ ax SZO = cond(ax) C = false cx = 0xFFFF // succ: l09BD_6157 l09BD_6157: branch cx == 0x0000 l09BD_6159 // succ: l09BD_6157_2 l09BD_6159 l09BD_6157_2: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_6157 // succ: l09BD_6159 l09BD_6157 l09BD_6159: cx = ~cx cx = cx - 0x0001 SZO = cond(cx) dx = cx dx = dx - Mem0[ss:bp - 0x0002:word16] SCZO = cond(dx) branch Test(ULE,CZ) l09BD_6188 // succ: l09BD_6163 l09BD_6188 l09BD_6163: di = bx // succ: l09BD_6165 l09BD_6165: si = Mem0[ss:bp + 0x0006:word16] al = Mem0[ds:si:byte] si = si + 0x0001 di = bx cx = dx // succ: l09BD_616D l09BD_616D: branch cx == 0x0000 l09BD_616F // succ: l09BD_616D_3 l09BD_616F l09BD_616D_3: SCZO = cond(al - Mem0[es:di:byte]) di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_616D // succ: l09BD_616F l09BD_616D l09BD_616F: branch Test(NE,Z) l09BD_6188 // succ: l09BD_6171 l09BD_6188 l09BD_6171: dx = cx bx = di cx = Mem0[ss:bp - 0x0002:word16] branch cx == 0x0000 l09BD_617E // succ: l09BD_617A l09BD_617E l09BD_617A: branch cx == 0x0000 l09BD_617C // succ: l09BD_617A_4 l09BD_617C l09BD_617A_4: SCZO = cond(Mem0[ds:si:byte] - Mem0[es:di:byte]) si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 branch Test(NE,Z) l09BD_617A // succ: l09BD_617C l09BD_617A l09BD_617C: branch Test(NE,Z) l09BD_6165 // succ: l09BD_617E l09BD_6165 l09BD_617E: ax = bx - 0x0001 goto l09BD_618A // succ: l09BD_618A l09BD_6183: ax = Mem0[ss:bp + 0x0004:word16] goto l09BD_618A // succ: l09BD_618A l09BD_6188: ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_618A l09BD_618A: di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = bp bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_6130_exit fn09BD_6130_exit: // fn09BD_61D4 // Return size: 0 void fn09BD_61D4() fn09BD_61D4_entry: // succ: l09BD_61D4 l09BD_61D4: sp = v3 sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = Mem0[ss:bp + 0x0004:word16] ax = ax ^ ax SZO = cond(ax) C = false dx_ax = (int32) ax bx = bx ^ bx SZO = cond(bx) C = false // succ: l09BD_61E1 l09BD_61E1: al = Mem0[ds:si:byte] si = si + 0x0001 SCZO = cond(al - 0x20) branch Test(EQ,Z) l09BD_61E1 // succ: l09BD_61E6 l09BD_61E1 l09BD_61E6: SCZO = cond(al - 0x09) branch Test(EQ,Z) l09BD_61E1 // succ: l09BD_61EA l09BD_61E1 l09BD_61EA: sp = sp - 0x0002 Mem0[ss:sp:word16] = ax SCZO = cond(al - 0x2D) branch Test(EQ,Z) l09BD_61F3 // succ: l09BD_61EF l09BD_61F3 l09BD_61EF: SCZO = cond(al - 0x2B) branch Test(NE,Z) l09BD_61F4 // succ: l09BD_61F3 l09BD_61F4 l09BD_61F3: al = Mem0[ds:si:byte] si = si + 0x0001 // succ: l09BD_61F4 l09BD_61F4: SCZO = cond(al - 0x39) branch Test(UGT,CZ) l09BD_6217 // succ: l09BD_61F8 l09BD_6217 l09BD_61F8: al = al - 0x30 SCZO = cond(al) branch Test(ULT,C) l09BD_6217 // succ: l09BD_61FC l09BD_6217 l09BD_61FC: bx = bx << 0x0001 SCZO = cond(bx) v19 = (dx & 0x0001 << 0x10 - 0x01) != 0x0000 dx = __rcl(dx, 0x01, C) C = v19 cx = bx di = dx bx = bx << 0x0001 SCZO = cond(bx) v21 = (dx & 0x0001 << 0x10 - 0x01) != 0x0000 dx = __rcl(dx, 0x01, C) C = v21 bx = bx << 0x0001 SCZO = cond(bx) v22 = (dx & 0x0001 << 0x10 - 0x01) != 0x0000 dx = __rcl(dx, 0x01, C) C = v22 bx = bx + cx SCZO = cond(bx) dx = dx + di + C SCZO = cond(dx) bx = bx + ax SCZO = cond(bx) dx = dx + 0x00 + C SCZO = cond(dx) goto l09BD_61F3 // succ: l09BD_61F3 l09BD_6217: ax = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(al - 0x2D) v23 = ax ax = bx bx = v23 branch Test(NE,Z) l09BD_6224 // succ: l09BD_621D l09BD_6224 l09BD_621D: ax = -ax SCZO = cond(ax) C = ax == 0x0000 dx = dx + 0x00 + C SCZO = cond(dx) dx = -dx SCZO = cond(dx) C = dx == 0x0000 // succ: l09BD_6224 l09BD_6224: si = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_61D4_exit fn09BD_61D4_exit: // fn09BD_6230 // Return size: 2 void fn09BD_6230() fn09BD_6230_entry: // succ: l09BD_6230 l09BD_6230: sp = fp bx = sp bx = Mem0[ds:bx + 0x0002:word16] Mem0[ds:0x09BA:word16] = bx SCZO = cond(Mem0[ds:0x002F:byte] - 0x03) branch Test(ULT,C) l09BD_6250 // succ: l09BD_6240 l09BD_6250 l09BD_6240: Mem0[0x09BD:0x031F:byte] = 0x66 SCZO = cond(Mem0[ds:0x002E:byte] - 0x02) branch Test(NE,Z) l09BD_6250 // succ: l09BD_624D l09BD_6250 l09BD_624D: bx = 0x2814 // succ: l09BD_6250 l09BD_6250: ax = Mem0[0x09BD:bx - 0x0004:word16] Mem0[ds:0x09BC:word16] = ax ax = Mem0[0x09BD:bx - 0x0002:word16] Mem0[ds:0x09BE:word16] = ax return // succ: fn09BD_6230_exit fn09BD_6230_exit: // fn09BD_625F // Return size: 0 void fn09BD_625F() fn09BD_625F_entry: // succ: l09BD_625F l09BD_625F: sp = fp sp = Mem0[ds:0x0CDA:word16] fn09BD_625F_exit: // fn09BD_62D8 // Return size: 2 void fn09BD_62D8() fn09BD_62D8_entry: // succ: l09BD_62D8 l09BD_62D8: sp = fp v3 = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = cx sp = sp - 0x0002 Mem0[ss:sp:word16] = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = bx sp = sp - 0x0002 Mem0[ss:sp:word16] = v3 sp = sp - 0x0002 Mem0[ss:sp:word16] = bp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = ds ax = 0x0000 ds = ax si = 0x02F6 D = true // succ: l09BD_62E3 l09BD_62E3: bx = si ax = Mem0[ds:si:word16] si = si - 0x0002 dx = ax ax = Mem0[ds:si:word16] si = si - 0x0002 // succ: l09BD_62E9 l09BD_62E9: SCZO = cond(bx - 0x02FA) branch Test(UGE,C) l09BD_62E3 // succ: l09BD_62EF l09BD_62E3 l09BD_62EF: bx = bx + 0x0001 SZO = cond(bx) bx = bx + 0x0001 SZO = cond(bx) SCZO = cond(Mem0[ds:bx:word16] - ax) sp = sp - 0x0002 Mem0[ss:sp:word16] = SCZDOP bx = bx + 0x0001 SZO = cond(bx) bx = bx + 0x0001 SZO = cond(bx) SCZDOP = Mem0[ss:sp:word16] sp = sp + 0x0002 branch Test(NE,Z) l09BD_62E9 // succ: l09BD_62F9 l09BD_62E9 l09BD_62F9: SCZO = cond(Mem0[ds:bx:word16] - dx) branch Test(NE,Z) l09BD_62E9 // succ: l09BD_62FD l09BD_62E9 l09BD_62FD: ds = Mem0[ss:sp:selector] sp = sp + 0x0002 Mem0[ds:0x0056:word16] = ax Mem0[ds:0x0058:word16] = dx di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 bp = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 dx = Mem0[ss:sp:word16] sp = sp + 0x0002 cx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = Mem0[ss:sp:word16] sp = sp + 0x0002 D = false return // succ: fn09BD_62D8_exit fn09BD_62D8_exit: // fn09BD_6375 // Return size: 2 void fn09BD_6375() fn09BD_6375_entry: // succ: l09BD_6375 l09BD_6375: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = es di = 0x6321 // succ: l09BD_6379 l09BD_6379: di = di + 0x000E SCZO = cond(di) SCZO = cond(Mem0[0x09BD:di:word16] - 0x0001) branch Test(EQ,Z) l09BD_6387 // succ: l09BD_6382 l09BD_6387 l09BD_6382: SCZO = cond(Mem0[0x09BD:di:word16] - si) branch Test(NE,Z) l09BD_6379 // succ: l09BD_6387 l09BD_6379 l09BD_6387: sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = di sp = sp - 0x0002 Mem0[ss:sp:word16] = ss es = Mem0[ss:sp:selector] sp = sp + 0x0002 di = 0x004A D = false ax = Mem0[ds:si:word16] si = si + 0x0002 cx = 0x0006 // succ: l09BD_6394 l09BD_6394: branch cx == 0x0000 l09BD_6397 // succ: l09BD_6394_1 l09BD_6397 l09BD_6394_1: v13 = Mem0[ds:si:word16] Mem0[es:di:word16] = v13 si = si + 0x0002 di = di + 0x0002 cx = cx - 0x0001 goto l09BD_6394 // succ: l09BD_6394 l09BD_6397: si = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(Mem0[ds:0x0034:byte] - 0x15) branch Test(NE,Z) l09BD_63A4 // succ: l09BD_639F l09BD_63A4 l09BD_639F: Mem0[ds:0x0034:byte] = 0x7F // succ: l09BD_63A4 l09BD_63A4: bx = 0x0000 es = bx bl = Mem0[ds:0x0034:byte] bx = bx << 0x0002 SCZO = cond(bx) ds_di = Mem0[ds:bx + 0x0000:segptr32] ax = ds Mem0[ss:0x0F86:word16] = ax Mem0[ss:0x0F84:word16] = di ax = ax - Mem0[ds:di - 0x0002:word16] SCZO = cond(ax) di = di - Mem0[ds:di - 0x0004:word16] SCZO = cond(di) sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 ax = ax | di SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_63D3 // succ: l09BD_63CA l09BD_63D3 l09BD_63CA: Mem0[es:bx:word16] = 0x09F9 Mem0[es:bx + 0x0002:word16] = ds // succ: l09BD_63D3 l09BD_63D3: al = Mem0[ds:0x0034:byte] Mem0[0x09BD:0x0EF5:byte] = al Mem0[0x09BD:0x982E:byte] = al es = Mem0[ss:sp:selector] sp = sp + 0x0002 return // succ: fn09BD_6375_exit fn09BD_6375_exit: // fn09BD_63E0 // Return size: 2 void fn09BD_63E0() fn09BD_63E0_entry: // succ: l09BD_63E0 l09BD_63E0: sp = fp ax = ax ^ ax SZO = cond(ax) C = false bx = bx ^ bx SZO = cond(bx) C = false cl = 0x82 __syscall(0xDC) al = bl al = al | bh SZO = cond(al) C = false branch Test(EQ,Z) l09BD_63FC // succ: l09BD_63EE l09BD_63FC l09BD_63EE: bx = bx << 0x0006 SCZO = cond(bx) Mem0[ds:0x0ECA:word16] = bx dx = dx << 0x0006 SCZO = cond(dx) Mem0[ds:0x0ECE:word16] = dx // succ: l09BD_63FC l09BD_63FC: return // succ: fn09BD_63E0_exit fn09BD_63E0_exit: // fn09BD_65A3 // Return size: 2 void fn09BD_65A3() fn09BD_65A3_entry: // succ: l09BD_65A3 l09BD_65A3: sp = fp ax = Mem0[ds:0x0CDC:word16] ax = ax + 0x0001 SZO = cond(ax) al = al & 0xFE SZO = cond(al) C = false bx = sp cx = Mem0[ds:bx + 0x0002:word16] cx = cx + ax SCZO = cond(cx) branch Test(ULT,C) l09BD_65BD // succ: l09BD_65B2 l09BD_65BD l09BD_65B2: SCZO = cond(cx - Mem0[ds:0x0CE4:word16]) branch Test(UGT,CZ) l09BD_65BD // succ: l09BD_65B8 l09BD_65BD l09BD_65B8: Mem0[ds:0x0CDC:word16] = cx return // succ: fn09BD_65A3_exit l09BD_65BD: ax = 0xFFFF return // succ: fn09BD_65A3_exit fn09BD_65A3_exit: // fn09BD_65C1 // Return size: 2 void fn09BD_65C1() fn09BD_65C1_entry: // succ: l09BD_65C1 l09BD_65C1: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = SCZDOP ax = ax ^ ax SZO = cond(ax) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = ax SCZDOP = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = SCZDOP ax = Mem0[ss:sp:word16] sp = sp + 0x0002 ah = ah & 0xF0 SZO = cond(ah) C = false SCZO = cond(ah - 0xF0) branch Test(EQ,Z) l09BD_65F4 // succ: l09BD_65D0 l09BD_65F4 l09BD_65D0: v11 = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = v11 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(bx - sp) branch Test(NE,Z) l09BD_65EF // succ: l09BD_65D6 l09BD_65EF l09BD_65D6: ax = 0xF000 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax SCZDOP = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = SCZDOP bx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = bx & ax SZO = cond(bx) C = false branch Test(EQ,Z) l09BD_65EA // succ: l09BD_65E1 l09BD_65EA l09BD_65E1: ax = 0x0003 Mem0[ds:0x10F2:word32] = eax goto l09BD_65F6 // succ: l09BD_65F6 l09BD_65EA: ax = 0x0002 goto l09BD_65F6 // succ: l09BD_65F6 l09BD_65EF: ax = 0x0001 goto l09BD_65F6 // succ: l09BD_65F6 l09BD_65F4: ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_65F6 l09BD_65F6: SCZDOP = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_65C1_exit fn09BD_65C1_exit: // fn09BD_65F8 // Return size: 0 void fn09BD_65F8() fn09BD_65F8_entry: // succ: l09BD_65F8 l09BD_65F8: sp = fp sp = sp - 0x0004 Mem0[ss:sp:word32] = SCZDOP sp = sp - 0x0004 Mem0[ss:sp:word32] = SCZDOP edx = Mem0[ss:sp:word32] sp = sp + 0x0004 ecx = edx fn09BD_65F8_exit: // fn09BD_6647 // Return size: 2 void fn09BD_6647() fn09BD_6647_entry: // succ: l09BD_6647 l09BD_6647: sp = fp al = 0xFF __outb(0x94, al) // succ: l09BD_664D l09BD_664D: al = al ^ al SZO = cond(al) C = false __outb(0x96, al) return // succ: fn09BD_6647_exit fn09BD_6647_exit: // fn09BD_6652 // Return size: 2 void fn09BD_6652() fn09BD_6652_entry: // succ: l09BD_6652 l09BD_6652: sp = fp SCZO = cond(Mem0[ds:0x0034:byte] - 0x15) ax = 0x0000 branch Test(NE,Z) l09BD_6681 // succ: l09BD_665C l09BD_6681 l09BD_665C: ah = 0xC0 C = bios_get_system_configuration(out ah, out es, out bx) ax = 0x0000 branch Test(ULT,C) l09BD_6681 // succ: l09BD_6665 l09BD_6681 l09BD_6665: cx = Mem0[es:bx + 0x0002:word16] SCZO = cond(cl - 0xE0) branch Test(ULT,C) l09BD_6681 // succ: l09BD_666E l09BD_6681 l09BD_666E: SCZO = cond(cl - 0xF8) branch Test(LE,SZO) l09BD_667D // succ: l09BD_6673 l09BD_667D l09BD_6673: SCZO = cond(cl - 0xFC) branch Test(NE,Z) l09BD_6681 // succ: l09BD_6678 l09BD_6681 l09BD_6678: SCZO = cond(ch - 0x04) branch Test(LT,SO) l09BD_6681 // succ: l09BD_667D l09BD_6681 l09BD_667D: al = Mem0[es:bx + 0x0005:byte] // succ: l09BD_6681 l09BD_6681: return // succ: fn09BD_6652_exit fn09BD_6652_exit: // fn09BD_6682 // Return size: 2 void fn09BD_6682() fn09BD_6682_entry: // succ: l09BD_6682 l09BD_6682: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = es ax = 0xF000 es = ax ax = 0x0000 cl = Mem0[es:0xFFFE:byte] es = Mem0[ss:sp:selector] sp = sp + 0x0002 SCZO = cond(cl - 0xE1) branch Test(NE,Z) l09BD_6698 // succ: l09BD_6696 l09BD_6698 l09BD_6696: ax = cx // succ: l09BD_6698 l09BD_6698: return // succ: fn09BD_6682_exit fn09BD_6682_exit: // fn09BD_6699 // Return size: 2 void fn09BD_6699() fn09BD_6699_entry: // succ: l09BD_6699 l09BD_6699: sp = fp call fn09BD_0C0D (retsize: 2;) al = 0x45 call fn09BD_0733 (retsize: 2;) SZO = cond(al & 0x80) C = false branch Test(NE,Z) l09BD_66B1 // succ: l09BD_66A5 l09BD_66B1 l09BD_66A5: cx = -cx SCZO = cond(cx) C = cx == 0x0000 ch = ch & 0x40 SZO = cond(ch) C = false ch = ch ^ al SZO = cond(ch) C = false branch Test(EQ,Z) l09BD_66B1 // succ: l09BD_66AE l09BD_66B1 l09BD_66AE: al = 0x01 return // succ: fn09BD_6699_exit l09BD_66B1: ax = ax ^ ax SZO = cond(ax) C = false return // succ: fn09BD_6699_exit fn09BD_6699_exit: // fn09BD_66B4 // Return size: 2 void fn09BD_66B4() fn09BD_66B4_entry: // succ: l09BD_66B4 l09BD_66B4: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = SCZDOP ax = Mem0[ss:sp:word16] sp = sp + 0x0002 ah = ah & 0xCF SZO = cond(ah) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = ax SCZDOP = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = SCZDOP ax = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax & 0x3000 SZO = cond(ax) C = false return // succ: fn09BD_66B4_exit fn09BD_66B4_exit: // fn09BD_66C1 // Return size: 2 void fn09BD_66C1() fn09BD_66C1_entry: // succ: l09BD_66C1 l09BD_66C1: sp = fp bx = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di ax = ds sp = sp - 0x0002 Mem0[ss:sp:word16] = ax es = ax cx = Mem0[ss:bx + 0x0008:word16] di = Mem0[ss:bx + 0x0006:word16] si = Mem0[ss:bx + 0x0004:word16] ds = Mem0[ss:bx + 0x0002:selector] D = false // succ: l09BD_66DB l09BD_66DB: branch cx == 0x0000 l09BD_66DD // succ: l09BD_66DB_1 l09BD_66DD l09BD_66DB_1: v12 = Mem0[ds:si:byte] Mem0[es:di:byte] = v12 si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 goto l09BD_66DB // succ: l09BD_66DB l09BD_66DD: ds = Mem0[ss:sp:selector] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_66C1_exit fn09BD_66C1_exit: // fn09BD_6849 // Return size: 2 void fn09BD_6849() fn09BD_6849_entry: // succ: l09BD_6849 l09BD_6849: sp = fp bx = sp dx = Mem0[ds:bx + 0x0004:word16] bx = Mem0[ds:bx + 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di sp = sp - 0x0002 Mem0[ss:sp:word16] = cs ds = Mem0[ss:sp:selector] sp = sp + 0x0002 cx = 0x002C si = 0x6741 // succ: l09BD_685D l09BD_685D: ax = Mem0[ds:si:word16] si = si + 0x0002 v12 = ax ax = di di = v12 ax = Mem0[ds:si:word16] si = si + 0x0002 SCZO = cond(ax - dx) al = Mem0[ds:si:byte] si = si + 0x0001 branch Test(NE,Z) l09BD_6869 // succ: l09BD_6865 l09BD_6869 l09BD_6865: SCZO = cond(di - bx) branch Test(EQ,Z) l09BD_6871 // succ: l09BD_6869 l09BD_6871 l09BD_6869: cx = cx - 0x0001 branch cx != 0x0000 l09BD_685D // succ: l09BD_686B l09BD_685D l09BD_686B: ax = ax ^ ax SZO = cond(ax) C = false dx = dx ^ dx SZO = cond(dx) C = false goto l09BD_6879 // succ: l09BD_6879 l09BD_6871: ah = ah ^ ah SZO = cond(ah) C = false dx = ax al = Mem0[ds:si:byte] si = si + 0x0001 ax = ax << 0x0004 SCZO = cond(ax) // succ: l09BD_6879 l09BD_6879: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_6849_exit fn09BD_6849_exit: // fn09BD_687E // Return size: 2 void fn09BD_687E() fn09BD_687E_entry: // succ: l09BD_687E l09BD_687E: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = si ^ si SZO = cond(si) C = false cx = 0x4000 // succ: l09BD_6881_thunk_fn09BD_6884 l09BD_6881_thunk_fn09BD_6884: call fn09BD_6884 (retsize: 0;) return // succ: fn09BD_687E_exit fn09BD_687E_exit: // fn09BD_6884 // Return size: 0 void fn09BD_6884() fn09BD_6884_entry: // succ: l09BD_6884 l09BD_6884: sp = fp dx = dx ^ dx SZO = cond(dx) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = 0xF000 ds = Mem0[ss:sp:selector] sp = sp + 0x0002 bx = bx ^ bx SZO = cond(bx) C = false goto l09BD_688A_thunk_fn09BD_688C // succ: l09BD_688A_thunk_fn09BD_688C l09BD_6884: dx = dx ^ dx SZO = cond(dx) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = 0xF000 ds = Mem0[ss:sp:selector] sp = sp + 0x0002 bx = bx ^ bx SZO = cond(bx) C = false goto l09BD_688A_thunk_fn09BD_688C // succ: l09BD_688A_thunk_fn09BD_688C l09BD_688A_thunk_fn09BD_688C: call fn09BD_688C (retsize: 0;) return // succ: fn09BD_6884_exit l09BD_688A_thunk_fn09BD_688C: call fn09BD_688C (retsize: 0;) return // succ: fn09BD_6884_exit fn09BD_6884_exit: // fn09BD_688C // Return size: 0 void fn09BD_688C() fn09BD_688C_entry: // succ: l09BD_688C l09BD_688C: sp = v3 ax = Mem0[ds:si:word16] si = si + 0x0002 bx = bx + ax SCZO = cond(bx) ax = Mem0[ds:si:word16] si = si + 0x0002 dx = dx + ax + C SCZO = cond(dx) cx = cx - 0x0001 branch cx != 0x0000 l09BD_688C // succ: l09BD_6894 l09BD_688C l09BD_6894: si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 v13 = ax ax = bx bx = v13 return // succ: fn09BD_688C_exit fn09BD_688C_exit: // fn09BD_6899 // Return size: 0 void fn09BD_6899() fn09BD_6899_entry: // succ: l09BD_6899 l09BD_6899: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = si si = 0x8000 cx = 0x2000 // succ: l09BD_68A0_thunk_fn09BD_6884 l09BD_68A0_thunk_fn09BD_6884: call fn09BD_6884 (retsize: 0;) return // succ: fn09BD_6899_exit fn09BD_6899_exit: // fn09BD_68A2 // Return size: 0 void fn09BD_68A2() fn09BD_68A2_entry: // succ: l09BD_68A2 l09BD_68A2: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp cx = cx ^ cx SZO = cond(cx) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = 0xFFFF fn09BD_68A2_exit: // fn09BD_68CC // Return size: 2 void fn09BD_68CC() fn09BD_68CC_entry: // succ: l09BD_68CC l09BD_68CC: sp = fp ax = 0x0001 SCZO = cond(Mem0[ds:0x0CEC:byte] - 0x02) branch Test(ULE,CZ) l09BD_68E4 // succ: l09BD_68D6 l09BD_68E4 l09BD_68D6: sp = sp - 0x0022 SCZO = cond(sp) dx = sp ax = 0x3800 __syscall(0x21) sp = sp + 0x0022 SCZO = cond(sp) v8 = ax ax = bx bx = v8 // succ: l09BD_68E4 l09BD_68E4: return // succ: fn09BD_68CC_exit fn09BD_68CC_exit: // fn09BD_68E7 // Return size: 4 void fn09BD_68E7() fn09BD_68E7_entry: // succ: l09BD_68E7 l09BD_68E7: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di dx = Mem0[ss:bp + 0x0004:word16] bx = dx dx = dx + 0x0010 SCZO = cond(dx) di = 0x0080 ax = ax ^ ax SZO = cond(ax) C = false es = ax v14 = Mem0[es:0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v14 v15 = Mem0[es:0x0000:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v15 es = bx Mem0[es:di:byte] = al di = di + 0x0001 ax = 0x6936 Mem0[es:di:word16] = ax di = di + 0x0002 ax = cs Mem0[es:di:word16] = ax di = di + 0x0002 ax = Mem0[ss:bp + 0x0008:word16] Mem0[es:di:word16] = ax di = di + 0x0002 ax = ss Mem0[es:di:word16] = ax di = di + 0x0002 al = 0x0D Mem0[es:di:byte] = al di = di + 0x0001 Mem0[0x09BD:0x68E5:word16] = sp bx = Mem0[ss:bp + 0x0006:word16] ax = Mem0[ds:bx + 0x0016:word16] ax = ax + dx SCZO = cond(ax) cx = Mem0[ds:bx + 0x0014:word16] dx = dx + Mem0[ds:bx + 0x000E:word16] SCZO = cond(dx) ss = dx sp = Mem0[ds:bx + 0x0010:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = es ds = Mem0[ss:sp:selector] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = ax sp = sp - 0x0002 Mem0[ss:sp:word16] = cx return // succ: fn09BD_68E7_exit fn09BD_68E7_exit: // fn09BD_696B // Return size: 2 void fn09BD_696B() fn09BD_696B_entry: // succ: l09BD_696B l09BD_696B: sp = fp SZO = cond(Mem0[ds:0x0047:byte] & 0x80) C = false branch Test(NE,Z) l09BD_698B // succ: l09BD_6972 l09BD_698B l09BD_6972: ax = 0xBFDE bx = 0x0008 cx = cs dx = dx ^ dx SZO = cond(dx) C = false call fn09BD_0EF4 (retsize: 2;) bx = bx | bx SZO = cond(bx) C = false branch Test(NE,Z) l09BD_698B // succ: l09BD_6983 l09BD_698B l09BD_6983: v13 = Mem0[ds:0x0047:byte] | al Mem0[ds:0x0047:byte] = v13 SZO = cond(Mem0[ds:0x0047:byte]) C = false Mem0[ds:0x0DEC:word16] = dx // succ: l09BD_698B l09BD_698B: return // succ: fn09BD_696B_exit fn09BD_696B_exit: // fn09BD_698C // Return size: 2 void fn09BD_698C() fn09BD_698C_entry: // succ: l09BD_698C l09BD_698C: sp = fp bx = 0x000B ax = 0xBFDE // succ: l09BD_6992_thunk_fn09BD_0EF4 l09BD_6992_thunk_fn09BD_0EF4: call fn09BD_0EF4 (retsize: 2;) return // succ: fn09BD_698C_exit fn09BD_698C_exit: // fn09BD_69A7 // Return size: 2 void fn09BD_69A7() fn09BD_69A7_entry: // succ: l09BD_69A7 l09BD_69A7: sp = fp call fn09BD_0C0D (retsize: 2;) SCZO = cond(cl - 0x01) dx = dx - dx - C SCZO = cond(dx) al = __inb(0x92) bx = ax bx = bx & 0x0002 SZO = cond(bx) C = false SCZO = cond(bl - 0x02) bx = bx - bx - C SCZO = cond(bx) bx = bx ^ dx SZO = cond(bx) C = false si = si | bx SZO = cond(si) C = false return // succ: fn09BD_69A7_exit fn09BD_69A7_exit: // fn09BD_69C0 // Return size: 2 void fn09BD_69C0() fn09BD_69C0_entry: // succ: l09BD_69C0 l09BD_69C0: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di si = si ^ si SZO = cond(si) C = false call fn09BD_69A7 (retsize: 2;) branch Test(NE,Z) l09BD_6A09 // succ: l09BD_69C9 l09BD_6A09 l09BD_69C9: sp = sp - 0x0002 Mem0[ss:sp:word16] = dx al = al ^ 0x02 SZO = cond(al) C = false sp = sp - 0x0002 Mem0[ss:sp:word16] = ax __outb(0x92, al) call fn09BD_69A7 (retsize: 2;) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 bx = Mem0[ss:sp:word16] sp = sp + 0x0002 ch = al cx = cx & 0x0303 SZO = cond(cx) C = false SCZO = cond(ch - cl) branch Test(NE,Z) l09BD_6A09 // succ: l09BD_69DE l09BD_6A09 l09BD_69DE: al = al ^ 0x02 SZO = cond(al) C = false __outb(0x92, al) dx = dx ^ bx SZO = cond(dx) C = false branch Test(EQ,Z) l09BD_6A09 // succ: l09BD_69E6 l09BD_6A09 l09BD_69E6: call fn09BD_69A7 (retsize: 2;) branch Test(NE,Z) l09BD_6A09 // succ: l09BD_69EB l09BD_6A09 l09BD_69EB: sp = sp - 0x0002 Mem0[ss:sp:word16] = cs ds = Mem0[ss:sp:selector] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = cs es = Mem0[ss:sp:selector] sp = sp + 0x0002 si = 0x6995 di = 0x0BE9 cx = 0x0009 // succ: l09BD_69F8 l09BD_69F8: branch cx == 0x0000 l09BD_69FA // succ: l09BD_69F8_1 l09BD_69FA l09BD_69F8_1: v20 = Mem0[ds:si:byte] Mem0[es:di:byte] = v20 si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 goto l09BD_69F8 // succ: l09BD_69F8 l09BD_69FA: di = 0x0BFB cx = 0x0009 // succ: l09BD_6A00 l09BD_6A00: branch cx == 0x0000 l09BD_6A02 // succ: l09BD_6A00_1 l09BD_6A02 l09BD_6A00_1: v21 = Mem0[ds:si:byte] Mem0[es:di:byte] = v21 si = si + 0x0001 di = di + 0x0001 cx = cx - 0x0001 goto l09BD_6A00 // succ: l09BD_6A00 l09BD_6A02: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 Mem0[ds:0x003F:byte] = 0xFF // succ: l09BD_6A09 l09BD_6A09: __sti() di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_69C0_exit fn09BD_69C0_exit: // fn09BD_6A0D // Return size: 2 void fn09BD_6A0D() fn09BD_6A0D_entry: // succ: l09BD_6A0D l09BD_6A0D: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = bp bp = sp call fn09BD_6A48 (retsize: 2;) si = Mem0[ss:bp + 0x0006:word16] SZO = cond(si & si) C = false branch Test(EQ,Z) l09BD_6A22 // succ: l09BD_6A1A l09BD_6A22 l09BD_6A1A: sp = sp - 0x0002 Mem0[ss:sp:word16] = ds es = Mem0[ss:sp:selector] sp = sp + 0x0002 di = 0x0A2C D = false goto l09BD_6A40 // succ: l09BD_6A40 l09BD_6A22: si = Mem0[ss:bp + 0x0004:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = ds es = Mem0[ss:sp:selector] sp = sp + 0x0002 D = false di = 0x0A2C bx = di // succ: l09BD_6A2D l09BD_6A2D: al = Mem0[ds:si:byte] si = si + 0x0001 SZO = cond(al & al) C = false branch Test(EQ,Z) l09BD_6A3B // succ: l09BD_6A32 l09BD_6A3B l09BD_6A32: Mem0[es:di:byte] = al di = di + 0x0001 SCZO = cond(al - 0x5C) branch Test(NE,Z) l09BD_6A2D // succ: l09BD_6A37 l09BD_6A2D l09BD_6A37: bx = di goto l09BD_6A2D // succ: l09BD_6A2D l09BD_6A3B: di = bx si = 0x0A7C // succ: l09BD_6A40 l09BD_6A40: al = Mem0[ds:si:byte] si = si + 0x0001 Mem0[es:di:byte] = al di = di + 0x0001 SZO = cond(al & al) C = false branch Test(NE,Z) l09BD_6A40 // succ: l09BD_6A46 l09BD_6A40 l09BD_6A46: bp = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_6A0D_exit fn09BD_6A0D_exit: // fn09BD_6A48 // Return size: 2 void fn09BD_6A48() fn09BD_6A48_entry: // succ: l09BD_6A48 l09BD_6A48: sp = fp Mem0[ds:0x1586:word16] = ds ax = 0x0098 Mem0[ds:0x1584:word16] = ax Mem0[ds:0x158E:word16] = 0x0020 Mem0[ds:0x158C:word16] = 0x0070 Mem0[ds:0x158A:word16] = 0x1BA6 ax = 0x1D2F ax = ax - 0x1D26 SCZO = cond(ax) Mem0[ds:0x1590:word16] = ax ax = ds eax = (word32) ax eax = eax << 0x00000004 SCZO = cond(eax) bx = 0x098E ebx = (word32) bx eax = eax + ebx SCZO = cond(eax) Mem0[ds:0x1598:word32] = eax Mem0[ds:0x1596:word16] = 0x0001 return // succ: fn09BD_6A48_exit fn09BD_6A48_exit: // fn09BD_6C54 // Return size: 2 void fn09BD_6C54() fn09BD_6C54_entry: // succ: l09BD_6C54 l09BD_6C54: sp = fp ax = 0x4300 msdos_multiplex(ah, al) SCZO = cond(al - 0x80) branch Test(EQ,Z) l09BD_6C5F // succ: l09BD_6C5D l09BD_6C5F l09BD_6C5D: ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_6C5F l09BD_6C5F: v11 = Mem0[ds:0x0036:byte] | al Mem0[ds:0x0036:byte] = v11 SZO = cond(Mem0[ds:0x0036:byte]) C = false return // succ: fn09BD_6C54_exit fn09BD_6C54_exit: // fn09BD_6C64 // Return size: 2 void fn09BD_6C64() fn09BD_6C64_entry: goto l09BD_6C64 // succ: l09BD_6C64 l09BD_6C4A: sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0026 call fn09BD_14AC (retsize: 2;) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax ^ ax SZO = cond(ax) C = false goto l09BD_6C9F // succ: l09BD_6C9F l09BD_6C64: sp = fp call fn09BD_6C54 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_6C6C // succ: l09BD_6C6B l09BD_6C6C l09BD_6C6B: return // succ: fn09BD_6C64_exit l09BD_6C6C: ax = 0x4310 msdos_multiplex(ah, al) Mem0[ds:0x0AEC:word16] = bx Mem0[ds:0x0AEE:word16] = es ah = ah ^ ah SZO = cond(ah) C = false call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) ah = ah - 0x01 SZO = cond(ah) branch Test(LE,SZO) l09BD_6C4A // succ: l09BD_6C83 l09BD_6C4A l09BD_6C83: SCZO = cond(bx - 0x0204) branch Test(UGE,C) l09BD_6C90 // succ: l09BD_6C89 l09BD_6C90 l09BD_6C89: Mem0[0x09BD:0x1DEA:word16] = 0x0040 // succ: l09BD_6C90 l09BD_6C90: ah = 0x08 call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) ax = ax - Mem0[0x09BD:0x1DEA:word16] SCZO = cond(ax) branch Test(UGE,C) l09BD_6C9F // succ: l09BD_6C9D l09BD_6C9F l09BD_6C9D: ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_6C9F l09BD_6C9F: ax = ax | ax SZO = cond(ax) C = false Mem0[ds:0x0ECE:word16] = ax branch Test(EQ,Z) l09BD_6D03 // succ: l09BD_6CA6 l09BD_6D03 l09BD_6CA6: SCZO = cond(ax - Mem0[ds:0x0ECC:word16]) branch Test(ULT,C) l09BD_6CAF // succ: l09BD_6CAC l09BD_6CAF l09BD_6CAC: ax = Mem0[ds:0x0ECC:word16] // succ: l09BD_6CAF l09BD_6CAF: Mem0[ds:0x0ECC:word16] = ax v15 = ax ax = dx dx = v15 ah = 0x09 call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_6D03 // succ: l09BD_6CBD l09BD_6D03 l09BD_6CBD: Mem0[ds:0x0ADC:word16] = dx ah = 0x0C call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) ax = ax | ax SZO = cond(ax) C = false branch Test(NE,Z) l09BD_6CD0 // succ: l09BD_6CCB l09BD_6CD0 l09BD_6CCB: call fn09BD_1DEC (retsize: 2;) goto l09BD_6D03 // succ: l09BD_6D03 l09BD_6CD0: bx = bx + 0x000F SCZO = cond(bx) dx = dx + 0x00 + C SCZO = cond(dx) cx = 0x0004 // succ: l09BD_6CD9 l09BD_6CD9: dx = dx >>u 0x0001 SCZO = cond(dx) v17 = (bx & 0x0001 << 0x01) != 0x0000 bx = __rcr(bx, 0x01, C) C = v17 cx = cx - 0x0001 branch cx != 0x0000 l09BD_6CD9 // succ: l09BD_6CDF l09BD_6CD9 l09BD_6CDF: Mem0[ds:0x0098:word16] = bx Mem0[ds:0x009A:word16] = dx Mem0[ds:0x0AA6:word16] = 0x3E15 Mem0[ds:0x0AA4:word16] = 0x3DE0 ax = 0x0400 dx_ax = Mem0[ds:0x0ECC:word16] *u ax SCZO = cond(dx_ax) Mem0[ds:0x0AA8:word16] = ax Mem0[ds:0x0AAA:word16] = dx goto l09BD_6D09 // succ: l09BD_6D09 l09BD_6D03: Mem0[ds:0x0ECC:word16] = 0x0000 // succ: l09BD_6D09 l09BD_6D09: al = 0x01 return // succ: fn09BD_6C64_exit fn09BD_6C64_exit: // fn09BD_6D7C // Return size: 2 void fn09BD_6D7C() fn09BD_6D7C_entry: // succ: l09BD_6D7C l09BD_6D7C: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di ax = 0x1687 msdos_multiplex(ah, al) ax = ax | ax SZO = cond(ax) C = false ax = 0x0000 branch Test(NE,Z) l09BD_6D9F // succ: l09BD_6D8A l09BD_6D9F l09BD_6D8A: Mem0[0x09BD:0x6D44:word16] = si Mem0[0x09BD:0x6E66:word16] = di Mem0[0x09BD:0x6E68:word16] = es al = cl Mem0[ds:0x0C42:byte] = dh // succ: l09BD_6D9F l09BD_6D9F: di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_6D7C_exit fn09BD_6D7C_exit: // fn09BD_7686 // Return size: 2 void fn09BD_7686() fn09BD_7686_entry: // succ: l09BD_7686 l09BD_7686: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0000 ds = Mem0[ss:sp:selector] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di si = 0x019C di = Mem0[ds:si:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = di cx = Mem0[ds:si + 0x0002:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = cx SCZO = cond(di - Mem0[ss:0x0056:word16]) branch Test(NE,Z) l09BD_76AA // succ: l09BD_769C l09BD_76AA l09BD_769C: SCZO = cond(cx - Mem0[ss:0x0058:word16]) branch Test(NE,Z) l09BD_76AA // succ: l09BD_76A3 l09BD_76AA l09BD_76A3: Mem0[ds:si:word16] = 0x772B Mem0[ds:si + 0x0002:word16] = cs // succ: l09BD_76AA l09BD_76AA: __syscall(0x67) Mem0[ds:si + 0x0002:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 Mem0[ds:si:word16] = Mem0[ss:sp:word16] sp = sp + 0x0002 di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 return // succ: fn09BD_7686_exit fn09BD_7686_exit: // fn09BD_76B6 // Return size: 2 void fn09BD_76B6() fn09BD_76B6_entry: // succ: l09BD_76B6 l09BD_76B6: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di call fn09BD_696B (retsize: 2;) ax = 0x3567 es_bx = msdos_get_interrupt_vector(al) cx = es SCZO = cond(cx - Mem0[ds:0x0058:word16]) branch Test(EQ,Z) l09BD_7731 // succ: l09BD_76C8 l09BD_7731 l09BD_76C8: SCZO = cond(Mem0[es:0x000B:word16] - 0x4D4D) branch Test(NE,Z) l09BD_7731 // succ: l09BD_76D1 l09BD_7731 l09BD_76D1: SCZO = cond(Mem0[es:0x000E:word16] - 0x5858) branch Test(NE,Z) l09BD_7731 // succ: l09BD_76DA l09BD_7731 l09BD_76DA: SCZO = cond(Mem0[es:0x000A:byte] - 0x45) branch Test(NE,Z) l09BD_7731 // succ: l09BD_76E2 l09BD_7731 l09BD_76E2: SCZO = cond(Mem0[es:0x000D:byte] - 0x58) branch Test(NE,Z) l09BD_7731 // succ: l09BD_76EA l09BD_7731 l09BD_76EA: SCZO = cond(Mem0[es:0x0011:byte] - 0x30) branch Test(NE,Z) l09BD_7731 // succ: l09BD_76F2 l09BD_7731 l09BD_76F2: SZO = cond(Mem0[ds:0x0047:byte] & 0x80) C = false branch Test(NE,Z) l09BD_772C // succ: l09BD_76F9 l09BD_772C l09BD_76F9: SZO = cond(Mem0[ds:0x0014:byte] & 0x02) C = false branch Test(NE,Z) l09BD_772C // succ: l09BD_7700 l09BD_772C l09BD_7700: ax = 0xDE00 __syscall(0x67) ah = ah | ah SZO = cond(ah) C = false branch Test(EQ,Z) l09BD_772C // succ: l09BD_7709 l09BD_772C l09BD_7709: ah = 0x43 bx = 0x0001 ah = ems_get_handle_and_allocate_memory(bx, out dx) ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_7731 // succ: l09BD_7714 l09BD_7731 l09BD_7714: Mem0[0x09BD:0x2AC5:word16] = dx goto l09BD_7731 // succ: l09BD_7731 l09BD_771B: call fn09BD_66B4 (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_2AC7 (retsize: 2;) ax = ax ^ ax SZO = cond(ax) C = false cx = Mem0[ss:sp:word16] sp = sp + 0x0002 branch cx == 0x0000 l09BD_7728 // succ: l09BD_7727 l09BD_7728 l09BD_7727: ax = ax - 0x0001 SZO = cond(ax) // succ: l09BD_7728 l09BD_7728: di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_76B6_exit l09BD_772C: call fn09BD_66B4 (retsize: 2;) branch Test(EQ,Z) l09BD_771B // succ: l09BD_7731 l09BD_771B l09BD_7731: ax = 0xDE00 call fn09BD_7686 (retsize: 2;) ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_771B ax = 0xDE00 call fn09BD_7686 (retsize: 2;) ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_771B // succ: l09BD_773B l09BD_771B l09BD_773B: ax = 0xDE0A __syscall(0x67) ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_771B ax = 0xDE0A __syscall(0x67) ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_771B // succ: l09BD_7744 l09BD_771B l09BD_7744: Mem0[ds:0x0050:byte] = bl Mem0[ds:0x0051:byte] = cl Mem0[ds:0x002E:byte] = 0x0B call fn09BD_30C4 (retsize: 2;) call fn09BD_3829 (retsize: 2;) SCZO = cond(Mem0[ds:0x0DEC:word16] - 0x0602) branch Test(ULT,C) l09BD_7771 Mem0[ds:0x0050:byte] = bl Mem0[ds:0x0051:byte] = cl Mem0[ds:0x002E:byte] = 0x0B call fn09BD_30C4 (retsize: 2;) call fn09BD_3829 (retsize: 2;) SCZO = cond(Mem0[ds:0x0DEC:word16] - 0x0602) branch Test(ULT,C) l09BD_7771 // succ: l09BD_775F l09BD_7771 l09BD_775F: Mem0[ds:0x0DEE:word16] = 0x0004 Mem0[ds:0x0DF0:word16] = 0xFC00 Mem0[ds:0x0DF2:word16] = 0x0801 Mem0[ds:0x0DEE:word16] = 0x0004 Mem0[ds:0x0DF0:word16] = 0xFC00 Mem0[ds:0x0DF2:word16] = 0x0801 // succ: l09BD_7771 l09BD_7771: al = Mem0[ds:0x0047:byte] al = al & 0x80 SZO = cond(al) C = false al = al | Mem0[ds:0x0A16:byte] SZO = cond(al) C = false ah = Mem0[ds:0x0015:byte] ah = ah & 0x20 SZO = cond(ah) C = false al = al | ah SZO = cond(al) C = false Mem0[0x09BD:0x7685:byte] = al si = si ^ si SZO = cond(si) C = false dx = dx ^ dx SZO = cond(dx) C = false ax = 0xBF02 SZO = cond(Mem0[ds:0x0014:byte] & 0x10) C = false branch Test(EQ,Z) l09BD_7797 // succ: l09BD_7795 l09BD_7797 l09BD_7795: al = 0xDC // succ: l09BD_7797 l09BD_7797: call fn09BD_0EF4 (retsize: 2;) dx = dx | dx SZO = cond(dx) C = false branch Test(EQ,Z) l09BD_77F5 // succ: l09BD_779E l09BD_77F5 l09BD_779E: sp = sp - 0x0002 Mem0[ss:sp:word16] = ds es = Mem0[ss:sp:selector] sp = sp + 0x0002 ds = dx di = 0x0098 SCZO = cond(Mem0[ds:si:word32] - 0x00040000) Mem0[ss:0x0DFF:byte] = Test(UGT,CZ) branch Test(ULE,CZ) l09BD_77C4 // succ: l09BD_77B4 l09BD_77C4 l09BD_77B4: SZO = cond(Mem0[ss:0x0015:byte] & 0x10) C = false branch Test(NE,Z) l09BD_77C4 // succ: l09BD_77BC l09BD_77C4 l09BD_77BC: SCZO = cond(Mem0[ss:0x0A16:byte] - 0x00) branch Test(NE,Z) l09BD_77F5 // succ: l09BD_77C4 l09BD_77F5 l09BD_77C4: cx = 0x000C // succ: l09BD_77C7 l09BD_77C7: branch cx == 0x0000 l09BD_77C9 // succ: l09BD_77C7_1 l09BD_77C9 l09BD_77C7_1: v22 = Mem0[ds:si:word16] Mem0[es:di:word16] = v22 si = si + 0x0002 di = di + 0x0002 cx = cx - 0x0001 goto l09BD_77C7 // succ: l09BD_77C7 l09BD_77C9: sp = sp - 0x0002 Mem0[ss:sp:word16] = es ds = Mem0[ss:sp:selector] sp = sp + 0x0002 eax = Mem0[ds:0x0098:word32] eax = eax >>u 0x00000006 SCZO = cond(eax) Mem0[ds:0x0ECA:word16] = ax eax = Mem0[ds:0x009C:word32] eax = eax >>u 0x00000006 SCZO = cond(eax) ax = ax - Mem0[ds:0x0ECA:word16] SCZO = cond(ax) Mem0[ds:0x0ECE:word16] = ax SCZO = cond(dx - Mem0[ds:0x00A2:word16]) branch Test(NE,Z) l09BD_77F2 // succ: l09BD_77EB l09BD_77F2 l09BD_77EB: SZO = cond(Mem0[ds:0x0047:byte] & 0x80) C = false branch Test(NE,Z) l09BD_7841 // succ: l09BD_77F2 l09BD_7841 l09BD_77F2: call fn09BD_7875 (retsize: 0;) return // succ: l09BD_78A0 fn09BD_76B6_exit l09BD_77F5: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 call fn09BD_7B03 (retsize: 2;) dx = bx SCZO = cond(dx - 0x0004) branch Test(ULT,C) l09BD_780C // succ: l09BD_7801 l09BD_780C l09BD_7801: al = Mem0[0x09BD:0x7685:byte] Mem0[ds:0x0DFF:byte] = al al = al | al SZO = cond(al) C = false branch Test(NE,Z) l09BD_7823 // succ: l09BD_780C l09BD_7823 l09BD_780C: ax = 0x3000 SCZO = cond(Mem0[ds:0x0ECC:word16] - ax) branch Test(ULT,C) l09BD_7818 // succ: l09BD_7815 l09BD_7818 l09BD_7815: Mem0[ds:0x0ECC:word16] = ax // succ: l09BD_7818 l09BD_7818: SCZO = cond(dx - 0x0300) branch Test(ULE,CZ) l09BD_7823 // succ: l09BD_781E l09BD_7823 l09BD_781E: dx = 0x3000 goto l09BD_7829 // succ: l09BD_7829 l09BD_7823: dx = dx << 0x0004 SCZO = cond(dx) call fn09BD_7B1F (retsize: 2;) // succ: l09BD_7829 l09BD_7829: Mem0[ds:0x0ECE:word16] = dx dx = dx + 0x2FFF SCZO = cond(dx) branch Test(UGE,C) l09BD_783A // succ: l09BD_7833 l09BD_783A l09BD_7833: dx = 0xEF00 Mem0[ds:0x0ECE:word16] = dx // succ: l09BD_783A l09BD_783A: SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(EQ,Z) l09BD_7849 // succ: l09BD_7841 l09BD_7849 l09BD_7841: dx = 0x2000 Mem0[ds:0x0DFF:byte] = 0x01 dx = 0x2000 Mem0[ds:0x0DFF:byte] = 0x01 // succ: l09BD_7849 l09BD_7849: dx = dx & 0xF000 SZO = cond(dx) C = false Mem0[ds:0x0E00:byte] = dh sp = sp - 0x0002 Mem0[ss:sp:word16] = dx ax = ds ax = ax << 0x0004 SCZO = cond(ax) ax = ax + Mem0[ds:0x0CDC:word16] SCZO = cond(ax) ah = ah & 0x0F SZO = cond(ah) C = false ax = -ax SCZO = cond(ax) C = ax == 0x0000 ah = ah + 0x10 SCZO = cond(ah) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax ax = ax + dx SCZO = cond(ax) sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn0800_0B12 (retsize: 4;) call fn09BD_65A3 (retsize: 2;) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(ax - 0xFFFF) branch Test(NE,Z) l09BD_787A // succ: l09BD_7873_thunk_fn09BD_7875 l09BD_7873_thunk_fn09BD_7875 l09BD_7873_thunk_fn09BD_7875: call fn09BD_7875 (retsize: 0;) return // succ: fn09BD_76B6_exit l09BD_7873_thunk_fn09BD_7875: call fn09BD_7875 (retsize: 0;) return // succ: fn09BD_76B6_exit fn09BD_76B6_exit: // fn09BD_7875 // Return size: 0 void fn09BD_7875() fn09BD_7875_entry: // succ: l09BD_7875 l09BD_7875: sp = v3 sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0017 call fn09BD_229D (retsize: 2;) // succ: l09BD_787A l09BD_787A: cx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax + cx SCZO = cond(ax) ax = ax >>u 0x0004 SCZO = cond(ax) dx = es ax = ax + dx SCZO = cond(ax) al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_788F // succ: l09BD_788A l09BD_788F l09BD_788A: sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0018 call fn09BD_229D (retsize: 2;) // succ: l09BD_788F l09BD_788F: Mem0[ds:0x00AA:word16] = ax Mem0[ds:0x0DF4:word16] = ax es = ax di = di ^ di SZO = cond(di) C = false cx = Mem0[ss:sp:word16] sp = sp + 0x0002 cx = cx >>u 0x0001 SCZO = cond(cx) ax = ax ^ ax SZO = cond(ax) C = false // succ: l09BD_789E l09BD_789E: branch cx == 0x0000 l09BD_78A0 // succ: l09BD_789E_1 l09BD_78A0 l09BD_789E_1: Mem0[es:di:word16] = ax di = di + 0x0002 cx = cx - 0x0001 goto l09BD_789E // succ: l09BD_789E l09BD_78A0: SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(EQ,Z) l09BD_78B9 // succ: l09BD_78A7 l09BD_78B9 l09BD_78A7: v16 = Mem0[ds:0x0A16:byte] | 0x01 Mem0[ds:0x0A16:byte] = v16 SZO = cond(Mem0[ds:0x0A16:byte]) C = false SZO = cond(Mem0[ds:0x11D2:byte] & 0x01) C = false branch Test(NE,Z) l09BD_78B9 // succ: l09BD_78B3 l09BD_78B9 l09BD_78B3: Mem0[ds:0x0ECC:word16] = 0xEF00 // succ: l09BD_78B9 l09BD_78B9: ax = ds bx = 0x0010 dx_ax = bx *u ax SCZO = cond(dx_ax) v19 = Mem0[ds:0x0D34:word16] + ax Mem0[ds:0x0D34:word16] = v19 SCZO = cond(v19) v20 = Mem0[ds:0x0D36:word16] + dx + C Mem0[ds:0x0D36:word16] = v20 SCZO = cond(v20) v21 = Mem0[ds:0x0D3C:word16] + ax Mem0[ds:0x0D3C:word16] = v21 SCZO = cond(v21) v22 = Mem0[ds:0x0D3E:word16] + dx + C Mem0[ds:0x0D3E:word16] = v22 SCZO = cond(v22) v23 = Mem0[ds:0x0D40:word16] + ax Mem0[ds:0x0D40:word16] = v23 SCZO = cond(v23) v24 = Mem0[ds:0x0D42:word16] + dx + C Mem0[ds:0x0D42:word16] = v24 SCZO = cond(v24) ax = ax + 0x0D74 SCZO = cond(ax) dx = dx + 0x00 + C SCZO = cond(dx) Mem0[ds:0x091A:word16] = ax Mem0[ds:0x091C:byte] = dl ax = Mem0[ds:0x00AA:word16] ah = ah + 0x01 SZO = cond(ah) es = ax di = di ^ di SZO = cond(di) C = false si = 0x0940 ax = 0xDE01 __syscall(0x67) ah = ah | ah SZO = cond(ah) C = false branch Test(EQ,Z) l09BD_7902 // succ: l09BD_78F8_thunk_fn09BD_78FA l09BD_78F8_thunk_fn09BD_78FA l09BD_78F8_thunk_fn09BD_78FA: call fn09BD_78FA (retsize: 0;) return // succ: fn09BD_7875_exit l09BD_78F8_thunk_fn09BD_78FA: call fn09BD_78FA (retsize: 0;) return // succ: fn09BD_7875_exit fn09BD_7875_exit: // fn09BD_78FA // Return size: 0 void fn09BD_78FA() fn09BD_78FA_entry: call fn09BD_7875 (retsize: 0;) return // succ: l09BD_78FA fn09BD_78FA_exit l09BD_78FA: sp = v3 call fn09BD_2AC7 (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0019 call fn09BD_229D (retsize: 2;) // succ: l09BD_7902 l09BD_7902: Mem0[ds:0x0D5A:word32] = ebx SCZO = cond(di - 0x1000) branch Test(UGE,C) l09BD_7910 // succ: l09BD_790D l09BD_7910 l09BD_790D: di = 0x1000 // succ: l09BD_7910 l09BD_7910: Mem0[ds:0x0ECA:word16] = di al = Mem0[ds:0x0E00:byte] al = al | al SZO = cond(al) C = false branch Test(EQ,Z) l09BD_799C // succ: l09BD_791D l09BD_799C l09BD_791D: v14 = ax ax = di di = v14 SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(EQ,Z) l09BD_792B // succ: l09BD_7925 l09BD_792B l09BD_7925: ax = 0x1040 Mem0[ds:0x0ECA:word16] = ax // succ: l09BD_792B l09BD_792B: bx = 0x0040 dx_ax = bx *u ax SCZO = cond(dx_ax) Mem0[ds:0x00AC:word16] = ax Mem0[ds:0x00AE:word16] = dx ax = Mem0[ds:0x0ECE:word16] ax = ax + Mem0[ds:0x0ECA:word16] SCZO = cond(ax) SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(NE,Z) l09BD_794D // succ: l09BD_7945 l09BD_794D l09BD_7945: SCZO = cond(ax - 0x4000) branch Test(ULT,C) l09BD_794D // succ: l09BD_794A l09BD_794D l09BD_794A: ax = 0x4000 // succ: l09BD_794D l09BD_794D: Mem0[ds:0x0ECE:word16] = ax SZO = cond(Mem0[ds:0x0047:byte] & 0x01) C = false branch Test(EQ,Z) l09BD_795C // succ: l09BD_7957 l09BD_795C l09BD_7957: ah = 0x88 call fn09BD_0EF4 (retsize: 2;) // succ: l09BD_795C l09BD_795C: Mem0[ds:0x00A8:word16] = ax call fn09BD_7B85 (retsize: 2;) cl = Mem0[ds:0x0E00:byte] ch = ch ^ ch SZO = cond(ch) C = false cx = cx >>u 0x0003 SCZO = cond(cx) cx = cx - 0x0001 SZO = cond(cx) cx = cx - 0x0001 SZO = cond(cx) si = es ds = si si = si - 0x0100 SCZO = cond(si) es = si si = si >>u 0x0006 SCZO = cond(si) eax = Mem0[ds:si:word32] si = si + 0x0004 di = di ^ di SZO = cond(di) C = false // succ: l09BD_797E l09BD_797E: branch cx == 0x0000 l09BD_7980 // succ: l09BD_797E_1 l09BD_7980 l09BD_797E_1: v25 = Mem0[ds:si:word16] Mem0[es:di:word16] = v25 si = si + 0x0002 di = di + 0x0002 cx = cx - 0x0001 goto l09BD_797E // succ: l09BD_797E l09BD_7980: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 // succ: l09BD_7982 l09BD_7982: Mem0[ds:0x0D38:word32] = eax Mem0[ds:0x0D90:word32] = eax ax = 0x0001 Mem0[ds:0x0AA4:word16] = 0x3CD0 Mem0[ds:0x0AA6:word16] = 0x3D23 di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_78FA_exit l09BD_799C: eax = Mem0[ds:0x0098:word32] eax = eax >>u 0x00000006 SCZO = cond(eax) Mem0[ds:0x0ECA:word16] = ax eax = Mem0[ds:0x009C:word32] eax = eax >>u 0x00000006 SCZO = cond(eax) Mem0[ds:0x0ECE:word16] = ax cx = Mem0[ds:0x00AA:word16] si = cx si = si >>u 0x0006 SCZO = cond(si) ch = ch + 0x01 SZO = cond(ch) es = cx eax = Mem0[es:si:word32] goto l09BD_7982 // succ: l09BD_7982 fn09BD_78FA_exit: // fn09BD_7B03 // Return size: 2 void fn09BD_7B03() fn09BD_7B03_entry: // succ: l09BD_7B03 l09BD_7B03: sp = fp bx = bx ^ bx SZO = cond(bx) C = false dx = dx ^ dx SZO = cond(dx) C = false ah = 0x42 call fn09BD_7686 (retsize: 2;) bx = bx | bx SZO = cond(bx) C = false branch Test(NE,Z) l09BD_7B1E // succ: l09BD_7B12 l09BD_7B1E l09BD_7B12: ax = 0xDE03 call fn09BD_7686 (retsize: 2;) edx = edx >>u 0x00000002 SCZO = cond(edx) bx = dx // succ: l09BD_7B1E l09BD_7B1E: return // succ: fn09BD_7B03_exit fn09BD_7B03_exit: // fn09BD_7B1F // Return size: 2 void fn09BD_7B1F() fn09BD_7B1F_entry: // succ: l09BD_7B1F l09BD_7B1F: sp = fp sp = sp - 0x0002 Mem0[ss:sp:word16] = dx v6 = Mem0[ds:0x0ECC:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v6 call fn09BD_7B03 (retsize: 2;) si = bx di = dx call fn09BD_6C64 (retsize: 2;) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 dx = Mem0[ss:sp:word16] sp = sp + 0x0002 v11 = Mem0[ds:0x0ECC:word16] Mem0[ds:0x0ECC:word16] = cx cx = v11 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_7B7A // succ: l09BD_7B38 l09BD_7B7A l09BD_7B38: sp = sp - 0x0002 Mem0[ss:sp:word16] = dx sp = sp - 0x0002 Mem0[ss:sp:word16] = cx call fn09BD_7B03 (retsize: 2;) cx = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = Mem0[ss:sp:word16] sp = sp + 0x0002 SCZO = cond(di - dx) v17 = ax ax = dx dx = v17 branch Test(NE,Z) l09BD_7B7B // succ: l09BD_7B44 l09BD_7B7B l09BD_7B44: SCZO = cond(si - bx) branch Test(NE,Z) l09BD_7B7B // succ: l09BD_7B48 l09BD_7B7B l09BD_7B48: dx = dx + Mem0[ds:0x0ECE:word16] SCZO = cond(dx) SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(NE,Z) l09BD_7B60 // succ: l09BD_7B55 l09BD_7B60 l09BD_7B55: SCZO = cond(dx - 0x3000) branch Test(ULE,CZ) l09BD_7B60 // succ: l09BD_7B5D l09BD_7B60 l09BD_7B5D: dx = 0x3000 // succ: l09BD_7B60 l09BD_7B60: ax = Mem0[ds:0x0ECA:word16] bx = ax ax = ax + cx SCZO = cond(ax) al = al & 0xFC SZO = cond(al) C = false bx = bx + 0x0003 SCZO = cond(bx) bl = bl & 0xFC SZO = cond(bl) C = false ax = ax - bx SCZO = cond(ax) Mem0[ds:0x0ECA:word16] = bx Mem0[ds:0x0DFA:word16] = ax ax = ax | ax SZO = cond(ax) C = false // succ: l09BD_7B7A l09BD_7B7A: return // succ: fn09BD_7B1F_exit l09BD_7B7B: sp = sp - 0x0002 Mem0[ss:sp:word16] = dx call fn09BD_1DEC (retsize: 2;) dx = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_7B1F_exit fn09BD_7B1F_exit: // fn09BD_7B85 // Return size: 2 void fn09BD_7B85() fn09BD_7B85_entry: goto l09BD_7B85 // succ: l09BD_7B85 l09BD_7B7A_in_fn09BD_7B85: return // succ: fn09BD_7B85_exit l09BD_7B7A_in_fn09BD_7B85: return // succ: fn09BD_7B85_exit l09BD_7B85: sp = fp eax = (word32) Mem0[ds:0x0DFA:word16] eax = eax << 0x0000000A SCZO = cond(eax) Mem0[ds:0x0AA8:word32] = eax branch Test(EQ,Z) l09BD_7B7A_in_fn09BD_7B85 // succ: l09BD_7B95 l09BD_7B7A_in_fn09BD_7B85 l09BD_7B95: eax = Mem0[ds:0x0098:word32] Mem0[0x09BD:0x7B81:word32] = eax SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(NE,Z) l09BD_7B7A_in_fn09BD_7B85 // succ: l09BD_7BA5 l09BD_7B7A_in_fn09BD_7B85 l09BD_7BA5: sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di cx = Mem0[ds:0x00AA:word16] ch = ch + 0x01 SZO = cond(ch) es = cx esi = esi ^ esi SZO = cond(esi) C = false call fn09BD_7BB8 (retsize: 2;) di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_7B85_exit fn09BD_7B85_exit: // fn09BD_7BB8 // Return size: 2 void fn09BD_7BB8() fn09BD_7BB8_entry: // succ: l09BD_7BB8 l09BD_7BB8: sp = fp eax = Mem0[0x09BD:0x7B81:word32] edi = (word32) Mem0[ds:0x0ECA:word16] ebx = 0x00001000 cx = Mem0[ds:0x0DFA:word16] cx = cx + di SCZO = cond(cx) eax = eax << 0x00000004 SCZO = cond(eax) eax = eax + ebx SCZO = cond(eax) eax = eax - 0x00000001 SZO = cond(eax) ax = ax & 0xF000 SZO = cond(ax) C = false ax = ax | 0x0C07 SZO = cond(ax) C = false // succ: l09BD_7BDE l09BD_7BDE: SCZO = cond(di - cx) branch Test(UGE,C) l09BD_7BF0 // succ: l09BD_7BE2 l09BD_7BF0 l09BD_7BE2: Mem0[es:esi + edi:word32] = eax di = di + 0x0004 SCZO = cond(di) eax = eax + ebx SCZO = cond(eax) goto l09BD_7BDE // succ: l09BD_7BDE l09BD_7BF0: edi = edi << 0x00000006 SCZO = cond(edi) Mem0[ds:0x00AC:word32] = edi return // succ: fn09BD_7BB8_exit fn09BD_7BB8_exit: // fn09BD_7C31 // Return size: 2 void fn09BD_7C31() fn09BD_7C31_entry: goto l09BD_7C31 // succ: l09BD_7C31 l09BD_79CB: ax = 0xBFDE bx = 0x0005 call fn09BD_0EF4 (retsize: 2;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_79F9 // succ: l09BD_79D8 l09BD_79F9 l09BD_79D8: es = Mem0[ss:0x00AA:selector] di = 0x0004 eax = Mem0[es:di - 0x0004:word32] Mem0[0x09BD:0x79C7:word32] = eax // succ: l09BD_79EA l09BD_79EA: branch cx == 0x0000 l09BD_79ED // succ: l09BD_79EA_1 l09BD_79ED l09BD_79EA_1: v15 = Mem0[ds:si:word32] Mem0[es:di:word32] = v15 si = si + 0x0004 di = di + 0x0004 cx = cx - 0x0001 goto l09BD_79EA // succ: l09BD_79EA l09BD_79ED: sp = sp - 0x0002 Mem0[ss:sp:word16] = ss ds = Mem0[ss:sp:selector] sp = sp + 0x0002 ax = 0xBFDE bx = 0x000B call fn09BD_0EF4 (retsize: 2;) return // succ: fn09BD_7C31_exit l09BD_79F9: Mem0[0x09BD:0x79C5:word16] = cx cx = cx << 0x0002 SCZO = cond(cx) cx = cx + di SCZO = cond(cx) ecx = (word32) cx ax = es eax = (word32) ax eax = eax << 0x00000004 SCZO = cond(eax) edi = (word32) di edi = edi + eax SCZO = cond(edi) ecx = ecx + eax SCZO = cond(ecx) sp = sp - 0x0004 Mem0[ss:sp:word32] = ecx sp = sp - 0x0004 Mem0[ss:sp:word32] = edi call fn09BD_0290 (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0038 es = Mem0[ss:sp:selector] sp = sp + 0x0002 edi = Mem0[ss:sp:word32] sp = sp + 0x0004 ebx = Mem0[ss:sp:word32] sp = sp + 0x0004 // succ: l09BD_7A29 l09BD_7A29: call fn0070_55B0 (retsize: 4;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_7A44 // succ: l09BD_7A32 l09BD_7A44 l09BD_7A32: SCZO = cond(edi - ebx) branch Test(ULT,C) l09BD_7A29 // succ: l09BD_7A37 l09BD_7A29 l09BD_7A37: branch Test(EQ,Z) l09BD_7A44 // succ: l09BD_7A39 l09BD_7A44 l09BD_7A39: edi = edi - 0x00000004 SCZO = cond(edi) Mem0[es:edi:byte] = 0x00 goto l09BD_7A32 // succ: l09BD_7A32 l09BD_7A44: sp = sp - 0x0002 Mem0[ss:sp:word16] = ax call fn09BD_092C (retsize: 2;) ax = Mem0[ss:sp:word16] sp = sp + 0x0002 ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_7A4B_thunk_fn09BD_78FA goto l09BD_7A4F // succ: l09BD_7A4F l09BD_7A4B_thunk_fn09BD_78FA l09BD_7A4B_thunk_fn09BD_78FA: call fn09BD_78FA (retsize: 0;) return // succ: fn09BD_7C31_exit l09BD_7A4F: cx = Mem0[0x09BD:0x79C5:word16] goto l09BD_79CB // succ: l09BD_79CB l09BD_7BFA: Mem0[0x09BD:0x79C5:word16] = cx es = Mem0[ds:0x00AA:selector] di = 0x0004 eax = Mem0[es:di - 0x0004:word32] Mem0[0x09BD:0x79C7:word32] = eax SCZO = cond(Mem0[ds:0x0E00:byte] - 0x00) branch Test(EQ,Z) l09BD_7C30 // succ: l09BD_7C17 l09BD_7C30 l09BD_7C17: ax = 0xDE04 __syscall(0x67) ah = ah | ah SZO = cond(ah) C = false branch Test(NE,Z) l09BD_7C1E_thunk_fn09BD_7875 goto l09BD_7C22 // succ: l09BD_7C22 l09BD_7C1E_thunk_fn09BD_7875 l09BD_7C1E_thunk_fn09BD_7875: call fn09BD_7875 (retsize: 0;) return // succ: fn09BD_7C31_exit l09BD_7C22: v18 = Mem0[ds:0x0DF6:word16] + 0x0001 Mem0[ds:0x0DF6:word16] = v18 SZO = cond(v18) dx = dx | 0x0807 SZO = cond(dx) C = false v20 = eax eax = edx edx = v20 Mem0[es:di:word32] = eax di = di + 0x0004 cx = cx - 0x0001 branch cx != 0x0000 l09BD_7C17 // succ: l09BD_7C30 l09BD_7C17 l09BD_7C30: return return // succ: fn09BD_7C31_exit fn09BD_7C31_exit l09BD_7C31: sp = fp SCZO = cond(Mem0[ds:0x0E00:byte] - 0x00) branch Test(EQ,Z) l09BD_7C30 // succ: l09BD_7C38 l09BD_7C30 l09BD_7C38: call fn09BD_199A (retsize: 2;) call fn09BD_016C (retsize: 2;) SCZO = cond(Mem0[ds:0x0DFF:byte] - 0x00) branch Test(EQ,Z) l09BD_7C5B // succ: l09BD_7C45 l09BD_7C5B l09BD_7C45: cx = Mem0[ds:0x0ECE:word16] cx = cx - 0x1000 SCZO = cond(cx) cx = cx >>u 0x000C SCZO = cond(cx) cx = cx + 0x0001 SZO = cond(cx) SZO = cond(Mem0[ds:0x0047:byte] & 0x80) C = false branch Test(EQ,Z) l09BD_7BFA // succ: l09BD_7C58 l09BD_7BFA l09BD_7C58: goto l09BD_79CB // succ: l09BD_79CB l09BD_7C5B: cx = Mem0[ds:0x0DFA:word16] branch cx == 0x0000 l09BD_7C30 // succ: l09BD_7C61 l09BD_7C30 l09BD_7C61: SCZO = cond(Mem0[ds:0x0ADC:word16] - 0x0000) branch Test(EQ,Z) l09BD_7C30 // succ: l09BD_7C68 l09BD_7C30 l09BD_7C68: sp = sp - 0x0002 Mem0[ss:sp:word16] = si sp = sp - 0x0002 Mem0[ss:sp:word16] = di eax = (word32) Mem0[ds:0x0ECA:word16] eax = eax << 0x0000000A SCZO = cond(eax) edx = Mem0[ds:0x0098:word32] edx = edx << 0x00000004 SCZO = cond(edx) edx = edx - eax SCZO = cond(edx) edx = -edx SCZO = cond(edx) C = edx == 0x00000000 dh = dh & 0x0F SZO = cond(dh) C = false sp = sp - 0x0004 Mem0[ss:sp:word32] = eax ax = ax | 0x0EEE SZO = cond(ax) C = false sp = sp - 0x0004 Mem0[ss:sp:word32] = eax bx = sp sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0000 sp = sp - 0x0002 Mem0[ss:sp:word16] = dx v26 = Mem0[ds:0x0ADC:word16] sp = sp - 0x0002 Mem0[ss:sp:word16] = v26 sp = sp - 0x0002 Mem0[ss:sp:word16] = ss sp = sp - 0x0002 Mem0[ss:sp:word16] = bx sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0000 sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0000 sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0004 si = sp edi = 0x00001000 cx = cx >>u 0x0002 SCZO = cond(cx) // succ: l09BD_7CA9 l09BD_7CA9: ah = 0x0B call Mem0[ds:0x0AEC:ptr32] (retsize: 4;) ax = ax | ax SZO = cond(ax) C = false branch Test(EQ,Z) l09BD_7CF0 // succ: l09BD_7CB3 l09BD_7CF0 l09BD_7CB3: v27 = Mem0[ds:bx:word32] + edi Mem0[ds:bx:word32] = v27 SCZO = cond(v27) v28 = Mem0[ds:si + 0x000C:word32] + edi Mem0[ds:si + 0x000C:word32] = v28 SCZO = cond(v28) cx = cx - 0x0001 branch cx != 0x0000 l09BD_7CA9 // succ: l09BD_7CBC l09BD_7CA9 l09BD_7CBC: call fn09BD_0290 (retsize: 2;) sp = sp - 0x0002 Mem0[ss:sp:word16] = 0x0038 es = Mem0[ss:sp:selector] sp = sp + 0x0002 bx = sp ebx = Mem0[ds:bx + 0x0014:word32] eax = ebx ax = ax | 0x0EEE SZO = cond(ax) C = false cx = Mem0[ds:0x0DFA:word16] cx = cx >>u 0x0002 SCZO = cond(cx) // succ: l09BD_7CD5 l09BD_7CD5: SCZO = cond(eax - Mem0[es:ebx:word32]) branch Test(NE,Z) l09BD_7CED // succ: l09BD_7CDC l09BD_7CED l09BD_7CDC: ebx = ebx + edi SCZO = cond(ebx) eax = eax + edi SCZO = cond(eax) cx = cx - 0x0001 branch cx != 0x0000 l09BD_7CD5 // succ: l09BD_7CE4 l09BD_7CD5 l09BD_7CE4: call fn09BD_092C (retsize: 2;) // succ: l09BD_7CE7 l09BD_7CE7: sp = sp + 0x0018 SCZO = cond(sp) di = Mem0[ss:sp:word16] sp = sp + 0x0002 si = Mem0[ss:sp:word16] sp = sp + 0x0002 return // succ: fn09BD_7C31_exit l09BD_7CED: call fn09BD_092C (retsize: 2;) // succ: l09BD_7CF0 l09BD_7CF0: cx = Mem0[ds:0x0DFA:word16] v29 = Mem0[ds:0x0ECA:word16] + cx Mem0[ds:0x0ECA:word16] = v29 SCZO = cond(v29) ax = Mem0[ds:0x00AA:word16] ah = ah + 0x02 SCZO = cond(ah) es = ax ax = ax ^ ax SZO = cond(ax) C = false di = di ^ di SZO = cond(di) C = false cx = cx >>u 0x0001 SCZO = cond(cx) // succ: l09BD_7D06 l09BD_7D06: branch cx == 0x0000 l09BD_7D08 // succ: l09BD_7D06_1 l09BD_7D08 l09BD_7D06_1: Mem0[es:di:word16] = ax di = di + 0x0002 cx = cx - 0x0001 goto l09BD_7D06 // succ: l09BD_7D06 l09BD_7D08: call fn09BD_1DEC (retsize: 2;) goto l09BD_7CE7 // succ: l09BD_7CE7 fn09BD_7C31_exit: