VirtualBox

Ignore:
Timestamp:
Jul 7, 2016 4:58:51 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
108606
Message:

5.1 RC1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative8086.asm

    r61733 r62120  
    988988    db  001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h
    989989_pktacc:                                     ; 0xf006a LB 0xc
    990     db  000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 07dh, 081h, 018h, 091h
     990    db  000h, 000h, 000h, 000h, 000h, 000h, 0a1h, 02bh, 082h, 081h, 01dh, 091h
    991991_softrst:                                    ; 0xf0076 LB 0xc
    992992    db  000h, 000h, 000h, 000h, 000h, 000h, 02ch, 02eh, 0bdh, 03bh, 0bdh, 03bh
    993993_dskacc:                                     ; 0xf0082 LB 0x2e
    994994    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 02ah, 046h, 02bh, 000h, 000h, 000h, 000h
    995     db  0abh, 07fh, 094h, 080h, 0e6h, 08fh, 090h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h
     995    db  0b0h, 07fh, 099h, 080h, 0ebh, 08fh, 095h, 090h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h
    996996    db  032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h
    997997
     
    11141114    db   'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h
    11151115
    1116 section CONST2 progbits vstart=0xd8e align=1 ; size=0x400 class=DATA group=DGROUP
    1117 _bios_cvs_version_string:                    ; 0xf0d8e LB 0x18
    1118     db  'VirtualBox 5.1.0_BETA3', 000h, 000h
    1119 _bios_prefix_string:                         ; 0xf0da6 LB 0x8
     1116section CONST2 progbits vstart=0xd8e align=1 ; size=0x3fe class=DATA group=DGROUP
     1117_bios_cvs_version_string:                    ; 0xf0d8e LB 0x16
     1118    db  'VirtualBox 5.1.0_RC1', 000h, 000h
     1119_bios_prefix_string:                         ; 0xf0da4 LB 0x8
    11201120    db  'BIOS: ', 000h, 000h
    1121 _isotag:                                     ; 0xf0dae LB 0x6
     1121_isotag:                                     ; 0xf0dac LB 0x6
    11221122    db  'CD001', 000h
    1123 _eltorito:                                   ; 0xf0db4 LB 0x18
     1123_eltorito:                                   ; 0xf0db2 LB 0x18
    11241124    db  'EL TORITO SPECIFICATION', 000h
    1125 _drivetypes:                                 ; 0xf0dcc LB 0x28
     1125_drivetypes:                                 ; 0xf0dca LB 0x28
    11261126    db  046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h
    11271127    db  069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h
    11281128    db  04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h
    1129 _scan_to_scanascii:                          ; 0xf0df4 LB 0x37a
     1129_scan_to_scanascii:                          ; 0xf0df2 LB 0x37a
    11301130    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h
    11311131    db  000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h
     
    11841184    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h
    11851185    db  000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h
    1186 _panic_msg_keyb_buffer_full:                 ; 0xf116e LB 0x20
     1186_panic_msg_keyb_buffer_full:                 ; 0xf116c LB 0x20
    11871187    db  '%s: keyboard input buffer full', 00ah, 000h
    11881188
    1189   ; Padding 0x472 bytes at 0xf118e
    1190   times 1138 db 0
     1189  ; Padding 0x474 bytes at 0xf118c
     1190  times 1140 db 0
    11911191
    1192 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d88 class=CODE group=AUTO
     1192section _TEXT progbits vstart=0x1600 align=1 ; size=0x8d98 class=CODE group=AUTO
    11931193rom_scan_:                                   ; 0xf1600 LB 0x52
    11941194    push bp                                   ; 55
     
    14181418    push bp                                   ; 55
    14191419    mov bp, sp                                ; 89 e5
    1420     mov bx, 00da6h                            ; bb a6 0d
     1420    mov bx, 00da4h                            ; bb a4 0d
    14211421    mov cx, ds                                ; 8c d9
    14221422    mov ax, strict word 00004h                ; b8 04 00
     
    14501450    int 010h                                  ; cd 10
    14511451    jmp short 017c3h                          ; eb 03
    1452     call 07b4fh                               ; e8 8c 63
     1452    call 07b54h                               ; e8 91 63
    14531453    mov sp, bp                                ; 89 ec
    14541454    pop bp                                    ; 5d
     
    15961596    mov bx, strict word 0000ah                ; bb 0a 00
    15971597    xor cx, cx                                ; 31 c9
    1598     call 0a020h                               ; e8 43 87
     1598    call 0a030h                               ; e8 53 87
    15991599    mov word [bp-008h], ax                    ; 89 46 f8
    16001600    mov cx, dx                                ; 89 d1
     
    18331833    mov dx, word [bp-026h]                    ; 8b 56 da
    18341834    mov si, word [bp-01eh]                    ; 8b 76 e2
    1835     call 0a050h                               ; e8 38 85
     1835    call 0a060h                               ; e8 48 85
    18361836    mov ax, dx                                ; 89 d0
    18371837    xor ah, dh                                ; 30 f4
     
    22942294    mov dx, word [es:si]                      ; 26 8b 14
    22952295    mov si, strict word 00018h                ; be 18 00
    2296     call 0a050h                               ; e8 be 80
     2296    call 0a060h                               ; e8 ce 80
    22972297    xor dh, dh                                ; 30 f6
    22982298    mov word [bp-014h], dx                    ; 89 56 ec
     
    23042304    mov dx, word [es:si]                      ; 26 8b 14
    23052305    mov si, strict word 00020h                ; be 20 00
    2306     call 0a050h                               ; e8 9e 80
     2306    call 0a060h                               ; e8 ae 80
    23072307    mov bx, dx                                ; 89 d3
    23082308    mov word [bp-010h], dx                    ; 89 56 f0
     
    23362336    mov dx, word [es:si]                      ; 26 8b 14
    23372337    mov si, strict word 00008h                ; be 08 00
    2338     call 0a050h                               ; e8 4b 80
     2338    call 0a060h                               ; e8 5b 80
    23392339    mov word [bp-010h], dx                    ; 89 56 f0
    23402340    mov bx, word [bp-016h]                    ; 8b 5e ea
     
    23452345    mov dx, word [es:si]                      ; 26 8b 14
    23462346    mov si, strict word 00018h                ; be 18 00
    2347     call 0a050h                               ; e8 2d 80
     2347    call 0a060h                               ; e8 3d 80
    23482348    mov bl, dl                                ; 88 d3
    23492349    and bl, 00fh                              ; 80 e3 0f
     
    27422742    lea ax, [bp-03eh]                         ; 8d 46 c2
    27432743    call 05b09h                               ; e8 08 37
    2744     mov bx, 00da6h                            ; bb a6 0d
     2744    mov bx, 00da4h                            ; bb a4 0d
    27452745    mov cx, ds                                ; 8c d9
    27462746    mov ax, strict word 00004h                ; b8 04 00
     
    29232923    mov dx, word [es:di+036h]                 ; 26 8b 55 36
    29242924    mov si, strict word 0000bh                ; be 0b 00
    2925     call 0a050h                               ; e8 51 7a
     2925    call 0a060h                               ; e8 61 7a
    29262926    mov word [bp-02ah], dx                    ; 89 56 d6
    29272927    mov word [bp-026h], cx                    ; 89 4e da
     
    32153215    mov dx, word [bp-022h]                    ; 8b 56 de
    32163216    mov si, strict word 00018h                ; be 18 00
    3217     call 0a050h                               ; e8 74 77
     3217    call 0a060h                               ; e8 84 77
    32183218    xor dh, dh                                ; 30 f6
    32193219    mov word [bp-014h], dx                    ; 89 56 ec
     
    32233223    mov dx, word [bp-022h]                    ; 8b 56 de
    32243224    mov si, strict word 00020h                ; be 20 00
    3225     call 0a050h                               ; e8 5d 77
     3225    call 0a060h                               ; e8 6d 77
    32263226    mov bx, dx                                ; 89 d3
    32273227    mov word [bp-024h], dx                    ; 89 56 dc
     
    32573257    mov dx, word [bp-022h]                    ; 8b 56 de
    32583258    mov si, strict word 00008h                ; be 08 00
    3259     call 0a050h                               ; e8 09 77
     3259    call 0a060h                               ; e8 19 77
    32603260    mov word [bp-00ch], ax                    ; 89 46 f4
    32613261    mov word [bp-020h], bx                    ; 89 5e e0
     
    32643264    mov word [bp-024h], dx                    ; 89 56 dc
    32653265    mov si, strict word 00010h                ; be 10 00
    3266     call 0a050h                               ; e8 f4 76
     3266    call 0a060h                               ; e8 04 77
    32673267    mov word [bp-022h], dx                    ; 89 56 de
    32683268    mov ax, dx                                ; 89 d0
     
    35313531    cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
    35323532    jne short 02bf6h                          ; 75 23
    3533     mov bx, 00da6h                            ; bb a6 0d
     3533    mov bx, 00da4h                            ; bb a4 0d
    35343534    mov cx, ds                                ; 8c d9
    35353535    mov ax, strict word 00004h                ; b8 04 00
     
    44144414    cmp ch, 048h                              ; 80 fd 48
    44154415    jbe short 03383h                          ; 76 31
    4416     mov bx, 00da6h                            ; bb a6 0d
     4416    mov bx, 00da4h                            ; bb a4 0d
    44174417    mov cx, ds                                ; 8c d9
    44184418    mov ax, strict word 00004h                ; b8 04 00
     
    52765276    mov word [bp+008h], ax                    ; 89 46 08
    52775277    jmp near 039f3h                           ; e9 8e fe
    5278     mov bx, 00da6h                            ; bb a6 0d
     5278    mov bx, 00da4h                            ; bb a4 0d
    52795279    mov cx, ds                                ; 8c d9
    52805280    mov ax, strict word 00004h                ; b8 04 00
     
    53785378    cmp ax, strict word 0004ah                ; 3d 4a 00
    53795379    jne short 03c57h                          ; 75 23
    5380     mov bx, 00da6h                            ; bb a6 0d
     5380    mov bx, 00da4h                            ; bb a4 0d
    53815381    mov cx, ds                                ; 8c d9
    53825382    mov ax, strict word 00004h                ; b8 04 00
     
    54865486    pop bp                                    ; 5d
    54875487    retn                                      ; c3
    5488     mov bx, 00da6h                            ; bb a6 0d
     5488    mov bx, 00da4h                            ; bb a4 0d
    54895489    mov cx, ds                                ; 8c d9
    54905490    mov ax, strict word 00004h                ; b8 04 00
     
    55745574    mov dx, ss                                ; 8c d2
    55755575    lea ax, [bp-026h]                         ; 8d 46 da
    5576     call 0a070h                               ; e8 3e 62
     5576    call 0a080h                               ; e8 4e 62
    55775577    mov word [bp-026h], strict word 00028h    ; c7 46 da 28 00
    55785578    mov ax, strict word 00011h                ; b8 11 00
     
    56375637    jnc short 03ee0h                          ; 73 10
    56385638    mov al, byte [bp+di-00825h]               ; 8a 83 db f7
    5639     cmp al, byte [di+00daeh]                  ; 3a 85 ae 0d
     5639    cmp al, byte [di+00dach]                  ; 3a 85 ac 0d
    56405640    je short 03ecah                           ; 74 f0
    56415641    mov ax, strict word 00005h                ; b8 05 00
     
    56475647    jnc short 03efah                          ; 73 10
    56485648    mov al, byte [bp+di-0081fh]               ; 8a 83 e1 f7
    5649     cmp al, byte [di+00db4h]                  ; 3a 85 b4 0d
     5649    cmp al, byte [di+00db2h]                  ; 3a 85 b2 0d
    56505650    je short 03ee4h                           ; 74 f0
    56515651    mov ax, strict word 00006h                ; b8 06 00
     
    59485948    cmp ax, dx                                ; 39 d0
    59495949    je short 04296h                           ; 74 2a
    5950     mov bx, 00da6h                            ; bb a6 0d
     5950    mov bx, 00da4h                            ; bb a4 0d
    59515951    mov cx, ds                                ; 8c d9
    59525952    mov ax, strict word 00004h                ; b8 04 00
     
    60666066    xor dl, dl                                ; 30 d2
    60676067    xor cx, cx                                ; 31 c9
    6068     call 0a000h                               ; e8 5a 5c
     6068    call 0a010h                               ; e8 6a 5c
    60696069    xor bx, bx                                ; 31 db
    60706070    add ax, si                                ; 01 f0
     
    60726072    mov bx, di                                ; 89 fb
    60736073    xor cx, cx                                ; 31 c9
    6074     call 0a000h                               ; e8 4d 5c
     6074    call 0a010h                               ; e8 5d 5c
    60756075    mov bx, ax                                ; 89 c3
    60766076    mov ax, word [bp-00ah]                    ; 8b 46 f6
     
    61076107    mov dx, ss                                ; 8c d2
    61086108    lea ax, [bp-030h]                         ; 8d 46 d0
    6109     call 0a070h                               ; e8 66 5c
     6109    call 0a080h                               ; e8 76 5c
    61106110    mov word [bp-030h], strict word 00028h    ; c7 46 d0 28 00
    61116111    mov ax, word [bp-00eh]                    ; 8b 46 f2
     
    61776177    test al, al                               ; 84 c0
    61786178    je short 044fbh                           ; 74 38
    6179     mov bx, 00da6h                            ; bb a6 0d
     6179    mov bx, 00da4h                            ; bb a4 0d
    61806180    mov cx, ds                                ; 8c d9
    61816181    mov ax, strict word 00004h                ; b8 04 00
     
    62796279    mov word [bp+016h], bx                    ; 89 5e 16
    62806280    jmp near 044ffh                           ; e9 33 ff
    6281     mov bx, 00da6h                            ; bb a6 0d
     6281    mov bx, 00da4h                            ; bb a4 0d
    62826282    mov cx, ds                                ; 8c d9
    62836283    mov ax, strict word 00004h                ; b8 04 00
     
    64036403    mov word [bp+016h], strict word 00007h    ; c7 46 16 07 00
    64046404    jmp near 04b9ah                           ; e9 49 04
    6405     mov bx, 00da6h                            ; bb a6 0d
     6405    mov bx, 00da4h                            ; bb a4 0d
    64066406    mov cx, ds                                ; 8c d9
    64076407    mov ax, strict word 00004h                ; b8 04 00
     
    64616461    mov dx, ss                                ; 8c d2
    64626462    lea ax, [bp-02eh]                         ; 8d 46 d2
    6463     call 0a070h                               ; e8 7e 58
     6463    call 0a080h                               ; e8 8e 58
    64646464    mov word [bp-02eh], strict word 00028h    ; c7 46 d2 28 00
    64656465    mov ax, word [bp-014h]                    ; 8b 46 ec
     
    65186518    cmp byte [bp-016h], 000h                  ; 80 7e ea 00
    65196519    je short 048deh                           ; 74 57
    6520     mov bx, 00da6h                            ; bb a6 0d
     6520    mov bx, 00da4h                            ; bb a4 0d
    65216521    mov cx, ds                                ; 8c d9
    65226522    mov ax, strict word 00004h                ; b8 04 00
     
    68286828    je short 04c38h                           ; 74 27
    68296829    mov dx, strict word 00001h                ; ba 01 00
    6830     mov bx, 00da6h                            ; bb a6 0d
     6830    mov bx, 00da4h                            ; bb a4 0d
    68316831    mov cx, ds                                ; 8c d9
    68326832    mov ax, strict word 00004h                ; b8 04 00
     
    68356835    mov dx, strict word 0000ah                ; ba 0a 00
    68366836    imul dx                                   ; f7 ea
    6837     add ax, 00dcch                            ; 05 cc 0d
     6837    add ax, 00dcah                            ; 05 ca 0d
    68386838    push ax                                   ; 50
    68396839    mov ax, 00494h                            ; b8 94 04
     
    68586858    test al, al                               ; 84 c0
    68596859    je short 04c70h                           ; 74 1f
    6860     mov bx, 00da6h                            ; bb a6 0d
     6860    mov bx, 00da4h                            ; bb a4 0d
    68616861    mov cx, ds                                ; 8c d9
    68626862    mov ax, strict word 00004h                ; b8 04 00
    68636863    call 01933h                               ; e8 d7 cc
    6864     mov cx, 00de0h                            ; b9 e0 0d
     6864    mov cx, 00ddeh                            ; b9 de 0d
    68656865    push cx                                   ; 51
    68666866    mov cx, 004a8h                            ; b9 a8 04
     
    68736873    test dl, dl                               ; 84 d2
    68746874    je short 04c84h                           ; 74 10
    6875     mov bx, 00da6h                            ; bb a6 0d
     6875    mov bx, 00da4h                            ; bb a4 0d
    68766876    mov cx, ds                                ; 8c d9
    68776877    mov ax, strict word 00004h                ; b8 04 00
    68786878    call 01933h                               ; e8 b4 cc
    6879     mov cx, 00deah                            ; b9 ea 0d
     6879    mov cx, 00de8h                            ; b9 e8 0d
    68806880    jmp short 04c5fh                          ; eb db
    68816881    test bl, 080h                             ; f6 c3 80
    68826882    je short 04c9ah                           ; 74 11
    6883     mov bx, 00da6h                            ; bb a6 0d
     6883    mov bx, 00da4h                            ; bb a4 0d
    68846884    mov cx, ds                                ; 8c d9
    68856885    mov ax, strict word 00004h                ; b8 04 00
    68866886    call 01933h                               ; e8 9f cc
    68876887    push si                                   ; 56
    6888     mov cx, 00dd6h                            ; b9 d6 0d
     6888    mov cx, 00dd4h                            ; b9 d4 0d
    68896889    jmp short 04ca9h                          ; eb 0f
    6890     mov bx, 00da6h                            ; bb a6 0d
     6890    mov bx, 00da4h                            ; bb a4 0d
    68916891    mov cx, ds                                ; 8c d9
    68926892    mov ax, strict word 00004h                ; b8 04 00
    68936893    call 01933h                               ; e8 8e cc
    68946894    push si                                   ; 56
    6895     mov cx, 00dcch                            ; b9 cc 0d
     6895    mov cx, 00dcah                            ; b9 ca 0d
    68966896    push cx                                   ; 51
    68976897    mov cx, 004bdh                            ; b9 bd 04
     
    69246924    push dx                                   ; 52
    69256925    mov dx, ax                                ; 89 c2
    6926     mov bx, 00da6h                            ; bb a6 0d
     6926    mov bx, 00da4h                            ; bb a4 0d
    69276927    mov cx, ds                                ; 8c d9
    69286928    mov ax, strict word 00004h                ; b8 04 00
     
    69936993    mov CL, strict byte 004h                  ; b1 04
    69946994    sar ax, CL                                ; d3 f8
    6995     call 07d8fh                               ; e8 07 30
     6995    call 07d94h                               ; e8 0c 30
    69966996    cmp byte [bp+004h], 002h                  ; 80 7e 04 02
    69976997    jne short 04d93h                          ; 75 05
     
    70147014    mov byte [bp-008h], al                    ; 88 46 f8
    70157015    mov byte [bp-00ah], al                    ; 88 46 f6
    7016     mov bx, 00da6h                            ; bb a6 0d
     7016    mov bx, 00da4h                            ; bb a4 0d
    70177017    mov cx, ds                                ; 8c d9
    70187018    mov ax, strict word 00004h                ; b8 04 00
     
    75167516    out DX, AL                                ; ee
    75177517    xor ax, ax                                ; 31 c0
    7518     call 066ffh                               ; e8 ef 14
     7518    call 06704h                               ; e8 f4 14
    75197519    mov sp, bp                                ; 89 ec
    75207520    pop bp                                    ; 5d
     
    76167616    test al, al                               ; 84 c0
    76177617    jne short 052dfh                          ; 75 1c
    7618     mov bx, 00da6h                            ; bb a6 0d
     7618    mov bx, 00da4h                            ; bb a4 0d
    76197619    mov cx, ds                                ; 8c d9
    76207620    mov ax, strict word 00004h                ; b8 04 00
     
    79687968    cmp byte [bp-004h], 058h                  ; 80 7e fc 58
    79697969    jbe short 05675h                          ; 76 22
    7970     mov bx, 00da6h                            ; bb a6 0d
     7970    mov bx, 00da4h                            ; bb a4 0d
    79717971    mov cx, ds                                ; 8c d9
    79727972    mov ax, strict word 00004h                ; b8 04 00
     
    79907990    imul bx                                   ; f7 eb
    79917991    mov bx, ax                                ; 89 c3
    7992     mov al, byte [bx+00dfah]                  ; 8a 87 fa 0d
     7992    mov al, byte [bx+00df8h]                  ; 8a 87 f8 0d
    79937993    mov byte [bp-012h], al                    ; 88 46 ee
    7994     mov al, byte [bx+00dfbh]                  ; 8a 87 fb 0d
     7994    mov al, byte [bx+00df9h]                  ; 8a 87 f9 0d
    79957995    jmp near 05748h                           ; e9 b2 00
    79967996    test AL, strict byte 004h                 ; a8 04
     
    80018001    imul dx                                   ; f7 ea
    80028002    mov bx, ax                                ; 89 c3
    8003     mov al, byte [bx+00df8h]                  ; 8a 87 f8 0d
     8003    mov al, byte [bx+00df6h]                  ; 8a 87 f6 0d
    80048004    mov byte [bp-012h], al                    ; 88 46 ee
    8005     mov al, byte [bx+00df9h]                  ; 8a 87 f9 0d
     8005    mov al, byte [bx+00df7h]                  ; 8a 87 f7 0d
    80068006    jmp near 05748h                           ; e9 94 00
    80078007    mov al, byte [bp-010h]                    ; 8a 46 f0
     
    80278027    imul dx                                   ; f7 ea
    80288028    mov bx, ax                                ; 89 c3
    8029     mov al, byte [bx+00dfch]                  ; 8a 87 fc 0d
     8029    mov al, byte [bx+00dfah]                  ; 8a 87 fa 0d
    80308030    xor ah, ah                                ; 30 e4
    80318031    mov dx, ax                                ; 89 c2
     
    80338033    test ax, dx                               ; 85 d0
    80348034    je short 05705h                           ; 74 0d
     8035    mov al, byte [bx+00df2h]                  ; 8a 87 f2 0d
     8036    mov byte [bp-012h], al                    ; 88 46 ee
     8037    mov al, byte [bx+00df3h]                  ; 8a 87 f3 0d
     8038    jmp short 05710h                          ; eb 0b
    80358039    mov al, byte [bx+00df4h]                  ; 8a 87 f4 0d
    80368040    mov byte [bp-012h], al                    ; 88 46 ee
    80378041    mov al, byte [bx+00df5h]                  ; 8a 87 f5 0d
    8038     jmp short 05710h                          ; eb 0b
    8039     mov al, byte [bx+00df6h]                  ; 8a 87 f6 0d
    8040     mov byte [bp-012h], al                    ; 88 46 ee
    8041     mov al, byte [bx+00df7h]                  ; 8a 87 f7 0d
    80428042    mov byte [bp-004h], al                    ; 88 46 fc
    80438043    jmp short 0574bh                          ; eb 36
     
    80478047    imul bx                                   ; f7 eb
    80488048    mov bx, ax                                ; 89 c3
    8049     mov al, byte [bx+00dfch]                  ; 8a 87 fc 0d
     8049    mov al, byte [bx+00dfah]                  ; 8a 87 fa 0d
    80508050    xor ah, ah                                ; 30 e4
    80518051    mov dx, ax                                ; 89 c2
     
    80538053    test ax, dx                               ; 85 d0
    80548054    je short 0573dh                           ; 74 0d
    8055     mov al, byte [bx+00df6h]                  ; 8a 87 f6 0d
    8056     mov byte [bp-012h], al                    ; 88 46 ee
    8057     mov al, byte [bx+00df7h]                  ; 8a 87 f7 0d
    8058     jmp short 05748h                          ; eb 0b
    80598055    mov al, byte [bx+00df4h]                  ; 8a 87 f4 0d
    80608056    mov byte [bp-012h], al                    ; 88 46 ee
    80618057    mov al, byte [bx+00df5h]                  ; 8a 87 f5 0d
     8058    jmp short 05748h                          ; eb 0b
     8059    mov al, byte [bx+00df2h]                  ; 8a 87 f2 0d
     8060    mov byte [bp-012h], al                    ; 88 46 ee
     8061    mov al, byte [bx+00df3h]                  ; 8a 87 f3 0d
    80628062    mov byte [bp-004h], al                    ; 88 46 fc
    80638063    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
     
    80658065    cmp byte [bp-012h], 000h                  ; 80 7e ee 00
    80668066    jne short 05770h                          ; 75 19
    8067     mov bx, 00da6h                            ; bb a6 0d
     8067    mov bx, 00da4h                            ; bb a4 0d
    80688068    mov cx, ds                                ; 8c d9
    80698069    mov ax, strict word 00004h                ; b8 04 00
     
    82698269    mov word [bp+012h], ax                    ; 89 46 12
    82708270    jmp near 05963h                           ; e9 4a 00
    8271     mov bx, 00da6h                            ; bb a6 0d
     8271    mov bx, 00da4h                            ; bb a4 0d
    82728272    mov cx, ds                                ; 8c d9
    82738273    mov ax, strict word 00004h                ; b8 04 00
     
    82838283    call 01976h                               ; e8 3f c0
    82848284    add sp, strict byte 00006h                ; 83 c4 06
    8285     mov bx, 00da6h                            ; bb a6 0d
     8285    mov bx, 00da4h                            ; bb a4 0d
    82868286    mov cx, ds                                ; 8c d9
    82878287    mov ax, strict word 00004h                ; b8 04 00
     
    84958495    mov dx, word [bp+00ch]                    ; 8b 56 0c
    84968496    mov si, strict word 00020h                ; be 20 00
    8497     call 0a050h                               ; e8 18 45
     8497    call 0a060h                               ; e8 28 45
    84988498    test ax, ax                               ; 85 c0
    84998499    jne short 05b48h                          ; 75 0c
     
    85338533    mov bx, strict word 0003fh                ; bb 3f 00
    85348534    xor cx, cx                                ; 31 c9
    8535     call 0a000h                               ; e8 6f 44
     8535    call 0a010h                               ; e8 7f 44
    85368536    mov bx, ax                                ; 89 c3
    85378537    mov cx, dx                                ; 89 d1
    85388538    mov ax, word [bp-004h]                    ; 8b 46 fc
    85398539    mov dx, si                                ; 89 f2
    8540     call 0a020h                               ; e8 83 44
     8540    call 0a030h                               ; e8 93 44
    85418541    mov word [es:di+002h], ax                 ; 26 89 45 02
    85428542    cmp ax, 00400h                            ; 3d 00 04
     
    86778677    test ax, ax                               ; 85 c0
    86788678    jne short 05d14h                          ; 75 29
    8679     mov bx, 00da6h                            ; bb a6 0d
     8679    mov bx, 00da4h                            ; bb a4 0d
    86808680    mov cx, ds                                ; 8c d9
    86818681    mov ax, strict word 00004h                ; b8 04 00
     
    87118711    cmp di, dx                                ; 39 d7
    87128712    jbe short 05d73h                          ; 76 31
    8713     mov bx, 00da6h                            ; bb a6 0d
     8713    mov bx, 00da4h                            ; bb a4 0d
    87148714    mov cx, ds                                ; 8c d9
    87158715    mov ax, strict word 00004h                ; b8 04 00
     
    87558755    mov bx, cx                                ; 89 cb
    87568756    xor cx, cx                                ; 31 c9
    8757     call 0a000h                               ; e8 4e 42
     8757    call 0a010h                               ; e8 5e 42
    87588758    xor bx, bx                                ; 31 db
    87598759    add ax, word [bp-00ch]                    ; 03 46 f4
     
    87618761    mov bx, word [bp-010h]                    ; 8b 5e f0
    87628762    xor cx, cx                                ; 31 c9
    8763     call 0a000h                               ; e8 3f 42
     8763    call 0a010h                               ; e8 4f 42
    87648764    xor bx, bx                                ; 31 db
    87658765    add ax, di                                ; 01 f8
     
    88198819    test dl, dl                               ; 84 d2
    88208820    je short 05ebch                           ; 74 4a
    8821     mov bx, 00da6h                            ; bb a6 0d
     8821    mov bx, 00da4h                            ; bb a4 0d
    88228822    mov cx, ds                                ; 8c d9
    88238823    mov ax, strict word 00004h                ; b8 04 00
     
    88408840    or ah, 00ch                               ; 80 cc 0c
    88418841    jmp near 06002h                           ; e9 5f 01
    8842     mov bx, 00da6h                            ; bb a6 0d
     8842    mov bx, 00da4h                            ; bb a4 0d
    88438843    mov cx, ds                                ; 8c d9
    88448844    mov ax, strict word 00004h                ; b8 04 00
     
    89358935    mov bx, word [bp-00ch]                    ; 8b 5e f4
    89368936    xor cx, cx                                ; 31 c9
    8937     call 0a000h                               ; e8 68 40
     8937    call 0a010h                               ; e8 78 40
    89388938    mov bx, di                                ; 89 fb
    89398939    xor cx, cx                                ; 31 c9
    8940     call 0a000h                               ; e8 61 40
     8940    call 0a010h                               ; e8 71 40
    89418941    mov word [bp-008h], ax                    ; 89 46 f8
    89428942    mov word [bp-006h], dx                    ; 89 56 fa
     
    89488948    mov word [bp+016h], ax                    ; 89 46 16
    89498949    jmp near 05ec0h                           ; e9 07 ff
    8950     mov bx, 00da6h                            ; bb a6 0d
     8950    mov bx, 00da4h                            ; bb a4 0d
    89518951    mov cx, ds                                ; 8c d9
    89528952    mov ax, strict word 00004h                ; b8 04 00
     
    89648964    add sp, strict byte 00008h                ; 83 c4 08
    89658965    jmp near 05ebch                           ; e9 dd fe
    8966     mov bx, 00da6h                            ; bb a6 0d
     8966    mov bx, 00da4h                            ; bb a4 0d
    89678967    mov cx, ds                                ; 8c d9
    89688968    mov ax, strict word 00004h                ; b8 04 00
     
    90789078    mov word [bp+014h], strict word 00007h    ; c7 46 14 07 00
    90799079    jmp near 0651dh                           ; e9 31 04
    9080     mov bx, 00da6h                            ; bb a6 0d
     9080    mov bx, 00da4h                            ; bb a4 0d
    90819081    mov cx, ds                                ; 8c d9
    90829082    mov ax, strict word 00004h                ; b8 04 00
     
    91049104    xor bx, bx                                ; 31 db
    91059105    mov si, strict word 00020h                ; be 20 00
    9106     call 0a060h                               ; e8 26 3f
     9106    call 0a070h                               ; e8 36 3f
    91079107    mov word [bp-00eh], ax                    ; 89 46 f2
    91089108    mov word [bp-010h], bx                    ; 89 5e f0
     
    91349134    cmp si, word [es:bx+036h]                 ; 26 3b 77 36
    91359135    jc short 061b2h                           ; 72 26
    9136     mov bx, 00da6h                            ; bb a6 0d
     9136    mov bx, 00da4h                            ; bb a4 0d
    91379137    mov cx, ds                                ; 8c d9
    91389138    mov ax, strict word 00004h                ; b8 04 00
     
    91969196    test dl, dl                               ; 84 d2
    91979197    je short 062a0h                           ; 74 54
    9198     mov bx, 00da6h                            ; bb a6 0d
     9198    mov bx, 00da4h                            ; bb a4 0d
    91999199    mov cx, ds                                ; 8c d9
    92009200    mov ax, strict word 00004h                ; b8 04 00
     
    92699269    mov dx, si                                ; 89 f2
    92709270    mov si, strict word 00020h                ; be 20 00
    9271     call 0a050h                               ; e8 1f 3d
     9271    call 0a060h                               ; e8 2f 3d
    92729272    mov bx, di                                ; 89 fb
    92739273    mov word [es:bx+014h], dx                 ; 26 89 57 14
     
    94569456    or byte [bp+01ch], 001h                   ; 80 4e 1c 01
    94579457    jmp short 0652ch                          ; eb c7
    9458 _int14_function:                             ; 0xf6565 LB 0x157
     9458_int14_function:                             ; 0xf6565 LB 0x15c
    94599459    push bp                                   ; 55
    94609460    mov bp, sp                                ; 89 e5
     
    94769476    test si, si                               ; 85 f6
    94779477    jnbe short 06594h                         ; 77 03
    9478     jmp near 066b2h                           ; e9 1e 01
     9478    jmp near 066b7h                           ; e9 23 01
    94799479    mov al, byte [bp+013h]                    ; 8a 46 13
    94809480    cmp AL, strict byte 001h                  ; 3c 01
    94819481    jc short 065a8h                           ; 72 0d
    9482     jbe short 06603h                          ; 76 66
     9482    jbe short 06608h                          ; 76 6b
    94839483    cmp AL, strict byte 003h                  ; 3c 03
    9484     je short 065fbh                           ; 74 5a
     9484    je short 06600h                           ; 74 5f
    94859485    cmp AL, strict byte 002h                  ; 3c 02
    9486     je short 065feh                           ; 74 59
    9487     jmp near 066ach                           ; e9 04 01
     9486    je short 06603h                           ; 74 5e
     9487    jmp near 066b1h                           ; e9 09 01
    94889488    test al, al                               ; 84 c0
    9489     jne short 06600h                          ; 75 54
     9489    jne short 06605h                          ; 75 59
    94909490    lea dx, [bx+003h]                         ; 8d 57 03
    94919491    in AL, DX                                 ; ec
     
    94949494    or AL, strict byte 080h                   ; 0c 80
    94959495    out DX, AL                                ; ee
     9496    lea si, [bx+001h]                         ; 8d 77 01
    94969497    mov al, byte [bp+012h]                    ; 8a 46 12
     9498    test AL, strict byte 0e0h                 ; a8 e0
     9499    jne short 065cbh                          ; 75 0c
     9500    mov AL, strict byte 017h                  ; b0 17
     9501    mov dx, bx                                ; 89 da
     9502    out DX, AL                                ; ee
     9503    mov AL, strict byte 004h                  ; b0 04
     9504    mov dx, si                                ; 89 f2
     9505    out DX, AL                                ; ee
     9506    jmp short 065e2h                          ; eb 17
    94979507    and AL, strict byte 0e0h                  ; 24 e0
    94989508    xor ah, ah                                ; 30 e4
     
    95059515    out DX, AL                                ; ee
    95069516    mov al, ah                                ; 88 e0
    9507     lea dx, [bx+001h]                         ; 8d 57 01
     9517    mov dx, si                                ; 89 f2
    95089518    out DX, AL                                ; ee
    95099519    mov al, byte [bp+012h]                    ; 8a 46 12
     
    95219531    ; sub ah, ah                                ; 2a e4
    95229532    mov byte [bp+012h], al                    ; 88 46 12
    9523     jmp near 0668dh                           ; e9 9f 00
    9524     mov AL, strict byte 017h                  ; b0 17
    9525     mov dx, bx                                ; 89 da
    9526     out DX, AL                                ; ee
    9527     lea dx, [bx+001h]                         ; 8d 57 01
    9528     mov AL, strict byte 004h                  ; b0 04
    9529     out DX, AL                                ; ee
    9530     jmp short 065d0h                          ; eb d5
    9531     jmp near 0669bh                           ; e9 9d 00
    9532     jmp short 06651h                          ; eb 51
    9533     jmp near 066ach                           ; e9 a9 00
     9533    jmp near 06692h                           ; e9 92 00
     9534    jmp near 066a0h                           ; e9 9d 00
     9535    jmp short 06656h                          ; eb 51
     9536    jmp near 066b1h                           ; e9 a9 00
    95349537    mov dx, strict word 0006ch                ; ba 6c 00
    95359538    mov ax, strict word 00040h                ; b8 40 00
    9536     call 0166eh                               ; e8 62 b0
     9539    call 0166eh                               ; e8 5d b0
    95379540    mov si, ax                                ; 89 c6
    95389541    lea dx, [bx+005h]                         ; 8d 57 05
     
    95429545    and ax, strict word 00060h                ; 25 60 00
    95439546    cmp ax, strict word 00060h                ; 3d 60 00
    9544     je short 06633h                           ; 74 17
     9547    je short 06638h                           ; 74 17
    95459548    test cl, cl                               ; 84 c9
    9546     je short 06633h                           ; 74 13
     9549    je short 06638h                           ; 74 13
    95479550    mov dx, strict word 0006ch                ; ba 6c 00
    95489551    mov ax, strict word 00040h                ; b8 40 00
    9549     call 0166eh                               ; e8 45 b0
     9552    call 0166eh                               ; e8 40 b0
    95509553    cmp ax, si                                ; 39 f0
    9551     je short 0660eh                           ; 74 e1
     9554    je short 06613h                           ; 74 e1
    95529555    mov si, ax                                ; 89 c6
    95539556    db  0feh, 0c9h
    95549557    ; dec cl                                    ; fe c9
    9555     jmp short 0660eh                          ; eb db
     9558    jmp short 06613h                          ; eb db
    95569559    test cl, cl                               ; 84 c9
    9557     je short 0663dh                           ; 74 06
     9560    je short 06642h                           ; 74 06
    95589561    mov al, byte [bp+012h]                    ; 8a 46 12
    95599562    mov dx, bx                                ; 89 da
     
    95659568    mov byte [bp+013h], al                    ; 88 46 13
    95669569    test cl, cl                               ; 84 c9
    9567     jne short 0668dh                          ; 75 43
     9570    jne short 06692h                          ; 75 43
    95689571    or AL, strict byte 080h                   ; 0c 80
    95699572    mov byte [bp+013h], al                    ; 88 46 13
    9570     jmp short 0668dh                          ; eb 3c
     9573    jmp short 06692h                          ; eb 3c
    95719574    mov dx, strict word 0006ch                ; ba 6c 00
    95729575    mov ax, strict word 00040h                ; b8 40 00
    9573     call 0166eh                               ; e8 14 b0
     9576    call 0166eh                               ; e8 0f b0
    95749577    mov si, ax                                ; 89 c6
    95759578    lea dx, [bx+005h]                         ; 8d 57 05
     
    95789581    ; sub ah, ah                                ; 2a e4
    95799582    test AL, strict byte 001h                 ; a8 01
    9580     jne short 0667dh                          ; 75 17
     9583    jne short 06682h                          ; 75 17
    95819584    test cl, cl                               ; 84 c9
    9582     je short 0667dh                           ; 74 13
     9585    je short 06682h                           ; 74 13
    95839586    mov dx, strict word 0006ch                ; ba 6c 00
    95849587    mov ax, strict word 00040h                ; b8 40 00
    9585     call 0166eh                               ; e8 fb af
     9588    call 0166eh                               ; e8 f6 af
    95869589    cmp ax, si                                ; 39 f0
    9587     je short 0665ch                           ; 74 e5
     9590    je short 06661h                           ; 74 e5
    95889591    mov si, ax                                ; 89 c6
    95899592    db  0feh, 0c9h
    95909593    ; dec cl                                    ; fe c9
    9591     jmp short 0665ch                          ; eb df
     9594    jmp short 06661h                          ; eb df
    95929595    test cl, cl                               ; 84 c9
    9593     je short 06693h                           ; 74 12
     9596    je short 06698h                           ; 74 12
    95949597    mov byte [bp+013h], 000h                  ; c6 46 13 00
    95959598    mov dx, bx                                ; 89 da
     
    95999602    mov byte [bp+012h], al                    ; 88 46 12
    96009603    and byte [bp+01ch], 0feh                  ; 80 66 1c fe
    9601     jmp short 066b6h                          ; eb 23
     9604    jmp short 066bbh                          ; eb 23
    96029605    lea dx, [bx+005h]                         ; 8d 57 05
    96039606    in AL, DX                                 ; ec
    96049607    db  02ah, 0e4h
    96059608    ; sub ah, ah                                ; 2a e4
    9606     jmp short 0664ch                          ; eb b1
     9609    jmp short 06651h                          ; eb b1
    96079610    lea dx, [si+005h]                         ; 8d 54 05
    96089611    in AL, DX                                 ; ec
     
    96149617    db  02ah, 0e4h
    96159618    ; sub ah, ah                                ; 2a e4
    9616     jmp short 0668ah                          ; eb de
     9619    jmp short 0668fh                          ; eb de
    96179620    or byte [bp+01ch], 001h                   ; 80 4e 1c 01
    9618     jmp short 066b6h                          ; eb 04
     9621    jmp short 066bbh                          ; eb 04
    96199622    or byte [bp+01ch], 001h                   ; 80 4e 1c 01
    96209623    lea sp, [bp-002h]                         ; 8d 66 fe
     
    96229625    pop bp                                    ; 5d
    96239626    retn                                      ; c3
    9624 timer_wait_:                                 ; 0xf66bc LB 0x43
     9627timer_wait_:                                 ; 0xf66c1 LB 0x43
    96259628    push bp                                   ; 55
    96269629    mov bp, sp                                ; 89 e5
     
    96309633    mov bx, strict word 0000fh                ; bb 0f 00
    96319634    xor cx, cx                                ; 31 c9
    9632     call 0a020h                               ; e8 56 39
     9635    call 0a030h                               ; e8 61 39
    96339636    mov cx, ax                                ; 89 c1
    96349637    mov bx, dx                                ; 89 d3
     
    96429645    adc bx, strict byte 0ffffh                ; 83 d3 ff
    96439646    cmp bx, strict byte 0ffffh                ; 83 fb ff
    9644     jne short 066e9h                          ; 75 05
     9647    jne short 066eeh                          ; 75 05
    96459648    cmp cx, strict byte 0ffffh                ; 83 f9 ff
    9646     je short 066f8h                           ; 74 0f
     9649    je short 066fdh                           ; 74 0f
    96479650    mov dx, strict word 00061h                ; ba 61 00
    96489651    in AL, DX                                 ; ec
     
    96519654    and AL, strict byte 010h                  ; 24 10
    96529655    cmp al, byte [bp-006h]                    ; 3a 46 fa
    9653     jne short 066e9h                          ; 75 f3
    9654     jmp short 066d9h                          ; eb e1
     9656    jne short 066eeh                          ; 75 f3
     9657    jmp short 066deh                          ; eb e1
    96559658    lea sp, [bp-004h]                         ; 8d 66 fc
    96569659    pop cx                                    ; 59
     
    96589661    pop bp                                    ; 5d
    96599662    retn                                      ; c3
    9660 set_enable_a20_:                             ; 0xf66ff LB 0x30
     9663set_enable_a20_:                             ; 0xf6704 LB 0x30
    96619664    push bp                                   ; 55
    96629665    mov bp, sp                                ; 89 e5
     
    96719674    mov cl, al                                ; 88 c1
    96729675    test bx, bx                               ; 85 db
    9673     je short 06718h                           ; 74 05
     9676    je short 0671dh                           ; 74 05
    96749677    or AL, strict byte 002h                   ; 0c 02
    96759678    out DX, AL                                ; ee
    9676     jmp short 0671bh                          ; eb 03
     9679    jmp short 06720h                          ; eb 03
    96779680    and AL, strict byte 0fdh                  ; 24 fd
    96789681    out DX, AL                                ; ee
    96799682    test cl, 002h                             ; f6 c1 02
    9680     je short 06725h                           ; 74 05
     9683    je short 0672ah                           ; 74 05
    96819684    mov ax, strict word 00001h                ; b8 01 00
    9682     jmp short 06727h                          ; eb 02
     9685    jmp short 0672ch                          ; eb 02
    96839686    xor ax, ax                                ; 31 c0
    96849687    lea sp, [bp-006h]                         ; 8d 66 fa
     
    96889691    pop bp                                    ; 5d
    96899692    retn                                      ; c3
    9690 set_e820_range_:                             ; 0xf672f LB 0x88
     9693set_e820_range_:                             ; 0xf6734 LB 0x88
    96919694    push si                                   ; 56
    96929695    push bp                                   ; 55
     
    97189721    retn 0000ah                               ; c2 0a 00
    97199722    db  0ech, 0e9h, 0d8h, 0c1h, 0c0h, 0bfh, 091h, 090h, 089h, 088h, 083h, 052h, 04fh, 041h, 024h, 000h
    9720     db  0c4h, 06ah, 0f3h, 067h, 007h, 068h, 0a3h, 068h, 0a9h, 068h, 0aeh, 068h, 0b3h, 068h, 05bh, 069h
    9721     db  07fh, 069h, 09ch, 068h, 09ch, 068h, 049h, 06ah, 074h, 06ah, 087h, 06ah, 096h, 06ah, 0a3h, 068h
    9722     db  09fh, 06ah
    9723 _int15_function:                             ; 0xf67b7 LB 0x343
     9723    db  0c9h, 06ah, 0f8h, 067h, 00ch, 068h, 0a8h, 068h, 0aeh, 068h, 0b3h, 068h, 0b8h, 068h, 060h, 069h
     9724    db  084h, 069h, 0a1h, 068h, 0a1h, 068h, 04eh, 06ah, 079h, 06ah, 08ch, 06ah, 09bh, 06ah, 0a8h, 068h
     9725    db  0a4h, 06ah
     9726_int15_function:                             ; 0xf67bc LB 0x343
    97249727    push bp                                   ; 55
    97259728    mov bp, sp                                ; 89 e5
     
    97309733    mov dx, ax                                ; 89 c2
    97319734    cmp ax, 000ech                            ; 3d ec 00
    9732     jnbe short 067fdh                         ; 77 35
     9735    jnbe short 06802h                         ; 77 35
    97339736    push CS                                   ; 0e
    97349737    pop ES                                    ; 07
    97359738    mov cx, strict word 00011h                ; b9 11 00
    9736     mov di, 06785h                            ; bf 85 67
     9739    mov di, 0678ah                            ; bf 8a 67
    97379740    repne scasb                               ; f2 ae
    97389741    sal cx, 1                                 ; d1 e1
    97399742    mov di, cx                                ; 89 cf
    9740     mov si, word [cs:di+06795h]               ; 2e 8b b5 95 67
     9743    mov si, word [cs:di+0679ah]               ; 2e 8b b5 9a 67
    97419744    mov ax, word [bp+012h]                    ; 8b 46 12
    97429745    xor ah, ah                                ; 30 e4
     
    97519754    xor ah, ah                                ; 30 e4
    97529755    cmp ax, 000c0h                            ; 3d c0 00
    9753     je short 06800h                           ; 74 03
    9754     jmp near 06ac4h                           ; e9 c4 02
     9756    je short 06805h                           ; 74 03
     9757    jmp near 06ac9h                           ; e9 c4 02
    97559758    or byte [bp+018h], 001h                   ; 80 4e 18 01
    9756     jmp near 06a6bh                           ; e9 64 02
     9759    jmp near 06a70h                           ; e9 64 02
    97579760    mov dx, ax                                ; 89 c2
    97589761    cmp ax, strict word 00001h                ; 3d 01 00
    9759     jc short 0681ch                           ; 72 0e
    9760     jbe short 06830h                          ; 76 20
     9762    jc short 06821h                           ; 72 0e
     9763    jbe short 06835h                          ; 76 20
    97619764    cmp ax, strict word 00003h                ; 3d 03 00
    9762     je short 06861h                           ; 74 4c
     9765    je short 06866h                           ; 74 4c
    97639766    cmp ax, strict word 00002h                ; 3d 02 00
    9764     je short 06840h                           ; 74 26
    9765     jmp short 0686eh                          ; eb 52
     9767    je short 06845h                           ; 74 26
     9768    jmp short 06873h                          ; eb 52
    97669769    test ax, ax                               ; 85 c0
    9767     jne short 0686eh                          ; 75 4e
     9770    jne short 06873h                          ; 75 4e
    97689771    xor ax, ax                                ; 31 c0
    9769     call 066ffh                               ; e8 da fe
     9772    call 06704h                               ; e8 da fe
    97709773    and byte [bp+018h], 0feh                  ; 80 66 18 fe
    97719774    mov byte [bp+013h], 000h                  ; c6 46 13 00
    9772     jmp near 0689ch                           ; e9 6c 00
     9775    jmp near 068a1h                           ; e9 6c 00
    97739776    mov ax, strict word 00001h                ; b8 01 00
    9774     call 066ffh                               ; e8 c9 fe
     9777    call 06704h                               ; e8 c9 fe
    97759778    and byte [bp+018h], 0feh                  ; 80 66 18 fe
    97769779    mov byte [bp+013h], dh                    ; 88 76 13
    9777     jmp near 0689ch                           ; e9 5c 00
     9780    jmp near 068a1h                           ; e9 5c 00
    97789781    mov dx, 00092h                            ; ba 92 00
    97799782    in AL, DX                                 ; ec
     
    97899792    xor al, dl                                ; 30 d0
    97909793    mov byte [bp+013h], al                    ; 88 46 13
    9791     jmp near 0689ch                           ; e9 3b 00
     9794    jmp near 068a1h                           ; e9 3b 00
    97929795    and byte [bp+018h], 0feh                  ; 80 66 18 fe
    97939796    mov byte [bp+013h], ah                    ; 88 66 13
    97949797    mov word [bp+00ch], ax                    ; 89 46 0c
    9795     jmp near 0689ch                           ; e9 2e 00
    9796     mov bx, 00da6h                            ; bb a6 0d
     9798    jmp near 068a1h                           ; e9 2e 00
     9799    mov bx, 00da4h                            ; bb a4 0d
    97979800    mov cx, ds                                ; 8c d9
    97989801    mov ax, strict word 00004h                ; b8 04 00
    9799     call 01933h                               ; e8 ba b0
     9802    call 01933h                               ; e8 b5 b0
    98009803    mov ax, word [bp+012h]                    ; 8b 46 12
    98019804    xor ah, ah                                ; 30 e4
     
    98059808    mov ax, strict word 00004h                ; b8 04 00
    98069809    push ax                                   ; 50
    9807     call 01976h                               ; e8 ec b0
     9810    call 01976h                               ; e8 e7 b0
    98089811    add sp, strict byte 00006h                ; 83 c4 06
    98099812    or byte [bp+018h], 001h                   ; 80 4e 18 01
     
    98189821    retn                                      ; c3
    98199822    mov word [bp+018h], dx                    ; 89 56 18
    9820     jmp near 06955h                           ; e9 ac 00
     9823    jmp near 0695ah                           ; e9 ac 00
    98219824    mov word [bp+018h], dx                    ; 89 56 18
    9822     jmp short 0689ch                          ; eb ee
     9825    jmp short 068a1h                          ; eb ee
    98239826    mov word [bp+018h], cx                    ; 89 4e 18
    9824     jmp short 06899h                          ; eb e6
     9827    jmp short 0689eh                          ; eb e6
    98259828    test byte [bp+012h], 0ffh                 ; f6 46 12 ff
    9826     jne short 06928h                          ; 75 6f
     9829    jne short 0692dh                          ; 75 6f
    98279830    mov dx, 000a0h                            ; ba a0 00
    98289831    mov ax, strict word 00040h                ; b8 40 00
    9829     call 01652h                               ; e8 90 ad
     9832    call 01652h                               ; e8 8b ad
    98309833    test AL, strict byte 001h                 ; a8 01
    9831     jne short 06925h                          ; 75 5f
     9834    jne short 0692ah                          ; 75 5f
    98329835    mov bx, strict word 00001h                ; bb 01 00
    98339836    mov dx, 000a0h                            ; ba a0 00
    98349837    mov ax, strict word 00040h                ; b8 40 00
    9835     call 01660h                               ; e8 8e ad
     9838    call 01660h                               ; e8 89 ad
    98369839    mov bx, word [bp+014h]                    ; 8b 5e 14
    98379840    mov dx, 00098h                            ; ba 98 00
    98389841    mov ax, strict word 00040h                ; b8 40 00
    9839     call 0167ch                               ; e8 9e ad
     9842    call 0167ch                               ; e8 99 ad
    98409843    mov bx, word [bp+00ch]                    ; 8b 5e 0c
    98419844    mov dx, 0009ah                            ; ba 9a 00
    98429845    mov ax, strict word 00040h                ; b8 40 00
    9843     call 0167ch                               ; e8 92 ad
     9846    call 0167ch                               ; e8 8d ad
    98449847    mov bx, word [bp+00eh]                    ; 8b 5e 0e
    98459848    mov dx, 0009ch                            ; ba 9c 00
    98469849    mov ax, strict word 00040h                ; b8 40 00
    9847     call 0167ch                               ; e8 86 ad
     9850    call 0167ch                               ; e8 81 ad
    98489851    mov bx, word [bp+010h]                    ; 8b 5e 10
    98499852    mov dx, 0009eh                            ; ba 9e 00
    98509853    mov ax, strict word 00040h                ; b8 40 00
    9851     call 0167ch                               ; e8 7a ad
     9854    call 0167ch                               ; e8 75 ad
    98529855    and byte [bp+018h], 0feh                  ; 80 66 18 fe
    98539856    mov dx, 000a1h                            ; ba a1 00
     
    98589861    out DX, AL                                ; ee
    98599862    mov ax, strict word 0000bh                ; b8 0b 00
    9860     call 016aeh                               ; e8 99 ad
     9863    call 016aeh                               ; e8 94 ad
    98619864    mov dl, al                                ; 88 c2
    98629865    or dl, 040h                               ; 80 ca 40
    98639866    xor dh, dh                                ; 30 f6
    98649867    mov ax, strict word 0000bh                ; b8 0b 00
    9865     call 016c9h                               ; e8 a7 ad
    9866     jmp near 0689ch                           ; e9 77 ff
    9867     jmp near 06a62h                           ; e9 3a 01
     9868    call 016c9h                               ; e8 a2 ad
     9869    jmp near 068a1h                           ; e9 77 ff
     9870    jmp near 06a67h                           ; e9 3a 01
    98689871    cmp ax, strict word 00001h                ; 3d 01 00
    9869     jne short 06949h                          ; 75 1c
     9872    jne short 0694eh                          ; 75 1c
    98709873    xor bx, bx                                ; 31 db
    98719874    mov dx, 000a0h                            ; ba a0 00
    98729875    mov ax, strict word 00040h                ; b8 40 00
    9873     call 01660h                               ; e8 28 ad
     9876    call 01660h                               ; e8 23 ad
    98749877    and byte [bp+018h], 0feh                  ; 80 66 18 fe
    98759878    mov ax, strict word 0000bh                ; b8 0b 00
    9876     call 016aeh                               ; e8 6c ad
     9879    call 016aeh                               ; e8 67 ad
    98779880    mov dl, al                                ; 88 c2
    98789881    and dl, 0bfh                              ; 80 e2 bf
    9879     jmp short 0691ah                          ; eb d1
     9882    jmp short 0691fh                          ; eb d1
    98809883    mov word [bp+018h], dx                    ; 89 56 18
    98819884    mov ax, bx                                ; 89 d8
     
    98859888    or bx, ax                                 ; 09 c3
    98869889    mov word [bp+012h], bx                    ; 89 5e 12
    9887     jmp near 0689ch                           ; e9 41 ff
     9890    jmp near 068a1h                           ; e9 41 ff
    98889891    mov ax, strict word 00031h                ; b8 31 00
    9889     call 016aeh                               ; e8 4d ad
     9892    call 016aeh                               ; e8 48 ad
    98909893    mov dh, al                                ; 88 c6
    98919894    mov ax, strict word 00030h                ; b8 30 00
    9892     call 016aeh                               ; e8 45 ad
     9895    call 016aeh                               ; e8 40 ad
    98939896    mov dl, al                                ; 88 c2
    98949897    mov word [bp+012h], dx                    ; 89 56 12
    98959898    cmp dx, strict byte 0ffc0h                ; 83 fa c0
    9896     jbe short 06978h                          ; 76 05
     9899    jbe short 0697dh                          ; 76 05
    98979900    mov word [bp+012h], strict word 0ffc0h    ; c7 46 12 c0 ff
    98989901    and byte [bp+018h], 0feh                  ; 80 66 18 fe
    9899     jmp near 0689ch                           ; e9 1d ff
     9902    jmp near 068a1h                           ; e9 1d ff
    99009903    cli                                       ; fa
    99019904    mov ax, strict word 00001h                ; b8 01 00
    9902     call 066ffh                               ; e8 79 fd
     9905    call 06704h                               ; e8 79 fd
    99039906    mov dx, word [bp+006h]                    ; 8b 56 06
    99049907    add dx, strict byte 00038h                ; 83 c2 38
    99059908    mov ax, word [bp+014h]                    ; 8b 46 14
    99069909    mov bx, strict word 0ffffh                ; bb ff ff
    9907     call 0167ch                               ; e8 e7 ac
     9910    call 0167ch                               ; e8 e2 ac
    99089911    mov dx, word [bp+006h]                    ; 8b 56 06
    99099912    add dx, strict byte 0003ah                ; 83 c2 3a
    99109913    mov ax, word [bp+014h]                    ; 8b 46 14
    99119914    xor bx, bx                                ; 31 db
    9912     call 0167ch                               ; e8 d9 ac
     9915    call 0167ch                               ; e8 d4 ac
    99139916    mov dx, word [bp+006h]                    ; 8b 56 06
    99149917    add dx, strict byte 0003ch                ; 83 c2 3c
    99159918    mov ax, word [bp+014h]                    ; 8b 46 14
    99169919    mov bx, strict word 0000fh                ; bb 0f 00
    9917     call 01660h                               ; e8 ae ac
     9920    call 01660h                               ; e8 a9 ac
    99189921    mov dx, word [bp+006h]                    ; 8b 56 06
    99199922    add dx, strict byte 0003dh                ; 83 c2 3d
    99209923    mov ax, word [bp+014h]                    ; 8b 46 14
    99219924    mov bx, 0009bh                            ; bb 9b 00
    9922     call 01660h                               ; e8 9f ac
     9925    call 01660h                               ; e8 9a ac
    99239926    mov dx, word [bp+006h]                    ; 8b 56 06
    99249927    add dx, strict byte 0003eh                ; 83 c2 3e
    99259928    mov ax, word [bp+014h]                    ; 8b 46 14
    99269929    xor bx, bx                                ; 31 db
    9927     call 0167ch                               ; e8 ad ac
     9930    call 0167ch                               ; e8 a8 ac
    99289931    mov AL, strict byte 011h                  ; b0 11
    99299932    mov dx, strict word 00020h                ; ba 20 00
     
    99549957    out DX, AL                                ; ee
    99559958    mov si, word [bp+006h]                    ; 8b 76 06
    9956     call 06a0dh                               ; e8 00 00
     9959    call 06a12h                               ; e8 00 00
    99579960    pop di                                    ; 5f
    99589961    add di, strict byte 00018h                ; 83 c7 18
     
    99829985    push cx                                   ; 51
    99839986    retf                                      ; cb
    9984     jmp near 0689ch                           ; e9 53 fe
    9985     mov bx, 00da6h                            ; bb a6 0d
     9987    jmp near 068a1h                           ; e9 53 fe
     9988    mov bx, 00da4h                            ; bb a4 0d
    99869989    mov cx, ds                                ; 8c d9
    99879990    mov ax, strict word 00004h                ; b8 04 00
    9988     call 01933h                               ; e8 df ae
     9991    call 01933h                               ; e8 da ae
    99899992    mov ax, 0086eh                            ; b8 6e 08
    99909993    push ax                                   ; 50
    99919994    mov ax, strict word 00004h                ; b8 04 00
    99929995    push ax                                   ; 50
    9993     call 01976h                               ; e8 17 af
     9996    call 01976h                               ; e8 12 af
    99949997    add sp, strict byte 00004h                ; 83 c4 04
    99959998    or byte [bp+018h], 001h                   ; 80 4e 18 01
     
    999810001    or ah, 086h                               ; 80 cc 86
    999910002    mov word [bp+012h], ax                    ; 89 46 12
    10000     jmp near 0689ch                           ; e9 28 fe
     10003    jmp near 068a1h                           ; e9 28 fe
    1000110004    mov word [bp+018h], cx                    ; 89 4e 18
    1000210005    mov word [bp+012h], ax                    ; 89 46 12
    1000310006    mov word [bp+00ch], 0e6f5h                ; c7 46 0c f5 e6
    1000410007    mov word [bp+014h], 0f000h                ; c7 46 14 00 f0
    10005     jmp near 0689ch                           ; e9 15 fe
     10008    jmp near 068a1h                           ; e9 15 fe
    1000610009    mov dx, strict word 0000eh                ; ba 0e 00
    1000710010    mov ax, strict word 00040h                ; b8 40 00
    10008     call 0166eh                               ; e8 de ab
     10011    call 0166eh                               ; e8 d9 ab
    1000910012    mov word [bp+014h], ax                    ; 89 46 14
    10010     jmp near 06978h                           ; e9 e2 fe
     10013    jmp near 0697dh                           ; e9 e2 fe
    1001110014    mov ax, 0089dh                            ; b8 9d 08
    1001210015    push ax                                   ; 50
    1001310016    mov ax, strict word 00008h                ; b8 08 00
    10014     jmp short 06a5bh                          ; eb bc
     10017    jmp short 06a60h                          ; eb bc
    1001510018    test byte [bp+012h], 0ffh                 ; f6 46 12 ff
    10016     jne short 06ac4h                          ; 75 1f
     10019    jne short 06ac9h                          ; 75 1f
    1001710020    mov word [bp+012h], ax                    ; 89 46 12
    1001810021    mov ax, word [bp+00ch]                    ; 8b 46 0c
    1001910022    xor ah, ah                                ; 30 e4
    1002010023    cmp ax, strict word 00001h                ; 3d 01 00
    10021     jc short 06abdh                           ; 72 0b
     10024    jc short 06ac2h                           ; 72 0b
    1002210025    cmp ax, strict word 00003h                ; 3d 03 00
    10023     jnbe short 06abdh                         ; 77 06
     10026    jnbe short 06ac2h                         ; 77 06
    1002410027    mov word [bp+018h], cx                    ; 89 4e 18
    10025     jmp near 0689ch                           ; e9 df fd
     10028    jmp near 068a1h                           ; e9 df fd
    1002610029    or byte [bp+018h], 001h                   ; 80 4e 18 01
    10027     jmp near 0689ch                           ; e9 d8 fd
    10028     mov bx, 00da6h                            ; bb a6 0d
     10030    jmp near 068a1h                           ; e9 d8 fd
     10031    mov bx, 00da4h                            ; bb a4 0d
    1002910032    mov cx, ds                                ; 8c d9
    1003010033    mov ax, strict word 00004h                ; b8 04 00
    10031     call 01933h                               ; e8 64 ae
     10034    call 01933h                               ; e8 5f ae
    1003210035    push word [bp+00ch]                       ; ff 76 0c
    1003310036    push word [bp+012h]                       ; ff 76 12
     
    1003610039    mov ax, strict word 00004h                ; b8 04 00
    1003710040    push ax                                   ; 50
    10038     call 01976h                               ; e8 96 ae
     10041    call 01976h                               ; e8 91 ae
    1003910042    add sp, strict byte 00008h                ; 83 c4 08
    10040     jmp near 06a62h                           ; e9 7c ff
    10041     arpl [si-073h], bp                        ; 63 6c 8d
     10043    jmp near 06a67h                           ; e9 7c ff
     10044    push 0926ch                               ; 68 6c 92
    1004210045    insb                                      ; 6c
    10043     in ax, 06ch                               ; e5 6c
    10044     or ch, byte [di+02ah]                     ; 0a 6d 2a
     10046    jmp far 02f6dh:00f6ch                     ; ea 6c 0f 6d 2f
    1004510047    insw                                      ; 6d
    10046     dec cx                                    ; 49
     10048    dec si                                    ; 4e
    1004710049    insw                                      ; 6d
    10048     outsw                                     ; 6f
    10049     insw                                      ; 6d
    10050     xchg bp, ax                               ; 95
    10051     insw                                      ; 6d
    10052     shr byte [di+006h], CL                    ; d2 6d 06
     10050    je short 06b66h                           ; 74 6d
     10051    call far 00b6dh:0d76dh                    ; 9a 6d d7 6d 0b
    1005310052    outsb                                     ; 6e
    10054 _int15_function32:                           ; 0xf6afa LB 0x39e
     10053_int15_function32:                           ; 0xf6aff LB 0x39e
    1005510054    push bp                                   ; 55
    1005610055    mov bp, sp                                ; 89 e5
     
    1006410063    xor dh, dh                                ; 30 f6
    1006510064    cmp ax, 000e8h                            ; 3d e8 00
    10066     je short 06b60h                           ; 74 4a
     10065    je short 06b65h                           ; 74 4a
    1006710066    cmp ax, 000d0h                            ; 3d d0 00
    10068     je short 06b2dh                           ; 74 12
     10067    je short 06b32h                           ; 74 12
    1006910068    cmp ax, 00086h                            ; 3d 86 00
    10070     jne short 06b5eh                          ; 75 3e
     10069    jne short 06b63h                          ; 75 3e
    1007110070    sti                                       ; fb
    1007210071    mov dx, word [bp+01ch]                    ; 8b 56 1c
    1007310072    mov ax, word [bp+018h]                    ; 8b 46 18
    10074     call 066bch                               ; e8 92 fb
    10075     jmp near 06cdfh                           ; e9 b2 01
     10073    call 066c1h                               ; e8 92 fb
     10074    jmp near 06ce4h                           ; e9 b2 01
    1007610075    cmp dx, strict byte 0004fh                ; 83 fa 4f
    10077     jne short 06b5eh                          ; 75 2c
     10076    jne short 06b63h                          ; 75 2c
    1007810077    cmp word [bp+016h], 05052h                ; 81 7e 16 52 50
    10079     jne short 06b94h                          ; 75 5b
     10078    jne short 06b99h                          ; 75 5b
    1008010079    cmp word [bp+014h], 04f43h                ; 81 7e 14 43 4f
    10081     jne short 06b94h                          ; 75 54
     10080    jne short 06b99h                          ; 75 54
    1008210081    cmp word [bp+01eh], 04d4fh                ; 81 7e 1e 4f 4d
    10083     jne short 06b94h                          ; 75 4d
     10082    jne short 06b99h                          ; 75 4d
    1008410083    cmp word [bp+01ch], 04445h                ; 81 7e 1c 45 44
    10085     jne short 06b94h                          ; 75 46
     10084    jne short 06b99h                          ; 75 46
    1008610085    mov ax, word [bp+00ah]                    ; 8b 46 0a
    1008710086    or ax, word [bp+008h]                     ; 0b 46 08
    10088     jne short 06b94h                          ; 75 3e
     10087    jne short 06b99h                          ; 75 3e
    1008910088    mov ax, word [bp+006h]                    ; 8b 46 06
    1009010089    or ax, word [bp+004h]                     ; 0b 46 04
    10091     je short 06b62h                           ; 74 04
    10092     jmp short 06b94h                          ; eb 34
    10093     jmp short 06b8ah                          ; eb 28
     10090    je short 06b67h                           ; 74 04
     10091    jmp short 06b99h                          ; eb 34
     10092    jmp short 06b8fh                          ; eb 28
    1009410093    mov word [bp+028h], bx                    ; 89 5e 28
    1009510094    mov ax, word [bp+014h]                    ; 8b 46 14
     
    1010310102    mov word [bp+020h], 03332h                ; c7 46 20 32 33
    1010410103    mov word [bp+022h], 04941h                ; c7 46 22 41 49
    10105     jmp near 06cdfh                           ; e9 55 01
     10104    jmp near 06ce4h                           ; e9 55 01
    1010610105    cmp dx, strict byte 00020h                ; 83 fa 20
    10107     je short 06b9ah                           ; 74 0b
     10106    je short 06b9fh                           ; 74 0b
    1010810107    cmp dx, strict byte 00001h                ; 83 fa 01
    10109     je short 06b97h                           ; 74 03
    10110     jmp near 06cb2h                           ; e9 1b 01
    10111     jmp near 06e58h                           ; e9 be 02
     10108    je short 06b9ch                           ; 74 03
     10109    jmp near 06cb7h                           ; e9 1b 01
     10110    jmp near 06e5dh                           ; e9 be 02
    1011210111    cmp word [bp+01ah], 0534dh                ; 81 7e 1a 4d 53
    10113     jne short 06b94h                          ; 75 f3
     10112    jne short 06b99h                          ; 75 f3
    1011410113    cmp word [bp+018h], 04150h                ; 81 7e 18 50 41
    10115     jne short 06b94h                          ; 75 ec
     10114    jne short 06b99h                          ; 75 ec
    1011610115    mov ax, strict word 00035h                ; b8 35 00
    10117     call 016aeh                               ; e8 00 ab
     10116    call 016aeh                               ; e8 fb aa
    1011810117    mov bl, al                                ; 88 c3
    1011910118    xor bh, bh                                ; 30 ff
     
    1012210121    sal bx, 1                                 ; d1 e3
    1012310122    rcl dx, 1                                 ; d1 d2
    10124     loop 06bb7h                               ; e2 fa
     10123    loop 06bbch                               ; e2 fa
    1012510124    mov ax, strict word 00034h                ; b8 34 00
    10126     call 016aeh                               ; e8 eb aa
     10125    call 016aeh                               ; e8 e6 aa
    1012710126    xor ah, ah                                ; 30 e4
    1012810127    mov dx, bx                                ; 89 da
     
    1013210131    adc dx, 00100h                            ; 81 d2 00 01
    1013310132    cmp dx, 00100h                            ; 81 fa 00 01
    10134     jc short 06bddh                           ; 72 06
    10135     jne short 06c0bh                          ; 75 32
     10133    jc short 06be2h                           ; 72 06
     10134    jne short 06c10h                          ; 75 32
    1013610135    test bx, bx                               ; 85 db
    10137     jnbe short 06c0bh                         ; 77 2e
     10136    jnbe short 06c10h                         ; 77 2e
    1013810137    mov ax, strict word 00031h                ; b8 31 00
    10139     call 016aeh                               ; e8 cb aa
     10138    call 016aeh                               ; e8 c6 aa
    1014010139    mov bl, al                                ; 88 c3
    1014110140    xor bh, bh                                ; 30 ff
     
    1014410143    sal bx, 1                                 ; d1 e3
    1014510144    rcl dx, 1                                 ; d1 d2
    10146     loop 06bech                               ; e2 fa
     10145    loop 06bf1h                               ; e2 fa
    1014710146    mov ax, strict word 00030h                ; b8 30 00
    10148     call 016aeh                               ; e8 b6 aa
     10147    call 016aeh                               ; e8 b1 aa
    1014910148    xor ah, ah                                ; 30 e4
    1015010149    or bx, ax                                 ; 09 c3
     
    1015210151    sal bx, 1                                 ; d1 e3
    1015310152    rcl dx, 1                                 ; d1 d2
    10154     loop 06bffh                               ; e2 fa
     10153    loop 06c04h                               ; e2 fa
    1015510154    add bx, strict byte 00000h                ; 83 c3 00
    1015610155    adc dx, strict byte 00010h                ; 83 d2 10
    1015710156    mov ax, strict word 00062h                ; b8 62 00
    10158     call 016aeh                               ; e8 9d aa
     10157    call 016aeh                               ; e8 98 aa
    1015910158    xor ah, ah                                ; 30 e4
    1016010159    mov word [bp-00ah], ax                    ; 89 46 f6
     
    1016410163    sal word [bp-00ah], 1                     ; d1 66 f6
    1016510164    rcl word [bp-008h], 1                     ; d1 56 f8
    10166     loop 06c1eh                               ; e2 f8
     10165    loop 06c23h                               ; e2 f8
    1016710166    mov ax, strict word 00061h                ; b8 61 00
    10168     call 016aeh                               ; e8 82 aa
     10167    call 016aeh                               ; e8 7d aa
    1016910168    xor ah, ah                                ; 30 e4
    1017010169    or word [bp-00ah], ax                     ; 09 46 f6
     
    1017310172    mov word [bp-00ah], strict word 00000h    ; c7 46 f6 00 00
    1017410173    mov ax, strict word 00063h                ; b8 63 00
    10175     call 016aeh                               ; e8 6c aa
     10174    call 016aeh                               ; e8 67 aa
    1017610175    mov byte [bp-004h], al                    ; 88 46 fc
    1017710176    mov byte [bp-006h], al                    ; 88 46 fa
    1017810177    mov ax, word [bp+014h]                    ; 8b 46 14
    1017910178    cmp ax, strict word 00009h                ; 3d 09 00
    10180     jnbe short 06cb2h                         ; 77 62
     10179    jnbe short 06cb7h                         ; 77 62
    1018110180    mov si, ax                                ; 89 c6
    1018210181    sal si, 1                                 ; d1 e6
     
    1018510184    mov cx, dx                                ; 89 d1
    1018610185    adc cx, strict byte 0ffffh                ; 83 d1 ff
    10187     jmp word [cs:si+06ae6h]                   ; 2e ff a4 e6 6a
     10186    jmp word [cs:si+06aebh]                   ; 2e ff a4 eb 6a
    1018810187    mov ax, strict word 00001h                ; b8 01 00
    1018910188    push ax                                   ; 50
     
    1019910198    xor bx, bx                                ; 31 db
    1020010199    xor cx, cx                                ; 31 c9
    10201     call 0672fh                               ; e8 af fa
     10200    call 06734h                               ; e8 af fa
    1020210201    mov word [bp+014h], strict word 00001h    ; c7 46 14 01 00
    1020310202    mov word [bp+016h], strict word 00000h    ; c7 46 16 00 00
    10204     jmp near 06e3dh                           ; e9 b0 01
     10203    jmp near 06e42h                           ; e9 b0 01
    1020510204    mov ax, strict word 00002h                ; b8 02 00
    1020610205    push ax                                   ; 50
     
    1021610215    mov bx, 0fc00h                            ; bb 00 fc
    1021710216    mov cx, strict word 00009h                ; b9 09 00
    10218     call 0672fh                               ; e8 84 fa
     10217    call 06734h                               ; e8 84 fa
    1021910218    mov word [bp+014h], strict word 00002h    ; c7 46 14 02 00
    10220     jmp short 06c85h                          ; eb d3
    10221     mov bx, 00da6h                            ; bb a6 0d
     10219    jmp short 06c8ah                          ; eb d3
     10220    mov bx, 00da4h                            ; bb a4 0d
    1022210221    mov cx, ds                                ; 8c d9
    1022310222    mov ax, strict word 00004h                ; b8 04 00
    10224     call 01933h                               ; e8 76 ac
     10223    call 01933h                               ; e8 71 ac
    1022510224    push word [bp+014h]                       ; ff 76 14
    1022610225    push word [bp+020h]                       ; ff 76 20
     
    1022910228    mov ax, strict word 00004h                ; b8 04 00
    1023010229    push ax                                   ; 50
    10231     call 01976h                               ; e8 a8 ac
     10230    call 01976h                               ; e8 a3 ac
    1023210231    add sp, strict byte 00008h                ; 83 c4 08
    1023310232    or byte [bp+028h], 001h                   ; 80 4e 28 01
     
    1025310252    xor bx, bx                                ; 31 db
    1025410253    mov cx, strict word 0000fh                ; b9 0f 00
    10255     call 0672fh                               ; e8 2d fa
     10254    call 06734h                               ; e8 2d fa
    1025610255    mov word [bp+014h], strict word 00003h    ; c7 46 14 03 00
    10257     jmp near 06c85h                           ; e9 7b ff
     10256    jmp near 06c8ah                           ; e9 7b ff
    1025810257    mov dx, strict word 00001h                ; ba 01 00
    1025910258    push dx                                   ; 52
     
    1026710266    xor bx, bx                                ; 31 db
    1026810267    mov cx, strict word 00010h                ; b9 10 00
    10269     call 0672fh                               ; e8 0d fa
     10268    call 06734h                               ; e8 0d fa
    1027010269    mov word [bp+014h], strict word 00004h    ; c7 46 14 04 00
    10271     jmp near 06c85h                           ; e9 5b ff
     10270    jmp near 06c8ah                           ; e9 5b ff
    1027210271    mov si, strict word 00003h                ; be 03 00
    1027310272    push si                                   ; 56
     
    1028110280    mov bx, ax                                ; 89 c3
    1028210281    mov ax, si                                ; 89 f0
    10283     call 0672fh                               ; e8 ee f9
     10282    call 06734h                               ; e8 ee f9
    1028410283    mov word [bp+014h], strict word 00005h    ; c7 46 14 05 00
    10285     jmp near 06c85h                           ; e9 3c ff
     10284    jmp near 06c8ah                           ; e9 3c ff
    1028610285    mov ax, strict word 00002h                ; b8 02 00
    1028710286    push ax                                   ; 50
     
    1029710296    xor bx, bx                                ; 31 db
    1029810297    mov cx, 0fec0h                            ; b9 c0 fe
    10299     call 0672fh                               ; e8 c8 f9
     10298    call 06734h                               ; e8 c8 f9
    1030010299    mov word [bp+014h], strict word 00006h    ; c7 46 14 06 00
    10301     jmp near 06c85h                           ; e9 16 ff
     10300    jmp near 06c8ah                           ; e9 16 ff
    1030210301    mov ax, strict word 00002h                ; b8 02 00
    1030310302    push ax                                   ; 50
     
    1031310312    xor bx, bx                                ; 31 db
    1031410313    mov cx, 0fee0h                            ; b9 e0 fe
    10315     call 0672fh                               ; e8 a2 f9
     10314    call 06734h                               ; e8 a2 f9
    1031610315    mov word [bp+014h], strict word 00007h    ; c7 46 14 07 00
    10317     jmp near 06c85h                           ; e9 f0 fe
     10316    jmp near 06c8ah                           ; e9 f0 fe
    1031810317    mov ax, strict word 00002h                ; b8 02 00
    1031910318    push ax                                   ; 50
     
    1032710326    xor bx, bx                                ; 31 db
    1032810327    mov cx, strict word 0fffch                ; b9 fc ff
    10329     call 0672fh                               ; e8 82 f9
     10328    call 06734h                               ; e8 82 f9
    1033010329    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
    10331     jne short 06dbah                          ; 75 07
     10330    jne short 06dbfh                          ; 75 07
    1033210331    mov ax, word [bp-008h]                    ; 8b 46 f8
    1033310332    test ax, ax                               ; 85 c0
    10334     je short 06dcah                           ; 74 10
     10333    je short 06dcfh                           ; 74 10
    1033510334    mov word [bp+014h], strict word 00009h    ; c7 46 14 09 00
    10336     jmp near 06c85h                           ; e9 c3 fe
     10335    jmp near 06c8ah                           ; e9 c3 fe
    1033710336    mov word [bp+014h], strict word 00008h    ; c7 46 14 08 00
    10338     jmp near 06c85h                           ; e9 bb fe
     10337    jmp near 06c8ah                           ; e9 bb fe
    1033910338    mov word [bp+014h], ax                    ; 89 46 14
    1034010339    mov word [bp+016h], ax                    ; 89 46 16
    10341     jmp short 06e3dh                          ; eb 6b
     10340    jmp short 06e42h                          ; eb 6b
    1034210341    mov ax, strict word 00002h                ; b8 02 00
    1034310342    push ax                                   ; 50
     
    1035110350    xor bx, bx                                ; 31 db
    1035210351    xor cx, cx                                ; 31 c9
    10353     call 0672fh                               ; e8 46 f9
     10352    call 06734h                               ; e8 46 f9
    1035410353    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
    10355     jne short 06df6h                          ; 75 07
     10354    jne short 06dfbh                          ; 75 07
    1035610355    mov ax, word [bp-008h]                    ; 8b 46 f8
    1035710356    test ax, ax                               ; 85 c0
    10358     je short 06dfeh                           ; 74 08
     10357    je short 06e03h                           ; 74 08
    1035910358    mov word [bp+014h], strict word 00009h    ; c7 46 14 09 00
    10360     jmp near 06c85h                           ; e9 87 fe
     10359    jmp near 06c8ah                           ; e9 87 fe
    1036110360    mov word [bp+014h], ax                    ; 89 46 14
    1036210361    mov word [bp+016h], ax                    ; 89 46 16
    10363     jmp short 06e3dh                          ; eb 37
     10362    jmp short 06e42h                          ; eb 37
    1036410363    cmp byte [bp-004h], 000h                  ; 80 7e fc 00
    10365     jne short 06e12h                          ; 75 06
     10364    jne short 06e17h                          ; 75 06
    1036610365    cmp word [bp-008h], strict byte 00000h    ; 83 7e f8 00
    10367     je short 06e3dh                           ; 74 2b
     10366    je short 06e42h                           ; 74 2b
    1036810367    mov ax, strict word 00001h                ; b8 01 00
    1036910368    push ax                                   ; 50
     
    1038110380    xor bx, bx                                ; 31 db
    1038210381    xor cx, cx                                ; 31 c9
    10383     call 0672fh                               ; e8 fa f8
     10382    call 06734h                               ; e8 fa f8
    1038410383    xor ax, ax                                ; 31 c0
    1038510384    mov word [bp+014h], ax                    ; 89 46 14
     
    1039010389    mov word [bp+01eh], strict word 00000h    ; c7 46 1e 00 00
    1039110390    and byte [bp+028h], 0feh                  ; 80 66 28 fe
    10392     jmp near 06cdfh                           ; e9 87 fe
     10391    jmp near 06ce4h                           ; e9 87 fe
    1039310392    mov word [bp+028h], bx                    ; 89 5e 28
    1039410393    mov ax, strict word 00031h                ; b8 31 00
    10395     call 016aeh                               ; e8 4d a8
     10394    call 016aeh                               ; e8 48 a8
    1039610395    mov dh, al                                ; 88 c6
    1039710396    mov ax, strict word 00030h                ; b8 30 00
    10398     call 016aeh                               ; e8 45 a8
     10397    call 016aeh                               ; e8 40 a8
    1039910398    mov dl, al                                ; 88 c2
    1040010399    mov word [bp+01ch], dx                    ; 89 56 1c
    1040110400    cmp dx, 03c00h                            ; 81 fa 00 3c
    10402     jbe short 06e79h                          ; 76 05
     10401    jbe short 06e7eh                          ; 76 05
    1040310402    mov word [bp+01ch], 03c00h                ; c7 46 1c 00 3c
    1040410403    mov ax, strict word 00035h                ; b8 35 00
    10405     call 016aeh                               ; e8 2f a8
     10404    call 016aeh                               ; e8 2a a8
    1040610405    mov dh, al                                ; 88 c6
    1040710406    mov ax, strict word 00034h                ; b8 34 00
    10408     call 016aeh                               ; e8 27 a8
     10407    call 016aeh                               ; e8 22 a8
    1040910408    mov dl, al                                ; 88 c2
    1041010409    mov word [bp+018h], dx                    ; 89 56 18
     
    1041210411    mov word [bp+020h], ax                    ; 89 46 20
    1041310412    mov word [bp+014h], dx                    ; 89 56 14
    10414     jmp near 06cdfh                           ; e9 47 fe
    10415 _inv_op_handler:                             ; 0xf6e98 LB 0x18f
     10413    jmp near 06ce4h                           ; e9 47 fe
     10414_inv_op_handler:                             ; 0xf6e9d LB 0x18f
    1041610415    push bp                                   ; 55
    1041710416    mov bp, sp                                ; 89 e5
     
    1042210421    les bx, [bp+018h]                         ; c4 5e 18
    1042310422    cmp byte [es:bx], 0f0h                    ; 26 80 3f f0
    10424     jne short 06eaeh                          ; 75 06
     10423    jne short 06eb3h                          ; 75 06
    1042510424    inc word [bp+018h]                        ; ff 46 18
    10426     jmp near 07020h                           ; e9 72 01
     10425    jmp near 07025h                           ; e9 72 01
    1042710426    cmp word [es:bx], 0050fh                  ; 26 81 3f 0f 05
    10428     je short 06eb8h                           ; 74 03
    10429     jmp near 0701ch                           ; e9 64 01
     10427    je short 06ebdh                           ; 74 03
     10428    jmp near 07021h                           ; e9 64 01
    1043010429    mov si, 00800h                            ; be 00 08
    1043110430    xor ax, ax                                ; 31 c0
     
    1045610455    sal ax, 1                                 ; d1 e0
    1045710456    rcl dx, 1                                 ; d1 d2
    10458     loop 06f09h                               ; e2 fa
     10457    loop 06f0eh                               ; e2 fa
    1045910458    cmp bx, dx                                ; 39 d3
    10460     jne short 06f17h                          ; 75 04
     10459    jne short 06f1ch                          ; 75 04
    1046110460    cmp di, ax                                ; 39 c7
    10462     je short 06f1ch                           ; 74 05
     10461    je short 06f21h                           ; 74 05
    1046310462    mov word [bp-006h], strict word 00001h    ; c7 46 fa 01 00
    1046410463    mov es, [bp-008h]                         ; 8e 46 f8
     
    1047110470    sal ax, 1                                 ; d1 e0
    1047210471    rcl dx, 1                                 ; d1 d2
    10473     loop 06f32h                               ; e2 fa
     10472    loop 06f37h                               ; e2 fa
    1047410473    cmp bx, dx                                ; 39 d3
    10475     jne short 06f40h                          ; 75 04
     10474    jne short 06f45h                          ; 75 04
    1047610475    cmp di, ax                                ; 39 c7
    10477     je short 06f44h                           ; 74 04
     10476    je short 06f49h                           ; 74 04
    1047810477    or byte [bp-006h], 002h                   ; 80 4e fa 02
    1047910478    xor ax, ax                                ; 31 c0
     
    1052510524    mov ax, strict word 00008h                ; b8 08 00
    1052610525    test cx, strict word 00001h               ; f7 c1 01 00
    10527     je near 06fd9h                            ; 0f 84 02 00
     10526    je near 06fdeh                            ; 0f 84 02 00
    1052810527    mov es, ax                                ; 8e c0
    1052910528    test cx, strict word 00002h               ; f7 c1 02 00
    10530     je near 07001h                            ; 0f 84 20 00
     10529    je near 07006h                            ; 0f 84 20 00
    1053110530    mov bx, word [word ss:00000h]             ; 36 8b 1e 00 00
    1053210531    mov word [word ss:00008h], bx             ; 36 89 1e 08 00
     
    1054510544    mov ss, [word ss:00020h]                  ; 36 8e 16 20 00
    1054610545    iret                                      ; cf
    10547     jmp short 07020h                          ; eb 04
     10546    jmp short 07025h                          ; eb 04
    1054810547    sti                                       ; fb
    1054910548    hlt                                       ; f4
    10550     jmp short 0701dh                          ; eb fd
     10549    jmp short 07022h                          ; eb fd
    1055110550    lea sp, [bp-004h]                         ; 8d 66 fc
    1055210551    pop di                                    ; 5f
     
    1055410553    pop bp                                    ; 5d
    1055510554    retn                                      ; c3
    10556 init_rtc_:                                   ; 0xf7027 LB 0x28
     10555init_rtc_:                                   ; 0xf702c LB 0x28
    1055710556    push bp                                   ; 55
    1055810557    mov bp, sp                                ; 89 e5
     
    1056010559    mov dx, strict word 00026h                ; ba 26 00
    1056110560    mov ax, strict word 0000ah                ; b8 0a 00
    10562     call 016c9h                               ; e8 95 a6
     10561    call 016c9h                               ; e8 90 a6
    1056310562    mov dx, strict word 00002h                ; ba 02 00
    1056410563    mov ax, strict word 0000bh                ; b8 0b 00
    10565     call 016c9h                               ; e8 8c a6
     10564    call 016c9h                               ; e8 87 a6
    1056610565    mov ax, strict word 0000ch                ; b8 0c 00
    10567     call 016aeh                               ; e8 6b a6
     10566    call 016aeh                               ; e8 66 a6
    1056810567    mov ax, strict word 0000dh                ; b8 0d 00
    10569     call 016aeh                               ; e8 65 a6
     10568    call 016aeh                               ; e8 60 a6
    1057010569    lea sp, [bp-002h]                         ; 8d 66 fe
    1057110570    pop dx                                    ; 5a
    1057210571    pop bp                                    ; 5d
    1057310572    retn                                      ; c3
    10574 rtc_updating_:                               ; 0xf704f LB 0x21
     10573rtc_updating_:                               ; 0xf7054 LB 0x21
    1057510574    push bp                                   ; 55
    1057610575    mov bp, sp                                ; 89 e5
     
    1057810577    mov dx, 061a8h                            ; ba a8 61
    1057910578    dec dx                                    ; 4a
    10580     je short 07067h                           ; 74 0e
     10579    je short 0706ch                           ; 74 0e
    1058110580    mov ax, strict word 0000ah                ; b8 0a 00
    10582     call 016aeh                               ; e8 4f a6
     10581    call 016aeh                               ; e8 4a a6
    1058310582    test AL, strict byte 080h                 ; a8 80
    10584     jne short 07056h                          ; 75 f3
     10583    jne short 0705bh                          ; 75 f3
    1058510584    xor ax, ax                                ; 31 c0
    10586     jmp short 0706ah                          ; eb 03
     10585    jmp short 0706fh                          ; eb 03
    1058710586    mov ax, strict word 00001h                ; b8 01 00
    1058810587    lea sp, [bp-002h]                         ; 8d 66 fe
     
    1059010589    pop bp                                    ; 5d
    1059110590    retn                                      ; c3
    10592 _int70_function:                             ; 0xf7070 LB 0xbf
     10591_int70_function:                             ; 0xf7075 LB 0xbf
    1059310592    push bp                                   ; 55
    1059410593    mov bp, sp                                ; 89 e5
     
    1059610595    push ax                                   ; 50
    1059710596    mov ax, strict word 0000bh                ; b8 0b 00
    10598     call 016aeh                               ; e8 33 a6
     10597    call 016aeh                               ; e8 2e a6
    1059910598    mov bl, al                                ; 88 c3
    1060010599    mov byte [bp-004h], al                    ; 88 46 fc
    1060110600    mov ax, strict word 0000ch                ; b8 0c 00
    10602     call 016aeh                               ; e8 28 a6
     10601    call 016aeh                               ; e8 23 a6
    1060310602    mov dl, al                                ; 88 c2
    1060410603    test bl, 060h                             ; f6 c3 60
    10605     jne short 07090h                          ; 75 03
    10606     jmp near 07116h                           ; e9 86 00
     10604    jne short 07095h                          ; 75 03
     10605    jmp near 0711bh                           ; e9 86 00
    1060710606    test AL, strict byte 020h                 ; a8 20
    10608     je short 07098h                           ; 74 04
     10607    je short 0709dh                           ; 74 04
    1060910608    sti                                       ; fb
    1061010609    int 04ah                                  ; cd 4a
    1061110610    cli                                       ; fa
    1061210611    test dl, 040h                             ; f6 c2 40
    10613     je short 07100h                           ; 74 63
     10612    je short 07105h                           ; 74 63
    1061410613    mov dx, 000a0h                            ; ba a0 00
    1061510614    mov ax, strict word 00040h                ; b8 40 00
    10616     call 01652h                               ; e8 ac a5
     10615    call 01652h                               ; e8 a7 a5
    1061710616    test al, al                               ; 84 c0
    10618     je short 07116h                           ; 74 6c
     10617    je short 0711bh                           ; 74 6c
    1061910618    mov dx, 0009ch                            ; ba 9c 00
    1062010619    mov ax, strict word 00040h                ; b8 40 00
    10621     call 0168ah                               ; e8 d7 a5
     10620    call 0168ah                               ; e8 d2 a5
    1062210621    test dx, dx                               ; 85 d2
    10623     jne short 07102h                          ; 75 4b
     10622    jne short 07107h                          ; 75 4b
    1062410623    cmp ax, 003d1h                            ; 3d d1 03
    10625     jnc short 07102h                          ; 73 46
     10624    jnc short 07107h                          ; 73 46
    1062610625    mov dx, 00098h                            ; ba 98 00
    1062710626    mov ax, strict word 00040h                ; b8 40 00
    10628     call 0166eh                               ; e8 a9 a5
     10627    call 0166eh                               ; e8 a4 a5
    1062910628    mov si, ax                                ; 89 c6
    1063010629    mov dx, 0009ah                            ; ba 9a 00
    1063110630    mov ax, strict word 00040h                ; b8 40 00
    10632     call 0166eh                               ; e8 9e a5
     10631    call 0166eh                               ; e8 99 a5
    1063310632    mov cx, ax                                ; 89 c1
    1063410633    xor bx, bx                                ; 31 db
    1063510634    mov dx, 000a0h                            ; ba a0 00
    1063610635    mov ax, strict word 00040h                ; b8 40 00
    10637     call 01660h                               ; e8 83 a5
     10636    call 01660h                               ; e8 7e a5
    1063810637    mov dl, byte [bp-004h]                    ; 8a 56 fc
    1063910638    and dl, 037h                              ; 80 e2 37
    1064010639    xor dh, dh                                ; 30 f6
    1064110640    mov ax, strict word 0000bh                ; b8 0b 00
    10642     call 016c9h                               ; e8 de a5
     10641    call 016c9h                               ; e8 d9 a5
    1064310642    mov dx, cx                                ; 89 ca
    1064410643    mov ax, si                                ; 89 f0
    10645     call 01652h                               ; e8 60 a5
     10644    call 01652h                               ; e8 5b a5
    1064610645    mov bl, al                                ; 88 c3
    1064710646    or bl, 080h                               ; 80 cb 80
     
    1064910648    mov dx, cx                                ; 89 ca
    1065010649    mov ax, si                                ; 89 f0
    10651     call 01660h                               ; e8 60 a5
    10652     jmp short 07116h                          ; eb 14
     10650    call 01660h                               ; e8 5b a5
     10651    jmp short 0711bh                          ; eb 14
    1065310652    mov bx, ax                                ; 89 c3
    1065410653    add bx, 0fc2fh                            ; 81 c3 2f fc
     
    1065710656    mov dx, 0009ch                            ; ba 9c 00
    1065810657    mov ax, strict word 00040h                ; b8 40 00
    10659     call 0169ch                               ; e8 86 a5
    10660     call 0e030h                               ; e8 17 6f
     10658    call 0169ch                               ; e8 81 a5
     10659    call 0e030h                               ; e8 12 6f
    1066110660    lea sp, [bp-002h]                         ; 8d 66 fe
    1066210661    pop si                                    ; 5e
    1066310662    pop bp                                    ; 5d
    1066410663    retn                                      ; c3
    10665     inc bp                                    ; 45
    10666     jno short 0718eh                          ; 71 6c
    10667     jno short 070b5h                          ; 71 91
    10668     jno short 070f3h                          ; 71 cd
    10669     jno short 07147h                          ; 71 1f
    10670     jc short 07180h                           ; 72 56
    10671     jc short 070c9h                           ; 72 9d
    10672     jc short 07126h                           ; 72 f8
     10664    dec dx                                    ; 4a
     10665    jno short 07198h                          ; 71 71
     10666    jno short 070bfh                          ; 71 96
     10667    jno short 070fdh                          ; 71 d2
     10668    jno short 07151h                          ; 71 24
     10669    jc short 0718ah                           ; 72 5b
     10670    jc short 070d3h                           ; 72 a2
     10671    jc short 07130h                           ; 72 fd
    1067310672    db  072h
    10674 _int1a_function:                             ; 0xf712f LB 0x1d9
     10673_int1a_function:                             ; 0xf7134 LB 0x1d9
    1067510674    push bp                                   ; 55
    1067610675    mov bp, sp                                ; 89 e5
     
    1067810677    mov al, byte [bp+013h]                    ; 8a 46 13
    1067910678    cmp AL, strict byte 007h                  ; 3c 07
    10680     jnbe short 07198h                         ; 77 5e
     10679    jnbe short 0719dh                         ; 77 5e
    1068110680    mov bl, al                                ; 88 c3
    1068210681    xor bh, bh                                ; 30 ff
    1068310682    sal bx, 1                                 ; d1 e3
    10684     jmp word [cs:bx+0711fh]                   ; 2e ff a7 1f 71
     10683    jmp word [cs:bx+07124h]                   ; 2e ff a7 24 71
    1068510684    cli                                       ; fa
    1068610685    mov bx, 0046eh                            ; bb 6e 04
     
    1069710696    mov byte [es:bx], 000h                    ; 26 c6 07 00
    1069810697    sti                                       ; fb
    10699     jmp short 07198h                          ; eb 2c
     10698    jmp short 0719dh                          ; eb 2c
    1070010699    cli                                       ; fa
    1070110700    mov bx, 0046eh                            ; bb 6e 04
     
    1071110710    sti                                       ; fb
    1071210711    mov byte [bp+013h], 000h                  ; c6 46 13 00
    10713     jmp short 07198h                          ; eb 07
    10714     call 0704fh                               ; e8 bb fe
     10712    jmp short 0719dh                          ; eb 07
     10713    call 07054h                               ; e8 bb fe
    1071510714    test ax, ax                               ; 85 c0
    10716     je short 0719bh                           ; 74 03
    10717     jmp near 071c9h                           ; e9 2e 00
     10715    je short 071a0h                           ; 74 03
     10716    jmp near 071ceh                           ; e9 2e 00
    1071810717    xor ax, ax                                ; 31 c0
    10719     call 016aeh                               ; e8 0e a5
     10718    call 016aeh                               ; e8 09 a5
    1072010719    mov byte [bp+00fh], al                    ; 88 46 0f
    1072110720    mov ax, strict word 00002h                ; b8 02 00
    10722     call 016aeh                               ; e8 05 a5
     10721    call 016aeh                               ; e8 00 a5
    1072310722    mov byte [bp+010h], al                    ; 88 46 10
    1072410723    mov ax, strict word 00004h                ; b8 04 00
    10725     call 016aeh                               ; e8 fc a4
     10724    call 016aeh                               ; e8 f7 a4
    1072610725    mov dl, al                                ; 88 c2
    1072710726    mov byte [bp+011h], al                    ; 88 46 11
    1072810727    mov ax, strict word 0000bh                ; b8 0b 00
    10729     call 016aeh                               ; e8 f1 a4
     10728    call 016aeh                               ; e8 ec a4
    1073010729    and AL, strict byte 001h                  ; 24 01
    1073110730    mov byte [bp+00eh], al                    ; 88 46 0e
     
    1073510734    pop bp                                    ; 5d
    1073610735    retn                                      ; c3
    10737     call 0704fh                               ; e8 7f fe
     10736    call 07054h                               ; e8 7f fe
    1073810737    test ax, ax                               ; 85 c0
    10739     je short 071d7h                           ; 74 03
    10740     call 07027h                               ; e8 50 fe
     10738    je short 071dch                           ; 74 03
     10739    call 0702ch                               ; e8 50 fe
    1074110740    mov dl, byte [bp+00fh]                    ; 8a 56 0f
    1074210741    xor dh, dh                                ; 30 f6
    1074310742    xor ax, ax                                ; 31 c0
    10744     call 016c9h                               ; e8 e8 a4
     10743    call 016c9h                               ; e8 e3 a4
    1074510744    mov dl, byte [bp+010h]                    ; 8a 56 10
    1074610745    xor dh, dh                                ; 30 f6
    1074710746    mov ax, strict word 00002h                ; b8 02 00
    10748     call 016c9h                               ; e8 dd a4
     10747    call 016c9h                               ; e8 d8 a4
    1074910748    mov dl, byte [bp+011h]                    ; 8a 56 11
    1075010749    xor dh, dh                                ; 30 f6
    1075110750    mov ax, strict word 00004h                ; b8 04 00
    10752     call 016c9h                               ; e8 d2 a4
     10751    call 016c9h                               ; e8 cd a4
    1075310752    mov ax, strict word 0000bh                ; b8 0b 00
    10754     call 016aeh                               ; e8 b1 a4
     10753    call 016aeh                               ; e8 ac a4
    1075510754    mov bl, al                                ; 88 c3
    1075610755    and bl, 060h                              ; 80 e3 60
     
    1076210761    xor dh, dh                                ; 30 f6
    1076310762    mov ax, strict word 0000bh                ; b8 0b 00
    10764     call 016c9h                               ; e8 b3 a4
     10763    call 016c9h                               ; e8 ae a4
    1076510764    mov byte [bp+013h], 000h                  ; c6 46 13 00
    1076610765    mov byte [bp+012h], bl                    ; 88 5e 12
    10767     jmp short 071c9h                          ; eb aa
     10766    jmp short 071ceh                          ; eb aa
    1076810767    mov byte [bp+013h], 000h                  ; c6 46 13 00
    10769     call 0704fh                               ; e8 29 fe
     10768    call 07054h                               ; e8 29 fe
    1077010769    test ax, ax                               ; 85 c0
    10771     je short 0722ch                           ; 74 02
    10772     jmp short 071c9h                          ; eb 9d
     10770    je short 07231h                           ; 74 02
     10771    jmp short 071ceh                          ; eb 9d
    1077310772    mov ax, strict word 00009h                ; b8 09 00
    10774     call 016aeh                               ; e8 7c a4
     10773    call 016aeh                               ; e8 77 a4
    1077510774    mov byte [bp+010h], al                    ; 88 46 10
    1077610775    mov ax, strict word 00008h                ; b8 08 00
    10777     call 016aeh                               ; e8 73 a4
     10776    call 016aeh                               ; e8 6e a4
    1077810777    mov byte [bp+00fh], al                    ; 88 46 0f
    1077910778    mov ax, strict word 00007h                ; b8 07 00
    10780     call 016aeh                               ; e8 6a a4
     10779    call 016aeh                               ; e8 65 a4
    1078110780    mov byte [bp+00eh], al                    ; 88 46 0e
    1078210781    mov ax, strict word 00032h                ; b8 32 00
    10783     call 016aeh                               ; e8 61 a4
     10782    call 016aeh                               ; e8 5c a4
    1078410783    mov byte [bp+011h], al                    ; 88 46 11
    1078510784    mov byte [bp+012h], al                    ; 88 46 12
    10786     jmp near 071c9h                           ; e9 73 ff
    10787     call 0704fh                               ; e8 f6 fd
     10785    jmp near 071ceh                           ; e9 73 ff
     10786    call 07054h                               ; e8 f6 fd
    1078810787    test ax, ax                               ; 85 c0
    10789     je short 07263h                           ; 74 06
    10790     call 07027h                               ; e8 c7 fd
    10791     jmp near 071c9h                           ; e9 66 ff
     10788    je short 07268h                           ; 74 06
     10789    call 0702ch                               ; e8 c7 fd
     10790    jmp near 071ceh                           ; e9 66 ff
    1079210791    mov dl, byte [bp+010h]                    ; 8a 56 10
    1079310792    xor dh, dh                                ; 30 f6
    1079410793    mov ax, strict word 00009h                ; b8 09 00
    10795     call 016c9h                               ; e8 5b a4
     10794    call 016c9h                               ; e8 56 a4
    1079610795    mov dl, byte [bp+00fh]                    ; 8a 56 0f
    1079710796    xor dh, dh                                ; 30 f6
    1079810797    mov ax, strict word 00008h                ; b8 08 00
    10799     call 016c9h                               ; e8 50 a4
     10798    call 016c9h                               ; e8 4b a4
    1080010799    mov dl, byte [bp+00eh]                    ; 8a 56 0e
    1080110800    xor dh, dh                                ; 30 f6
    1080210801    mov ax, strict word 00007h                ; b8 07 00
    10803     call 016c9h                               ; e8 45 a4
     10802    call 016c9h                               ; e8 40 a4
    1080410803    mov dl, byte [bp+011h]                    ; 8a 56 11
    1080510804    xor dh, dh                                ; 30 f6
    1080610805    mov ax, strict word 00032h                ; b8 32 00
    10807     call 016c9h                               ; e8 3a a4
     10806    call 016c9h                               ; e8 35 a4
    1080810807    mov ax, strict word 0000bh                ; b8 0b 00
    10809     call 016aeh                               ; e8 19 a4
     10808    call 016aeh                               ; e8 14 a4
    1081010809    mov bl, al                                ; 88 c3
    1081110810    and bl, 07fh                              ; 80 e3 7f
    10812     jmp near 0720ch                           ; e9 6f ff
     10811    jmp near 07211h                           ; e9 6f ff
    1081310812    mov ax, strict word 0000bh                ; b8 0b 00
    10814     call 016aeh                               ; e8 0b a4
     10813    call 016aeh                               ; e8 06 a4
    1081510814    mov bl, al                                ; 88 c3
    1081610815    mov word [bp+012h], strict word 00000h    ; c7 46 12 00 00
    1081710816    test AL, strict byte 020h                 ; a8 20
    10818     je short 072b1h                           ; 74 03
    10819     jmp near 071c9h                           ; e9 18 ff
    10820     call 0704fh                               ; e8 9b fd
     10817    je short 072b6h                           ; 74 03
     10818    jmp near 071ceh                           ; e9 18 ff
     10819    call 07054h                               ; e8 9b fd
    1082110820    test ax, ax                               ; 85 c0
    10822     je short 072bbh                           ; 74 03
    10823     call 07027h                               ; e8 6c fd
     10821    je short 072c0h                           ; 74 03
     10822    call 0702ch                               ; e8 6c fd
    1082410823    mov dl, byte [bp+00fh]                    ; 8a 56 0f
    1082510824    xor dh, dh                                ; 30 f6
    1082610825    mov ax, strict word 00001h                ; b8 01 00
    10827     call 016c9h                               ; e8 03 a4
     10826    call 016c9h                               ; e8 fe a3
    1082810827    mov dl, byte [bp+010h]                    ; 8a 56 10
    1082910828    xor dh, dh                                ; 30 f6
    1083010829    mov ax, strict word 00003h                ; b8 03 00
    10831     call 016c9h                               ; e8 f8 a3
     10830    call 016c9h                               ; e8 f3 a3
    1083210831    mov dl, byte [bp+011h]                    ; 8a 56 11
    1083310832    xor dh, dh                                ; 30 f6
    1083410833    mov ax, strict word 00005h                ; b8 05 00
    10835     call 016c9h                               ; e8 ed a3
     10834    call 016c9h                               ; e8 e8 a3
    1083610835    mov dx, 000a1h                            ; ba a1 00
    1083710836    in AL, DX                                 ; ec
     
    1084510844    xor dh, dh                                ; 30 f6
    1084610845    mov ax, strict word 0000bh                ; b8 0b 00
    10847     call 016c9h                               ; e8 d4 a3
    10848     jmp near 071c9h                           ; e9 d1 fe
     10846    call 016c9h                               ; e8 cf a3
     10847    jmp near 071ceh                           ; e9 d1 fe
    1084910848    mov ax, strict word 0000bh                ; b8 0b 00
    10850     call 016aeh                               ; e8 b0 a3
     10849    call 016aeh                               ; e8 ab a3
    1085110850    mov bl, al                                ; 88 c3
    1085210851    mov dl, al                                ; 88 c2
    1085310852    and dl, 057h                              ; 80 e2 57
    10854     jmp near 0720eh                           ; e9 06 ff
    10855 send_to_mouse_ctrl_:                         ; 0xf7308 LB 0x38
     10853    jmp near 07213h                           ; e9 06 ff
     10854send_to_mouse_ctrl_:                         ; 0xf730d LB 0x38
    1085610855    push bp                                   ; 55
    1085710856    mov bp, sp                                ; 89 e5
     
    1086410863    ; sub ah, ah                                ; 2a e4
    1086510864    test AL, strict byte 002h                 ; a8 02
    10866     je short 0732bh                           ; 74 12
     10865    je short 07330h                           ; 74 12
    1086710866    mov ax, 008eeh                            ; b8 ee 08
    1086810867    push ax                                   ; 50
    10869     mov ax, 0116eh                            ; b8 6e 11
     10868    mov ax, 0116ch                            ; b8 6c 11
    1087010869    push ax                                   ; 50
    1087110870    mov ax, strict word 00007h                ; b8 07 00
    1087210871    push ax                                   ; 50
    10873     call 01976h                               ; e8 4e a6
     10872    call 01976h                               ; e8 49 a6
    1087410873    add sp, strict byte 00006h                ; 83 c4 06
    1087510874    mov AL, strict byte 0d4h                  ; b0 d4
     
    1088510884    pop bp                                    ; 5d
    1088610885    retn                                      ; c3
    10887 get_mouse_data_:                             ; 0xf7340 LB 0x5d
     10886get_mouse_data_:                             ; 0xf7345 LB 0x5d
    1088810887    push bp                                   ; 55
    1088910888    mov bp, sp                                ; 89 e5
     
    1090010899    and ax, strict word 00021h                ; 25 21 00
    1090110900    cmp ax, strict word 00021h                ; 3d 21 00
    10902     je short 07383h                           ; 74 28
     10901    je short 07388h                           ; 74 28
    1090310902    test cx, cx                               ; 85 c9
    10904     je short 07383h                           ; 74 24
     10903    je short 07388h                           ; 74 24
    1090510904    mov dx, strict word 00061h                ; ba 61 00
    1090610905    in AL, DX                                 ; ec
     
    1091910918    xor ah, ah                                ; 30 e4
    1092010919    cmp dx, ax                                ; 39 c2
    10921     je short 0736ah                           ; 74 ea
     10920    je short 0736fh                           ; 74 ea
    1092210921    dec cx                                    ; 49
    10923     jmp short 0734dh                          ; eb ca
     10922    jmp short 07352h                          ; eb ca
    1092410923    test cx, cx                               ; 85 c9
    10925     jne short 0738bh                          ; 75 04
     10924    jne short 07390h                          ; 75 04
    1092610925    mov AL, strict byte 001h                  ; b0 01
    10927     jmp short 07396h                          ; eb 0b
     10926    jmp short 0739bh                          ; eb 0b
    1092810927    mov dx, strict word 00060h                ; ba 60 00
    1092910928    in AL, DX                                 ; ec
     
    1093710936    pop bp                                    ; 5d
    1093810937    retn                                      ; c3
    10939 set_kbd_command_byte_:                       ; 0xf739d LB 0x36
     10938set_kbd_command_byte_:                       ; 0xf73a2 LB 0x36
    1094010939    push bp                                   ; 55
    1094110940    mov bp, sp                                ; 89 e5
     
    1094810947    ; sub ah, ah                                ; 2a e4
    1094910948    test AL, strict byte 002h                 ; a8 02
    10950     je short 073c0h                           ; 74 12
     10949    je short 073c5h                           ; 74 12
    1095110950    mov ax, 008f8h                            ; b8 f8 08
    1095210951    push ax                                   ; 50
    10953     mov ax, 0116eh                            ; b8 6e 11
     10952    mov ax, 0116ch                            ; b8 6c 11
    1095410953    push ax                                   ; 50
    1095510954    mov ax, strict word 00007h                ; b8 07 00
    1095610955    push ax                                   ; 50
    10957     call 01976h                               ; e8 b9 a5
     10956    call 01976h                               ; e8 b4 a5
    1095810957    add sp, strict byte 00006h                ; 83 c4 06
    1095910958    mov AL, strict byte 060h                  ; b0 60
     
    1096810967    pop bp                                    ; 5d
    1096910968    retn                                      ; c3
    10970 _int74_function:                             ; 0xf73d3 LB 0xd2
     10969_int74_function:                             ; 0xf73d8 LB 0xd2
    1097110970    push bp                                   ; 55
    1097210971    mov bp, sp                                ; 89 e5
     
    1097410973    mov dx, strict word 0000eh                ; ba 0e 00
    1097510974    mov ax, strict word 00040h                ; b8 40 00
    10976     call 0166eh                               ; e8 8c a2
     10975    call 0166eh                               ; e8 87 a2
    1097710976    mov cx, ax                                ; 89 c1
    1097810977    mov word [bp+004h], strict word 00000h    ; c7 46 04 00 00
     
    1098310982    and AL, strict byte 021h                  ; 24 21
    1098410983    cmp AL, strict byte 021h                  ; 3c 21
    10985     jne short 07417h                          ; 75 22
     10984    jne short 0741ch                          ; 75 22
    1098610985    mov dx, strict word 00060h                ; ba 60 00
    1098710986    in AL, DX                                 ; ec
     
    1099110990    mov dx, strict word 00026h                ; ba 26 00
    1099210991    mov ax, cx                                ; 89 c8
    10993     call 01652h                               ; e8 4d a2
     10992    call 01652h                               ; e8 48 a2
    1099410993    mov byte [bp-002h], al                    ; 88 46 fe
    1099510994    mov dx, strict word 00027h                ; ba 27 00
    1099610995    mov ax, cx                                ; 89 c8
    10997     call 01652h                               ; e8 42 a2
     10996    call 01652h                               ; e8 3d a2
    1099810997    mov byte [bp-006h], al                    ; 88 46 fa
    1099910998    test AL, strict byte 080h                 ; a8 80
    11000     jne short 0741ah                          ; 75 03
    11001     jmp near 07491h                           ; e9 77 00
     10999    jne short 0741fh                          ; 75 03
     11000    jmp near 07496h                           ; e9 77 00
    1100211001    mov al, byte [bp-006h]                    ; 8a 46 fa
    1100311002    and AL, strict byte 007h                  ; 24 07
     
    1101311012    add dx, strict byte 00028h                ; 83 c2 28
    1101411013    mov ax, cx                                ; 89 c8
    11015     call 01660h                               ; e8 23 a2
     11014    call 01660h                               ; e8 1e a2
    1101611015    mov al, byte [bp-008h]                    ; 8a 46 f8
    1101711016    cmp al, byte [bp-004h]                    ; 3a 46 fc
    11018     jc short 07481h                           ; 72 3c
     11017    jc short 07486h                           ; 72 3c
    1101911018    mov dx, strict word 00028h                ; ba 28 00
    1102011019    mov ax, cx                                ; 89 c8
    11021     call 01652h                               ; e8 05 a2
     11020    call 01652h                               ; e8 00 a2
    1102211021    xor ah, ah                                ; 30 e4
    1102311022    mov word [bp+00ch], ax                    ; 89 46 0c
    1102411023    mov dx, strict word 00029h                ; ba 29 00
    1102511024    mov ax, cx                                ; 89 c8
    11026     call 01652h                               ; e8 f8 a1
     11025    call 01652h                               ; e8 f3 a1
    1102711026    xor ah, ah                                ; 30 e4
    1102811027    mov word [bp+00ah], ax                    ; 89 46 0a
    1102911028    mov dx, strict word 0002ah                ; ba 2a 00
    1103011029    mov ax, cx                                ; 89 c8
    11031     call 01652h                               ; e8 eb a1
     11030    call 01652h                               ; e8 e6 a1
    1103211031    xor ah, ah                                ; 30 e4
    1103311032    mov word [bp+008h], ax                    ; 89 46 08
     
    1103611035    mov byte [bp-002h], ah                    ; 88 66 fe
    1103711036    test byte [bp-006h], 080h                 ; f6 46 fa 80
    11038     je short 07484h                           ; 74 0a
     11037    je short 07489h                           ; 74 0a
    1103911038    mov word [bp+004h], strict word 00001h    ; c7 46 04 01 00
    11040     jmp short 07484h                          ; eb 03
     11039    jmp short 07489h                          ; eb 03
    1104111040    inc byte [bp-002h]                        ; fe 46 fe
    1104211041    mov bl, byte [bp-002h]                    ; 8a 5e fe
     
    1104411043    mov dx, strict word 00026h                ; ba 26 00
    1104511044    mov ax, cx                                ; 89 c8
    11046     call 01660h                               ; e8 cf a1
     11045    call 01660h                               ; e8 ca a1
    1104711046    mov sp, bp                                ; 89 ec
    1104811047    pop bp                                    ; 5d
    1104911048    retn                                      ; c3
    11050     out 074h, ax                              ; e7 74
    11051     arpl [di-01dh], si                        ; 63 75 e3
    11052     jne short 07514h                          ; 75 78
    11053     jbe short 07488h                          ; 76 ea
    11054     jbe short 074ceh                          ; 76 2e
    11055     jne short 074b4h                          ; 75 12
    11056     jnbe short 07483h                         ; 77 df
     11049    in AL, DX                                 ; ec
     11050    je short 07505h                           ; 74 68
     11051    jne short 07487h                          ; 75 e8
     11052    jne short 0751eh                          ; 75 7d
     11053    jbe short 07492h                          ; 76 ef
     11054    jbe short 074d8h                          ; 76 33
     11055    jne short 074beh                          ; 75 17
     11056    jnbe short 0748dh                         ; 77 e4
    1105711057    db  077h
    11058 _int15_function_mouse:                       ; 0xf74a5 LB 0x3a0
     11058_int15_function_mouse:                       ; 0xf74aa LB 0x3a0
    1105911059    push bp                                   ; 55
    1106011060    mov bp, sp                                ; 89 e5
     
    1106311063    mov dx, strict word 0000eh                ; ba 0e 00
    1106411064    mov ax, strict word 00040h                ; b8 40 00
    11065     call 0166eh                               ; e8 b9 a1
     11065    call 0166eh                               ; e8 b4 a1
    1106611066    mov cx, ax                                ; 89 c1
    1106711067    cmp byte [bp+012h], 007h                  ; 80 7e 12 07
    11068     jbe short 074c8h                          ; 76 0b
     11068    jbe short 074cdh                          ; 76 0b
    1106911069    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1107011070    mov byte [bp+013h], 001h                  ; c6 46 13 01
    11071     jmp near 0783fh                           ; e9 77 03
     11071    jmp near 07844h                           ; e9 77 03
    1107211072    mov ax, strict word 00065h                ; b8 65 00
    11073     call 0739dh                               ; e8 cf fe
     11073    call 073a2h                               ; e8 cf fe
    1107411074    and word [bp+018h], strict byte 0fffeh    ; 83 66 18 fe
    1107511075    mov byte [bp+013h], 000h                  ; c6 46 13 00
    1107611076    mov bl, byte [bp+012h]                    ; 8a 5e 12
    1107711077    cmp bl, 007h                              ; 80 fb 07
    11078     jnbe short 0753ch                         ; 77 5e
     11078    jnbe short 07541h                         ; 77 5e
    1107911079    xor bh, bh                                ; 30 ff
    1108011080    sal bx, 1                                 ; d1 e3
    11081     jmp word [cs:bx+07495h]                   ; 2e ff a7 95 74
     11081    jmp word [cs:bx+0749ah]                   ; 2e ff a7 9a 74
    1108211082    cmp byte [bp+00dh], 001h                  ; 80 7e 0d 01
    11083     jnbe short 0753fh                         ; 77 52
     11083    jnbe short 07544h                         ; 77 52
    1108411084    mov dx, strict word 00027h                ; ba 27 00
    1108511085    mov ax, cx                                ; 89 c8
    11086     call 01652h                               ; e8 5d a1
     11086    call 01652h                               ; e8 58 a1
    1108711087    test AL, strict byte 080h                 ; a8 80
    11088     jne short 07504h                          ; 75 0b
     11088    jne short 07509h                          ; 75 0b
    1108911089    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1109011090    mov byte [bp+013h], 005h                  ; c6 46 13 05
    11091     jmp near 07839h                           ; e9 35 03
     11091    jmp near 0783eh                           ; e9 35 03
    1109211092    cmp byte [bp+00dh], 000h                  ; 80 7e 0d 00
    11093     jne short 0750eh                          ; 75 04
     11093    jne short 07513h                          ; 75 04
    1109411094    mov AL, strict byte 0f5h                  ; b0 f5
    11095     jmp short 07510h                          ; eb 02
     11095    jmp short 07515h                          ; eb 02
    1109611096    mov AL, strict byte 0f4h                  ; b0 f4
    1109711097    xor ah, ah                                ; 30 e4
    11098     call 07308h                               ; e8 f3 fd
     11098    call 0730dh                               ; e8 f3 fd
    1109911099    test al, al                               ; 84 c0
    11100     jne short 07542h                          ; 75 29
     11100    jne short 07547h                          ; 75 29
    1110111101    mov dx, ss                                ; 8c d2
    1110211102    lea ax, [bp-006h]                         ; 8d 46 fa
    11103     call 07340h                               ; e8 1f fe
     11103    call 07345h                               ; e8 1f fe
    1110411104    test al, al                               ; 84 c0
    11105     je short 0752bh                           ; 74 06
     11105    je short 07530h                           ; 74 06
    1110611106    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa
    11107     jne short 07542h                          ; 75 17
    11108     jmp near 07839h                           ; e9 0b 03
     11107    jne short 07547h                          ; 75 17
     11108    jmp near 0783eh                           ; e9 0b 03
    1110911109    mov al, byte [bp+00dh]                    ; 8a 46 0d
    1111011110    cmp AL, strict byte 001h                  ; 3c 01
    11111     jc short 07539h                           ; 72 04
     11111    jc short 0753eh                           ; 72 04
    1111211112    cmp AL, strict byte 008h                  ; 3c 08
    11113     jbe short 07545h                          ; 76 0c
    11114     jmp near 076e0h                           ; e9 a4 01
    11115     jmp near 07823h                           ; e9 e4 02
    11116     jmp near 07831h                           ; e9 ef 02
    11117     jmp near 077b7h                           ; e9 72 02
     11113    jbe short 0754ah                          ; 76 0c
     11114    jmp near 076e5h                           ; e9 a4 01
     11115    jmp near 07828h                           ; e9 e4 02
     11116    jmp near 07836h                           ; e9 ef 02
     11117    jmp near 077bch                           ; e9 72 02
    1111811118    mov dx, strict word 00027h                ; ba 27 00
    1111911119    mov ax, cx                                ; 89 c8
    11120     call 01652h                               ; e8 05 a1
     11120    call 01652h                               ; e8 00 a1
    1112111121    mov ah, byte [bp+00dh]                    ; 8a 66 0d
    1112211122    db  0feh, 0cch
     
    1112811128    mov dx, strict word 00027h                ; ba 27 00
    1112911129    mov ax, cx                                ; 89 c8
    11130     call 01660h                               ; e8 fd a0
     11130    call 01660h                               ; e8 f8 a0
    1113111131    mov dx, strict word 00026h                ; ba 26 00
    1113211132    mov ax, cx                                ; 89 c8
    11133     call 01652h                               ; e8 e7 a0
     11133    call 01652h                               ; e8 e2 a0
    1113411134    mov bl, al                                ; 88 c3
    1113511135    and bl, 0f8h                              ; 80 e3 f8
     
    1113711137    mov dx, strict word 00026h                ; ba 26 00
    1113811138    mov ax, cx                                ; 89 c8
    11139     call 01660h                               ; e8 e6 a0
     11139    call 01660h                               ; e8 e1 a0
    1114011140    mov ax, 000ffh                            ; b8 ff 00
    11141     call 07308h                               ; e8 88 fd
     11141    call 0730dh                               ; e8 88 fd
    1114211142    test al, al                               ; 84 c0
    11143     jne short 07542h                          ; 75 be
     11143    jne short 07547h                          ; 75 be
    1114411144    mov dx, ss                                ; 8c d2
    1114511145    lea ax, [bp-008h]                         ; 8d 46 f8
    11146     call 07340h                               ; e8 b4 fd
     11146    call 07345h                               ; e8 b4 fd
    1114711147    mov cl, al                                ; 88 c1
    1114811148    cmp byte [bp-008h], 0feh                  ; 80 7e f8 fe
    11149     jne short 0759eh                          ; 75 0a
     11149    jne short 075a3h                          ; 75 0a
    1115011150    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1115111151    mov byte [bp+013h], 004h                  ; c6 46 13 04
    11152     jmp short 0752bh                          ; eb 8d
     11152    jmp short 07530h                          ; eb 8d
    1115311153    cmp byte [bp-008h], 0fah                  ; 80 7e f8 fa
    11154     je short 075b8h                           ; 74 14
     11154    je short 075bdh                           ; 74 14
    1115511155    mov al, byte [bp-008h]                    ; 8a 46 f8
    1115611156    xor ah, ah                                ; 30 e4
     
    1116011160    mov ax, strict word 00007h                ; b8 07 00
    1116111161    push ax                                   ; 50
    11162     call 01976h                               ; e8 c1 a3
     11162    call 01976h                               ; e8 bc a3
    1116311163    add sp, strict byte 00006h                ; 83 c4 06
    1116411164    test cl, cl                               ; 84 c9
    11165     jne short 07542h                          ; 75 86
     11165    jne short 07547h                          ; 75 86
    1116611166    mov dx, ss                                ; 8c d2
    1116711167    lea ax, [bp-006h]                         ; 8d 46 fa
    11168     call 07340h                               ; e8 7c fd
     11168    call 07345h                               ; e8 7c fd
    1116911169    test al, al                               ; 84 c0
    11170     jne short 0761eh                          ; 75 56
     11170    jne short 07623h                          ; 75 56
    1117111171    mov dx, ss                                ; 8c d2
    1117211172    lea ax, [bp-004h]                         ; 8d 46 fc
    11173     call 07340h                               ; e8 70 fd
     11173    call 07345h                               ; e8 70 fd
    1117411174    test al, al                               ; 84 c0
    11175     jne short 0761eh                          ; 75 4a
     11175    jne short 07623h                          ; 75 4a
    1117611176    mov al, byte [bp-006h]                    ; 8a 46 fa
    1117711177    mov byte [bp+00ch], al                    ; 88 46 0c
    1117811178    mov al, byte [bp-004h]                    ; 8a 46 fc
    1117911179    mov byte [bp+00dh], al                    ; 88 46 0d
    11180     jmp near 07839h                           ; e9 56 02
     11180    jmp near 0783eh                           ; e9 56 02
    1118111181    mov al, byte [bp+00dh]                    ; 8a 46 0d
    1118211182    cmp AL, strict byte 003h                  ; 3c 03
    11183     jc short 075fah                           ; 72 10
    11184     jbe short 07618h                          ; 76 2c
     11183    jc short 075ffh                           ; 72 10
     11184    jbe short 0761dh                          ; 76 2c
    1118511185    cmp AL, strict byte 006h                  ; 3c 06
    11186     je short 0762dh                           ; 74 3d
     11186    je short 07632h                           ; 74 3d
    1118711187    cmp AL, strict byte 005h                  ; 3c 05
    11188     je short 07627h                           ; 74 33
     11188    je short 0762ch                           ; 74 33
    1118911189    cmp AL, strict byte 004h                  ; 3c 04
    11190     je short 07621h                           ; 74 29
    11191     jmp short 07633h                          ; eb 39
     11190    je short 07626h                           ; 74 29
     11191    jmp short 07638h                          ; eb 39
    1119211192    cmp AL, strict byte 002h                  ; 3c 02
    11193     je short 07612h                           ; 74 14
     11193    je short 07617h                           ; 74 14
    1119411194    cmp AL, strict byte 001h                  ; 3c 01
    11195     je short 0760ch                           ; 74 0a
     11195    je short 07611h                           ; 74 0a
    1119611196    test al, al                               ; 84 c0
    11197     jne short 07633h                          ; 75 2d
     11197    jne short 07638h                          ; 75 2d
    1119811198    mov byte [bp-006h], 00ah                  ; c6 46 fa 0a
    11199     jmp short 07637h                          ; eb 2b
     11199    jmp short 0763ch                          ; eb 2b
    1120011200    mov byte [bp-006h], 014h                  ; c6 46 fa 14
    11201     jmp short 07637h                          ; eb 25
     11201    jmp short 0763ch                          ; eb 25
    1120211202    mov byte [bp-006h], 028h                  ; c6 46 fa 28
    11203     jmp short 07637h                          ; eb 1f
     11203    jmp short 0763ch                          ; eb 1f
    1120411204    mov byte [bp-006h], 03ch                  ; c6 46 fa 3c
    11205     jmp short 07637h                          ; eb 19
    11206     jmp near 077b7h                           ; e9 96 01
     11205    jmp short 0763ch                          ; eb 19
     11206    jmp near 077bch                           ; e9 96 01
    1120711207    mov byte [bp-006h], 050h                  ; c6 46 fa 50
    11208     jmp short 07637h                          ; eb 10
     11208    jmp short 0763ch                          ; eb 10
    1120911209    mov byte [bp-006h], 064h                  ; c6 46 fa 64
    11210     jmp short 07637h                          ; eb 0a
     11210    jmp short 0763ch                          ; eb 0a
    1121111211    mov byte [bp-006h], 0c8h                  ; c6 46 fa c8
    11212     jmp short 07637h                          ; eb 04
     11212    jmp short 0763ch                          ; eb 04
    1121311213    mov byte [bp-006h], 000h                  ; c6 46 fa 00
    1121411214    cmp byte [bp-006h], 000h                  ; 80 7e fa 00
    11215     jbe short 0766dh                          ; 76 30
     11215    jbe short 07672h                          ; 76 30
    1121611216    mov ax, 000f3h                            ; b8 f3 00
    11217     call 07308h                               ; e8 c5 fc
     11217    call 0730dh                               ; e8 c5 fc
    1121811218    test al, al                               ; 84 c0
    11219     jne short 07662h                          ; 75 1b
     11219    jne short 07667h                          ; 75 1b
    1122011220    mov dx, ss                                ; 8c d2
    1122111221    lea ax, [bp-004h]                         ; 8d 46 fc
    11222     call 07340h                               ; e8 f1 fc
     11222    call 07345h                               ; e8 f1 fc
    1122311223    mov al, byte [bp-006h]                    ; 8a 46 fa
    1122411224    xor ah, ah                                ; 30 e4
    11225     call 07308h                               ; e8 b1 fc
     11225    call 0730dh                               ; e8 b1 fc
    1122611226    mov dx, ss                                ; 8c d2
    1122711227    lea ax, [bp-004h]                         ; 8d 46 fc
    11228     call 07340h                               ; e8 e1 fc
    11229     jmp near 07839h                           ; e9 d7 01
     11228    call 07345h                               ; e8 e1 fc
     11229    jmp near 0783eh                           ; e9 d7 01
    1123011230    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1123111231    mov byte [bp+013h], 003h                  ; c6 46 13 03
    11232     jmp near 07839h                           ; e9 cc 01
     11232    jmp near 0783eh                           ; e9 cc 01
    1123311233    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1123411234    mov byte [bp+013h], 002h                  ; c6 46 13 02
    11235     jmp near 07839h                           ; e9 c1 01
     11235    jmp near 0783eh                           ; e9 c1 01
    1123611236    cmp byte [bp+00dh], 004h                  ; 80 7e 0d 04
    11237     jnc short 076e0h                          ; 73 62
     11237    jnc short 076e5h                          ; 73 62
    1123811238    mov ax, 000e8h                            ; b8 e8 00
    11239     call 07308h                               ; e8 84 fc
     11239    call 0730dh                               ; e8 84 fc
    1124011240    test al, al                               ; 84 c0
    11241     jne short 076d6h                          ; 75 4e
     11241    jne short 076dbh                          ; 75 4e
    1124211242    mov dx, ss                                ; 8c d2
    1124311243    lea ax, [bp-006h]                         ; 8d 46 fa
    11244     call 07340h                               ; e8 b0 fc
     11244    call 07345h                               ; e8 b0 fc
    1124511245    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa
    11246     je short 076aah                           ; 74 14
     11246    je short 076afh                           ; 74 14
    1124711247    mov al, byte [bp-006h]                    ; 8a 46 fa
    1124811248    xor ah, ah                                ; 30 e4
     
    1125211252    mov ax, strict word 00007h                ; b8 07 00
    1125311253    push ax                                   ; 50
    11254     call 01976h                               ; e8 cf a2
     11254    call 01976h                               ; e8 ca a2
    1125511255    add sp, strict byte 00006h                ; 83 c4 06
    1125611256    mov al, byte [bp+00dh]                    ; 8a 46 0d
    1125711257    xor ah, ah                                ; 30 e4
    11258     call 07308h                               ; e8 56 fc
     11258    call 0730dh                               ; e8 56 fc
    1125911259    mov dx, ss                                ; 8c d2
    1126011260    lea ax, [bp-006h]                         ; 8d 46 fa
    11261     call 07340h                               ; e8 86 fc
     11261    call 07345h                               ; e8 86 fc
    1126211262    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa
    11263     je short 0770fh                           ; 74 4f
     11263    je short 07714h                           ; 74 4f
    1126411264    mov al, byte [bp-006h]                    ; 8a 46 fa
    1126511265    xor ah, ah                                ; 30 e4
     
    1126911269    mov ax, strict word 00007h                ; b8 07 00
    1127011270    push ax                                   ; 50
    11271     call 01976h                               ; e8 a5 a2
     11271    call 01976h                               ; e8 a0 a2
    1127211272    add sp, strict byte 00006h                ; 83 c4 06
    11273     jmp short 0770fh                          ; eb 39
     11273    jmp short 07714h                          ; eb 39
    1127411274    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1127511275    mov byte [bp+013h], 003h                  ; c6 46 13 03
    11276     jmp short 0770fh                          ; eb 2f
     11276    jmp short 07714h                          ; eb 2f
    1127711277    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1127811278    mov byte [bp+013h], 002h                  ; c6 46 13 02
    11279     jmp short 0770fh                          ; eb 25
     11279    jmp short 07714h                          ; eb 25
    1128011280    mov ax, 000f2h                            ; b8 f2 00
    11281     call 07308h                               ; e8 18 fc
     11281    call 0730dh                               ; e8 18 fc
    1128211282    test al, al                               ; 84 c0
    11283     jne short 07707h                          ; 75 13
     11283    jne short 0770ch                          ; 75 13
    1128411284    mov dx, ss                                ; 8c d2
    1128511285    lea ax, [bp-006h]                         ; 8d 46 fa
    11286     call 07340h                               ; e8 44 fc
     11286    call 07345h                               ; e8 44 fc
    1128711287    mov dx, ss                                ; 8c d2
    1128811288    lea ax, [bp-004h]                         ; 8d 46 fc
    11289     call 07340h                               ; e8 3c fc
    11290     jmp near 075dah                           ; e9 d3 fe
     11289    call 07345h                               ; e8 3c fc
     11290    jmp near 075dfh                           ; e9 d3 fe
    1129111291    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1129211292    mov byte [bp+013h], 003h                  ; c6 46 13 03
    11293     jmp near 07839h                           ; e9 27 01
     11293    jmp near 0783eh                           ; e9 27 01
    1129411294    mov al, byte [bp+00dh]                    ; 8a 46 0d
    1129511295    test al, al                               ; 84 c0
    11296     jbe short 07722h                          ; 76 09
     11296    jbe short 07727h                          ; 76 09
    1129711297    cmp AL, strict byte 002h                  ; 3c 02
    11298     jbe short 07720h                          ; 76 03
    11299     jmp near 077c1h                           ; e9 a1 00
    11300     jmp short 0778ch                          ; eb 6a
     11298    jbe short 07725h                          ; 76 03
     11299    jmp near 077c6h                           ; e9 a1 00
     11300    jmp short 07791h                          ; eb 6a
    1130111301    mov ax, 000e9h                            ; b8 e9 00
    11302     call 07308h                               ; e8 e0 fb
     11302    call 0730dh                               ; e8 e0 fb
    1130311303    test al, al                               ; 84 c0
    11304     jne short 07795h                          ; 75 69
     11304    jne short 0779ah                          ; 75 69
    1130511305    mov dx, ss                                ; 8c d2
    1130611306    lea ax, [bp-006h]                         ; 8d 46 fa
    11307     call 07340h                               ; e8 0c fc
     11307    call 07345h                               ; e8 0c fc
    1130811308    mov cl, al                                ; 88 c1
    1130911309    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa
    11310     je short 07750h                           ; 74 14
     11310    je short 07755h                           ; 74 14
    1131111311    mov al, byte [bp-006h]                    ; 8a 46 fa
    1131211312    xor ah, ah                                ; 30 e4
     
    1131611316    mov ax, strict word 00007h                ; b8 07 00
    1131711317    push ax                                   ; 50
    11318     call 01976h                               ; e8 29 a2
     11318    call 01976h                               ; e8 24 a2
    1131911319    add sp, strict byte 00006h                ; 83 c4 06
    1132011320    test cl, cl                               ; 84 c9
    11321     jne short 077b7h                          ; 75 63
     11321    jne short 077bch                          ; 75 63
    1132211322    mov dx, ss                                ; 8c d2
    1132311323    lea ax, [bp-006h]                         ; 8d 46 fa
    11324     call 07340h                               ; e8 e4 fb
     11324    call 07345h                               ; e8 e4 fb
    1132511325    test al, al                               ; 84 c0
    11326     jne short 077b7h                          ; 75 57
     11326    jne short 077bch                          ; 75 57
    1132711327    mov dx, ss                                ; 8c d2
    1132811328    lea ax, [bp-004h]                         ; 8d 46 fc
    11329     call 07340h                               ; e8 d8 fb
     11329    call 07345h                               ; e8 d8 fb
    1133011330    test al, al                               ; 84 c0
    11331     jne short 077b7h                          ; 75 4b
     11331    jne short 077bch                          ; 75 4b
    1133211332    mov dx, ss                                ; 8c d2
    1133311333    lea ax, [bp-008h]                         ; 8d 46 f8
    11334     call 07340h                               ; e8 cc fb
     11334    call 07345h                               ; e8 cc fb
    1133511335    test al, al                               ; 84 c0
    11336     jne short 077b7h                          ; 75 3f
     11336    jne short 077bch                          ; 75 3f
    1133711337    mov al, byte [bp-006h]                    ; 8a 46 fa
    1133811338    mov byte [bp+00ch], al                    ; 88 46 0c
     
    1134111341    mov al, byte [bp-008h]                    ; 8a 46 f8
    1134211342    mov byte [bp+00eh], al                    ; 88 46 0e
    11343     jmp short 0770fh                          ; eb 83
     11343    jmp short 07714h                          ; eb 83
    1134411344    cmp AL, strict byte 001h                  ; 3c 01
    11345     jne short 07797h                          ; 75 07
     11345    jne short 0779ch                          ; 75 07
    1134611346    mov ax, 000e6h                            ; b8 e6 00
    11347     jmp short 0779ah                          ; eb 05
    11348     jmp short 077b7h                          ; eb 20
     11347    jmp short 0779fh                          ; eb 05
     11348    jmp short 077bch                          ; eb 20
    1134911349    mov ax, 000e7h                            ; b8 e7 00
    11350     call 07308h                               ; e8 6b fb
     11350    call 0730dh                               ; e8 6b fb
    1135111351    mov cl, al                                ; 88 c1
    1135211352    test cl, cl                               ; 84 c9
    11353     jne short 077b3h                          ; 75 10
     11353    jne short 077b8h                          ; 75 10
    1135411354    mov dx, ss                                ; 8c d2
    1135511355    lea ax, [bp-006h]                         ; 8d 46 fa
    11356     call 07340h                               ; e8 95 fb
     11356    call 07345h                               ; e8 95 fb
    1135711357    cmp byte [bp-006h], 0fah                  ; 80 7e fa fa
    11358     je short 077b3h                           ; 74 02
     11358    je short 077b8h                           ; 74 02
    1135911359    mov CL, strict byte 001h                  ; b1 01
    1136011360    test cl, cl                               ; 84 c9
    11361     je short 07821h                           ; 74 6a
     11361    je short 07826h                           ; 74 6a
    1136211362    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1136311363    mov byte [bp+013h], 003h                  ; c6 46 13 03
    11364     jmp short 07821h                          ; eb 60
     11364    jmp short 07826h                          ; eb 60
    1136511365    mov al, byte [bp+00dh]                    ; 8a 46 0d
    1136611366    xor ah, ah                                ; 30 e4
     
    1137011370    mov ax, strict word 00007h                ; b8 07 00
    1137111371    push ax                                   ; 50
    11372     call 01976h                               ; e8 a4 a1
     11372    call 01976h                               ; e8 9f a1
    1137311373    add sp, strict byte 00006h                ; 83 c4 06
    1137411374    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1137511375    mov byte [bp+013h], 001h                  ; c6 46 13 01
    11376     jmp short 07839h                          ; eb 5a
     11376    jmp short 0783eh                          ; eb 5a
    1137711377    mov si, word [bp+00ch]                    ; 8b 76 0c
    1137811378    mov bx, si                                ; 89 f3
    1137911379    mov dx, strict word 00022h                ; ba 22 00
    1138011380    mov ax, cx                                ; 89 c8
    11381     call 0167ch                               ; e8 90 9e
     11381    call 0167ch                               ; e8 8b 9e
    1138211382    mov bx, word [bp+014h]                    ; 8b 5e 14
    1138311383    mov dx, strict word 00024h                ; ba 24 00
    1138411384    mov ax, cx                                ; 89 c8
    11385     call 0167ch                               ; e8 85 9e
     11385    call 0167ch                               ; e8 80 9e
    1138611386    mov dx, strict word 00027h                ; ba 27 00
    1138711387    mov ax, cx                                ; 89 c8
    11388     call 01652h                               ; e8 53 9e
     11388    call 01652h                               ; e8 4e 9e
    1138911389    mov ah, al                                ; 88 c4
    1139011390    test si, si                               ; 85 f6
    11391     jne short 07813h                          ; 75 0e
     11391    jne short 07818h                          ; 75 0e
    1139211392    cmp word [bp+014h], strict byte 00000h    ; 83 7e 14 00
    11393     jne short 07813h                          ; 75 08
     11393    jne short 07818h                          ; 75 08
    1139411394    test AL, strict byte 080h                 ; a8 80
    11395     je short 07815h                           ; 74 06
     11395    je short 0781ah                           ; 74 06
    1139611396    and AL, strict byte 07fh                  ; 24 7f
    11397     jmp short 07815h                          ; eb 02
     11397    jmp short 0781ah                          ; eb 02
    1139811398    or AL, strict byte 080h                   ; 0c 80
    1139911399    mov bl, al                                ; 88 c3
     
    1140111401    mov dx, strict word 00027h                ; ba 27 00
    1140211402    mov ax, cx                                ; 89 c8
    11403     call 01660h                               ; e8 3f 9e
    11404     jmp short 07839h                          ; eb 16
     11403    call 01660h                               ; e8 3a 9e
     11404    jmp short 0783eh                          ; eb 16
    1140511405    mov ax, 00974h                            ; b8 74 09
    1140611406    push ax                                   ; 50
    1140711407    mov ax, strict word 00007h                ; b8 07 00
    1140811408    push ax                                   ; 50
    11409     call 01976h                               ; e8 48 a1
     11409    call 01976h                               ; e8 43 a1
    1141011410    add sp, strict byte 00004h                ; 83 c4 04
    1141111411    or word [bp+018h], strict byte 00001h     ; 83 4e 18 01
    1141211412    mov byte [bp+013h], 001h                  ; c6 46 13 01
    1141311413    mov ax, strict word 00047h                ; b8 47 00
    11414     call 0739dh                               ; e8 5e fb
     11414    call 073a2h                               ; e8 5e fb
    1141511415    lea sp, [bp-002h]                         ; 8d 66 fe
    1141611416    pop si                                    ; 5e
    1141711417    pop bp                                    ; 5d
    1141811418    retn                                      ; c3
    11419 _int17_function:                             ; 0xf7845 LB 0xac
     11419_int17_function:                             ; 0xf784a LB 0xac
    1142011420    push bp                                   ; 55
    1142111421    mov bp, sp                                ; 89 e5
     
    1142711427    add dx, strict byte 00008h                ; 83 c2 08
    1142811428    mov ax, strict word 00040h                ; b8 40 00
    11429     call 0166eh                               ; e8 15 9e
     11429    call 0166eh                               ; e8 10 9e
    1143011430    mov bx, ax                                ; 89 c3
    1143111431    mov si, ax                                ; 89 c6
    1143211432    cmp byte [bp+013h], 003h                  ; 80 7e 13 03
    11433     jnc short 0786fh                          ; 73 0c
     11433    jnc short 07874h                          ; 73 0c
    1143411434    mov ax, word [bp+00eh]                    ; 8b 46 0e
    1143511435    cmp ax, strict word 00003h                ; 3d 03 00
    11436     jnc short 0786fh                          ; 73 04
     11436    jnc short 07874h                          ; 73 04
    1143711437    test bx, bx                               ; 85 db
    11438     jnbe short 07872h                         ; 77 03
    11439     jmp near 078e7h                           ; e9 75 00
     11438    jnbe short 07877h                         ; 77 03
     11439    jmp near 078ech                           ; e9 75 00
    1144011440    mov dx, ax                                ; 89 c2
    1144111441    add dx, strict byte 00078h                ; 83 c2 78
    1144211442    mov ax, strict word 00040h                ; b8 40 00
    11443     call 01652h                               ; e8 d5 9d
     11443    call 01652h                               ; e8 d0 9d
    1144411444    mov ch, al                                ; 88 c5
    1144511445    xor cl, cl                                ; 30 c9
    1144611446    cmp byte [bp+013h], 000h                  ; 80 7e 13 00
    11447     jne short 078b3h                          ; 75 2c
     11447    jne short 078b8h                          ; 75 2c
    1144811448    mov al, byte [bp+012h]                    ; 8a 46 12
    1144911449    mov dx, bx                                ; 89 da
     
    1146511465    ; sub ah, ah                                ; 2a e4
    1146611466    test AL, strict byte 040h                 ; a8 40
    11467     je short 078b3h                           ; 74 07
     11467    je short 078b8h                           ; 74 07
    1146811468    test cx, cx                               ; 85 c9
    11469     je short 078b3h                           ; 74 03
     11469    je short 078b8h                           ; 74 03
    1147011470    dec cx                                    ; 49
    11471     jmp short 078a2h                          ; eb ef
     11471    jmp short 078a7h                          ; eb ef
    1147211472    cmp byte [bp+013h], 001h                  ; 80 7e 13 01
    11473     jne short 078ceh                          ; 75 15
     11473    jne short 078d3h                          ; 75 15
    1147411474    lea dx, [si+002h]                         ; 8d 54 02
    1147511475    in AL, DX                                 ; ec
     
    1149011490    mov byte [bp+013h], al                    ; 88 46 13
    1149111491    test cx, cx                               ; 85 c9
    11492     jne short 078e1h                          ; 75 04
     11492    jne short 078e6h                          ; 75 04
    1149311493    or byte [bp+013h], 001h                   ; 80 4e 13 01
    1149411494    and byte [bp+01ch], 0feh                  ; 80 66 1c fe
    11495     jmp short 078ebh                          ; eb 04
     11495    jmp short 078f0h                          ; eb 04
    1149611496    or byte [bp+01ch], 001h                   ; 80 4e 1c 01
    1149711497    lea sp, [bp-002h]                         ; 8d 66 fe
     
    1149911499    pop bp                                    ; 5d
    1150011500    retn                                      ; c3
    11501 wait_:                                       ; 0xf78f1 LB 0xb2
     11501wait_:                                       ; 0xf78f6 LB 0xb2
    1150211502    push bp                                   ; 55
    1150311503    mov bp, sp                                ; 89 e5
     
    1151711517    mov dx, 0046ch                            ; ba 6c 04
    1151811518    xor ax, ax                                ; 31 c0
    11519     call 0168ah                               ; e8 76 9d
     11519    call 0168ah                               ; e8 71 9d
    1152011520    mov word [bp-00eh], ax                    ; 89 46 f2
    1152111521    mov bx, dx                                ; 89 d3
     
    1152311523    mov dx, 0046ch                            ; ba 6c 04
    1152411524    xor ax, ax                                ; 31 c0
    11525     call 0168ah                               ; e8 68 9d
     11525    call 0168ah                               ; e8 63 9d
    1152611526    mov word [bp-012h], ax                    ; 89 46 ee
    1152711527    mov di, dx                                ; 89 d7
    1152811528    cmp dx, bx                                ; 39 da
    11529     jnbe short 07932h                         ; 77 07
    11530     jne short 07939h                          ; 75 0c
     11529    jnbe short 07937h                         ; 77 07
     11530    jne short 0793eh                          ; 75 0c
    1153111531    cmp ax, word [bp-00eh]                    ; 3b 46 f2
    11532     jbe short 07939h                          ; 76 07
     11532    jbe short 0793eh                          ; 76 07
    1153311533    sub ax, word [bp-00eh]                    ; 2b 46 f2
    1153411534    sbb dx, bx                                ; 19 da
    11535     jmp short 07944h                          ; eb 0b
     11535    jmp short 07949h                          ; eb 0b
    1153611536    cmp dx, bx                                ; 39 da
    11537     jc short 07944h                           ; 72 07
    11538     jne short 07948h                          ; 75 09
     11537    jc short 07949h                           ; 72 07
     11538    jne short 0794dh                          ; 75 09
    1153911539    cmp ax, word [bp-00eh]                    ; 3b 46 f2
    11540     jnc short 07948h                          ; 73 04
     11540    jnc short 0794dh                          ; 73 04
    1154111541    sub si, ax                                ; 29 c6
    1154211542    sbb cx, dx                                ; 19 d1
     
    1154611546    mov ax, 00100h                            ; b8 00 01
    1154711547    int 016h                                  ; cd 16
    11548     je short 0795ch                           ; 74 05
     11548    je short 07961h                           ; 74 05
    1154911549    mov AL, strict byte 001h                  ; b0 01
    11550     jmp near 0795eh                           ; e9 02 00
     11550    jmp near 07963h                           ; e9 02 00
    1155111551    db  032h, 0c0h
    1155211552    ; xor al, al                                ; 32 c0
    1155311553    test al, al                               ; 84 c0
    11554     je short 07988h                           ; 74 26
     11554    je short 0798dh                           ; 74 26
    1155511555    db  033h, 0c0h
    1155611556    ; xor ax, ax                                ; 33 c0
     
    1156511565    mov ax, strict word 00004h                ; b8 04 00
    1156611566    push ax                                   ; 50
    11567     call 01976h                               ; e8 fb 9f
     11567    call 01976h                               ; e8 f6 9f
    1156811568    add sp, strict byte 00006h                ; 83 c4 06
    1156911569    cmp byte [bp-00ah], 000h                  ; 80 7e f6 00
    11570     je short 07988h                           ; 74 04
     11570    je short 0798dh                           ; 74 04
    1157111571    mov al, dl                                ; 88 d0
    11572     jmp short 0799ah                          ; eb 12
     11572    jmp short 0799fh                          ; eb 12
    1157311573    test cx, cx                               ; 85 c9
    11574     jnle short 07919h                         ; 7f 8d
    11575     jne short 07992h                          ; 75 04
     11574    jnle short 0791eh                         ; 7f 8d
     11575    jne short 07997h                          ; 75 04
    1157611576    test si, si                               ; 85 f6
    11577     jnbe short 07919h                         ; 77 87
     11577    jnbe short 0791eh                         ; 77 87
    1157811578    mov ax, word [bp-010h]                    ; 8b 46 f0
    1157911579    push ax                                   ; 50
     
    1158711587    pop bp                                    ; 5d
    1158811588    retn                                      ; c3
    11589 read_logo_byte_:                             ; 0xf79a3 LB 0x16
     11589read_logo_byte_:                             ; 0xf79a8 LB 0x16
    1159011590    push bp                                   ; 55
    1159111591    mov bp, sp                                ; 89 e5
     
    1160211602    pop bp                                    ; 5d
    1160311603    retn                                      ; c3
    11604 read_logo_word_:                             ; 0xf79b9 LB 0x14
     11604read_logo_word_:                             ; 0xf79be LB 0x14
    1160511605    push bp                                   ; 55
    1160611606    mov bp, sp                                ; 89 e5
     
    1161511615    pop bp                                    ; 5d
    1161611616    retn                                      ; c3
    11617 print_detected_harddisks_:                   ; 0xf79cd LB 0x15a
     11617print_detected_harddisks_:                   ; 0xf79d2 LB 0x15a
    1161811618    push bp                                   ; 55
    1161911619    mov bp, sp                                ; 89 e5
     
    1162511625    mov dx, strict word 0000eh                ; ba 0e 00
    1162611626    mov ax, strict word 00040h                ; b8 40 00
    11627     call 0166eh                               ; e8 8e 9c
     11627    call 0166eh                               ; e8 89 9c
    1162811628    mov si, ax                                ; 89 c6
    1162911629    mov byte [bp-00eh], 000h                  ; c6 46 f2 00
     
    1163111631    mov byte [bp-00ch], ch                    ; 88 6e f4
    1163211632    mov dx, 00304h                            ; ba 04 03
    11633     call 01652h                               ; e8 61 9c
     11633    call 01652h                               ; e8 5c 9c
    1163411634    mov byte [bp-00ah], al                    ; 88 46 f6
    1163511635    xor cl, cl                                ; 30 c9
    1163611636    cmp cl, byte [bp-00ah]                    ; 3a 4e f6
    11637     jnc short 07a59h                          ; 73 5e
     11637    jnc short 07a5eh                          ; 73 5e
    1163811638    mov al, cl                                ; 88 c8
    1163911639    xor ah, ah                                ; 30 e4
     
    1164111641    add dx, 00305h                            ; 81 c2 05 03
    1164211642    mov ax, si                                ; 89 f0
    11643     call 01652h                               ; e8 48 9c
     11643    call 01652h                               ; e8 43 9c
    1164411644    mov bl, al                                ; 88 c3
    1164511645    cmp AL, strict byte 00ch                  ; 3c 0c
    11646     jc short 07a3bh                           ; 72 2b
     11646    jc short 07a40h                           ; 72 2b
    1164711647    test ch, ch                               ; 84 ed
    11648     jne short 07a24h                          ; 75 10
     11648    jne short 07a29h                          ; 75 10
    1164911649    mov ax, 009a7h                            ; b8 a7 09
    1165011650    push ax                                   ; 50
    1165111651    mov ax, strict word 00002h                ; b8 02 00
    1165211652    push ax                                   ; 50
    11653     call 01976h                               ; e8 57 9f
     11653    call 01976h                               ; e8 52 9f
    1165411654    add sp, strict byte 00004h                ; 83 c4 04
    1165511655    mov CH, strict byte 001h                  ; b5 01
     
    1166211662    mov ax, strict word 00002h                ; b8 02 00
    1166311663    push ax                                   ; 50
    11664     call 01976h                               ; e8 41 9f
     11664    call 01976h                               ; e8 3c 9f
    1166511665    add sp, strict byte 00006h                ; 83 c4 06
    11666     jmp near 07aedh                           ; e9 b2 00
     11666    jmp near 07af2h                           ; e9 b2 00
    1166711667    cmp AL, strict byte 008h                  ; 3c 08
    11668     jc short 07a5ch                           ; 72 1d
     11668    jc short 07a61h                           ; 72 1d
    1166911669    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11670     jne short 07a57h                          ; 75 12
     11670    jne short 07a5ch                          ; 75 12
    1167111671    mov ax, 009cfh                            ; b8 cf 09
    1167211672    push ax                                   ; 50
    1167311673    mov ax, strict word 00002h                ; b8 02 00
    1167411674    push ax                                   ; 50
    11675     call 01976h                               ; e8 26 9f
     11675    call 01976h                               ; e8 21 9f
    1167611676    add sp, strict byte 00004h                ; 83 c4 04
    1167711677    mov byte [bp-00ch], 001h                  ; c6 46 f4 01
    11678     jmp short 07a24h                          ; eb cb
    11679     jmp near 07af2h                           ; e9 96 00
     11678    jmp short 07a29h                          ; eb cb
     11679    jmp near 07af7h                           ; e9 96 00
    1168011680    cmp AL, strict byte 004h                  ; 3c 04
    11681     jnc short 07a7ah                          ; 73 1a
     11681    jnc short 07a7fh                          ; 73 1a
    1168211682    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00
    11683     jne short 07a7ah                          ; 75 14
     11683    jne short 07a7fh                          ; 75 14
    1168411684    mov ax, 009e4h                            ; b8 e4 09
    1168511685    push ax                                   ; 50
    1168611686    mov ax, strict word 00002h                ; b8 02 00
    1168711687    push ax                                   ; 50
    11688     call 01976h                               ; e8 05 9f
     11688    call 01976h                               ; e8 00 9f
    1168911689    add sp, strict byte 00004h                ; 83 c4 04
    1169011690    mov byte [bp-00eh], 001h                  ; c6 46 f2 01
    11691     jmp short 07a93h                          ; eb 19
     11691    jmp short 07a98h                          ; eb 19
    1169211692    cmp bl, 004h                              ; 80 fb 04
    11693     jc short 07a93h                           ; 72 14
     11693    jc short 07a98h                           ; 72 14
    1169411694    test ch, ch                               ; 84 ed
    11695     jne short 07a93h                          ; 75 10
     11695    jne short 07a98h                          ; 75 10
    1169611696    mov ax, 009f6h                            ; b8 f6 09
    1169711697    push ax                                   ; 50
    1169811698    mov ax, strict word 00002h                ; b8 02 00
    1169911699    push ax                                   ; 50
    11700     call 01976h                               ; e8 e8 9e
     11700    call 01976h                               ; e8 e3 9e
    1170111701    add sp, strict byte 00004h                ; 83 c4 04
    1170211702    mov CH, strict byte 001h                  ; b5 01
     
    1170911709    mov ax, strict word 00002h                ; b8 02 00
    1171011710    push ax                                   ; 50
    11711     call 01976h                               ; e8 d2 9e
     11711    call 01976h                               ; e8 cd 9e
    1171211712    add sp, strict byte 00006h                ; 83 c4 06
    1171311713    cmp bl, 004h                              ; 80 fb 04
    11714     jc short 07aafh                           ; 72 03
     11714    jc short 07ab4h                           ; 72 03
    1171511715    sub bl, 004h                              ; 80 eb 04
    1171611716    mov al, bl                                ; 88 d8
     
    1172111721    sar ax, 1                                 ; d1 f8
    1172211722    test ax, ax                               ; 85 c0
    11723     je short 07ac1h                           ; 74 05
     11723    je short 07ac6h                           ; 74 05
    1172411724    mov ax, 00a14h                            ; b8 14 0a
    11725     jmp short 07ac4h                          ; eb 03
     11725    jmp short 07ac9h                          ; eb 03
    1172611726    mov ax, 00a1fh                            ; b8 1f 0a
    1172711727    push ax                                   ; 50
    1172811728    mov ax, strict word 00002h                ; b8 02 00
    1172911729    push ax                                   ; 50
    11730     call 01976h                               ; e8 aa 9e
     11730    call 01976h                               ; e8 a5 9e
    1173111731    add sp, strict byte 00004h                ; 83 c4 04
    1173211732    mov al, bl                                ; 88 d8
     
    1173611736    idiv bx                                   ; f7 fb
    1173711737    test dx, dx                               ; 85 d2
    11738     je short 07ae2h                           ; 74 05
     11738    je short 07ae7h                           ; 74 05
    1173911739    mov ax, 00a28h                            ; b8 28 0a
    11740     jmp short 07ae5h                          ; eb 03
     11740    jmp short 07aeah                          ; eb 03
    1174111741    mov ax, 00a2eh                            ; b8 2e 0a
    1174211742    push ax                                   ; 50
    1174311743    push bx                                   ; 53
    11744     call 01976h                               ; e8 8c 9e
     11744    call 01976h                               ; e8 87 9e
    1174511745    add sp, strict byte 00004h                ; 83 c4 04
    1174611746    db  0feh, 0c1h
    1174711747    ; inc cl                                    ; fe c1
    11748     jmp near 079f6h                           ; e9 04 ff
     11748    jmp near 079fbh                           ; e9 04 ff
    1174911749    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00
    11750     jne short 07b10h                          ; 75 18
     11750    jne short 07b15h                          ; 75 18
    1175111751    test ch, ch                               ; 84 ed
    11752     jne short 07b10h                          ; 75 14
     11752    jne short 07b15h                          ; 75 14
    1175311753    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11754     jne short 07b10h                          ; 75 0e
     11754    jne short 07b15h                          ; 75 0e
    1175511755    mov ax, 00a35h                            ; b8 35 0a
    1175611756    push ax                                   ; 50
    1175711757    mov ax, strict word 00002h                ; b8 02 00
    1175811758    push ax                                   ; 50
    11759     call 01976h                               ; e8 69 9e
     11759    call 01976h                               ; e8 64 9e
    1176011760    add sp, strict byte 00004h                ; 83 c4 04
    1176111761    mov ax, 00a49h                            ; b8 49 0a
     
    1176311763    mov ax, strict word 00002h                ; b8 02 00
    1176411764    push ax                                   ; 50
    11765     call 01976h                               ; e8 5b 9e
     11765    call 01976h                               ; e8 56 9e
    1176611766    add sp, strict byte 00004h                ; 83 c4 04
    1176711767    lea sp, [bp-008h]                         ; 8d 66 f8
     
    1177211772    pop bp                                    ; 5d
    1177311773    retn                                      ; c3
    11774 get_boot_drive_:                             ; 0xf7b27 LB 0x28
     11774get_boot_drive_:                             ; 0xf7b2c LB 0x28
    1177511775    push bp                                   ; 55
    1177611776    mov bp, sp                                ; 89 e5
     
    1178011780    mov dx, strict word 0000eh                ; ba 0e 00
    1178111781    mov ax, strict word 00040h                ; b8 40 00
    11782     call 0166eh                               ; e8 37 9b
     11782    call 0166eh                               ; e8 32 9b
    1178311783    mov dx, 00304h                            ; ba 04 03
    11784     call 01652h                               ; e8 15 9b
     11784    call 01652h                               ; e8 10 9b
    1178511785    sub bl, 002h                              ; 80 eb 02
    1178611786    cmp bl, al                                ; 38 c3
    11787     jc short 07b46h                           ; 72 02
     11787    jc short 07b4bh                           ; 72 02
    1178811788    mov BL, strict byte 0ffh                  ; b3 ff
    1178911789    mov al, bl                                ; 88 d8
     
    1179311793    pop bp                                    ; 5d
    1179411794    retn                                      ; c3
    11795 show_logo_:                                  ; 0xf7b4f LB 0x240
     11795show_logo_:                                  ; 0xf7b54 LB 0x240
    1179611796    push bp                                   ; 55
    1179711797    mov bp, sp                                ; 89 e5
     
    1180411804    mov dx, strict word 0000eh                ; ba 0e 00
    1180511805    mov ax, strict word 00040h                ; b8 40 00
    11806     call 0166eh                               ; e8 0b 9b
     11806    call 0166eh                               ; e8 06 9b
    1180711807    mov si, ax                                ; 89 c6
    1180811808    mov byte [bp-00ch], 000h                  ; c6 46 f4 00
     
    1181611816    mov al, cl                                ; 88 c8
    1181711817    xor ah, ah                                ; 30 e4
    11818     call 079b9h                               ; e8 3b fe
     11818    call 079beh                               ; e8 3b fe
    1181911819    cmp ax, 066bbh                            ; 3d bb 66
    11820     jne short 07b95h                          ; 75 12
     11820    jne short 07b9ah                          ; 75 12
    1182111821    push SS                                   ; 16
    1182211822    pop ES                                    ; 07
     
    1182611826    mov word [es:di], bx                      ; 26 89 1d
    1182711827    cmp ax, strict word 0004fh                ; 3d 4f 00
    11828     je short 07b98h                           ; 74 03
    11829     jmp near 07c5eh                           ; e9 c6 00
     11828    je short 07b9dh                           ; 74 03
     11829    jmp near 07c63h                           ; e9 c6 00
    1183011830    mov al, cl                                ; 88 c8
    1183111831    add AL, strict byte 004h                  ; 04 04
    1183211832    xor ah, ah                                ; 30 e4
    11833     call 079a3h                               ; e8 02 fe
     11833    call 079a8h                               ; e8 02 fe
    1183411834    mov bl, al                                ; 88 c3
    1183511835    mov byte [bp-014h], al                    ; 88 46 ec
     
    1183711837    add AL, strict byte 005h                  ; 04 05
    1183811838    xor ah, ah                                ; 30 e4
    11839     call 079a3h                               ; e8 f4 fd
     11839    call 079a8h                               ; e8 f4 fd
    1184011840    mov bh, al                                ; 88 c7
    1184111841    mov byte [bp-012h], al                    ; 88 46 ee
     
    1184311843    add AL, strict byte 002h                  ; 04 02
    1184411844    xor ah, ah                                ; 30 e4
    11845     call 079b9h                               ; e8 fc fd
     11845    call 079beh                               ; e8 fc fd
    1184611846    mov dx, ax                                ; 89 c2
    1184711847    mov word [bp-016h], ax                    ; 89 46 ea
     
    1184911849    add AL, strict byte 006h                  ; 04 06
    1185011850    xor ah, ah                                ; 30 e4
    11851     call 079a3h                               ; e8 d8 fd
     11851    call 079a8h                               ; e8 d8 fd
    1185211852    mov byte [bp-010h], al                    ; 88 46 f0
    1185311853    test bl, bl                               ; 84 db
    11854     jne short 07bdah                          ; 75 08
     11854    jne short 07bdfh                          ; 75 08
    1185511855    test bh, bh                               ; 84 ff
    11856     jne short 07bdah                          ; 75 04
     11856    jne short 07bdfh                          ; 75 04
    1185711857    test dx, dx                               ; 85 d2
    11858     je short 07b95h                           ; 74 bb
     11858    je short 07b9ah                           ; 74 bb
    1185911859    mov bx, 00142h                            ; bb 42 01
    1186011860    mov ax, 04f02h                            ; b8 02 4f
    1186111861    int 010h                                  ; cd 10
    1186211862    cmp byte [bp-014h], 000h                  ; 80 7e ec 00
    11863     je short 07c0dh                           ; 74 25
     11863    je short 07c12h                           ; 74 25
    1186411864    xor cx, cx                                ; 31 c9
    11865     jmp short 07bf2h                          ; eb 06
     11865    jmp short 07bf7h                          ; eb 06
    1186611866    inc cx                                    ; 41
    1186711867    cmp cx, strict byte 00010h                ; 83 f9 10
    11868     jnbe short 07c14h                         ; 77 22
     11868    jnbe short 07c19h                         ; 77 22
    1186911869    mov ax, cx                                ; 89 c8
    1187011870    or ah, 002h                               ; 80 cc 02
     
    1187311873    xor dx, dx                                ; 31 d2
    1187411874    mov ax, strict word 00001h                ; b8 01 00
    11875     call 078f1h                               ; e8 ee fc
     11875    call 078f6h                               ; e8 ee fc
    1187611876    cmp AL, strict byte 086h                  ; 3c 86
    11877     jne short 07bech                          ; 75 e5
     11877    jne short 07bf1h                          ; 75 e5
    1187811878    mov byte [bp-00ch], 001h                  ; c6 46 f4 01
    11879     jmp short 07c14h                          ; eb 07
     11879    jmp short 07c19h                          ; eb 07
    1188011880    mov ax, 00210h                            ; b8 10 02
    1188111881    mov dx, 003b8h                            ; ba b8 03
    1188211882    out DX, ax                                ; ef
    1188311883    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11884     jne short 07c2fh                          ; 75 15
     11884    jne short 07c34h                          ; 75 15
    1188511885    mov CL, strict byte 004h                  ; b1 04
    1188611886    mov ax, word [bp-016h]                    ; 8b 46 ea
    1188711887    shr ax, CL                                ; d3 e8
    1188811888    mov dx, strict word 00001h                ; ba 01 00
    11889     call 078f1h                               ; e8 ca fc
     11889    call 078f6h                               ; e8 ca fc
    1189011890    cmp AL, strict byte 086h                  ; 3c 86
    11891     jne short 07c2fh                          ; 75 04
     11891    jne short 07c34h                          ; 75 04
    1189211892    mov byte [bp-00ch], 001h                  ; c6 46 f4 01
    1189311893    cmp byte [bp-012h], 000h                  ; 80 7e ee 00
    11894     je short 07c5eh                           ; 74 29
     11894    je short 07c63h                           ; 74 29
    1189511895    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11896     jne short 07c5eh                          ; 75 23
     11896    jne short 07c63h                          ; 75 23
    1189711897    mov cx, strict word 00010h                ; b9 10 00
    11898     jmp short 07c45h                          ; eb 05
     11898    jmp short 07c4ah                          ; eb 05
    1189911899    dec cx                                    ; 49
    1190011900    test cx, cx                               ; 85 c9
    11901     jbe short 07c5eh                          ; 76 19
     11901    jbe short 07c63h                          ; 76 19
    1190211902    mov ax, cx                                ; 89 c8
    1190311903    or ah, 002h                               ; 80 cc 02
     
    1190611906    xor dx, dx                                ; 31 d2
    1190711907    mov ax, strict word 00001h                ; b8 01 00
    11908     call 078f1h                               ; e8 9b fc
     11908    call 078f6h                               ; e8 9b fc
    1190911909    cmp AL, strict byte 086h                  ; 3c 86
    11910     jne short 07c40h                          ; 75 e6
     11910    jne short 07c45h                          ; 75 e6
    1191111911    mov byte [bp-00ch], 001h                  ; c6 46 f4 01
    1191211912    xor bx, bx                                ; 31 db
    1191311913    mov dx, 0037dh                            ; ba 7d 03
    1191411914    mov ax, si                                ; 89 f0
    11915     call 01660h                               ; e8 f8 99
     11915    call 01660h                               ; e8 f3 99
    1191611916    mov AL, strict byte 003h                  ; b0 03
    1191711917    mov AH, strict byte 000h                  ; b4 00
    1191811918    int 010h                                  ; cd 10
    1191911919    cmp byte [bp-010h], 000h                  ; 80 7e f0 00
    11920     je short 07c88h                           ; 74 14
     11920    je short 07c8dh                           ; 74 14
    1192111921    cmp byte [bp-014h], 000h                  ; 80 7e ec 00
    11922     jne short 07cb6h                          ; 75 3c
     11922    jne short 07cbbh                          ; 75 3c
    1192311923    cmp byte [bp-012h], 000h                  ; 80 7e ee 00
    11924     jne short 07cb6h                          ; 75 36
     11924    jne short 07cbbh                          ; 75 36
    1192511925    cmp word [bp-016h], strict byte 00000h    ; 83 7e ea 00
    11926     je short 07c8bh                           ; 74 05
    11927     jmp short 07cb6h                          ; eb 2e
    11928     jmp near 07d72h                           ; e9 e7 00
     11926    je short 07c90h                           ; 74 05
     11927    jmp short 07cbbh                          ; eb 2e
     11928    jmp near 07d77h                           ; e9 e7 00
    1192911929    cmp byte [bp-010h], 002h                  ; 80 7e f0 02
    11930     jne short 07c9fh                          ; 75 0e
     11930    jne short 07ca4h                          ; 75 0e
    1193111931    mov ax, 00a4bh                            ; b8 4b 0a
    1193211932    push ax                                   ; 50
    1193311933    mov ax, strict word 00002h                ; b8 02 00
    1193411934    push ax                                   ; 50
    11935     call 01976h                               ; e8 da 9c
     11935    call 01976h                               ; e8 d5 9c
    1193611936    add sp, strict byte 00004h                ; 83 c4 04
    1193711937    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11938     jne short 07cb6h                          ; 75 11
     11938    jne short 07cbbh                          ; 75 11
    1193911939    mov dx, strict word 00001h                ; ba 01 00
    1194011940    mov ax, 000c0h                            ; b8 c0 00
    11941     call 078f1h                               ; e8 43 fc
     11941    call 078f6h                               ; e8 43 fc
    1194211942    cmp AL, strict byte 086h                  ; 3c 86
    11943     jne short 07cb6h                          ; 75 04
     11943    jne short 07cbbh                          ; 75 04
    1194411944    mov byte [bp-00ch], 001h                  ; c6 46 f4 01
    1194511945    cmp byte [bp-00ch], 000h                  ; 80 7e f4 00
    11946     je short 07c88h                           ; 74 cc
     11946    je short 07c8dh                           ; 74 cc
    1194711947    mov byte [bp-00eh], 000h                  ; c6 46 f2 00
    1194811948    mov ax, 00100h                            ; b8 00 01
     
    1196511965    mov ax, strict word 00002h                ; b8 02 00
    1196611966    push ax                                   ; 50
    11967     call 01976h                               ; e8 8e 9c
     11967    call 01976h                               ; e8 89 9c
    1196811968    add sp, strict byte 00004h                ; 83 c4 04
    11969     call 079cdh                               ; e8 df fc
     11969    call 079d2h                               ; e8 df fc
    1197011970    mov ax, 00ab1h                            ; b8 b1 0a
    1197111971    push ax                                   ; 50
    1197211972    mov ax, strict word 00002h                ; b8 02 00
    1197311973    push ax                                   ; 50
    11974     call 01976h                               ; e8 7d 9c
     11974    call 01976h                               ; e8 78 9c
    1197511975    add sp, strict byte 00004h                ; 83 c4 04
    1197611976    mov dx, strict word 00001h                ; ba 01 00
    1197711977    mov ax, strict word 00040h                ; b8 40 00
    11978     call 078f1h                               ; e8 ec fb
     11978    call 078f6h                               ; e8 ec fb
    1197911979    mov cl, al                                ; 88 c1
    1198011980    test al, al                               ; 84 c0
    11981     je short 07cfch                           ; 74 f1
     11981    je short 07d01h                           ; 74 f1
    1198211982    cmp AL, strict byte 030h                  ; 3c 30
    11983     je short 07d5fh                           ; 74 50
     11983    je short 07d64h                           ; 74 50
    1198411984    cmp cl, 002h                              ; 80 f9 02
    11985     jc short 07d38h                           ; 72 24
     11985    jc short 07d3dh                           ; 72 24
    1198611986    cmp cl, 009h                              ; 80 f9 09
    11987     jnbe short 07d38h                         ; 77 1f
     11987    jnbe short 07d3dh                         ; 77 1f
    1198811988    mov al, cl                                ; 88 c8
    1198911989    xor ah, ah                                ; 30 e4
    11990     call 07b27h                               ; e8 07 fe
     11990    call 07b2ch                               ; e8 07 fe
    1199111991    cmp AL, strict byte 0ffh                  ; 3c ff
    11992     jne short 07d26h                          ; 75 02
    11993     jmp short 07cfch                          ; eb d6
     11992    jne short 07d2bh                          ; 75 02
     11993    jmp short 07d01h                          ; eb d6
    1199411994    mov bl, al                                ; 88 c3
    1199511995    xor bh, bh                                ; 30 ff
    1199611996    mov dx, 0037ch                            ; ba 7c 03
    1199711997    mov ax, si                                ; 89 f0
    11998     call 01660h                               ; e8 2e 99
     11998    call 01660h                               ; e8 29 99
    1199911999    mov byte [bp-00eh], 002h                  ; c6 46 f2 02
    12000     jmp short 07d5fh                          ; eb 27
     12000    jmp short 07d64h                          ; eb 27
    1200112001    cmp cl, 02eh                              ; 80 f9 2e
    12002     je short 07d4dh                           ; 74 10
     12002    je short 07d52h                           ; 74 10
    1200312003    cmp cl, 026h                              ; 80 f9 26
    12004     je short 07d53h                           ; 74 11
     12004    je short 07d58h                           ; 74 11
    1200512005    cmp cl, 021h                              ; 80 f9 21
    12006     jne short 07d59h                          ; 75 12
     12006    jne short 07d5eh                          ; 75 12
    1200712007    mov byte [bp-00eh], 001h                  ; c6 46 f2 01
    12008     jmp short 07d5fh                          ; eb 12
     12008    jmp short 07d64h                          ; eb 12
    1200912009    mov byte [bp-00eh], 003h                  ; c6 46 f2 03
    12010     jmp short 07d5fh                          ; eb 0c
     12010    jmp short 07d64h                          ; eb 0c
    1201112011    mov byte [bp-00eh], 004h                  ; c6 46 f2 04
    12012     jmp short 07d5fh                          ; eb 06
     12012    jmp short 07d64h                          ; eb 06
    1201312013    cmp byte [bp-00eh], 000h                  ; 80 7e f2 00
    12014     je short 07cfch                           ; 74 9d
     12014    je short 07d01h                           ; 74 9d
    1201512015    mov bl, byte [bp-00eh]                    ; 8a 5e f2
    1201612016    xor bh, bh                                ; 30 ff
    1201712017    mov dx, 0037dh                            ; ba 7d 03
    1201812018    mov ax, si                                ; 89 f0
    12019     call 01660h                               ; e8 f4 98
     12019    call 01660h                               ; e8 ef 98
    1202012020    mov AL, strict byte 003h                  ; b0 03
    1202112021    mov AH, strict byte 000h                  ; b4 00
     
    1203012030    push DS                                   ; 1e
    1203112031    mov ds, ax                                ; 8e d8
    12032     call 0ede3h                               ; e8 60 70
     12032    call 0ede3h                               ; e8 5b 70
    1203312033    pop DS                                    ; 1f
    1203412034    pop bp                                    ; 5d
     
    1204112041    pop bp                                    ; 5d
    1204212042    retn                                      ; c3
    12043 delay_boot_:                                 ; 0xf7d8f LB 0x72
     12043delay_boot_:                                 ; 0xf7d94 LB 0x72
    1204412044    push bp                                   ; 55
    1204512045    mov bp, sp                                ; 89 e5
     
    1205112051    mov bx, ax                                ; 89 c3
    1205212052    test ax, ax                               ; 85 c0
    12053     je short 07df7h                           ; 74 5a
     12053    je short 07dfch                           ; 74 5a
    1205412054    mov AL, strict byte 034h                  ; b0 34
    1205512055    out strict byte 043h, AL                  ; e6 43
     
    1206312063    mov ax, strict word 00002h                ; b8 02 00
    1206412064    push ax                                   ; 50
    12065     call 01976h                               ; e8 c1 9b
     12065    call 01976h                               ; e8 bc 9b
    1206612066    add sp, strict byte 00006h                ; 83 c4 06
    1206712067    test bx, bx                               ; 85 db
    12068     jbe short 07dd6h                          ; 76 1a
     12068    jbe short 07ddbh                          ; 76 1a
    1206912069    push bx                                   ; 53
    1207012070    mov ax, 00b19h                            ; b8 19 0b
     
    1207212072    mov ax, strict word 00002h                ; b8 02 00
    1207312073    push ax                                   ; 50
    12074     call 01976h                               ; e8 ae 9b
     12074    call 01976h                               ; e8 a9 9b
    1207512075    add sp, strict byte 00006h                ; 83 c4 06
    1207612076    xor dx, dx                                ; 31 d2
    1207712077    mov ax, strict word 00040h                ; b8 40 00
    12078     call 078f1h                               ; e8 1e fb
     12078    call 078f6h                               ; e8 1e fb
    1207912079    dec bx                                    ; 4b
    12080     jmp short 07db8h                          ; eb e2
     12080    jmp short 07dbdh                          ; eb e2
    1208112081    mov bx, 00a49h                            ; bb 49 0a
    1208212082    push bx                                   ; 53
    1208312083    mov bx, strict word 00002h                ; bb 02 00
    1208412084    push bx                                   ; 53
    12085     call 01976h                               ; e8 95 9b
     12085    call 01976h                               ; e8 90 9b
    1208612086    add sp, strict byte 00004h                ; 83 c4 04
    1208712087    mov AL, strict byte 034h                  ; b0 34
     
    1209412094    push DS                                   ; 1e
    1209512095    mov ds, ax                                ; 8e d8
    12096     call 0ede3h                               ; e8 ee 6f
     12096    call 0ede3h                               ; e8 e9 6f
    1209712097    pop DS                                    ; 1f
    1209812098    pop bp                                    ; 5d
     
    1210512105    pop bp                                    ; 5d
    1210612106    retn                                      ; c3
    12107 scsi_cmd_data_in_:                           ; 0xf7e01 LB 0xd5
     12107scsi_cmd_data_in_:                           ; 0xf7e06 LB 0xd5
    1210812108    push bp                                   ; 55
    1210912109    mov bp, sp                                ; 89 e5
     
    1212112121    ; sub ah, ah                                ; 2a e4
    1212212122    test AL, strict byte 001h                 ; a8 01
    12123     jne short 07e17h                          ; 75 f7
     12123    jne short 07e1ch                          ; 75 f7
    1212412124    mov al, byte [bp+004h]                    ; 8a 46 04
    1212512125    cmp AL, strict byte 010h                  ; 3c 10
    12126     jne short 07e2bh                          ; 75 04
     12126    jne short 07e30h                          ; 75 04
    1212712127    xor ax, ax                                ; 31 c0
    12128     jmp short 07e2dh                          ; eb 02
     12128    jmp short 07e32h                          ; eb 02
    1212912129    xor ah, ah                                ; 30 e4
    1213012130    mov di, ax                                ; 89 c7
     
    1213412134    shr dx, 1                                 ; d1 ea
    1213512135    rcr ax, 1                                 ; d1 d8
    12136     loop 07e37h                               ; e2 fa
     12136    loop 07e3ch                               ; e2 fa
    1213712137    mov cx, ax                                ; 89 c1
    1213812138    and cx, 000f0h                            ; 81 e1 f0 00
     
    1215212152    shr dx, 1                                 ; d1 ea
    1215312153    rcr ax, 1                                 ; d1 d8
    12154     loop 07e5ch                               ; e2 fa
     12154    loop 07e61h                               ; e2 fa
    1215512155    mov dx, si                                ; 89 f2
    1215612156    out DX, AL                                ; ee
     
    1215912159    xor ah, ah                                ; 30 e4
    1216012160    cmp cx, ax                                ; 39 c1
    12161     jnc short 07e7eh                          ; 73 0e
     12161    jnc short 07e83h                          ; 73 0e
    1216212162    les di, [bp-00ah]                         ; c4 7e f6
    1216312163    add di, cx                                ; 01 cf
     
    1216612166    out DX, AL                                ; ee
    1216712167    inc cx                                    ; 41
    12168     jmp short 07e67h                          ; eb e9
     12168    jmp short 07e6ch                          ; eb e9
    1216912169    mov dx, si                                ; 89 f2
    1217012170    in AL, DX                                 ; ec
     
    1217212172    ; sub ah, ah                                ; 2a e4
    1217312173    test AL, strict byte 001h                 ; a8 01
    12174     jne short 07e7eh                          ; 75 f7
     12174    jne short 07e83h                          ; 75 f7
    1217512175    test AL, strict byte 002h                 ; a8 02
    12176     je short 07e99h                           ; 74 0e
     12176    je short 07e9eh                           ; 74 0e
    1217712177    lea dx, [si+003h]                         ; 8d 54 03
    1217812178    xor al, al                                ; 30 c0
     
    1218212182    ; sub ah, ah                                ; 2a e4
    1218312183    mov di, strict word 00004h                ; bf 04 00
    12184     jmp short 07ecbh                          ; eb 32
     12184    jmp short 07ed0h                          ; eb 32
    1218512185    lea dx, [si+001h]                         ; 8d 54 01
    1218612186    cmp word [bp+00ch], strict byte 00000h    ; 83 7e 0c 00
    12187     jne short 07ea8h                          ; 75 06
     12187    jne short 07eadh                          ; 75 06
    1218812188    cmp bx, 08000h                            ; 81 fb 00 80
    12189     jbe short 07ec2h                          ; 76 1a
     12189    jbe short 07ec7h                          ; 76 1a
    1219012190    mov cx, 08000h                            ; b9 00 80
    1219112191    les di, [bp+006h]                         ; c4 7e 06
     
    1219612196    add ax, 00800h                            ; 05 00 08
    1219712197    mov word [bp+008h], ax                    ; 89 46 08
    12198     jmp short 07e99h                          ; eb d7
     12198    jmp short 07e9eh                          ; eb d7
    1219912199    mov cx, bx                                ; 89 d9
    1220012200    les di, [bp+006h]                         ; c4 7e 06
     
    1220712207    pop bp                                    ; 5d
    1220812208    retn 0000ah                               ; c2 0a 00
    12209 scsi_cmd_data_out_:                          ; 0xf7ed6 LB 0xd5
     12209scsi_cmd_data_out_:                          ; 0xf7edb LB 0xd5
    1221012210    push bp                                   ; 55
    1221112211    mov bp, sp                                ; 89 e5
     
    1222312223    ; sub ah, ah                                ; 2a e4
    1222412224    test AL, strict byte 001h                 ; a8 01
    12225     jne short 07eech                          ; 75 f7
     12225    jne short 07ef1h                          ; 75 f7
    1222612226    mov al, byte [bp+004h]                    ; 8a 46 04
    1222712227    cmp AL, strict byte 010h                  ; 3c 10
    12228     jne short 07f00h                          ; 75 04
     12228    jne short 07f05h                          ; 75 04
    1222912229    xor ax, ax                                ; 31 c0
    12230     jmp short 07f02h                          ; eb 02
     12230    jmp short 07f07h                          ; eb 02
    1223112231    xor ah, ah                                ; 30 e4
    1223212232    mov si, ax                                ; 89 c6
     
    1223612236    shr dx, 1                                 ; d1 ea
    1223712237    rcr ax, 1                                 ; d1 d8
    12238     loop 07f0ch                               ; e2 fa
     12238    loop 07f11h                               ; e2 fa
    1223912239    mov cx, ax                                ; 89 c1
    1224012240    and cx, 000f0h                            ; 81 e1 f0 00
     
    1225412254    shr dx, 1                                 ; d1 ea
    1225512255    rcr ax, 1                                 ; d1 d8
    12256     loop 07f31h                               ; e2 fa
     12256    loop 07f36h                               ; e2 fa
    1225712257    mov dx, di                                ; 89 fa
    1225812258    out DX, AL                                ; ee
     
    1226112261    xor ah, ah                                ; 30 e4
    1226212262    cmp cx, ax                                ; 39 c1
    12263     jnc short 07f53h                          ; 73 0e
     12263    jnc short 07f58h                          ; 73 0e
    1226412264    les si, [bp-00ah]                         ; c4 76 f6
    1226512265    add si, cx                                ; 01 ce
     
    1226812268    out DX, AL                                ; ee
    1226912269    inc cx                                    ; 41
    12270     jmp short 07f3ch                          ; eb e9
     12270    jmp short 07f41h                          ; eb e9
    1227112271    lea dx, [di+001h]                         ; 8d 55 01
    1227212272    cmp word [bp+00ch], strict byte 00000h    ; 83 7e 0c 00
    12273     jne short 07f62h                          ; 75 06
     12273    jne short 07f67h                          ; 75 06
    1227412274    cmp bx, 08000h                            ; 81 fb 00 80
    12275     jbe short 07f7dh                          ; 76 1b
     12275    jbe short 07f82h                          ; 76 1b
    1227612276    mov cx, 08000h                            ; b9 00 80
    1227712277    les si, [bp+006h]                         ; c4 76 06
     
    1228312283    add ax, 00800h                            ; 05 00 08
    1228412284    mov word [bp+008h], ax                    ; 89 46 08
    12285     jmp short 07f53h                          ; eb d6
     12285    jmp short 07f58h                          ; eb d6
    1228612286    mov cx, bx                                ; 89 d9
    1228712287    les si, [bp+006h]                         ; c4 76 06
     
    1229312293    ; sub ah, ah                                ; 2a e4
    1229412294    test AL, strict byte 001h                 ; a8 01
    12295     jne short 07f85h                          ; 75 f7
     12295    jne short 07f8ah                          ; 75 f7
    1229612296    test AL, strict byte 002h                 ; a8 02
    12297     je short 07fa0h                           ; 74 0e
     12297    je short 07fa5h                           ; 74 0e
    1229812298    lea dx, [di+003h]                         ; 8d 55 03
    1229912299    xor al, al                                ; 30 c0
     
    1230312303    ; sub ah, ah                                ; 2a e4
    1230412304    mov ax, strict word 00004h                ; b8 04 00
    12305     jmp short 07fa2h                          ; eb 02
     12305    jmp short 07fa7h                          ; eb 02
    1230612306    xor ax, ax                                ; 31 c0
    1230712307    lea sp, [bp-004h]                         ; 8d 66 fc
     
    1231012310    pop bp                                    ; 5d
    1231112311    retn 0000ah                               ; c2 0a 00
    12312 @scsi_read_sectors:                          ; 0xf7fab LB 0xe9
     12312@scsi_read_sectors:                          ; 0xf7fb0 LB 0xe9
    1231312313    push bp                                   ; 55
    1231412314    mov bp, sp                                ; 89 e5
     
    1232212322    mov byte [bp-006h], al                    ; 88 46 fa
    1232312323    cmp AL, strict byte 004h                  ; 3c 04
    12324     jbe short 07fdbh                          ; 76 15
     12324    jbe short 07fe0h                          ; 76 15
    1232512325    xor ah, ah                                ; 30 e4
    1232612326    push ax                                   ; 50
     
    1233112331    mov ax, strict word 00007h                ; b8 07 00
    1233212332    push ax                                   ; 50
    12333     call 01976h                               ; e8 9e 99
     12333    call 01976h                               ; e8 99 99
    1233412334    add sp, strict byte 00008h                ; 83 c4 08
    1233512335    mov es, [bp+006h]                         ; 8e 46 06
     
    1237212372    sal word [bp-00ah], 1                     ; d1 66 f6
    1237312373    rcl word [bp-008h], 1                     ; d1 56 f8
    12374     loop 08046h                               ; e2 f8
     12374    loop 0804bh                               ; e2 f8
    1237512375    push word [bp-008h]                       ; ff 76 f8
    1237612376    push word [bp-00ah]                       ; ff 76 f6
     
    1238312383    mov cx, ss                                ; 8c d1
    1238412384    lea bx, [bp-01ah]                         ; 8d 5e e6
    12385     call 07e01h                               ; e8 95 fd
     12385    call 07e06h                               ; e8 95 fd
    1238612386    mov ah, al                                ; 88 c4
    1238712387    test al, al                               ; 84 c0
    12388     jne short 08087h                          ; 75 15
     12388    jne short 0808ch                          ; 75 15
    1238912389    mov es, [bp+006h]                         ; 8e 46 06
    1239012390    mov word [es:si+018h], di                 ; 26 89 7c 18
     
    1240012400    pop bp                                    ; 5d
    1240112401    retn 00004h                               ; c2 04 00
    12402 @scsi_write_sectors:                         ; 0xf8094 LB 0xe9
     12402@scsi_write_sectors:                         ; 0xf8099 LB 0xe9
    1240312403    push bp                                   ; 55
    1240412404    mov bp, sp                                ; 89 e5
     
    1241212412    mov byte [bp-006h], al                    ; 88 46 fa
    1241312413    cmp AL, strict byte 004h                  ; 3c 04
    12414     jbe short 080c4h                          ; 76 15
     12414    jbe short 080c9h                          ; 76 15
    1241512415    xor ah, ah                                ; 30 e4
    1241612416    push ax                                   ; 50
     
    1242112421    mov ax, strict word 00007h                ; b8 07 00
    1242212422    push ax                                   ; 50
    12423     call 01976h                               ; e8 b5 98
     12423    call 01976h                               ; e8 b0 98
    1242412424    add sp, strict byte 00008h                ; 83 c4 08
    1242512425    mov es, [bp+006h]                         ; 8e 46 06
     
    1246212462    sal word [bp-00ah], 1                     ; d1 66 f6
    1246312463    rcl word [bp-008h], 1                     ; d1 56 f8
    12464     loop 0812fh                               ; e2 f8
     12464    loop 08134h                               ; e2 f8
    1246512465    push word [bp-008h]                       ; ff 76 f8
    1246612466    push word [bp-00ah]                       ; ff 76 f6
     
    1247312473    mov cx, ss                                ; 8c d1
    1247412474    lea bx, [bp-01ah]                         ; 8d 5e e6
    12475     call 07ed6h                               ; e8 81 fd
     12475    call 07edbh                               ; e8 81 fd
    1247612476    mov ah, al                                ; 88 c4
    1247712477    test al, al                               ; 84 c0
    12478     jne short 08170h                          ; 75 15
     12478    jne short 08175h                          ; 75 15
    1247912479    mov es, [bp+006h]                         ; 8e 46 06
    1248012480    mov word [es:si+018h], di                 ; 26 89 7c 18
     
    1249012490    pop bp                                    ; 5d
    1249112491    retn 00004h                               ; c2 04 00
    12492 scsi_cmd_packet_:                            ; 0xf817d LB 0x170
     12492scsi_cmd_packet_:                            ; 0xf8182 LB 0x170
    1249312493    push bp                                   ; 55
    1249412494    mov bp, sp                                ; 89 e5
     
    1250212502    mov dx, strict word 0000eh                ; ba 0e 00
    1250312503    mov ax, strict word 00040h                ; b8 40 00
    12504     call 0166eh                               ; e8 d5 94
     12504    call 0166eh                               ; e8 d0 94
    1250512505    mov si, 00122h                            ; be 22 01
    1250612506    mov word [bp-00ch], ax                    ; 89 46 f4
    1250712507    cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
    12508     jne short 081c8h                          ; 75 23
    12509     mov bx, 00da6h                            ; bb a6 0d
     12508    jne short 081cdh                          ; 75 23
     12509    mov bx, 00da4h                            ; bb a4 0d
    1251012510    mov cx, ds                                ; 8c d9
    1251112511    mov ax, strict word 00004h                ; b8 04 00
    12512     call 01933h                               ; e8 83 97
     12512    call 01933h                               ; e8 7e 97
    1251312513    mov ax, 00b62h                            ; b8 62 0b
    1251412514    push ax                                   ; 50
     
    1251712517    mov ax, strict word 00004h                ; b8 04 00
    1251812518    push ax                                   ; 50
    12519     call 01976h                               ; e8 b7 97
     12519    call 01976h                               ; e8 b2 97
    1252012520    add sp, strict byte 00006h                ; 83 c4 06
    1252112521    mov dx, strict word 00001h                ; ba 01 00
    12522     jmp near 082e2h                           ; e9 1a 01
     12522    jmp near 082e7h                           ; e9 1a 01
    1252312523    sub di, strict byte 00008h                ; 83 ef 08
    1252412524    sal di, 1                                 ; d1 e7
     
    1253512535    ; sub ah, ah                                ; 2a e4
    1253612536    test AL, strict byte 001h                 ; a8 01
    12537     jne short 081e5h                          ; 75 f7
     12537    jne short 081eah                          ; 75 f7
    1253812538    xor dx, bx                                ; 31 da
    1253912539    mov ax, word [bp+006h]                    ; 8b 46 06
     
    1255112551    shr dx, 1                                 ; d1 ea
    1255212552    rcr ax, 1                                 ; d1 d8
    12553     loop 08210h                               ; e2 fa
     12553    loop 08215h                               ; e2 fa
    1255412554    and ax, 000f0h                            ; 25 f0 00
    1255512555    mov cl, byte [bp-006h]                    ; 8a 4e fa
     
    1257012570    shr dx, 1                                 ; d1 ea
    1257112571    rcr ax, 1                                 ; d1 d8
    12572     loop 08238h                               ; e2 fa
     12572    loop 0823dh                               ; e2 fa
    1257312573    mov dx, bx                                ; 89 da
    1257412574    out DX, AL                                ; ee
     
    1257712577    xor ah, ah                                ; 30 e4
    1257812578    cmp cx, ax                                ; 39 c1
    12579     jnc short 0825dh                          ; 73 11
     12579    jnc short 08262h                          ; 73 11
    1258012580    mov es, [bp-00ah]                         ; 8e 46 f6
    1258112581    mov di, word [bp-00eh]                    ; 8b 7e f2
     
    1258512585    out DX, AL                                ; ee
    1258612586    inc cx                                    ; 41
    12587     jmp short 08243h                          ; eb e6
     12587    jmp short 08248h                          ; eb e6
    1258812588    mov dx, bx                                ; 89 da
    1258912589    in AL, DX                                 ; ec
     
    1259112591    ; sub ah, ah                                ; 2a e4
    1259212592    test AL, strict byte 001h                 ; a8 01
    12593     jne short 0825dh                          ; 75 f7
     12593    jne short 08262h                          ; 75 f7
    1259412594    test AL, strict byte 002h                 ; a8 02
    12595     je short 08278h                           ; 74 0e
     12595    je short 0827dh                           ; 74 0e
    1259612596    lea dx, [bx+003h]                         ; 8d 57 03
    1259712597    xor al, al                                ; 30 c0
     
    1260112601    ; sub ah, ah                                ; 2a e4
    1260212602    mov dx, strict word 00003h                ; ba 03 00
    12603     jmp short 082e2h                          ; eb 6a
     12603    jmp short 082e7h                          ; eb 6a
    1260412604    mov ax, word [bp+004h]                    ; 8b 46 04
    1260512605    test ax, ax                               ; 85 c0
    12606     je short 08287h                           ; 74 08
     12606    je short 0828ch                           ; 74 08
    1260712607    lea dx, [bx+001h]                         ; 8d 57 01
    1260812608    mov cx, ax                                ; 89 c1
    1260912609    in AL, DX                                 ; ec
    12610     loop 08284h                               ; e2 fd
     12610    loop 08289h                               ; e2 fd
    1261112611    mov ax, word [bp+006h]                    ; 8b 46 06
    1261212612    mov es, [bp-00ch]                         ; 8e 46 f4
     
    1261612616    lea ax, [bx+001h]                         ; 8d 47 01
    1261712617    cmp word [bp+008h], strict byte 00000h    ; 83 7e 08 00
    12618     jne short 082a8h                          ; 75 07
     12618    jne short 082adh                          ; 75 07
    1261912619    cmp word [bp+006h], 08000h                ; 81 7e 06 00 80
    12620     jbe short 082c5h                          ; 76 1d
     12620    jbe short 082cah                          ; 76 1d
    1262112621    mov dx, ax                                ; 89 c2
    1262212622    mov cx, 08000h                            ; b9 00 80
     
    1262812628    add ax, 00800h                            ; 05 00 08
    1262912629    mov word [bp+00eh], ax                    ; 89 46 0e
    12630     jmp short 08298h                          ; eb d3
     12630    jmp short 0829dh                          ; eb d3
    1263112631    mov dx, ax                                ; 89 c2
    1263212632    mov cx, word [bp+006h]                    ; 8b 4e 06
     
    1263512635    mov es, [bp-00ch]                         ; 8e 46 f4
    1263612636    cmp word [es:si+020h], strict byte 00000h ; 26 83 7c 20 00
    12637     je short 082e0h                           ; 74 07
     12637    je short 082e5h                           ; 74 07
    1263812638    mov cx, word [es:si+020h]                 ; 26 8b 4c 20
    1263912639    in AL, DX                                 ; ec
    12640     loop 082ddh                               ; e2 fd
     12640    loop 082e2h                               ; e2 fd
    1264112641    xor dx, dx                                ; 31 d2
    1264212642    mov ax, dx                                ; 89 d0
     
    1264612646    pop bp                                    ; 5d
    1264712647    retn 0000ch                               ; c2 0c 00
    12648 scsi_enumerate_attached_devices_:            ; 0xf82ed LB 0x4cb
     12648scsi_enumerate_attached_devices_:            ; 0xf82f2 LB 0x4cb
    1264912649    push bp                                   ; 55
    1265012650    mov bp, sp                                ; 89 e5
     
    1265812658    mov dx, strict word 0000eh                ; ba 0e 00
    1265912659    mov ax, strict word 00040h                ; b8 40 00
    12660     call 0166eh                               ; e8 6b 93
     12660    call 0166eh                               ; e8 66 93
    1266112661    mov di, 00122h                            ; bf 22 01
    1266212662    mov word [bp-016h], ax                    ; 89 46 ea
    1266312663    mov word [bp-014h], strict word 00000h    ; c7 46 ec 00 00
    12664     jmp near 0872bh                           ; e9 1a 04
     12664    jmp near 08730h                           ; e9 1a 04
    1266512665    cmp AL, strict byte 004h                  ; 3c 04
    12666     jc short 08318h                           ; 72 03
    12667     jmp near 087aeh                           ; e9 96 04
     12666    jc short 0831dh                           ; 72 03
     12667    jmp near 087b3h                           ; e9 96 04
    1266812668    mov cx, strict word 00010h                ; b9 10 00
    1266912669    xor bx, bx                                ; 31 db
    1267012670    mov dx, ss                                ; 8c d2
    1267112671    lea ax, [bp-048h]                         ; 8d 46 b8
    12672     call 0a070h                               ; e8 4b 1d
     12672    call 0a080h                               ; e8 56 1d
    1267312673    mov byte [bp-048h], 09eh                  ; c6 46 b8 9e
    1267412674    mov byte [bp-047h], 010h                  ; c6 46 b9 10
     
    1268812688    lea bx, [bp-048h]                         ; 8d 5e b8
    1268912689    mov ax, word [bp-0024ah]                  ; 8b 86 b6 fd
    12690     call 07e01h                               ; e8 ae fa
     12690    call 07e06h                               ; e8 ae fa
    1269112691    test al, al                               ; 84 c0
    12692     je short 08369h                           ; 74 12
     12692    je short 0836eh                           ; 74 12
    1269312693    mov ax, 00b92h                            ; b8 92 0b
    1269412694    push ax                                   ; 50
     
    1269712697    mov ax, strict word 00007h                ; b8 07 00
    1269812698    push ax                                   ; 50
    12699     call 01976h                               ; e8 10 96
     12699    call 01976h                               ; e8 0b 96
    1270012700    add sp, strict byte 00006h                ; 83 c4 06
    1270112701    mov ax, word [bp-00242h]                  ; 8b 86 be fd
     
    1272912729    sal ax, 1                                 ; d1 e0
    1273012730    rcl dx, 1                                 ; d1 d2
    12731     loop 083b7h                               ; e2 fa
     12731    loop 083bch                               ; e2 fa
    1273212732    or bx, ax                                 ; 09 c3
    1273312733    or dx, si                                 ; 09 f2
     
    1273712737    mov word [bp-01ch], bx                    ; 89 5e e4
    1273812738    test dx, dx                               ; 85 d2
    12739     jne short 083d6h                          ; 75 06
     12739    jne short 083dbh                          ; 75 06
    1274012740    cmp bx, 00200h                            ; 81 fb 00 02
    12741     je short 083f9h                           ; 74 23
    12742     mov bx, 00da6h                            ; bb a6 0d
     12741    je short 083feh                           ; 74 23
     12742    mov bx, 00da4h                            ; bb a4 0d
    1274312743    mov cx, ds                                ; 8c d9
    1274412744    mov ax, strict word 00004h                ; b8 04 00
    12745     call 01933h                               ; e8 52 95
     12745    call 01933h                               ; e8 4d 95
    1274612746    push dx                                   ; 52
    1274712747    push word [bp-01ch]                       ; ff 76 e4
     
    1275112751    mov ax, strict word 00004h                ; b8 04 00
    1275212752    push ax                                   ; 50
    12753     call 01976h                               ; e8 83 95
     12753    call 01976h                               ; e8 7e 95
    1275412754    add sp, strict byte 0000ah                ; 83 c4 0a
    12755     jmp near 0871fh                           ; e9 26 03
     12755    jmp near 08724h                           ; e9 26 03
    1275612756    mov al, byte [bp-00ch]                    ; 8a 46 f4
    1275712757    cmp AL, strict byte 001h                  ; 3c 01
    12758     jc short 0840ch                           ; 72 0c
    12759     jbe short 08414h                          ; 76 12
     12758    jc short 08411h                           ; 72 0c
     12759    jbe short 08419h                          ; 76 12
    1276012760    cmp AL, strict byte 003h                  ; 3c 03
    12761     je short 0841ch                           ; 74 16
     12761    je short 08421h                           ; 74 16
    1276212762    cmp AL, strict byte 002h                  ; 3c 02
    12763     je short 08418h                           ; 74 0e
    12764     jmp short 08463h                          ; eb 57
     12763    je short 0841dh                           ; 74 0e
     12764    jmp short 08468h                          ; eb 57
    1276512765    test al, al                               ; 84 c0
    12766     jne short 08463h                          ; 75 53
     12766    jne short 08468h                          ; 75 53
    1276712767    mov BL, strict byte 090h                  ; b3 90
    12768     jmp short 0841eh                          ; eb 0a
     12768    jmp short 08423h                          ; eb 0a
    1276912769    mov BL, strict byte 098h                  ; b3 98
    12770     jmp short 0841eh                          ; eb 06
     12770    jmp short 08423h                          ; eb 06
    1277112771    mov BL, strict byte 0a0h                  ; b3 a0
    12772     jmp short 0841eh                          ; eb 02
     12772    jmp short 08423h                          ; eb 02
    1277312773    mov BL, strict byte 0a8h                  ; b3 a8
    1277412774    mov cl, bl                                ; 88 d9
     
    1277612776    xor ch, ch                                ; 30 ed
    1277712777    mov ax, cx                                ; 89 c8
    12778     call 016aeh                               ; e8 84 92
     12778    call 016aeh                               ; e8 7f 92
    1277912779    test al, al                               ; 84 c0
    12780     je short 08463h                           ; 74 35
     12780    je short 08468h                           ; 74 35
    1278112781    mov al, bl                                ; 88 d8
    1278212782    db  0feh, 0c0h
    1278312783    ; inc al                                    ; fe c0
    1278412784    xor ah, ah                                ; 30 e4
    12785     call 016aeh                               ; e8 77 92
     12785    call 016aeh                               ; e8 72 92
    1278612786    mov dh, al                                ; 88 c6
    1278712787    mov al, bl                                ; 88 d8
    1278812788    xor ah, ah                                ; 30 e4
    12789     call 016aeh                               ; e8 6e 92
     12789    call 016aeh                               ; e8 69 92
    1279012790    mov ah, dh                                ; 88 f4
    1279112791    cwd                                       ; 99
     
    1279512795    add AL, strict byte 002h                  ; 04 02
    1279612796    xor ah, ah                                ; 30 e4
    12797     call 016aeh                               ; e8 5d 92
     12797    call 016aeh                               ; e8 58 92
    1279812798    xor ah, ah                                ; 30 e4
    1279912799    mov word [bp-028h], ax                    ; 89 46 d8
    1280012800    mov ax, cx                                ; 89 c8
    12801     call 016aeh                               ; e8 53 92
     12801    call 016aeh                               ; e8 4e 92
    1280212802    xor ah, ah                                ; 30 e4
    1280312803    mov word [bp-01ah], ax                    ; 89 46 e6
    12804     jmp near 08550h                           ; e9 ed 00
     12804    jmp near 08555h                           ; e9 ed 00
    1280512805    mov ax, word [bp-020h]                    ; 8b 46 e0
    1280612806    mov bx, word [bp-022h]                    ; 8b 5e de
     
    1280812808    mov dx, word [bp-024h]                    ; 8b 56 dc
    1280912809    mov si, strict word 0000ch                ; be 0c 00
    12810     call 0a050h                               ; e8 db 1b
     12810    call 0a060h                               ; e8 e6 1b
    1281112811    mov word [bp-02ah], ax                    ; 89 46 d6
    1281212812    mov word [bp-02ch], bx                    ; 89 5e d4
     
    1281512815    mov ax, word [bp-020h]                    ; 8b 46 e0
    1281612816    test ax, ax                               ; 85 c0
    12817     jnbe short 0849dh                         ; 77 15
    12818     je short 0848dh                           ; 74 03
    12819     jmp near 08510h                           ; e9 83 00
     12817    jnbe short 084a2h                         ; 77 15
     12818    je short 08492h                           ; 74 03
     12819    jmp near 08515h                           ; e9 83 00
    1282012820    cmp word [bp-022h], strict byte 00000h    ; 83 7e de 00
    12821     jnbe short 0849dh                         ; 77 0a
    12822     jne short 0848ah                          ; 75 f5
     12821    jnbe short 084a2h                         ; 77 0a
     12822    jne short 0848fh                          ; 75 f5
    1282312823    cmp word [bp-012h], strict byte 00040h    ; 83 7e ee 40
    12824     jnbe short 0849dh                         ; 77 02
    12825     jne short 08510h                          ; 75 73
     12824    jnbe short 084a2h                         ; 77 02
     12825    jne short 08515h                          ; 75 73
    1282612826    mov word [bp-028h], 000ffh                ; c7 46 d8 ff 00
    1282712827    mov word [bp-01ah], strict word 0003fh    ; c7 46 e6 3f 00
     
    1283012830    mov dx, word [bp-024h]                    ; 8b 56 dc
    1283112831    mov si, strict word 00006h                ; be 06 00
    12832     call 0a050h                               ; e8 9a 1b
     12832    call 0a060h                               ; e8 a5 1b
    1283312833    mov si, word [bp-018h]                    ; 8b 76 e8
    1283412834    add si, dx                                ; 01 d6
     
    1284812848    mov dx, si                                ; 89 f2
    1284912849    mov si, strict word 00008h                ; be 08 00
    12850     call 0a050h                               ; e8 6a 1b
     12850    call 0a060h                               ; e8 75 1b
    1285112851    mov word [bp-02eh], bx                    ; 89 5e d2
    1285212852    mov word [bp-030h], cx                    ; 89 4e d0
     
    1285712857    mov dx, word [bp-01eh]                    ; 8b 56 e2
    1285812858    mov si, strict word 00010h                ; be 10 00
    12859     call 0a050h                               ; e8 4f 1b
     12859    call 0a060h                               ; e8 5a 1b
    1286012860    mov si, word [bp-032h]                    ; 8b 76 ce
    1286112861    add si, dx                                ; 01 d6
     
    1286312863    mov ax, word [bp-02eh]                    ; 8b 46 d2
    1286412864    adc ax, bx                                ; 11 d8
    12865     jmp short 0854dh                          ; eb 3d
     12865    jmp short 08552h                          ; eb 3d
    1286612866    test ax, ax                               ; 85 c0
    12867     jnbe short 08526h                         ; 77 12
    12868     jne short 08532h                          ; 75 1c
     12867    jnbe short 0852bh                         ; 77 12
     12868    jne short 08537h                          ; 75 1c
    1286912869    cmp word [bp-022h], strict byte 00000h    ; 83 7e de 00
    12870     jnbe short 08526h                         ; 77 0a
    12871     jne short 08532h                          ; 75 14
     12870    jnbe short 0852bh                         ; 77 0a
     12871    jne short 08537h                          ; 75 14
    1287212872    cmp word [bp-012h], strict byte 00020h    ; 83 7e ee 20
    12873     jnbe short 08526h                         ; 77 02
    12874     jne short 08532h                          ; 75 0c
     12873    jnbe short 0852bh                         ; 77 02
     12874    jne short 08537h                          ; 75 0c
    1287512875    mov word [bp-028h], 00080h                ; c7 46 d8 80 00
    1287612876    mov word [bp-01ah], strict word 00020h    ; c7 46 e6 20 00
    12877     jmp short 0854bh                          ; eb 19
     12877    jmp short 08550h                          ; eb 19
    1287812878    mov word [bp-028h], strict word 00040h    ; c7 46 d8 40 00
    1287912879    mov word [bp-01ah], strict word 00020h    ; c7 46 e6 20 00
     
    1288212882    mov dx, word [bp-024h]                    ; 8b 56 dc
    1288312883    mov si, strict word 0000bh                ; be 0b 00
    12884     call 0a050h                               ; e8 05 1b
     12884    call 0a060h                               ; e8 10 1b
    1288512885    mov si, dx                                ; 89 d6
    1288612886    mov word [bp-026h], cx                    ; 89 4e da
     
    1291912919    mov word [es:bx+034h], ax                 ; 26 89 47 34
    1292012920    cmp word [bp-026h], strict byte 00000h    ; 83 7e da 00
    12921     jne short 085c7h                          ; 75 06
     12921    jne short 085cch                          ; 75 06
    1292212922    cmp si, 00400h                            ; 81 fe 00 04
    12923     jbe short 085d5h                          ; 76 0e
     12923    jbe short 085dah                          ; 76 0e
    1292412924    mov word [es:bx+02ch], 00400h             ; 26 c7 47 2c 00 04
    1292512925    mov word [es:bx+032h], 00400h             ; 26 c7 47 32 00 04
    12926     jmp short 085ddh                          ; eb 08
     12926    jmp short 085e2h                          ; eb 08
    1292712927    mov word [es:bx+02ch], si                 ; 26 89 77 2c
    1292812928    mov word [es:bx+032h], si                 ; 26 89 77 32
    12929     mov bx, 00da6h                            ; bb a6 0d
     12929    mov bx, 00da4h                            ; bb a4 0d
    1293012930    mov cx, ds                                ; 8c d9
    1293112931    mov ax, strict word 00004h                ; b8 04 00
    12932     call 01933h                               ; e8 4b 93
     12932    call 01933h                               ; e8 46 93
    1293312933    push word [bp-020h]                       ; ff 76 e0
    1293412934    push word [bp-022h]                       ; ff 76 de
     
    1294712947    mov ax, strict word 00004h                ; b8 04 00
    1294812948    push ax                                   ; 50
    12949     call 01976h                               ; e8 64 93
     12949    call 01976h                               ; e8 5f 93
    1295012950    add sp, strict byte 00018h                ; 83 c4 18
    1295112951    mov al, byte [bp-00eh]                    ; 8a 46 f2
     
    1297612976    mov dx, strict word 00075h                ; ba 75 00
    1297712977    mov ax, strict word 00040h                ; b8 40 00
    12978     call 01652h                               ; e8 ea 8f
     12978    call 01652h                               ; e8 e5 8f
    1297912979    mov bl, al                                ; 88 c3
    1298012980    db  0feh, 0c3h
     
    1298312983    mov dx, strict word 00075h                ; ba 75 00
    1298412984    mov ax, strict word 00040h                ; b8 40 00
    12985     call 01660h                               ; e8 e9 8f
     12985    call 01660h                               ; e8 e4 8f
    1298612986    inc byte [bp-00ch]                        ; fe 46 f4
    12987     jmp near 08714h                           ; e9 97 00
    12988     mov bx, 00da6h                            ; bb a6 0d
     12987    jmp near 08719h                           ; e9 97 00
     12988    mov bx, 00da4h                            ; bb a4 0d
    1298912989    mov cx, ds                                ; 8c d9
    1299012990    mov ax, strict word 00004h                ; b8 04 00
    12991     call 01933h                               ; e8 ab 92
     12991    call 01933h                               ; e8 a6 92
    1299212992    push word [bp-014h]                       ; ff 76 ec
    1299312993    mov al, byte [bp-00ch]                    ; 8a 46 f4
     
    1299812998    mov ax, strict word 00004h                ; b8 04 00
    1299912999    push ax                                   ; 50
    13000     call 01976h                               ; e8 da 92
     13000    call 01976h                               ; e8 d5 92
    1300113001    add sp, strict byte 00008h                ; 83 c4 08
    1300213002    mov al, byte [bp-00ch]                    ; 8a 46 f4
     
    1300413004    mov byte [bp-00eh], al                    ; 88 46 f2
    1300513005    test byte [bp-00247h], 080h               ; f6 86 b9 fd 80
    13006     je short 086b3h                           ; 74 05
     13006    je short 086b8h                           ; 74 05
    1300713007    mov cx, strict word 00001h                ; b9 01 00
    13008     jmp short 086b5h                          ; eb 02
     13008    jmp short 086bah                          ; eb 02
    1300913009    xor cx, cx                                ; 31 c9
    1301013010    mov al, byte [bp-00ch]                    ; 8a 46 f4
     
    1304413044    inc word [bp-014h]                        ; ff 46 ec
    1304513045    cmp word [bp-014h], strict byte 00010h    ; 83 7e ec 10
    13046     jl short 0872bh                           ; 7c 03
    13047     jmp near 087aeh                           ; e9 83 00
     13046    jl short 08730h                           ; 7c 03
     13047    jmp near 087b3h                           ; e9 83 00
    1304813048    mov byte [bp-048h], 012h                  ; c6 46 b8 12
    1304913049    xor al, al                                ; 30 c0
     
    1306713067    lea bx, [bp-048h]                         ; 8d 5e b8
    1306813068    mov ax, word [bp-0024ah]                  ; 8b 86 b6 fd
    13069     call 07e01h                               ; e8 9e f6
     13069    call 07e06h                               ; e8 9e f6
    1307013070    test al, al                               ; 84 c0
    13071     je short 08779h                           ; 74 12
     13071    je short 0877eh                           ; 74 12
    1307213072    mov ax, 00b92h                            ; b8 92 0b
    1307313073    push ax                                   ; 50
     
    1307613076    mov ax, strict word 00007h                ; b8 07 00
    1307713077    push ax                                   ; 50
    13078     call 01976h                               ; e8 00 92
     13078    call 01976h                               ; e8 fb 91
    1307913079    add sp, strict byte 00006h                ; 83 c4 06
    1308013080    mov es, [bp-016h]                         ; 8e 46 ea
     
    1308213082    mov byte [bp-00ch], al                    ; 88 46 f4
    1308313083    test byte [bp-00248h], 0e0h               ; f6 86 b8 fd e0
    13084     jne short 08795h                          ; 75 0a
     13084    jne short 0879ah                          ; 75 0a
    1308513085    test byte [bp-00248h], 01fh               ; f6 86 b8 fd 1f
    13086     jne short 08795h                          ; 75 03
    13087     jmp near 08311h                           ; e9 7c fb
     13086    jne short 0879ah                          ; 75 03
     13087    jmp near 08316h                           ; e9 7c fb
    1308813088    test byte [bp-00248h], 0e0h               ; f6 86 b8 fd e0
    13089     je short 0879fh                           ; 74 03
    13090     jmp near 08714h                           ; e9 75 ff
     13089    je short 087a4h                           ; 74 03
     13090    jmp near 08719h                           ; e9 75 ff
    1309113091    mov al, byte [bp-00248h]                  ; 8a 86 b8 fd
    1309213092    and AL, strict byte 01fh                  ; 24 1f
    1309313093    cmp AL, strict byte 005h                  ; 3c 05
    13094     jne short 087ach                          ; 75 03
    13095     jmp near 0867dh                           ; e9 d1 fe
    13096     jmp short 0879ch                          ; eb ee
     13094    jne short 087b1h                          ; 75 03
     13095    jmp near 08682h                           ; e9 d1 fe
     13096    jmp short 087a1h                          ; eb ee
    1309713097    lea sp, [bp-00ah]                         ; 8d 66 f6
    1309813098    pop di                                    ; 5f
     
    1310313103    pop bp                                    ; 5d
    1310413104    retn                                      ; c3
    13105 _scsi_init:                                  ; 0xf87b8 LB 0x66
     13105_scsi_init:                                  ; 0xf87bd LB 0x66
    1310613106    push bp                                   ; 55
    1310713107    mov bp, sp                                ; 89 e5
    1310813108    mov dx, strict word 0000eh                ; ba 0e 00
    1310913109    mov ax, strict word 00040h                ; b8 40 00
    13110     call 0166eh                               ; e8 aa 8e
     13110    call 0166eh                               ; e8 a5 8e
    1311113111    mov bx, 00122h                            ; bb 22 01
    1311213112    mov es, ax                                ; 8e c0
     
    1311913119    ; sub ah, ah                                ; 2a e4
    1312013120    cmp AL, strict byte 055h                  ; 3c 55
    13121     jne short 087e8h                          ; 75 0c
     13121    jne short 087edh                          ; 75 0c
    1312213122    xor al, al                                ; 30 c0
    1312313123    mov dx, 00433h                            ; ba 33 04
    1312413124    out DX, AL                                ; ee
    1312513125    mov ax, 00430h                            ; b8 30 04
    13126     call 082edh                               ; e8 05 fb
     13126    call 082f2h                               ; e8 05 fb
    1312713127    mov AL, strict byte 055h                  ; b0 55
    1312813128    mov dx, 00436h                            ; ba 36 04
     
    1313213132    ; sub ah, ah                                ; 2a e4
    1313313133    cmp AL, strict byte 055h                  ; 3c 55
    13134     jne short 08801h                          ; 75 0c
     13134    jne short 08806h                          ; 75 0c
    1313513135    xor al, al                                ; 30 c0
    1313613136    mov dx, 00437h                            ; ba 37 04
    1313713137    out DX, AL                                ; ee
    1313813138    mov ax, 00434h                            ; b8 34 04
    13139     call 082edh                               ; e8 ec fa
     13139    call 082f2h                               ; e8 ec fa
    1314013140    mov AL, strict byte 055h                  ; b0 55
    1314113141    mov dx, 0043ah                            ; ba 3a 04
     
    1314513145    ; sub ah, ah                                ; 2a e4
    1314613146    cmp AL, strict byte 055h                  ; 3c 55
    13147     jne short 0881ah                          ; 75 0c
     13147    jne short 0881fh                          ; 75 0c
    1314813148    xor al, al                                ; 30 c0
    1314913149    mov dx, 0043bh                            ; ba 3b 04
    1315013150    out DX, AL                                ; ee
    1315113151    mov ax, 00438h                            ; b8 38 04
    13152     call 082edh                               ; e8 d3 fa
     13152    call 082f2h                               ; e8 d3 fa
    1315313153    mov sp, bp                                ; 89 ec
    1315413154    pop bp                                    ; 5d
    1315513155    retn                                      ; c3
    13156 ahci_ctrl_extract_bits_:                     ; 0xf881e LB 0x1c
     13156ahci_ctrl_extract_bits_:                     ; 0xf8823 LB 0x1c
    1315713157    push si                                   ; 56
    1315813158    push bp                                   ; 55
     
    1316313163    mov cl, byte [bp+006h]                    ; 8a 4e 06
    1316413164    xor ch, ch                                ; 30 ed
    13165     jcxz 08835h                               ; e3 06
     13165    jcxz 0883ah                               ; e3 06
    1316613166    shr dx, 1                                 ; d1 ea
    1316713167    rcr ax, 1                                 ; d1 d8
    13168     loop 0882fh                               ; e2 fa
     13168    loop 08834h                               ; e2 fa
    1316913169    pop bp                                    ; 5d
    1317013170    pop si                                    ; 5e
    1317113171    retn 00002h                               ; c2 02 00
    13172 ahci_addr_to_phys_:                          ; 0xf883a LB 0x1e
     13172ahci_addr_to_phys_:                          ; 0xf883f LB 0x1e
    1317313173    push bx                                   ; 53
    1317413174    push cx                                   ; 51
     
    1318113181    sal ax, 1                                 ; d1 e0
    1318213182    rcl dx, 1                                 ; d1 d2
    13183     loop 08848h                               ; e2 fa
     13183    loop 0884dh                               ; e2 fa
    1318413184    xor cx, cx                                ; 31 c9
    1318513185    add ax, bx                                ; 01 d8
     
    1318913189    pop bx                                    ; 5b
    1319013190    retn                                      ; c3
    13191 ahci_port_cmd_sync_:                         ; 0xf8858 LB 0x159
     13191ahci_port_cmd_sync_:                         ; 0xf885d LB 0x159
    1319213192    push bp                                   ; 55
    1319313193    mov bp, sp                                ; 89 e5
     
    1320413204    mov bx, word [es:si+00260h]               ; 26 8b 9c 60 02
    1320513205    cmp AL, strict byte 0ffh                  ; 3c ff
    13206     jne short 0887bh                          ; 75 03
    13207     jmp near 089a9h                           ; e9 2e 01
     13206    jne short 08880h                          ; 75 03
     13207    jmp near 089aeh                           ; e9 2e 01
    1320813208    mov al, byte [es:si+00263h]               ; 26 8a 84 63 02
    1320913209    xor ah, ah                                ; 30 e4
     
    1321813218    lea ax, [si+00080h]                       ; 8d 84 80 00
    1321913219    mov dx, cx                                ; 89 ca
    13220     call 0883ah                               ; e8 92 ff
     13220    call 0883fh                               ; e8 92 ff
    1322113221    mov es, cx                                ; 8e c1
    1322213222    mov word [es:si+008h], ax                 ; 26 89 44 08
     
    1328613286    xchg dx, ax                               ; 92
    1328713287    test dh, 040h                             ; f6 c6 40
    13288     jne short 0893bh                          ; 75 04
     13288    jne short 08940h                          ; 75 04
    1328913289    test AL, strict byte 001h                 ; a8 01
    13290     je short 0893fh                           ; 74 04
     13290    je short 08944h                           ; 74 04
    1329113291    mov AL, strict byte 001h                  ; b0 01
    13292     jmp short 08941h                          ; eb 02
     13292    jmp short 08946h                          ; eb 02
    1329313293    xor al, al                                ; 30 c0
    1329413294    test al, al                               ; 84 c0
    13295     je short 0890dh                           ; 74 c8
     13295    je short 08912h                           ; 74 c8
    1329613296    mov al, byte [bp-008h]                    ; 8a 46 f8
    1329713297    xor ah, ah                                ; 30 e4
     
    1335013350    pop bp                                    ; 5d
    1335113351    retn                                      ; c3
    13352 ahci_cmd_data_:                              ; 0xf89b1 LB 0x262
     13352ahci_cmd_data_:                              ; 0xf89b6 LB 0x262
    1335313353    push bp                                   ; 55
    1335413354    mov bp, sp                                ; 89 e5
     
    1337513375    mov ax, 00080h                            ; b8 80 00
    1337613376    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13377     call 0a070h                               ; e8 81 16
     13377    call 0a080h                               ; e8 8c 16
    1337813378    mov es, [bp-00ah]                         ; 8e 46 f6
    1337913379    mov word [es:di+00080h], 08027h           ; 26 c7 85 80 00 27 80
     
    1339313393    mov dx, word [es:si]                      ; 26 8b 14
    1339413394    mov si, strict word 00008h                ; be 08 00
    13395     call 0a050h                               ; e8 1d 16
     13395    call 0a060h                               ; e8 28 16
    1339613396    mov es, [bp-00ah]                         ; 8e 46 f6
    1339713397    mov byte [es:di+00085h], dl               ; 26 88 95 85 00
     
    1340413404    mov dx, word [es:si]                      ; 26 8b 14
    1340513405    mov si, strict word 00010h                ; be 10 00
    13406     call 0a050h                               ; e8 f7 15
     13406    call 0a060h                               ; e8 02 16
    1340713407    mov es, [bp-00ah]                         ; 8e 46 f6
    1340813408    mov byte [es:di+00086h], dl               ; 26 88 95 86 00
     
    1341613416    mov dx, word [es:si]                      ; 26 8b 14
    1341713417    mov si, strict word 00018h                ; be 18 00
    13418     call 0a050h                               ; e8 cb 15
     13418    call 0a060h                               ; e8 d6 15
    1341913419    mov es, [bp-00ah]                         ; 8e 46 f6
    1342013420    mov byte [es:di+00088h], dl               ; 26 88 95 88 00
     
    1342713427    mov dx, word [es:si]                      ; 26 8b 14
    1342813428    mov si, strict word 00020h                ; be 20 00
    13429     call 0a050h                               ; e8 a5 15
     13429    call 0a060h                               ; e8 b0 15
    1343013430    mov es, [bp-00ah]                         ; 8e 46 f6
    1343113431    mov byte [es:di+00089h], dl               ; 26 88 95 89 00
     
    1343813438    mov dx, word [es:si]                      ; 26 8b 14
    1343913439    mov si, strict word 00028h                ; be 28 00
    13440     call 0a050h                               ; e8 7f 15
     13440    call 0a060h                               ; e8 8a 15
    1344113441    mov es, [bp-00ah]                         ; 8e 46 f6
    1344213442    mov byte [es:di+0008ah], dl               ; 26 88 95 8a 00
     
    1345113451    mov bx, word [bp-012h]                    ; 8b 5e ee
    1345213452    xor cx, cx                                ; 31 c9
    13453     call 0a000h                               ; e8 fd 14
     13453    call 0a010h                               ; e8 08 15
    1345413454    push dx                                   ; 52
    1345513455    push ax                                   ; 50
     
    1346113461    mov ax, 0026ah                            ; b8 6a 02
    1346213462    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13463     call 09f5ah                               ; e8 3b 14
     13463    call 09f5fh                               ; e8 3b 14
    1346413464    mov es, [bp-00ah]                         ; 8e 46 f6
    1346513465    mov dx, word [es:di+0027eh]               ; 26 8b 95 7e 02
     
    1348513485    mov ax, word [es:bx+020h]                 ; 26 8b 47 20
    1348613486    test ax, ax                               ; 85 c0
    13487     je short 08bafh                           ; 74 39
     13487    je short 08bb4h                           ; 74 39
    1348813488    dec ax                                    ; 48
    1348913489    mov es, [bp-00ah]                         ; 8e 46 f6
     
    1350313503    mov al, byte [bp-008h]                    ; 8a 46 f8
    1350413504    cmp AL, strict byte 035h                  ; 3c 35
    13505     jne short 08bbch                          ; 75 06
     13505    jne short 08bc1h                          ; 75 06
    1350613506    mov byte [bp-008h], 040h                  ; c6 46 f8 40
    13507     jmp short 08bd3h                          ; eb 17
     13507    jmp short 08bd8h                          ; eb 17
    1350813508    cmp AL, strict byte 0a0h                  ; 3c a0
    13509     jne short 08bcfh                          ; 75 0f
     13509    jne short 08bd4h                          ; 75 0f
    1351013510    or byte [bp-008h], 020h                   ; 80 4e f8 20
    1351113511    les bx, [bp-00eh]                         ; c4 5e f2
    1351213512    or byte [es:bx+00083h], 001h              ; 26 80 8f 83 00 01
    13513     jmp short 08bd3h                          ; eb 04
     13513    jmp short 08bd8h                          ; eb 04
    1351413514    mov byte [bp-008h], 000h                  ; c6 46 f8 00
    1351513515    or byte [bp-008h], 005h                   ; 80 4e f8 05
     
    1351813518    mov ax, word [bp-00eh]                    ; 8b 46 f2
    1351913519    mov dx, word [bp-00ch]                    ; 8b 56 f4
    13520     call 08858h                               ; e8 73 fc
     13520    call 0885dh                               ; e8 73 fc
    1352113521    mov cx, word [bp-00ch]                    ; 8b 4e f4
    1352213522    mov bx, word [bp-00eh]                    ; 8b 5e f2
     
    1352513525    add ax, 0026ah                            ; 05 6a 02
    1352613526    mov dx, cx                                ; 89 ca
    13527     call 09fd1h                               ; e8 d7 13
     13527    call 09fd6h                               ; e8 d7 13
    1352813528    mov es, cx                                ; 8e c1
    1352913529    mov al, byte [es:bx+003h]                 ; 26 8a 47 03
    1353013530    test al, al                               ; 84 c0
    13531     je short 08c09h                           ; 74 05
     13531    je short 08c0eh                           ; 74 05
    1353213532    mov ax, strict word 00004h                ; b8 04 00
    13533     jmp short 08c0bh                          ; eb 02
     13533    jmp short 08c10h                          ; eb 02
    1353413534    xor ah, ah                                ; 30 e4
    1353513535    lea sp, [bp-006h]                         ; 8d 66 fa
     
    1353913539    pop bp                                    ; 5d
    1354013540    retn                                      ; c3
    13541 ahci_port_deinit_current_:                   ; 0xf8c13 LB 0x183
     13541ahci_port_deinit_current_:                   ; 0xf8c18 LB 0x183
    1354213542    push bp                                   ; 55
    1354313543    mov bp, sp                                ; 89 e5
     
    1355413554    mov byte [bp-00ah], al                    ; 88 46 f6
    1355513555    cmp AL, strict byte 0ffh                  ; 3c ff
    13556     je short 08c96h                           ; 74 61
     13556    je short 08c9bh                           ; 74 61
    1355713557    xor ah, ah                                ; 30 e4
    1355813558    mov CL, strict byte 007h                  ; b1 07
     
    1360013600    xchg dx, ax                               ; 92
    1360113601    test ax, 0c011h                           ; a9 11 c0
    13602     je short 08c99h                           ; 74 07
     13602    je short 08c9eh                           ; 74 07
    1360313603    mov AL, strict byte 001h                  ; b0 01
    13604     jmp short 08c9bh                          ; eb 05
    13605     jmp near 08d8dh                           ; e9 f4 00
     13604    jmp short 08ca0h                          ; eb 05
     13605    jmp near 08d92h                           ; e9 f4 00
    1360613606    xor al, al                                ; 30 c0
    1360713607    cmp AL, strict byte 001h                  ; 3c 01
    13608     je short 08c68h                           ; 74 c9
     13608    je short 08c6dh                           ; 74 c9
    1360913609    mov cx, strict word 00020h                ; b9 20 00
    1361013610    xor bx, bx                                ; 31 db
    1361113611    mov ax, di                                ; 89 f8
    1361213612    mov dx, word [bp-00eh]                    ; 8b 56 f2
    13613     call 0a070h                               ; e8 c4 13
     13613    call 0a080h                               ; e8 cf 13
    1361413614    lea ax, [di+00080h]                       ; 8d 85 80 00
    1361513615    mov cx, strict word 00040h                ; b9 40 00
    1361613616    xor bx, bx                                ; 31 db
    1361713617    mov dx, word [bp-00eh]                    ; 8b 56 f2
    13618     call 0a070h                               ; e8 b5 13
     13618    call 0a080h                               ; e8 c0 13
    1361913619    lea ax, [di+00200h]                       ; 8d 85 00 02
    1362013620    mov cx, strict word 00060h                ; b9 60 00
    1362113621    xor bx, bx                                ; 31 db
    1362213622    mov dx, word [bp-00eh]                    ; 8b 56 f2
    13623     call 0a070h                               ; e8 a6 13
     13623    call 0a080h                               ; e8 b1 13
    1362413624    mov al, byte [bp-00ah]                    ; 8a 46 f6
    1362513625    xor ah, ah                                ; 30 e4
     
    1372713727    pop bp                                    ; 5d
    1372813728    retn                                      ; c3
    13729 ahci_port_init_:                             ; 0xf8d96 LB 0x250
     13729ahci_port_init_:                             ; 0xf8d9b LB 0x250
    1373013730    push bp                                   ; 55
    1373113731    mov bp, sp                                ; 89 e5
     
    1373713737    mov word [bp-00ah], dx                    ; 89 56 f6
    1373813738    mov byte [bp-008h], bl                    ; 88 5e f8
    13739     call 08c13h                               ; e8 69 fe
     13739    call 08c18h                               ; e8 69 fe
    1374013740    mov al, bl                                ; 88 d8
    1374113741    xor ah, ah                                ; 30 e4
     
    1378813788    xchg dx, ax                               ; 92
    1378913789    test ax, 0c011h                           ; a9 11 c0
    13790     je short 08e1dh                           ; 74 04
     13790    je short 08e22h                           ; 74 04
    1379113791    mov AL, strict byte 001h                  ; b0 01
    13792     jmp short 08e1fh                          ; eb 02
     13792    jmp short 08e24h                          ; eb 02
    1379313793    xor al, al                                ; 30 c0
    1379413794    cmp AL, strict byte 001h                  ; 3c 01
    13795     je short 08de7h                           ; 74 c4
     13795    je short 08dech                           ; 74 c4
    1379613796    mov cx, strict word 00020h                ; b9 20 00
    1379713797    xor bx, bx                                ; 31 db
    1379813798    mov ax, si                                ; 89 f0
    1379913799    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13800     call 0a070h                               ; e8 40 12
     13800    call 0a080h                               ; e8 4b 12
    1380113801    lea ax, [si+00080h]                       ; 8d 84 80 00
    1380213802    mov cx, strict word 00040h                ; b9 40 00
    1380313803    xor bx, bx                                ; 31 db
    1380413804    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13805     call 0a070h                               ; e8 31 12
     13805    call 0a080h                               ; e8 3c 12
    1380613806    lea di, [si+00200h]                       ; 8d bc 00 02
    1380713807    mov cx, strict word 00060h                ; b9 60 00
     
    1380913809    mov ax, di                                ; 89 f8
    1381013810    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13811     call 0a070h                               ; e8 20 12
     13811    call 0a080h                               ; e8 2b 12
    1381213812    mov bl, byte [bp-008h]                    ; 8a 5e f8
    1381313813    xor bh, bh                                ; 30 ff
     
    1382813828    mov ax, di                                ; 89 f8
    1382913829    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13830     call 0883ah                               ; e8 bb f9
     13830    call 0883fh                               ; e8 bb f9
    1383113831    mov es, [bp-00ah]                         ; 8e 46 f6
    1383213832    mov di, word [es:si+00260h]               ; 26 8b bc 60 02
     
    1387313873    mov ax, si                                ; 89 f0
    1387413874    mov dx, word [bp-00ah]                    ; 8b 56 f6
    13875     call 0883ah                               ; e8 4f f9
     13875    call 0883fh                               ; e8 4f f9
    1387613876    mov es, [bp-00ah]                         ; 8e 46 f6
    1387713877    mov di, word [es:si+00260h]               ; 26 8b bc 60 02
     
    1397813978    pop bp                                    ; 5d
    1397913979    retn                                      ; c3
    13980 @ahci_read_sectors:                          ; 0xf8fe6 LB 0xaa
     13980@ahci_read_sectors:                          ; 0xf8feb LB 0xaa
    1398113981    push bp                                   ; 55
    1398213982    mov bp, sp                                ; 89 e5
     
    1398913989    sub di, strict byte 0000ch                ; 83 ef 0c
    1399013990    cmp di, strict byte 00004h                ; 83 ff 04
    13991     jbe short 09011h                          ; 76 13
     13991    jbe short 09016h                          ; 76 13
    1399213992    push di                                   ; 57
    1399313993    mov ax, 00c62h                            ; b8 62 0c
     
    1399713997    mov ax, strict word 00007h                ; b8 07 00
    1399813998    push ax                                   ; 50
    13999     call 01976h                               ; e8 68 89
     13999    call 01976h                               ; e8 63 89
    1400014000    add sp, strict byte 00008h                ; 83 c4 08
    1400114001    xor bx, bx                                ; 31 db
     
    1401114011    mov dx, word [es:si+00232h]               ; 26 8b 94 32 02
    1401214012    xor ax, ax                                ; 31 c0
    14013     call 08d96h                               ; e8 5a fd
     14013    call 08d9bh                               ; e8 5a fd
    1401414014    mov bx, strict word 00025h                ; bb 25 00
    1401514015    mov ax, si                                ; 89 f0
    1401614016    mov dx, word [bp+006h]                    ; 8b 56 06
    14017     call 089b1h                               ; e8 6a f9
     14017    call 089b6h                               ; e8 6a f9
    1401814018    mov bx, ax                                ; 89 c3
    1401914019    mov es, [bp+006h]                         ; 8e 46 06
     
    1404514045    pop bp                                    ; 5d
    1404614046    retn 00004h                               ; c2 04 00
    14047 @ahci_write_sectors:                         ; 0xf9090 LB 0x88
     14047@ahci_write_sectors:                         ; 0xf9095 LB 0x88
    1404814048    push bp                                   ; 55
    1404914049    mov bp, sp                                ; 89 e5
     
    1405714057    sub bx, strict byte 0000ch                ; 83 eb 0c
    1405814058    cmp bx, strict byte 00004h                ; 83 fb 04
    14059     jbe short 090beh                          ; 76 13
     14059    jbe short 090c3h                          ; 76 13
    1406014060    push bx                                   ; 53
    1406114061    mov ax, 00c93h                            ; b8 93 0c
     
    1406514065    mov ax, strict word 00007h                ; b8 07 00
    1406614066    push ax                                   ; 50
    14067     call 01976h                               ; e8 bb 88
     14067    call 01976h                               ; e8 b6 88
    1406814068    add sp, strict byte 00008h                ; 83 c4 08
    1406914069    xor di, di                                ; 31 ff
     
    1407914079    mov dx, word [es:si+00232h]               ; 26 8b 94 32 02
    1408014080    xor ax, ax                                ; 31 c0
    14081     call 08d96h                               ; e8 af fc
     14081    call 08d9bh                               ; e8 af fc
    1408214082    mov bx, strict word 00035h                ; bb 35 00
    1408314083    mov ax, si                                ; 89 f0
    1408414084    mov dx, cx                                ; 89 ca
    14085     call 089b1h                               ; e8 c0 f8
     14085    call 089b6h                               ; e8 c0 f8
    1408614086    mov dx, ax                                ; 89 c2
    1408714087    mov es, cx                                ; 8e c1
     
    1409814098    pop bp                                    ; 5d
    1409914099    retn 00004h                               ; c2 04 00
    14100 ahci_cmd_packet_:                            ; 0xf9118 LB 0x18c
     14100ahci_cmd_packet_:                            ; 0xf911d LB 0x18c
    1410114101    push bp                                   ; 55
    1410214102    mov bp, sp                                ; 89 e5
     
    1411014110    mov dx, strict word 0000eh                ; ba 0e 00
    1411114111    mov ax, strict word 00040h                ; b8 40 00
    14112     call 0166eh                               ; e8 3b 85
     14112    call 0166eh                               ; e8 36 85
    1411314113    mov si, 00122h                            ; be 22 01
    1411414114    mov word [bp-008h], ax                    ; 89 46 f8
    1411514115    cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
    14116     jne short 09162h                          ; 75 23
    14117     mov bx, 00da6h                            ; bb a6 0d
     14116    jne short 09167h                          ; 75 23
     14117    mov bx, 00da4h                            ; bb a4 0d
    1411814118    mov cx, ds                                ; 8c d9
    1411914119    mov ax, strict word 00004h                ; b8 04 00
    14120     call 01933h                               ; e8 e9 87
     14120    call 01933h                               ; e8 e4 87
    1412114121    mov ax, 00ca6h                            ; b8 a6 0c
    1412214122    push ax                                   ; 50
     
    1412514125    mov ax, strict word 00004h                ; b8 04 00
    1412614126    push ax                                   ; 50
    14127     call 01976h                               ; e8 1d 88
     14127    call 01976h                               ; e8 18 88
    1412814128    add sp, strict byte 00006h                ; 83 c4 06
    1412914129    mov ax, strict word 00001h                ; b8 01 00
    14130     jmp near 0929bh                           ; e9 39 01
     14130    jmp near 092a0h                           ; e9 39 01
    1413114131    test byte [bp+004h], 001h                 ; f6 46 04 01
    14132     jne short 0915ch                          ; 75 f4
     14132    jne short 09161h                          ; 75 f4
    1413314133    mov bx, word [bp+006h]                    ; 8b 5e 06
    1413414134    mov di, word [bp+008h]                    ; 8b 7e 08
     
    1413614136    sal bx, 1                                 ; d1 e3
    1413714137    rcl di, 1                                 ; d1 d7
    14138     loop 09171h                               ; e2 fa
     14138    loop 09176h                               ; e2 fa
    1413914139    mov es, [bp-008h]                         ; 8e 46 f8
    1414014140    mov word [es:si], bx                      ; 26 89 1c
     
    1415014150    mov dx, word [bp+008h]                    ; 8b 56 08
    1415114151    xor cx, cx                                ; 31 c9
    14152     call 0a020h                               ; e8 76 0e
     14152    call 0a030h                               ; e8 81 0e
    1415314153    mov word [es:si+00eh], ax                 ; 26 89 44 0e
    1415414154    xor di, di                                ; 31 ff
     
    1416814168    mov dx, word [es:si+00232h]               ; 26 8b 94 32 02
    1416914169    xor ax, ax                                ; 31 c0
    14170     call 08d96h                               ; e8 af fb
     14170    call 08d9bh                               ; e8 af fb
    1417114171    mov al, byte [bp-006h]                    ; 8a 46 fa
    1417214172    xor ah, ah                                ; 30 e4
     
    1417614176    mov ax, 000c0h                            ; b8 c0 00
    1417714177    mov dx, word [bp-00ah]                    ; 8b 56 f6
    14178     call 0a080h                               ; e8 84 0e
     14178    call 0a090h                               ; e8 8f 0e
    1417914179    mov es, [bp-008h]                         ; 8e 46 f8
    1418014180    mov word [es:si+018h], di                 ; 26 89 7c 18
     
    1418314183    mov ax, word [es:si+01eh]                 ; 26 8b 44 1e
    1418414184    test ax, ax                               ; 85 c0
    14185     je short 0923ah                           ; 74 27
     14185    je short 0923fh                           ; 74 27
    1418614186    dec ax                                    ; 48
    1418714187    mov es, [bp-00ah]                         ; 8e 46 f6
     
    1419614196    mov ax, si                                ; 89 f0
    1419714197    mov dx, word [bp-008h]                    ; 8b 56 f8
    14198     call 089b1h                               ; e8 6c f7
     14198    call 089b6h                               ; e8 6c f7
    1419914199    les bx, [bp-00eh]                         ; c4 5e f2
    1420014200    mov dx, word [es:bx+004h]                 ; 26 8b 57 04
     
    1422314223    mov ax, word [es:bx+006h]                 ; 26 8b 47 06
    1422414224    or ax, word [es:bx+004h]                  ; 26 0b 47 04
    14225     jne short 09299h                          ; 75 05
     14225    jne short 0929eh                          ; 75 05
    1422614226    mov ax, strict word 00004h                ; b8 04 00
    14227     jmp short 0929bh                          ; eb 02
     14227    jmp short 092a0h                          ; eb 02
    1422814228    xor ax, ax                                ; 31 c0
    1422914229    lea sp, [bp-004h]                         ; 8d 66 fc
     
    1423214232    pop bp                                    ; 5d
    1423314233    retn 0000ch                               ; c2 0c 00
    14234 ahci_port_detect_device_:                    ; 0xf92a4 LB 0x4fe
     14234ahci_port_detect_device_:                    ; 0xf92a9 LB 0x4fe
    1423514235    push bp                                   ; 55
    1423614236    mov bp, sp                                ; 89 e5
     
    1424814248    mov bx, word [bp-020h]                    ; 8b 5e e0
    1424914249    mov ax, si                                ; 89 f0
    14250     call 08d96h                               ; e8 ce fa
     14250    call 08d9bh                               ; e8 ce fa
    1425114251    mov dx, strict word 0000eh                ; ba 0e 00
    1425214252    mov ax, strict word 00040h                ; b8 40 00
    14253     call 0166eh                               ; e8 9d 83
     14253    call 0166eh                               ; e8 98 83
    1425414254    mov word [bp-01ah], 00122h                ; c7 46 e6 22 01
    1425514255    mov word [bp-00eh], ax                    ; 89 46 f2
     
    1432314323    mov bx, strict word 0000fh                ; bb 0f 00
    1432414324    xor cx, cx                                ; 31 c9
    14325     call 0881eh                               ; e8 9f f4
     14325    call 08823h                               ; e8 9f f4
    1432614326    test ax, ax                               ; 85 c0
    14327     jne short 09386h                          ; 75 03
    14328     jmp near 0979ah                           ; e9 14 04
     14327    jne short 0938bh                          ; 75 03
     14328    jmp near 0979fh                           ; e9 14 04
    1432914329    mov al, byte [bp-008h]                    ; 8a 46 f8
    1433014330    xor ah, ah                                ; 30 e4
     
    1435814358    xor cx, cx                                ; 31 c9
    1435914359    mov ax, di                                ; 89 f8
    14360     call 0881eh                               ; e8 4d f4
     14360    call 08823h                               ; e8 4d f4
    1436114361    cmp ax, strict word 00001h                ; 3d 01 00
    14362     je short 09386h                           ; 74 b0
     14362    je short 0938bh                           ; 74 b0
    1436314363    xor ax, ax                                ; 31 c0
    1436414364    push ax                                   ; 50
     
    1436714367    mov ax, di                                ; 89 f8
    1436814368    mov dx, word [bp-01ch]                    ; 8b 56 e4
    14369     call 0881eh                               ; e8 38 f4
     14369    call 08823h                               ; e8 38 f4
    1437014370    cmp ax, strict word 00003h                ; 3d 03 00
    14371     jne short 09383h                          ; 75 98
     14371    jne short 09388h                          ; 75 98
    1437214372    mov ax, word [bp-016h]                    ; 8b 46 ea
    1437314373    add ax, 00130h                            ; 05 30 01
     
    1439714397    mov byte [bp-00ch], al                    ; 88 46 f4
    1439814398    cmp AL, strict byte 004h                  ; 3c 04
    14399     jc short 09435h                           ; 72 03
    14400     jmp near 0979ah                           ; e9 65 03
     14399    jc short 0943ah                           ; 72 03
     14400    jmp near 0979fh                           ; e9 65 03
    1440114401    mov ax, word [bp-016h]                    ; 8b 46 ea
    1440214402    add ax, 00118h                            ; 05 18 01
     
    1445014450    add cl, 00ch                              ; 80 c1 0c
    1445114451    test dx, dx                               ; 85 d2
    14452     jne short 09500h                          ; 75 55
     14452    jne short 09505h                          ; 75 55
    1445314453    cmp bx, 00101h                            ; 81 fb 01 01
    14454     jne short 09500h                          ; 75 4f
     14454    jne short 09505h                          ; 75 4f
    1445514455    mov es, [bp-00eh]                         ; 8e 46 f2
    1445614456    mov bx, word [bp-01ah]                    ; 8b 5e e6
     
    1446714467    mov ax, word [bp-01ah]                    ; 8b 46 e6
    1446814468    mov dx, es                                ; 8c c2
    14469     call 089b1h                               ; e8 c0 f4
     14469    call 089b6h                               ; e8 c0 f4
    1447014470    mov byte [bp-00ah], cl                    ; 88 4e f6
    1447114471    test byte [bp-0022ah], 080h               ; f6 86 d6 fd 80
    14472     je short 09503h                           ; 74 08
     14472    je short 09508h                           ; 74 08
    1447314473    mov ax, strict word 00001h                ; b8 01 00
    14474     jmp short 09505h                          ; eb 05
    14475     jmp near 096d5h                           ; e9 d2 01
     14474    jmp short 0950ah                          ; eb 05
     14475    jmp near 096dah                           ; e9 d2 01
    1447614476    xor ax, ax                                ; 31 c0
    1447714477    mov cl, al                                ; 88 c1
     
    1448914489    mov word [bp-012h], ax                    ; 89 46 ee
    1449014490    cmp di, 00fffh                            ; 81 ff ff 0f
    14491     jne short 09554h                          ; 75 1f
     14491    jne short 09559h                          ; 75 1f
    1449214492    cmp word [bp-014h], strict byte 0ffffh    ; 83 7e ec ff
    14493     jne short 09554h                          ; 75 19
     14493    jne short 09559h                          ; 75 19
    1449414494    mov ax, word [bp-0015ch]                  ; 8b 86 a4 fe
    1449514495    mov word [bp-012h], ax                    ; 89 46 ee
     
    1453114531    mov al, byte [bp-00ch]                    ; 8a 46 f4
    1453214532    cmp AL, strict byte 001h                  ; 3c 01
    14533     jc short 095d1h                           ; 72 0c
    14534     jbe short 095d9h                          ; 76 12
     14533    jc short 095d6h                           ; 72 0c
     14534    jbe short 095deh                          ; 76 12
    1453514535    cmp AL, strict byte 003h                  ; 3c 03
    14536     je short 095e1h                           ; 74 16
     14536    je short 095e6h                           ; 74 16
    1453714537    cmp AL, strict byte 002h                  ; 3c 02
    14538     je short 095ddh                           ; 74 0e
    14539     jmp short 09624h                          ; eb 53
     14538    je short 095e2h                           ; 74 0e
     14539    jmp short 09629h                          ; eb 53
    1454014540    test al, al                               ; 84 c0
    14541     jne short 09624h                          ; 75 4f
     14541    jne short 09629h                          ; 75 4f
    1454214542    mov DL, strict byte 040h                  ; b2 40
    14543     jmp short 095e3h                          ; eb 0a
     14543    jmp short 095e8h                          ; eb 0a
    1454414544    mov DL, strict byte 048h                  ; b2 48
    14545     jmp short 095e3h                          ; eb 06
     14545    jmp short 095e8h                          ; eb 06
    1454614546    mov DL, strict byte 050h                  ; b2 50
    14547     jmp short 095e3h                          ; eb 02
     14547    jmp short 095e8h                          ; eb 02
    1454814548    mov DL, strict byte 058h                  ; b2 58
    1454914549    mov bl, dl                                ; 88 d3
     
    1455114551    xor bh, bh                                ; 30 ff
    1455214552    mov ax, bx                                ; 89 d8
    14553     call 016aeh                               ; e8 bf 80
     14553    call 016aeh                               ; e8 ba 80
    1455414554    test al, al                               ; 84 c0
    14555     je short 09624h                           ; 74 31
     14555    je short 09629h                           ; 74 31
    1455614556    mov al, dl                                ; 88 d0
    1455714557    db  0feh, 0c0h
    1455814558    ; inc al                                    ; fe c0
    1455914559    xor ah, ah                                ; 30 e4
    14560     call 016aeh                               ; e8 b2 80
     14560    call 016aeh                               ; e8 ad 80
    1456114561    mov ch, al                                ; 88 c5
    1456214562    mov al, dl                                ; 88 d0
    1456314563    xor ah, ah                                ; 30 e4
    14564     call 016aeh                               ; e8 a9 80
     14564    call 016aeh                               ; e8 a4 80
    1456514565    mov ah, ch                                ; 88 ec
    1456614566    mov word [bp-028h], ax                    ; 89 46 d8
     
    1456814568    add AL, strict byte 002h                  ; 04 02
    1456914569    xor ah, ah                                ; 30 e4
    14570     call 016aeh                               ; e8 9b 80
     14570    call 016aeh                               ; e8 96 80
    1457114571    xor ah, ah                                ; 30 e4
    1457214572    mov word [bp-02ah], ax                    ; 89 46 d6
    1457314573    mov ax, bx                                ; 89 d8
    14574     call 016aeh                               ; e8 91 80
     14574    call 016aeh                               ; e8 8c 80
    1457514575    xor ah, ah                                ; 30 e4
    1457614576    mov word [bp-026h], ax                    ; 89 46 da
    14577     jmp short 09636h                          ; eb 12
     14577    jmp short 0963bh                          ; eb 12
    1457814578    push word [bp-012h]                       ; ff 76 ee
    1457914579    push word [bp-01eh]                       ; ff 76 e2
     
    1458214582    mov dx, ss                                ; 8c d2
    1458314583    lea ax, [bp-02ah]                         ; 8d 46 d6
    14584     call 05b09h                               ; e8 d3 c4
    14585     mov bx, 00da6h                            ; bb a6 0d
     14584    call 05b09h                               ; e8 ce c4
     14585    mov bx, 00da4h                            ; bb a4 0d
    1458614586    mov cx, ds                                ; 8c d9
    1458714587    mov ax, strict word 00004h                ; b8 04 00
    14588     call 01933h                               ; e8 f2 82
     14588    call 01933h                               ; e8 ed 82
    1458914589    push word [bp-012h]                       ; ff 76 ee
    1459014590    push word [bp-01eh]                       ; ff 76 e2
     
    1460914609    mov ax, strict word 00004h                ; b8 04 00
    1461014610    push ax                                   ; 50
    14611     call 01976h                               ; e8 01 83
     14611    call 01976h                               ; e8 fc 82
    1461214612    add sp, strict byte 0001ch                ; 83 c4 1c
    1461314613    mov al, byte [bp-00ah]                    ; 8a 46 f6
     
    1464114641    mov dx, strict word 00075h                ; ba 75 00
    1464214642    mov ax, strict word 00040h                ; b8 40 00
    14643     call 01652h                               ; e8 8f 7f
     14643    call 01652h                               ; e8 8a 7f
    1464414644    mov bl, al                                ; 88 c3
    1464514645    db  0feh, 0c3h
     
    1464814648    mov dx, strict word 00075h                ; ba 75 00
    1464914649    mov ax, strict word 00040h                ; b8 40 00
    14650     call 01660h                               ; e8 8e 7f
    14651     jmp near 09789h                           ; e9 b4 00
     14650    call 01660h                               ; e8 89 7f
     14651    jmp near 0978eh                           ; e9 b4 00
    1465214652    cmp dx, 0eb14h                            ; 81 fa 14 eb
    14653     jne short 09730h                          ; 75 55
     14653    jne short 09735h                          ; 75 55
    1465414654    cmp bx, 00101h                            ; 81 fb 01 01
    14655     jne short 09730h                          ; 75 4f
     14655    jne short 09735h                          ; 75 4f
    1465614656    mov es, [bp-00eh]                         ; 8e 46 f2
    1465714657    mov bx, word [bp-01ah]                    ; 8b 5e e6
     
    1466814668    mov ax, word [bp-01ah]                    ; 8b 46 e6
    1466914669    mov dx, es                                ; 8c c2
    14670     call 089b1h                               ; e8 90 f2
     14670    call 089b6h                               ; e8 90 f2
    1467114671    mov byte [bp-00ah], cl                    ; 88 4e f6
    1467214672    test byte [bp-0022ah], 080h               ; f6 86 d6 fd 80
    14673     je short 09732h                           ; 74 07
     14673    je short 09737h                           ; 74 07
    1467414674    mov cx, strict word 00001h                ; b9 01 00
    14675     jmp short 09734h                          ; eb 04
    14676     jmp short 09789h                          ; eb 57
     14675    jmp short 09739h                          ; eb 04
     14676    jmp short 0978eh                          ; eb 57
    1467714677    xor cx, cx                                ; 31 c9
    1467814678    mov bl, byte [bp-00ch]                    ; 8a 5e f4
     
    1471414714    pop bp                                    ; 5d
    1471514715    retn                                      ; c3
    14716 ahci_mem_alloc_:                             ; 0xf97a2 LB 0x43
     14716ahci_mem_alloc_:                             ; 0xf97a7 LB 0x43
    1471714717    push bp                                   ; 55
    1471814718    mov bp, sp                                ; 89 e5
     
    1472414724    mov dx, 00413h                            ; ba 13 04
    1472514725    xor ax, ax                                ; 31 c0
    14726     call 0166eh                               ; e8 bc 7e
     14726    call 0166eh                               ; e8 b7 7e
    1472714727    test ax, ax                               ; 85 c0
    14728     je short 097dbh                           ; 74 25
     14728    je short 097e0h                           ; 74 25
    1472914729    dec ax                                    ; 48
    1473014730    mov bx, ax                                ; 89 c3
     
    1473314733    sal ax, 1                                 ; d1 e0
    1473414734    rcl dx, 1                                 ; d1 d2
    14735     loop 097beh                               ; e2 fa
     14735    loop 097c3h                               ; e2 fa
    1473614736    mov si, ax                                ; 89 c6
    1473714737    mov di, dx                                ; 89 d7
     
    1473914739    shr di, 1                                 ; d1 ef
    1474014740    rcr si, 1                                 ; d1 de
    14741     loop 097cbh                               ; e2 fa
     14741    loop 097d0h                               ; e2 fa
    1474214742    mov dx, 00413h                            ; ba 13 04
    1474314743    xor ax, ax                                ; 31 c0
    14744     call 0167ch                               ; e8 a3 7e
     14744    call 0167ch                               ; e8 9e 7e
    1474514745    mov ax, si                                ; 89 f0
    1474614746    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    1475214752    pop bp                                    ; 5d
    1475314753    retn                                      ; c3
    14754 ahci_hba_init_:                              ; 0xf97e5 LB 0x16e
     14754ahci_hba_init_:                              ; 0xf97ea LB 0x16e
    1475514755    push bp                                   ; 55
    1475614756    mov bp, sp                                ; 89 e5
     
    1476414764    mov dx, strict word 0000eh                ; ba 0e 00
    1476514765    mov ax, strict word 00040h                ; b8 40 00
    14766     call 0166eh                               ; e8 73 7e
     14766    call 0166eh                               ; e8 6e 7e
    1476714767    mov bx, 00122h                            ; bb 22 01
    1476814768    mov di, ax                                ; 89 c7
     
    1478114781    shr eax, 010h                             ; 66 c1 e8 10
    1478214782    xchg dx, ax                               ; 92
    14783     call 097a2h                               ; e8 83 ff
     14783    call 097a7h                               ; e8 83 ff
    1478414784    mov word [bp-010h], ax                    ; 89 46 f0
    1478514785    test ax, ax                               ; 85 c0
    14786     jne short 09829h                          ; 75 03
    14787     jmp near 09932h                           ; e9 09 01
     14786    jne short 0982eh                          ; 75 03
     14787    jmp near 09937h                           ; e9 09 01
    1478814788    mov ax, word [bp-010h]                    ; 8b 46 f0
    1478914789    mov es, di                                ; 8e c7
     
    1483514835    xchg dx, ax                               ; 92
    1483614836    test AL, strict byte 001h                 ; a8 01
    14837     jne short 09883h                          ; 75 de
     14837    jne short 09888h                          ; 75 de
    1483814838    xor ax, ax                                ; 31 c0
    1483914839    xor cx, cx                                ; 31 c9
     
    1485414854    mov bx, strict word 0001fh                ; bb 1f 00
    1485514855    xor cx, cx                                ; 31 c9
    14856     call 0881eh                               ; e8 54 ef
     14856    call 08823h                               ; e8 54 ef
    1485714857    db  0feh, 0c0h
    1485814858    ; inc al                                    ; fe c0
    1485914859    mov byte [bp-00eh], al                    ; 88 46 f2
    1486014860    mov byte [bp-00ch], 000h                  ; c6 46 f4 00
    14861     jmp short 098f6h                          ; eb 21
     14861    jmp short 098fbh                          ; eb 21
    1486214862    xor al, al                                ; 30 c0
    1486314863    test al, al                               ; 84 c0
    14864     je short 098edh                           ; 74 12
     14864    je short 098f2h                           ; 74 12
    1486514865    mov bl, byte [bp-00ch]                    ; 8a 5e f4
    1486614866    xor bh, bh                                ; 30 ff
    1486714867    xor ax, ax                                ; 31 c0
    1486814868    mov dx, word [bp-010h]                    ; 8b 56 f0
    14869     call 092a4h                               ; e8 bc f9
     14869    call 092a9h                               ; e8 bc f9
    1487014870    dec byte [bp-00eh]                        ; fe 4e f2
    14871     je short 09930h                           ; 74 43
     14871    je short 09935h                           ; 74 43
    1487214872    inc byte [bp-00ch]                        ; fe 46 f4
    1487314873    cmp byte [bp-00ch], 020h                  ; 80 7e f4 20
    14874     jnc short 09930h                          ; 73 3a
     14874    jnc short 09935h                          ; 73 3a
    1487514875    mov cl, byte [bp-00ch]                    ; 8a 4e f4
    1487614876    xor ch, ch                                ; 30 ed
    1487714877    mov bx, strict word 00001h                ; bb 01 00
    1487814878    xor di, di                                ; 31 ff
    14879     jcxz 09908h                               ; e3 06
     14879    jcxz 0990dh                               ; e3 06
    1488014880    sal bx, 1                                 ; d1 e3
    1488114881    rcl di, 1                                 ; d1 d7
    14882     loop 09902h                               ; e2 fa
     14882    loop 09907h                               ; e2 fa
    1488314883    mov ax, strict word 0000ch                ; b8 0c 00
    1488414884    xor cx, cx                                ; 31 c9
     
    1489614896    xchg dx, ax                               ; 92
    1489714897    test dx, di                               ; 85 fa
    14898     jne short 0992ch                          ; 75 04
     14898    jne short 09931h                          ; 75 04
    1489914899    test ax, bx                               ; 85 d8
    14900     je short 098d5h                           ; 74 a9
     14900    je short 098dah                           ; 74 a9
    1490114901    mov AL, strict byte 001h                  ; b0 01
    14902     jmp short 098d7h                          ; eb a7
     14902    jmp short 098dch                          ; eb a7
    1490314903    xor ax, ax                                ; 31 c0
    1490414904    lea sp, [bp-00ah]                         ; 8d 66 f6
     
    1491014910    pop bp                                    ; 5d
    1491114911    retn                                      ; c3
    14912     db  00bh, 005h, 004h, 003h, 002h, 001h, 000h, 038h, 09ah, 016h, 09ah, 01ch, 09ah, 022h, 09ah, 028h
    14913     db  09ah, 02eh, 09ah, 034h, 09ah, 038h, 09ah
    14914 _ahci_init:                                  ; 0xf9953 LB 0x11a
     14912    db  00bh, 005h, 004h, 003h, 002h, 001h, 000h, 03dh, 09ah, 01bh, 09ah, 021h, 09ah, 027h, 09ah, 02dh
     14913    db  09ah, 033h, 09ah, 039h, 09ah, 03dh, 09ah
     14914_ahci_init:                                  ; 0xf9958 LB 0x11a
    1491514915    push bp                                   ; 55
    1491614916    mov bp, sp                                ; 89 e5
     
    1491914919    mov ax, 00601h                            ; b8 01 06
    1492014920    mov dx, strict word 00001h                ; ba 01 00
    14921     call 09e8ch                               ; e8 29 05
     14921    call 09e91h                               ; e8 29 05
    1492214922    mov dx, ax                                ; 89 c2
    1492314923    cmp ax, strict word 0ffffh                ; 3d ff ff
    14924     je short 099b3h                           ; 74 49
     14924    je short 099b8h                           ; 74 49
    1492514925    mov al, ah                                ; 88 e0
    1492614926    mov byte [bp-006h], ah                    ; 88 66 fa
     
    1492914929    xor ah, ah                                ; 30 e4
    1493014930    mov bx, strict word 00034h                ; bb 34 00
    14931     call 09e94h                               ; e8 18 05
     14931    call 09e99h                               ; e8 18 05
    1493214932    mov cl, al                                ; 88 c1
    1493314933    test cl, cl                               ; 84 c9
    14934     je short 099b6h                           ; 74 34
     14934    je short 099bbh                           ; 74 34
    1493514935    mov bl, cl                                ; 88 cb
    1493614936    xor bh, bh                                ; 30 ff
     
    1494314943    mov dx, word [bp-00ch]                    ; 8b 56 f4
    1494414944    mov ax, word [bp-010h]                    ; 8b 46 f0
    14945     call 09e94h                               ; e8 f3 04
     14945    call 09e99h                               ; e8 f3 04
    1494614946    cmp AL, strict byte 012h                  ; 3c 12
    14947     je short 099b6h                           ; 74 11
     14947    je short 099bbh                           ; 74 11
    1494814948    mov bl, cl                                ; 88 cb
    1494914949    db  0feh, 0c3h
     
    1495214952    mov dx, word [bp-00ch]                    ; 8b 56 f4
    1495314953    mov ax, word [bp-010h]                    ; 8b 46 f0
    14954     jmp short 09979h                          ; eb c6
    14955     jmp near 09a67h                           ; e9 b1 00
     14954    jmp short 0997eh                          ; eb c6
     14955    jmp near 09a6ch                           ; e9 b1 00
    1495614956    test cl, cl                               ; 84 c9
    14957     je short 099b3h                           ; 74 f9
     14957    je short 099b8h                           ; 74 f9
    1495814958    add cl, 002h                              ; 80 c1 02
    1495914959    mov bl, cl                                ; 88 cb
     
    1496714967    mov dx, word [bp-00eh]                    ; 8b 56 f2
    1496814968    mov ax, word [bp-00ah]                    ; 8b 46 f6
    14969     call 09e94h                               ; e8 b8 04
     14969    call 09e99h                               ; e8 b8 04
    1497014970    cmp AL, strict byte 010h                  ; 3c 10
    14971     jne short 099b3h                          ; 75 d3
     14971    jne short 099b8h                          ; 75 d3
    1497214972    mov byte [bp-004h], 000h                  ; c6 46 fc 00
    1497314973    mov bl, cl                                ; 88 cb
     
    1497614976    mov dx, word [bp-00eh]                    ; 8b 56 f2
    1497714977    mov ax, word [bp-00ah]                    ; 8b 46 f6
    14978     call 09ebbh                               ; e8 c7 04
     14978    call 09ec0h                               ; e8 c7 04
    1497914979    mov dx, ax                                ; 89 c2
    1498014980    and ax, strict word 0000fh                ; 25 0f 00
    1498114981    sub ax, strict word 00004h                ; 2d 04 00
    1498214982    cmp ax, strict word 0000bh                ; 3d 0b 00
    14983     jnbe short 09a38h                         ; 77 37
     14983    jnbe short 09a3dh                         ; 77 37
    1498414984    push CS                                   ; 0e
    1498514985    pop ES                                    ; 07
    1498614986    mov cx, strict word 00008h                ; b9 08 00
    14987     mov di, 0993ch                            ; bf 3c 99
     14987    mov di, 09941h                            ; bf 41 99
    1498814988    repne scasb                               ; f2 ae
    1498914989    sal cx, 1                                 ; d1 e1
    1499014990    mov di, cx                                ; 89 cf
    14991     mov ax, word [cs:di-066bdh]               ; 2e 8b 85 43 99
     14991    mov ax, word [cs:di-066b8h]               ; 2e 8b 85 48 99
    1499214992    jmp ax                                    ; ff e0
    1499314993    mov byte [bp-004h], 010h                  ; c6 46 fc 10
    14994     jmp short 09a38h                          ; eb 1c
     14994    jmp short 09a3dh                          ; eb 1c
    1499514995    mov byte [bp-004h], 014h                  ; c6 46 fc 14
    14996     jmp short 09a38h                          ; eb 16
     14996    jmp short 09a3dh                          ; eb 16
    1499714997    mov byte [bp-004h], 018h                  ; c6 46 fc 18
    14998     jmp short 09a38h                          ; eb 10
     14998    jmp short 09a3dh                          ; eb 10
    1499914999    mov byte [bp-004h], 01ch                  ; c6 46 fc 1c
    15000     jmp short 09a38h                          ; eb 0a
     15000    jmp short 09a3dh                          ; eb 0a
    1500115001    mov byte [bp-004h], 020h                  ; c6 46 fc 20
    15002     jmp short 09a38h                          ; eb 04
     15002    jmp short 09a3dh                          ; eb 04
    1500315003    mov byte [bp-004h], 024h                  ; c6 46 fc 24
    1500415004    mov CL, strict byte 004h                  ; b1 04
     
    1501015010    mov al, byte [bp-004h]                    ; 8a 46 fc
    1501115011    test al, al                               ; 84 c0
    15012     je short 09a67h                           ; 74 1c
     15012    je short 09a6ch                           ; 74 1c
    1501315013    mov bl, al                                ; 88 c3
    1501415014    xor bh, bh                                ; 30 ff
     
    1501715017    mov al, byte [bp-006h]                    ; 8a 46 fa
    1501815018    xor ah, ah                                ; 30 e4
    15019     call 09ee0h                               ; e8 84 04
     15019    call 09ee5h                               ; e8 84 04
    1502015020    test AL, strict byte 001h                 ; a8 01
    15021     je short 09a67h                           ; 74 07
     15021    je short 09a6ch                           ; 74 07
    1502215022    and AL, strict byte 0f0h                  ; 24 f0
    1502315023    add ax, cx                                ; 01 c8
    15024     call 097e5h                               ; e8 7e fd
     15024    call 097eah                               ; e8 7e fd
    1502515025    lea sp, [bp-002h]                         ; 8d 66 fe
    1502615026    pop di                                    ; 5f
    1502715027    pop bp                                    ; 5d
    1502815028    retn                                      ; c3
    15029 apm_out_str_:                                ; 0xf9a6d LB 0x39
     15029apm_out_str_:                                ; 0xf9a72 LB 0x39
    1503015030    push bp                                   ; 55
    1503115031    mov bp, sp                                ; 89 e5
     
    1503315033    mov bx, ax                                ; 89 c3
    1503415034    cmp byte [bx], 000h                       ; 80 3f 00
    15035     je short 09a82h                           ; 74 0a
     15035    je short 09a87h                           ; 74 0a
    1503615036    mov al, byte [bx]                         ; 8a 07
    1503715037    out DX, AL                                ; ee
     
    1504015040    db  00ah, 0c0h
    1504115041    ; or al, al                                 ; 0a c0
    15042     jne short 09a7ah                          ; 75 f8
     15042    jne short 09a7fh                          ; 75 f8
    1504315043    lea sp, [bp-002h]                         ; 8d 66 fe
    1504415044    pop bx                                    ; 5b
    1504515045    pop bp                                    ; 5d
    1504615046    retn                                      ; c3
    15047     db  0c7h, 09ah, 052h, 09bh, 0d9h, 09ah
    15048     ; mov word [bp+si-064aeh], 09ad9h           ; c7 9a 52 9b d9 9a
    15049     hlt                                       ; f4
    15050     call far 09b1fh:09b52h                    ; 9a 52 9b 1f 9b
    15051     push dx                                   ; 52
     15047    int3                                      ; cc
     15048    call far 09adeh:09b57h                    ; 9a 57 9b de 9a
     15049    stc                                       ; f9
     15050    call far 09b24h:09b57h                    ; 9a 57 9b 24 9b
     15051    push di                                   ; 57
    1505215052    wait                                      ; 9b
    15053     pop ax                                    ; 58
     15053    pop bp                                    ; 5d
    1505415054    wait                                      ; 9b
    15055     and AL, strict byte 09bh                  ; 24 9b
    15056     and AL, strict byte 09bh                  ; 24 9b
    15057     and AL, strict byte 09bh                  ; 24 9b
    15058     xchg di, ax                               ; 97
     15055    sub word [bp+di-064d7h], bx               ; 29 9b 29 9b
     15056    sub word [bp+di-06464h], bx               ; 29 9b 9c 9b
     15057    sub word [bp+di-064d7h], bx               ; 29 9b 29 9b
     15058    xchg bp, ax                               ; 95
    1505915059    wait                                      ; 9b
    15060     and AL, strict byte 09bh                  ; 24 9b
    15061     and AL, strict byte 09bh                  ; 24 9b
    15062     nop                                       ; 90
    15063     wait                                      ; 9b
    15064 _apm_function:                               ; 0xf9aa6 LB 0xf6
     15060_apm_function:                               ; 0xf9aab LB 0xf6
    1506515061    push bp                                   ; 55
    1506615062    mov bp, sp                                ; 89 e5
     
    1507015066    xor ah, ah                                ; 30 e4
    1507115067    cmp ax, strict word 0000eh                ; 3d 0e 00
    15072     jnbe short 09b24h                         ; 77 6c
     15068    jnbe short 09b29h                         ; 77 6c
    1507315069    mov bx, ax                                ; 89 c3
    1507415070    sal bx, 1                                 ; d1 e3
    1507515071    mov dx, word [bp+018h]                    ; 8b 56 18
    1507615072    or dl, 001h                               ; 80 ca 01
    15077     jmp word [cs:bx-06578h]                   ; 2e ff a7 88 9a
     15073    jmp word [cs:bx-06573h]                   ; 2e ff a7 8d 9a
    1507815074    mov word [bp+012h], 00102h                ; c7 46 12 02 01
    1507915075    mov word [bp+00ch], 0504dh                ; c7 46 0c 4d 50
    1508015076    mov word [bp+010h], strict word 00003h    ; c7 46 10 03 00
    15081     jmp near 09b52h                           ; e9 79 00
     15077    jmp near 09b57h                           ; e9 79 00
    1508215078    mov word [bp+012h], 0f000h                ; c7 46 12 00 f0
    15083     mov word [bp+00ch], 0a0f4h                ; c7 46 0c f4 a0
     15079    mov word [bp+00ch], 0a104h                ; c7 46 0c 04 a1
    1508415080    mov word [bp+010h], 0f000h                ; c7 46 10 00 f0
    1508515081    mov ax, strict word 0fff0h                ; b8 f0 ff
    1508615082    mov word [bp+006h], ax                    ; 89 46 06
    1508715083    mov word [bp+004h], ax                    ; 89 46 04
    15088     jmp near 09b52h                           ; e9 5e 00
     15084    jmp near 09b57h                           ; e9 5e 00
    1508915085    mov word [bp+012h], 0f000h                ; c7 46 12 00 f0
    1509015086    mov word [bp+00ch], 0da40h                ; c7 46 0c 40 da
     
    1509915095    mov si, ax                                ; 89 c6
    1510015096    sal esi, 010h                             ; 66 c1 e6 10
    15101     jmp near 09b52h                           ; e9 33 00
     15097    jmp near 09b57h                           ; e9 33 00
    1510215098    sti                                       ; fb
    1510315099    hlt                                       ; f4
    15104     jmp near 09b52h                           ; e9 2e 00
    15105     mov bx, 00da6h                            ; bb a6 0d
     15100    jmp near 09b57h                           ; e9 2e 00
     15101    mov bx, 00da4h                            ; bb a4 0d
    1510615102    mov cx, ds                                ; 8c d9
    1510715103    mov ax, strict word 00004h                ; b8 04 00
    15108     call 01933h                               ; e8 04 7e
     15104    call 01933h                               ; e8 ff 7d
    1510915105    push word [bp+00ch]                       ; ff 76 0c
    1511015106    push word [bp+012h]                       ; ff 76 12
     
    1511315109    mov ax, strict word 00004h                ; b8 04 00
    1511415110    push ax                                   ; 50
    15115     call 01976h                               ; e8 36 7e
     15111    call 01976h                               ; e8 31 7e
    1511615112    add sp, strict byte 00008h                ; 83 c4 08
    1511715113    mov ax, word [bp+012h]                    ; 8b 46 12
     
    1512515121    retn                                      ; c3
    1512615122    cmp word [bp+010h], strict byte 00003h    ; 83 7e 10 03
    15127     je short 09b7dh                           ; 74 1f
     15123    je short 09b82h                           ; 74 1f
    1512815124    cmp word [bp+010h], strict byte 00002h    ; 83 7e 10 02
    15129     je short 09b75h                           ; 74 11
     15125    je short 09b7ah                           ; 74 11
    1513015126    cmp word [bp+010h], strict byte 00001h    ; 83 7e 10 01
    15131     jne short 09b85h                          ; 75 1b
     15127    jne short 09b8ah                          ; 75 1b
    1513215128    mov dx, 08900h                            ; ba 00 89
    1513315129    mov ax, 00d10h                            ; b8 10 0d
    15134     call 09a6dh                               ; e8 fa fe
    15135     jmp short 09b52h                          ; eb dd
     15130    call 09a72h                               ; e8 fa fe
     15131    jmp short 09b57h                          ; eb dd
    1513615132    mov dx, 08900h                            ; ba 00 89
    1513715133    mov ax, 00d18h                            ; b8 18 0d
    15138     jmp short 09b70h                          ; eb f3
     15134    jmp short 09b75h                          ; eb f3
    1513915135    mov dx, 08900h                            ; ba 00 89
    1514015136    mov ax, 00d20h                            ; b8 20 0d
    15141     jmp short 09b70h                          ; eb eb
     15137    jmp short 09b75h                          ; eb eb
    1514215138    or ah, 00ah                               ; 80 cc 0a
    1514315139    mov word [bp+012h], ax                    ; 89 46 12
    1514415140    mov word [bp+018h], dx                    ; 89 56 18
    15145     jmp short 09b52h                          ; eb c2
     15141    jmp short 09b57h                          ; eb c2
    1514615142    mov word [bp+012h], 00102h                ; c7 46 12 02 01
    15147     jmp short 09b52h                          ; eb bb
     15143    jmp short 09b57h                          ; eb bb
    1514815144    or ah, 080h                               ; 80 cc 80
    15149     jmp short 09b88h                          ; eb ec
    15150 pci16_select_reg_:                           ; 0xf9b9c LB 0x24
     15145    jmp short 09b8dh                          ; eb ec
     15146pci16_select_reg_:                           ; 0xf9ba1 LB 0x24
    1515115147    push bp                                   ; 55
    1515215148    mov bp, sp                                ; 89 e5
     
    1516515161    pop bp                                    ; 5d
    1516615162    retn                                      ; c3
    15167 pci16_find_device_:                          ; 0xf9bc0 LB 0xf7
     15163pci16_find_device_:                          ; 0xf9bc5 LB 0xf7
    1516815164    push bp                                   ; 55
    1516915165    mov bp, sp                                ; 89 e5
     
    1517915175    mov byte [bp-006h], 000h                  ; c6 46 fa 00
    1518015176    test bl, 007h                             ; f6 c3 07
    15181     jne short 09c08h                          ; 75 2d
     15177    jne short 09c0dh                          ; 75 2d
    1518215178    mov dx, strict word 0000eh                ; ba 0e 00
    1518315179    mov ax, bx                                ; 89 d8
    15184     call 09b9ch                               ; e8 b9 ff
     15180    call 09ba1h                               ; e8 b9 ff
    1518515181    mov dx, 00cfeh                            ; ba fe 0c
    1518615182    in AL, DX                                 ; ec
     
    1518915185    mov byte [bp-008h], al                    ; 88 46 f8
    1519015186    cmp AL, strict byte 0ffh                  ; 3c ff
    15191     jne short 09bf6h                          ; 75 06
     15187    jne short 09bfbh                          ; 75 06
    1519215188    add bx, strict byte 00008h                ; 83 c3 08
    15193     jmp near 09c88h                           ; e9 92 00
     15189    jmp near 09c8dh                           ; e9 92 00
    1519415190    test byte [bp-008h], 080h                 ; f6 46 f8 80
    15195     je short 09c03h                           ; 74 07
     15191    je short 09c08h                           ; 74 07
    1519615192    mov word [bp-00eh], strict word 00001h    ; c7 46 f2 01 00
    15197     jmp short 09c08h                          ; eb 05
     15193    jmp short 09c0dh                          ; eb 05
    1519815194    mov word [bp-00eh], strict word 00008h    ; c7 46 f2 08 00
    1519915195    mov al, byte [bp-008h]                    ; 8a 46 f8
    1520015196    and AL, strict byte 007h                  ; 24 07
    1520115197    cmp AL, strict byte 001h                  ; 3c 01
    15202     jne short 09c2fh                          ; 75 1e
     15198    jne short 09c34h                          ; 75 1e
    1520315199    mov al, bh                                ; 88 f8
    1520415200    xor ah, ah                                ; 30 e4
    1520515201    test ax, ax                               ; 85 c0
    15206     jne short 09c2fh                          ; 75 16
     15202    jne short 09c34h                          ; 75 16
    1520715203    mov dx, strict word 0001ah                ; ba 1a 00
    1520815204    mov ax, bx                                ; 89 d8
    15209     call 09b9ch                               ; e8 7b ff
     15205    call 09ba1h                               ; e8 7b ff
    1521015206    mov dx, 00cfeh                            ; ba fe 0c
    1521115207    in AL, DX                                 ; ec
     
    1521315209    ; sub ah, ah                                ; 2a e4
    1521415210    cmp al, byte [bp-006h]                    ; 3a 46 fa
    15215     jbe short 09c2fh                          ; 76 03
     15211    jbe short 09c34h                          ; 76 03
    1521615212    mov byte [bp-006h], al                    ; 88 46 fa
    1521715213    test di, di                               ; 85 ff
    15218     je short 09c38h                           ; 74 05
     15214    je short 09c3dh                           ; 74 05
    1521915215    mov dx, strict word 00008h                ; ba 08 00
    15220     jmp short 09c3ah                          ; eb 02
     15216    jmp short 09c3fh                          ; eb 02
    1522115217    xor dx, dx                                ; 31 d2
    1522215218    mov ax, bx                                ; 89 d8
    15223     call 09b9ch                               ; e8 5d ff
     15219    call 09ba1h                               ; e8 5d ff
    1522415220    mov dx, 00cfch                            ; ba fc 0c
    1522515221    in eax, DX                                ; 66 ed
     
    1523215228    mov word [bp-00ch], strict word 00000h    ; c7 46 f4 00 00
    1523315229    test di, di                               ; 85 ff
    15234     je short 09c69h                           ; 74 0f
     15230    je short 09c6eh                           ; 74 0f
    1523515231    mov cx, strict word 00008h                ; b9 08 00
    1523615232    shr dx, 1                                 ; d1 ea
    1523715233    rcr ax, 1                                 ; d1 d8
    15238     loop 09c5dh                               ; e2 fa
     15234    loop 09c62h                               ; e2 fa
    1523915235    mov word [bp-00ah], ax                    ; 89 46 f6
    1524015236    mov word [bp-010h], dx                    ; 89 56 f0
    1524115237    mov ax, word [bp-010h]                    ; 8b 46 f0
    1524215238    cmp ax, word [bp-014h]                    ; 3b 46 ec
    15243     jne short 09c79h                          ; 75 08
     15239    jne short 09c7eh                          ; 75 08
    1524415240    mov ax, word [bp-00ah]                    ; 8b 46 f6
    1524515241    cmp ax, word [bp-012h]                    ; 3b 46 ee
    15246     je short 09c7fh                           ; 74 06
     15242    je short 09c84h                           ; 74 06
    1524715243    cmp word [bp-00ch], strict byte 00000h    ; 83 7e f4 00
    15248     je short 09c85h                           ; 74 06
     15244    je short 09c8ah                           ; 74 06
    1524915245    dec si                                    ; 4e
    1525015246    cmp si, strict byte 0ffffh                ; 83 fe ff
    15251     je short 09c98h                           ; 74 13
     15247    je short 09c9dh                           ; 74 13
    1525215248    add bx, word [bp-00eh]                    ; 03 5e f2
    1525315249    mov al, bh                                ; 88 f8
     
    1525615252    xor dh, dh                                ; 30 f6
    1525715253    cmp ax, dx                                ; 39 d0
    15258     jnbe short 09c98h                         ; 77 03
    15259     jmp near 09bd6h                           ; e9 3e ff
     15254    jnbe short 09c9dh                         ; 77 03
     15255    jmp near 09bdbh                           ; e9 3e ff
    1526015256    cmp si, strict byte 0ffffh                ; 83 fe ff
    15261     jne short 09ca1h                          ; 75 04
     15257    jne short 09ca6h                          ; 75 04
    1526215258    mov ax, bx                                ; 89 d8
    15263     jmp short 09ca4h                          ; eb 03
     15259    jmp short 09ca9h                          ; eb 03
    1526415260    mov ax, strict word 0ffffh                ; b8 ff ff
    1526515261    lea sp, [bp-004h]                         ; 8d 66 fc
     
    1526815264    pop bp                                    ; 5d
    1526915265    retn                                      ; c3
    15270     cbw                                       ; 98
    1527115266    popfw                                     ; 9d
    15272     mov CL, strict byte 09dh                  ; b1 9d
    15273     retn                                      ; c3
    1527415267    popfw                                     ; 9d
    15275     xlatb                                     ; d7
     15268    mov DH, strict byte 09dh                  ; b6 9d
     15269    enter 0dc9dh, 09dh                        ; c8 9d dc 9d
     15270    out DX, AL                                ; ee
    1527615271    popfw                                     ; 9d
    15277     jmp near 09953h                           ; e9 9d fc
    15278     popfw                                     ; 9d
    15279 _pci16_function:                             ; 0xf9cb7 LB 0x1d5
     15272    db  001h
     15273    sahf                                      ; 9e
     15274_pci16_function:                             ; 0xf9cbc LB 0x1d5
    1528015275    push bp                                   ; 55
    1528115276    mov bp, sp                                ; 89 e5
     
    1529115286    xor ah, ah                                ; 30 e4
    1529215287    cmp bx, strict byte 00003h                ; 83 fb 03
    15293     jc short 09ce9h                           ; 72 13
    15294     jbe short 09d3ch                          ; 76 64
     15288    jc short 09ceeh                           ; 72 13
     15289    jbe short 09d41h                          ; 76 64
    1529515290    cmp bx, strict byte 0000eh                ; 83 fb 0e
    15296     je short 09d44h                           ; 74 67
     15291    je short 09d49h                           ; 74 67
    1529715292    cmp bx, strict byte 00008h                ; 83 fb 08
    15298     jc short 09cf3h                           ; 72 11
     15293    jc short 09cf8h                           ; 72 11
    1529915294    cmp bx, strict byte 0000dh                ; 83 fb 0d
    15300     jbe short 09d47h                          ; 76 60
    15301     jmp short 09cf3h                          ; eb 0a
     15295    jbe short 09d4ch                          ; 76 60
     15296    jmp short 09cf8h                          ; eb 0a
    1530215297    cmp bx, strict byte 00002h                ; 83 fb 02
    15303     je short 09d12h                           ; 74 24
     15298    je short 09d17h                           ; 74 24
    1530415299    cmp bx, strict byte 00001h                ; 83 fb 01
    15305     je short 09cf6h                           ; 74 03
    15306     jmp near 09e55h                           ; e9 5f 01
     15300    je short 09cfbh                           ; 74 03
     15301    jmp near 09e5ah                           ; e9 5f 01
    1530715302    mov word [bp+020h], strict word 00001h    ; c7 46 20 01 00
    1530815303    mov word [bp+014h], 00210h                ; c7 46 14 10 02
     
    1531015305    mov word [bp+018h], 04350h                ; c7 46 18 50 43
    1531115306    mov word [bp+01ah], 02049h                ; c7 46 1a 49 20
    15312     jmp near 09e85h                           ; e9 73 01
     15307    jmp near 09e8ah                           ; e9 73 01
    1531315308    cmp word [bp+018h], strict byte 0ffffh    ; 83 7e 18 ff
    15314     jne short 09d1eh                          ; 75 06
     15309    jne short 09d23h                          ; 75 06
    1531515310    or ah, 083h                               ; 80 cc 83
    15316     jmp near 09e7eh                           ; e9 60 01
     15311    jmp near 09e83h                           ; e9 60 01
    1531715312    mov bx, word [bp+008h]                    ; 8b 5e 08
    1531815313    mov dx, word [bp+01ch]                    ; 8b 56 1c
    1531915314    mov ax, word [bp+018h]                    ; 8b 46 18
    1532015315    xor cx, cx                                ; 31 c9
    15321     call 09bc0h                               ; e8 94 fe
     15316    call 09bc5h                               ; e8 94 fe
    1532215317    cmp ax, strict word 0ffffh                ; 3d ff ff
    15323     jne short 09d3eh                          ; 75 0d
     15318    jne short 09d43h                          ; 75 0d
    1532415319    mov ax, word [bp+020h]                    ; 8b 46 20
    1532515320    xor ah, ah                                ; 30 e4
    1532615321    or ah, 086h                               ; 80 cc 86
    15327     jmp near 09e7eh                           ; e9 42 01
    15328     jmp short 09d49h                          ; eb 0b
     15322    jmp near 09e83h                           ; e9 42 01
     15323    jmp short 09d4eh                          ; eb 0b
    1532915324    mov word [bp+014h], ax                    ; 89 46 14
    15330     jmp near 09e85h                           ; e9 41 01
    15331     jmp near 09e10h                           ; e9 c9 00
    15332     jmp short 09d6eh                          ; eb 25
     15325    jmp near 09e8ah                           ; e9 41 01
     15326    jmp near 09e15h                           ; e9 c9 00
     15327    jmp short 09d73h                          ; eb 25
    1533315328    mov bx, word [bp+008h]                    ; 8b 5e 08
    1533415329    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1533515330    mov dx, word [bp+01eh]                    ; 8b 56 1e
    1533615331    mov cx, strict word 00001h                ; b9 01 00
    15337     call 09bc0h                               ; e8 68 fe
     15332    call 09bc5h                               ; e8 68 fe
    1533815333    cmp ax, strict word 0ffffh                ; 3d ff ff
    15339     jne short 09d68h                          ; 75 0b
     15334    jne short 09d6dh                          ; 75 0b
    1534015335    mov ax, word [bp+020h]                    ; 8b 46 20
    1534115336    xor ah, ah                                ; 30 e4
    1534215337    or ah, 086h                               ; 80 cc 86
    15343     jmp near 09e7eh                           ; e9 16 01
     15338    jmp near 09e83h                           ; e9 16 01
    1534415339    mov word [bp+014h], ax                    ; 89 46 14
    15345     jmp near 09e85h                           ; e9 17 01
     15340    jmp near 09e8ah                           ; e9 17 01
    1534615341    cmp word [bp+004h], 00100h                ; 81 7e 04 00 01
    15347     jc short 09d7bh                           ; 72 06
     15342    jc short 09d80h                           ; 72 06
    1534815343    or ah, 087h                               ; 80 cc 87
    15349     jmp near 09e7eh                           ; e9 03 01
     15344    jmp near 09e83h                           ; e9 03 01
    1535015345    mov dx, word [bp+004h]                    ; 8b 56 04
    1535115346    mov ax, word [bp+014h]                    ; 8b 46 14
    15352     call 09b9ch                               ; e8 18 fe
     15347    call 09ba1h                               ; e8 18 fe
    1535315348    mov bx, word [bp+020h]                    ; 8b 5e 20
    1535415349    xor bh, bh                                ; 30 ff
    1535515350    sub bx, strict byte 00008h                ; 83 eb 08
    1535615351    cmp bx, strict byte 00005h                ; 83 fb 05
    15357     jnbe short 09df9h                         ; 77 68
     15352    jnbe short 09dfeh                         ; 77 68
    1535815353    sal bx, 1                                 ; d1 e3
    15359     jmp word [cs:bx-06355h]                   ; 2e ff a7 ab 9c
     15354    jmp word [cs:bx-06350h]                   ; 2e ff a7 b0 9c
    1536015355    mov bx, word [bp+01ch]                    ; 8b 5e 1c
    1536115356    xor bl, bl                                ; 30 db
     
    1536815363    or bx, ax                                 ; 09 c3
    1536915364    mov word [bp+01ch], bx                    ; 89 5e 1c
    15370     jmp short 09df9h                          ; eb 48
     15365    jmp short 09dfeh                          ; eb 48
    1537115366    mov dx, word [bp+004h]                    ; 8b 56 04
    1537215367    xor dh, dh                                ; 30 f6
     
    1537515370    in ax, DX                                 ; ed
    1537615371    mov word [bp+01ch], ax                    ; 89 46 1c
    15377     jmp short 09df9h                          ; eb 36
     15372    jmp short 09dfeh                          ; eb 36
    1537815373    mov dx, 00cfch                            ; ba fc 0c
    1537915374    in eax, DX                                ; 66 ed
     
    1538415379    mov word [bp+01ch], ax                    ; 89 46 1c
    1538515380    mov word [bp+01eh], dx                    ; 89 56 1e
    15386     jmp short 09df9h                          ; eb 22
     15381    jmp short 09dfeh                          ; eb 22
    1538715382    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1538815383    mov dx, word [bp+004h]                    ; 8b 56 04
     
    1539115386    add dx, 00cfch                            ; 81 c2 fc 0c
    1539215387    out DX, AL                                ; ee
    15393     jmp short 09df9h                          ; eb 10
     15388    jmp short 09dfeh                          ; eb 10
    1539415389    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1539515390    mov dx, word [bp+004h]                    ; 8b 56 04
     
    1539815393    add dx, 00cfch                            ; 81 c2 fc 0c
    1539915394    out DX, ax                                ; ef
    15400     jmp near 09e85h                           ; e9 89 00
     15395    jmp near 09e8ah                           ; e9 89 00
    1540115396    mov ax, word [bp+01ch]                    ; 8b 46 1c
    1540215397    mov cx, word [bp+01eh]                    ; 8b 4e 1e
     
    1540715402    ; mov ax, cx                                ; 8b c1
    1540815403    out DX, eax                               ; 66 ef
    15409     jmp short 09e85h                          ; eb 75
     15404    jmp short 09e8ah                          ; eb 75
    1541015405    mov bx, word [bp+004h]                    ; 8b 5e 04
    1541115406    mov es, [bp+026h]                         ; 8e 46 26
     
    1541415409    mov cx, word [0f4a0h]                     ; 8b 0e a0 f4
    1541515410    cmp cx, word [es:bx]                      ; 26 3b 0f
    15416     jbe short 09e36h                          ; 76 11
     15411    jbe short 09e3bh                          ; 76 11
    1541715412    mov ax, word [bp+020h]                    ; 8b 46 20
    1541815413    xor ah, ah                                ; 30 e4
     
    1542015415    mov word [bp+020h], ax                    ; 89 46 20
    1542115416    or word [bp+02ch], strict byte 00001h     ; 83 4e 2c 01
    15422     jmp short 09e4ah                          ; eb 14
     15417    jmp short 09e4fh                          ; eb 14
    1542315418    les di, [es:bx+002h]                      ; 26 c4 7f 02
    1542415419    mov si, 0f2c0h                            ; be c0 f2
     
    1543215427    les bx, [bp-008h]                         ; c4 5e f8
    1543315428    mov word [es:bx], ax                      ; 26 89 07
    15434     jmp short 09e85h                          ; eb 30
    15435     mov bx, 00da6h                            ; bb a6 0d
     15429    jmp short 09e8ah                          ; eb 30
     15430    mov bx, 00da4h                            ; bb a4 0d
    1543615431    mov cx, ds                                ; 8c d9
    1543715432    mov ax, strict word 00004h                ; b8 04 00
    15438     call 01933h                               ; e8 d3 7a
     15433    call 01933h                               ; e8 ce 7a
    1543915434    mov ax, word [bp+014h]                    ; 8b 46 14
    1544015435    push ax                                   ; 50
     
    1544515440    mov ax, strict word 00004h                ; b8 04 00
    1544615441    push ax                                   ; 50
    15447     call 01976h                               ; e8 03 7b
     15442    call 01976h                               ; e8 fe 7a
    1544815443    add sp, strict byte 00008h                ; 83 c4 08
    1544915444    mov ax, word [bp+020h]                    ; 8b 46 20
     
    1545715452    pop bp                                    ; 5d
    1545815453    retn                                      ; c3
    15459 pci_find_classcode_:                         ; 0xf9e8c LB 0x8
     15454pci_find_classcode_:                         ; 0xf9e91 LB 0x8
    1546015455    push bp                                   ; 55
    1546115456    mov bp, sp                                ; 89 e5
     
    1546315458    pop bp                                    ; 5d
    1546415459    retn                                      ; c3
    15465 pci_read_config_byte_:                       ; 0xf9e94 LB 0x27
     15460pci_read_config_byte_:                       ; 0xf9e99 LB 0x27
    1546615461    push bp                                   ; 55
    1546715462    mov bp, sp                                ; 89 e5
     
    1548615481    pop bp                                    ; 5d
    1548715482    retn                                      ; c3
    15488 pci_read_config_word_:                       ; 0xf9ebb LB 0x25
     15483pci_read_config_word_:                       ; 0xf9ec0 LB 0x25
    1548915484    push bp                                   ; 55
    1549015485    mov bp, sp                                ; 89 e5
     
    1550815503    pop bp                                    ; 5d
    1550915504    retn                                      ; c3
    15510 pci_read_config_dword_:                      ; 0xf9ee0 LB 0x3f
     15505pci_read_config_dword_:                      ; 0xf9ee5 LB 0x3f
    1551115506    push bp                                   ; 55
    1551215507    mov bp, sp                                ; 89 e5
     
    1552315518    int 01ah                                  ; cd 1a
    1552415519    test cx, cx                               ; 85 c9
    15525     jne short 09f10h                          ; 75 14
     15520    jne short 09f15h                          ; 75 14
    1552615521    mov al, byte [bp-006h]                    ; 8a 46 fa
    1552715522    xor ah, ah                                ; 30 e4
     
    1553315528    int 01ah                                  ; cd 1a
    1553415529    test cx, cx                               ; 85 c9
    15535     je short 09f15h                           ; 74 05
     15530    je short 09f1ah                           ; 74 05
    1553615531    mov ax, strict word 00001h                ; b8 01 00
    15537     jmp short 09f17h                          ; eb 02
     15532    jmp short 09f1ch                          ; eb 02
    1553815533    xor ax, ax                                ; 31 c0
    1553915534    cwd                                       ; 99
     
    1554315538    pop bp                                    ; 5d
    1554415539    retn                                      ; c3
    15545 vds_is_present_:                             ; 0xf9f1f LB 0x1d
     15540vds_is_present_:                             ; 0xf9f24 LB 0x1d
    1554615541    push bx                                   ; 53
    1554715542    push bp                                   ; 55
     
    1555115546    mov es, ax                                ; 8e c0
    1555215547    test byte [es:bx], 020h                   ; 26 f6 07 20
    15553     je short 09f37h                           ; 74 06
     15548    je short 09f3ch                           ; 74 06
    1555415549    mov ax, strict word 00001h                ; b8 01 00
    1555515550    pop bp                                    ; 5d
     
    1556015555    pop bx                                    ; 5b
    1556115556    retn                                      ; c3
    15562 vds_real_to_lin_:                            ; 0xf9f3c LB 0x1e
     15557vds_real_to_lin_:                            ; 0xf9f41 LB 0x1e
    1556315558    push bx                                   ; 53
    1556415559    push cx                                   ; 51
     
    1557115566    sal ax, 1                                 ; d1 e0
    1557215567    rcl dx, 1                                 ; d1 d2
    15573     loop 09f4ah                               ; e2 fa
     15568    loop 09f4fh                               ; e2 fa
    1557415569    xor cx, cx                                ; 31 c9
    1557515570    add ax, bx                                ; 01 d8
     
    1557915574    pop bx                                    ; 5b
    1558015575    retn                                      ; c3
    15581 vds_build_sg_list_:                          ; 0xf9f5a LB 0x77
     15576vds_build_sg_list_:                          ; 0xf9f5f LB 0x77
    1558215577    push bp                                   ; 55
    1558315578    mov bp, sp                                ; 89 e5
     
    1559315588    mov bx, word [bp+006h]                    ; 8b 5e 06
    1559415589    mov word [es:di+002h], bx                 ; 26 89 5d 02
    15595     call 09f3ch                               ; e8 c3 ff
     15590    call 09f41h                               ; e8 c3 ff
    1559615591    mov es, si                                ; 8e c6
    1559715592    mov word [es:di+004h], ax                 ; 26 89 45 04
    1559815593    mov word [es:di+006h], dx                 ; 26 89 55 06
    1559915594    mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00
    15600     call 09f1fh                               ; e8 93 ff
     15595    call 09f24h                               ; e8 93 ff
    1560115596    test ax, ax                               ; 85 c0
    15602     je short 09fa1h                           ; 74 11
     15597    je short 09fa6h                           ; 74 11
    1560315598    mov es, si                                ; 8e c6
    1560415599    mov ax, 08105h                            ; b8 05 81
    1560515600    mov dx, strict word 00000h                ; ba 00 00
    1560615601    int 04bh                                  ; cd 4b
    15607     jc short 09f9eh                           ; 72 02
     15602    jc short 09fa3h                           ; 72 02
    1560815603    db  032h, 0c0h
    1560915604    ; xor al, al                                ; 32 c0
    1561015605    cbw                                       ; 98
    15611     jmp short 09fc8h                          ; eb 27
     15606    jmp short 09fcdh                          ; eb 27
    1561215607    mov es, si                                ; 8e c6
    1561315608    mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00
     
    1562615621    pop bp                                    ; 5d
    1562715622    retn 00004h                               ; c2 04 00
    15628 vds_free_sg_list_:                           ; 0xf9fd1 LB 0x2f
     15623vds_free_sg_list_:                           ; 0xf9fd6 LB 0x3a
    1562915624    push bp                                   ; 55
    1563015625    mov bp, sp                                ; 89 e5
     
    1563215627    push di                                   ; 57
    1563315628    mov bx, ax                                ; 89 c3
    15634     call 09f1fh                               ; e8 44 ff
     15629    call 09f24h                               ; e8 44 ff
    1563515630    test ax, ax                               ; 85 c0
    15636     je short 09ff0h                           ; 74 11
     15631    je short 09ff5h                           ; 74 11
    1563715632    mov di, bx                                ; 89 df
    1563815633    mov es, dx                                ; 8e c2
     
    1564015635    mov dx, strict word 00000h                ; ba 00 00
    1564115636    int 04bh                                  ; cd 4b
    15642     jc short 09fefh                           ; 72 02
     15637    jc short 09ff4h                           ; 72 02
    1564315638    db  032h, 0c0h
    1564415639    ; xor al, al                                ; 32 c0
     
    1565115646    pop bp                                    ; 5d
    1565215647    retn                                      ; c3
    15653     times 0x1 db 0
    15654 __U4M:                                       ; 0xfa000 LB 0x20
     15648    times 0xc db 0
     15649__U4M:                                       ; 0xfa010 LB 0x20
    1565515650    pushfw                                    ; 9c
    1565615651    push si                                   ; 56
     
    1567915674    retn                                      ; c3
    1568015675    times 0x4 db 0
    15681 __U4D:                                       ; 0xfa020 LB 0x30
     15676__U4D:                                       ; 0xfa030 LB 0x30
    1568215677    pushfw                                    ; 9c
    1568315678    push DS                                   ; 1e
     
    1569415689    push dx                                   ; 52
    1569515690    push ax                                   ; 50
    15696     call 0a105h                               ; e8 d0 00
     15691    call 0a115h                               ; e8 d0 00
    1569715692    mov cx, word [bp-002h]                    ; 8b 4e fe
    1569815693    mov bx, word [bp-004h]                    ; 8b 5e fc
     
    1570515700    retn                                      ; c3
    1570615701    times 0xe db 0
    15707 __U8RS:                                      ; 0xfa050 LB 0x10
     15702__U8RS:                                      ; 0xfa060 LB 0x10
    1570815703    test si, si                               ; 85 f6
    15709     je short 0a05fh                           ; 74 0b
     15704    je short 0a06fh                           ; 74 0b
    1571015705    shr ax, 1                                 ; d1 e8
    1571115706    rcr bx, 1                                 ; d1 db
     
    1571315708    rcr dx, 1                                 ; d1 da
    1571415709    dec si                                    ; 4e
    15715     jne short 0a054h                          ; 75 f5
     15710    jne short 0a064h                          ; 75 f5
    1571615711    retn                                      ; c3
    15717 __U8LS:                                      ; 0xfa060 LB 0x10
     15712__U8LS:                                      ; 0xfa070 LB 0x10
    1571815713    test si, si                               ; 85 f6
    15719     je short 0a06fh                           ; 74 0b
     15714    je short 0a07fh                           ; 74 0b
    1572015715    sal dx, 1                                 ; d1 e2
    1572115716    rcl cx, 1                                 ; d1 d1
     
    1572315718    rcl ax, 1                                 ; d1 d0
    1572415719    dec si                                    ; 4e
    15725     jne short 0a064h                          ; 75 f5
     15720    jne short 0a074h                          ; 75 f5
    1572615721    retn                                      ; c3
    15727 _fmemset_:                                   ; 0xfa070 LB 0x10
     15722_fmemset_:                                   ; 0xfa080 LB 0x10
    1572815723    push di                                   ; 57
    1572915724    mov es, dx                                ; 8e c2
     
    1573615731    retn                                      ; c3
    1573715732    times 0x3 db 0
    15738 _fmemcpy_:                                   ; 0xfa080 LB 0x3a
     15733_fmemcpy_:                                   ; 0xfa090 LB 0x3a
    1573915734    push bp                                   ; 55
    1574015735    db  08bh, 0ech
     
    1575815753    pop bp                                    ; 5d
    1575915754    retn                                      ; c3
    15760     add byte [bx+si], al                      ; 00 00
    15761     add byte [bx+si], al                      ; 00 00
    15762     add byte [bx+si], al                      ; 00 00
    15763     sal byte [bx+si-05f2eh], 1                ; d0 a0 d2 a0
    15764     db  0d6h
    15765     mov AL, byte [0a0d6h]                     ; a0 d6 a0
    15766     db  0d6h
    15767     mov AL, byte [0a0d8h]                     ; a0 d8 a0
    15768     fsub dword [bx+si-05f26h]                 ; d8 a0 da a0
    15769     fisub word [bx+si-05f22h]                 ; de a0 de a0
    15770     loopne 0a056h                             ; e0 a0
    15771     in ax, 0a0h                               ; e5 a0
    15772     out 0a0h, ax                              ; e7 a0
    15773 apm_worker:                                  ; 0xfa0ba LB 0x3a
     15755    db  000h, 000h, 000h, 000h, 000h, 000h, 0e0h, 0a0h, 0e2h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h, 0e6h, 0a0h
     15756    db  0e8h, 0a0h, 0e8h, 0a0h, 0eah, 0a0h, 0eeh, 0a0h, 0eeh, 0a0h, 0f0h, 0a0h, 0f5h, 0a0h, 0f7h, 0a0h
     15757apm_worker:                                  ; 0xfa0ca LB 0x3a
    1577415758    sti                                       ; fb
    1577515759    push ax                                   ; 50
     
    1578315767    pop ax                                    ; 58
    1578415768    mov AH, strict byte 053h                  ; b4 53
    15785     jnc short 0a0f0h                          ; 73 25
    15786     jmp word [cs:bp-05f60h]                   ; 2e ff a6 a0 a0
    15787     jmp short 0a0eeh                          ; eb 1c
     15769    jnc short 0a100h                          ; 73 25
     15770    jmp word [cs:bp-05f50h]                   ; 2e ff a6 b0 a0
     15771    jmp short 0a0feh                          ; eb 1c
    1578815772    sti                                       ; fb
    1578915773    hlt                                       ; f4
    15790     jmp short 0a0eeh                          ; eb 18
    15791     jmp short 0a0eeh                          ; eb 16
    15792     jmp short 0a0f0h                          ; eb 16
     15774    jmp short 0a0feh                          ; eb 18
     15775    jmp short 0a0feh                          ; eb 16
     15776    jmp short 0a100h                          ; eb 16
    1579315777    mov AH, strict byte 080h                  ; b4 80
    15794     jmp short 0a0f2h                          ; eb 14
    15795     jmp short 0a0f0h                          ; eb 10
     15778    jmp short 0a102h                          ; eb 14
     15779    jmp short 0a100h                          ; eb 10
    1579615780    mov ax, 00102h                            ; b8 02 01
    15797     jmp short 0a0eeh                          ; eb 09
    15798     jmp short 0a0eeh                          ; eb 07
     15781    jmp short 0a0feh                          ; eb 09
     15782    jmp short 0a0feh                          ; eb 07
    1579915783    mov BL, strict byte 000h                  ; b3 00
    1580015784    mov cx, strict word 00000h                ; b9 00 00
    15801     jmp short 0a0eeh                          ; eb 00
     15785    jmp short 0a0feh                          ; eb 00
    1580215786    clc                                       ; f8
    1580315787    retn                                      ; c3
     
    1580515789    stc                                       ; f9
    1580615790    retn                                      ; c3
    15807 apm_pm16_entry:                              ; 0xfa0f4 LB 0x11
     15791apm_pm16_entry:                              ; 0xfa104 LB 0x11
    1580815792    mov AH, strict byte 002h                  ; b4 02
    1580915793    push DS                                   ; 1e
     
    1581315797    add bp, strict byte 00008h                ; 83 c5 08
    1581415798    mov ds, bp                                ; 8e dd
    15815     call 0a0bah                               ; e8 b8 ff
     15799    call 0a0cah                               ; e8 b8 ff
    1581615800    pop bp                                    ; 5d
    1581715801    pop DS                                    ; 1f
    1581815802    retf                                      ; cb
    15819 _DoUInt32Div:                                ; 0xfa105 LB 0x26b
     15803_DoUInt32Div:                                ; 0xfa115 LB 0x26b
    1582015804    push bp                                   ; 55
    1582115805    mov bp, sp                                ; 89 e5
     
    1583515819    mov [bp-006h], ds                         ; 8c 5e fa
    1583615820    cmp word [bx+002h], strict byte 00000h    ; 83 7f 02 00
    15837     jne short 0a155h                          ; 75 22
     15821    jne short 0a165h                          ; 75 22
    1583815822    mov ax, word [bx]                         ; 8b 07
    1583915823    test ax, ax                               ; 85 c0
    15840     je short 0a152h                           ; 74 19
     15824    je short 0a162h                           ; 74 19
    1584115825    cmp ax, strict word 00001h                ; 3d 01 00
    15842     jne short 0a155h                          ; 75 17
     15826    jne short 0a165h                          ; 75 17
    1584315827    xor ax, ax                                ; 31 c0
    1584415828    mov word [bp+00ah], ax                    ; 89 46 0a
     
    1584815832    mov ax, word [bp-01ah]                    ; 8b 46 e6
    1584915833    mov word [bp+006h], ax                    ; 89 46 06
    15850     jmp near 0a35dh                           ; e9 08 02
     15834    jmp near 0a36dh                           ; e9 08 02
    1585115835    lds bx, [bp-00ch]                         ; c5 5e f4
    1585215836    mov ax, word [bx+002h]                    ; 8b 47 02
    1585315837    mov ds, [bp-006h]                         ; 8e 5e fa
    1585415838    cmp ax, word [si+002h]                    ; 3b 44 02
    15855     je short 0a17bh                           ; 74 18
     15839    je short 0a18bh                           ; 74 18
    1585615840    mov ds, [bp-00ah]                         ; 8e 5e f6
    1585715841    mov ax, word [bx+002h]                    ; 8b 47 02
    1585815842    mov ds, [bp-006h]                         ; 8e 5e fa
    1585915843    cmp ax, word [si+002h]                    ; 3b 44 02
    15860     jbe short 0a176h                          ; 76 05
     15844    jbe short 0a186h                          ; 76 05
    1586115845    mov ax, strict word 00001h                ; b8 01 00
    15862     jmp short 0a19ch                          ; eb 26
     15846    jmp short 0a1ach                          ; eb 26
    1586315847    mov ax, strict word 0ffffh                ; b8 ff ff
    15864     jmp short 0a19ch                          ; eb 21
     15848    jmp short 0a1ach                          ; eb 21
    1586515849    mov ds, [bp-00ah]                         ; 8e 5e f6
    1586615850    mov ax, word [bx]                         ; 8b 07
    1586715851    mov ds, [bp-006h]                         ; 8e 5e fa
    1586815852    cmp ax, word [si]                         ; 3b 04
    15869     je short 0a19ah                           ; 74 13
     15853    je short 0a1aah                           ; 74 13
    1587015854    mov ds, [bp-00ah]                         ; 8e 5e f6
    1587115855    mov ax, word [bx]                         ; 8b 07
    1587215856    mov ds, [bp-006h]                         ; 8e 5e fa
    1587315857    cmp ax, word [si]                         ; 3b 04
    15874     jbe short 0a195h                          ; 76 02
    15875     jmp short 0a171h                          ; eb dc
     15858    jbe short 0a1a5h                          ; 76 02
     15859    jmp short 0a181h                          ; eb dc
    1587615860    mov ax, strict word 0ffffh                ; b8 ff ff
    15877     jmp short 0a19ch                          ; eb 02
     15861    jmp short 0a1ach                          ; eb 02
    1587815862    xor ax, ax                                ; 31 c0
    1587915863    test ax, ax                               ; 85 c0
    15880     jnl short 0a1beh                          ; 7d 1e
     15864    jnl short 0a1ceh                          ; 7d 1e
    1588115865    lds bx, [bp-00ch]                         ; c5 5e f4
    1588215866    mov ax, word [bx]                         ; 8b 07
     
    1588815872    mov word [bx+002h], strict word 00000h    ; c7 47 02 00 00
    1588915873    mov word [bx], strict word 00000h         ; c7 07 00 00
    15890     jmp short 0a152h                          ; eb 94
    15891     jne short 0a1d5h                          ; 75 15
     15874    jmp short 0a162h                          ; eb 94
     15875    jne short 0a1e5h                          ; 75 15
    1589215876    mov ds, [bp-008h]                         ; 8e 5e f8
    1589315877    mov word [di+002h], ax                    ; 89 45 02
     
    1589615880    mov word [bx], strict word 00001h         ; c7 07 01 00
    1589715881    mov word [bx+002h], ax                    ; 89 47 02
    15898     jmp near 0a35dh                           ; e9 88 01
     15882    jmp near 0a36dh                           ; e9 88 01
    1589915883    lds bx, [bp-00ch]                         ; c5 5e f4
    1590015884    mov ax, word [bx+002h]                    ; 8b 47 02
    1590115885    test ax, ax                               ; 85 c0
    15902     je short 0a1f0h                           ; 74 11
     15886    je short 0a200h                           ; 74 11
    1590315887    push ax                                   ; 50
    1590415888    mov ax, 0f000h                            ; b8 00 f0
    1590515889    mov ds, ax                                ; 8e d8
    15906     call 0a370h                               ; e8 88 01
     15890    call 0a380h                               ; e8 88 01
    1590715891    add sp, strict byte 00002h                ; 83 c4 02
    1590815892    add ax, strict word 00010h                ; 05 10 00
    15909     jmp short 0a1fdh                          ; eb 0d
     15893    jmp short 0a20dh                          ; eb 0d
    1591015894    push word [bx]                            ; ff 37
    1591115895    mov ax, 0f000h                            ; b8 00 f0
    1591215896    mov ds, ax                                ; 8e d8
    15913     call 0a370h                               ; e8 76 01
     15897    call 0a380h                               ; e8 76 01
    1591415898    add sp, strict byte 00002h                ; 83 c4 02
    1591515899    mov word [bp-014h], ax                    ; 89 46 ec
     
    1591715901    mov ax, word [si+002h]                    ; 8b 44 02
    1591815902    test ax, ax                               ; 85 c0
    15919     je short 0a21bh                           ; 74 11
     15903    je short 0a22bh                           ; 74 11
    1592015904    push ax                                   ; 50
    1592115905    mov ax, 0f000h                            ; b8 00 f0
    1592215906    mov ds, ax                                ; 8e d8
    15923     call 0a370h                               ; e8 5d 01
     15907    call 0a380h                               ; e8 5d 01
    1592415908    add sp, strict byte 00002h                ; 83 c4 02
    1592515909    add ax, strict word 00010h                ; 05 10 00
    15926     jmp short 0a228h                          ; eb 0d
     15910    jmp short 0a238h                          ; eb 0d
    1592715911    push word [si]                            ; ff 34
    1592815912    mov ax, 0f000h                            ; b8 00 f0
    1592915913    mov ds, ax                                ; 8e d8
    15930     call 0a370h                               ; e8 4b 01
     15914    call 0a380h                               ; e8 4b 01
    1593115915    add sp, strict byte 00002h                ; 83 c4 02
    1593215916    mov dx, word [bp-014h]                    ; 8b 56 ec
     
    1593915923    mov word [bp-016h], ax                    ; 89 46 ea
    1594015924    test dx, dx                               ; 85 d2
    15941     je short 0a298h                           ; 74 56
     15925    je short 0a2a8h                           ; 74 56
    1594215926    mov cx, dx                                ; 89 d1
    1594315927    xor ch, dh                                ; 30 f5
     
    1594515929    mov ax, word [si]                         ; 8b 04
    1594615930    mov dx, word [si+002h]                    ; 8b 54 02
    15947     jcxz 0a256h                               ; e3 06
     15931    jcxz 0a266h                               ; e3 06
    1594815932    sal ax, 1                                 ; d1 e0
    1594915933    rcl dx, 1                                 ; d1 d2
    15950     loop 0a250h                               ; e2 fa
     15934    loop 0a260h                               ; e2 fa
    1595115935    mov word [bp-018h], ax                    ; 89 46 e8
    1595215936    mov word [bp-016h], dx                    ; 89 56 ea
     
    1595415938    lds bx, [bp-00ch]                         ; c5 5e f4
    1595515939    cmp ax, word [bx+002h]                    ; 3b 47 02
    15956     jnbe short 0a276h                         ; 77 0f
     15940    jnbe short 0a286h                         ; 77 0f
    1595715941    mov ax, word [bp-016h]                    ; 8b 46 ea
    1595815942    cmp ax, word [bx+002h]                    ; 3b 47 02
    15959     jne short 0a27ah                          ; 75 0b
     15943    jne short 0a28ah                          ; 75 0b
    1596015944    mov ax, word [bp-018h]                    ; 8b 46 e8
    1596115945    cmp ax, word [bx]                         ; 3b 07
    15962     jbe short 0a27ah                          ; 76 04
     15946    jbe short 0a28ah                          ; 76 04
    1596315947    mov AL, strict byte 001h                  ; b0 01
    15964     jmp short 0a27ch                          ; eb 02
     15948    jmp short 0a28ch                          ; eb 02
    1596515949    xor al, al                                ; 30 c0
    1596615950    test al, al                               ; 84 c0
    15967     je short 0a2a3h                           ; 74 23
     15951    je short 0a2b3h                           ; 74 23
    1596815952    shr word [bp-016h], 1                     ; d1 6e ea
    1596915953    rcr word [bp-018h], 1                     ; d1 5e e8
    1597015954    dec word [bp-012h]                        ; ff 4e ee
    15971     jmp short 0a2a3h                          ; eb 18
     15955    jmp short 0a2b3h                          ; eb 18
    1597215956    mov cx, strict word 0001fh                ; b9 1f 00
    1597315957    sal word [bp-018h], 1                     ; d1 66 e8
    1597415958    rcl word [bp-016h], 1                     ; d1 56 ea
    15975     loop 0a28eh                               ; e2 f8
    15976     jmp short 0a286h                          ; eb ee
     15959    loop 0a29eh                               ; e2 f8
     15960    jmp short 0a296h                          ; eb ee
    1597715961    mov ax, word [si]                         ; 8b 04
    1597815962    mov word [bp-018h], ax                    ; 89 46 e8
     
    1599115975    mov ds, [bp-006h]                         ; 8e 5e fa
    1599215976    cmp ax, word [si+002h]                    ; 3b 44 02
    15993     jnbe short 0a2cfh                         ; 77 06
    15994     jne short 0a2d3h                          ; 75 08
     15977    jnbe short 0a2dfh                         ; 77 06
     15978    jne short 0a2e3h                          ; 75 08
    1599515979    cmp dx, word [si]                         ; 3b 14
    15996     jc short 0a2d3h                           ; 72 04
     15980    jc short 0a2e3h                           ; 72 04
    1599715981    mov AL, strict byte 001h                  ; b0 01
    15998     jmp short 0a2d5h                          ; eb 02
     15982    jmp short 0a2e5h                          ; eb 02
    1599915983    xor al, al                                ; 30 c0
    1600015984    test al, al                               ; 84 c0
    16001     je short 0a33ah                           ; 74 61
     15985    je short 0a34ah                           ; 74 61
    1600215986    mov ds, [bp-008h]                         ; 8e 5e f8
    1600315987    mov ax, word [di+002h]                    ; 8b 45 02
    1600415988    cmp ax, word [bp-016h]                    ; 3b 46 ea
    16005     jnbe short 0a2f0h                         ; 77 0c
     15989    jnbe short 0a300h                         ; 77 0c
    1600615990    cmp ax, word [bp-016h]                    ; 3b 46 ea
    16007     jne short 0a2f4h                          ; 75 0b
     15991    jne short 0a304h                          ; 75 0b
    1600815992    mov ax, word [di]                         ; 8b 05
    1600915993    cmp ax, word [bp-018h]                    ; 3b 46 e8
    16010     jc short 0a2f4h                           ; 72 04
     15994    jc short 0a304h                           ; 72 04
    1601115995    mov AL, strict byte 001h                  ; b0 01
    16012     jmp short 0a2f6h                          ; eb 02
     15996    jmp short 0a306h                          ; eb 02
    1601315997    xor al, al                                ; 30 c0
    1601415998    test al, al                               ; 84 c0
    16015     je short 0a320h                           ; 74 26
     15999    je short 0a330h                           ; 74 26
    1601616000    mov ax, word [bp-018h]                    ; 8b 46 e8
    1601716001    mov ds, [bp-008h]                         ; 8e 5e f8
     
    1602216006    xor dx, dx                                ; 31 d2
    1602316007    mov cx, word [bp-012h]                    ; 8b 4e ee
    16024     jcxz 0a318h                               ; e3 06
     16008    jcxz 0a328h                               ; e3 06
    1602516009    sal ax, 1                                 ; d1 e0
    1602616010    rcl dx, 1                                 ; d1 d2
    16027     loop 0a312h                               ; e2 fa
     16011    loop 0a322h                               ; e2 fa
    1602816012    lds bx, [bp-010h]                         ; c5 5e f0
    1602916013    or word [bx], ax                          ; 09 07
     
    1603416018    mov ds, [bp-006h]                         ; 8e 5e fa
    1603516019    cmp ax, word [si+002h]                    ; 3b 44 02
    16036     jc short 0a336h                           ; 72 06
    16037     jne short 0a33ch                          ; 75 0a
     16020    jc short 0a346h                           ; 72 06
     16021    jne short 0a34ch                          ; 75 0a
    1603816022    cmp dx, word [si]                         ; 3b 14
    16039     jnc short 0a33ch                          ; 73 06
     16023    jnc short 0a34ch                          ; 73 06
    1604016024    mov AL, strict byte 001h                  ; b0 01
    16041     jmp short 0a33eh                          ; eb 04
    16042     jmp short 0a35dh                          ; eb 21
     16025    jmp short 0a34eh                          ; eb 04
     16026    jmp short 0a36dh                          ; eb 21
    1604316027    xor al, al                                ; 30 c0
    1604416028    test al, al                               ; 84 c0
    16045     je short 0a351h                           ; 74 0f
    16046     jmp short 0a35dh                          ; eb 19
     16029    je short 0a361h                           ; 74 0f
     16030    jmp short 0a36dh                          ; eb 19
    1604716031    mov cx, strict word 0001fh                ; b9 1f 00
    1604816032    sal word [bp-018h], 1                     ; d1 66 e8
    1604916033    rcl word [bp-016h], 1                     ; d1 56 ea
    16050     loop 0a347h                               ; e2 f8
    16051     jmp short 0a357h                          ; eb 06
     16034    loop 0a357h                               ; e2 f8
     16035    jmp short 0a367h                          ; eb 06
    1605216036    shr word [bp-016h], 1                     ; d1 6e ea
    1605316037    rcr word [bp-018h], 1                     ; d1 5e e8
    1605416038    dec word [bp-012h]                        ; ff 4e ee
    16055     jmp near 0a2d9h                           ; e9 7c ff
     16039    jmp near 0a2e9h                           ; e9 7c ff
    1605616040    mov ax, word [bp-01ch]                    ; 8b 46 e4
    1605716041    mov dx, word [bp-01ah]                    ; 8b 56 e6
     
    1606216046    retn                                      ; c3
    1606316047    times 0x6 db 0
    16064 _ASMBitLastSetU16:                           ; 0xfa370 LB 0x18
     16048_ASMBitLastSetU16:                           ; 0xfa380 LB 0x18
    1606516049    push bp                                   ; 55
    1606616050    db  08bh, 0ech
     
    1606816052    mov cx, word [bp+004h]                    ; 8b 4e 04
    1606916053    test cx, cx                               ; 85 c9
    16070     je short 0a384h                           ; 74 0a
     16054    je short 0a394h                           ; 74 0a
    1607116055    mov ax, strict word 00010h                ; b8 10 00
    1607216056    sal cx, 1                                 ; d1 e1
    16073     jc short 0a386h                           ; 72 05
     16057    jc short 0a396h                           ; 72 05
    1607416058    dec ax                                    ; 48
    16075     jmp short 0a37dh                          ; eb f9
     16059    jmp short 0a38dh                          ; eb f9
    1607616060    db  033h, 0c0h
    1607716061    ; xor ax, ax                                ; 33 c0
     
    1607916063    retn                                      ; c3
    1608016064
    16081   ; Padding 0x3678 bytes at 0xfa388
    16082   times 13944 db 0
     16065  ; Padding 0x3668 bytes at 0xfa398
     16066  times 13928 db 0
    1608316067
    1608416068section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO
     
    1612716111    add bp, strict byte 00008h                ; 83 c5 08
    1612816112    push ebp                                  ; 66 55
    16129     mov bp, 0a0f6h                            ; bd f6 a0
     16113    mov bp, 0a106h                            ; bd 06 a1
    1613016114    add byte [bx+si], al                      ; 00 00
    1613116115    push ebp                                  ; 66 55
     
    1685716841    call 01cc5h                               ; e8 89 39
    1685816842    call 02154h                               ; e8 15 3e
    16859     call 09953h                               ; e8 11 b6
    16860     call 087b8h                               ; e8 73 a4
     16843    call 09958h                               ; e8 16 b6
     16844    call 087bdh                               ; e8 78 a4
    1686116845    call 0ed4ch                               ; e8 04 0a
    1686216846    call 0e2d2h                               ; e8 87 ff
     
    1719417178    pop DS                                    ; 1f
    1719517179    cld                                       ; fc
    17196     call 06e98h                               ; e8 a4 84
     17180    call 06e9dh                               ; e8 a9 84
    1719717181    pop DS                                    ; 1f
    1719817182    pop ES                                    ; 07
     
    1755617540    pop DS                                    ; 1f
    1755717541    cld                                       ; fc
    17558     call 07845h                               ; e8 61 88
     17542    call 0784ah                               ; e8 66 88
    1755917543    pop di                                    ; 5f
    1756017544    pop si                                    ; 5e
     
    1793817922    cmp ah, 0c2h                              ; 80 fc c2
    1793917923    je short 0f895h                           ; 74 15
    17940     call 067b7h                               ; e8 34 6f
     17924    call 067bch                               ; e8 39 6f
    1794117925    pop di                                    ; 5f
    1794217926    pop si                                    ; 5e
     
    1795117935    popfw                                     ; 9d
    1795217936    jmp short 0f8afh                          ; eb 1f
    17953     call 09aa6h                               ; e8 13 a2
     17937    call 09aabh                               ; e8 18 a2
    1795417938    jmp short 0f883h                          ; eb ee
    1795517939int15_handler_mouse:                         ; 0xff895 LB 0x5
    17956     call 074a5h                               ; e8 0d 7c
     17940    call 074aah                               ; e8 12 7c
    1795717941    jmp short 0f883h                          ; eb e9
    1795817942int15_handler32:                             ; 0xff89a LB 0x15
     
    1796517949    push si                                   ; 56
    1796617950    push di                                   ; 57
    17967     call 06afah                               ; e8 55 72
     17951    call 06affh                               ; e8 5a 72
    1796817952    pop di                                    ; 5f
    1796917953    pop si                                    ; 5e
     
    1801117995    pop DS                                    ; 1f
    1801217996    cld                                       ; fc
    18013     call 073d3h                               ; e8 f8 7a
     17997    call 073d8h                               ; e8 fd 7a
    1801417998    pop cx                                    ; 59
    1801517999    jcxz 0f8ebh                               ; e3 0d
     
    1805918043    pop DS                                    ; 1f
    1806018044    cld                                       ; fc
    18061     call 07070h                               ; e8 51 77
     18045    call 07075h                               ; e8 56 77
    1806218046    pop di                                    ; 5f
    1806318047    pop si                                    ; 5e
     
    1816218146    pop DS                                    ; 1f
    1816318147    cld                                       ; fc
    18164     call 0712fh                               ; e8 b1 72
     18148    call 07134h                               ; e8 b6 72
    1816518149    pop di                                    ; 5f
    1816618150    pop si                                    ; 5e
     
    1827418258cpu_reset:                                   ; 0xffff0 LB 0x10
    1827518259    jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
    18276     db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 070h
     18260    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fbh, 016h
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette