961N/A; Auto Generated source file. Do not edit.
6983N/A; BIOS POST routines. Used only during initialization.
961N/A; Copyright (C) 2004-2014 Oracle Corporation
6983N/A; This file is part of VirtualBox Open Source Edition (OSE), as
6983N/A; you can redistribute it
and/or modify it under the terms of the GNU
6983N/A; General Public License (GPL) as published by the Free Software
961N/A; Foundation, in version 2 as it comes in the "COPYING" file of the
961N/A; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
961N/A; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
961N/A; Copyright (C) 2006-2012 Oracle Corporation
5636N/A; This file is part of VirtualBox Open Source Edition (OSE), as
961N/A; you can redistribute it
and/or modify it under the terms of the GNU
961N/A; General Public License (GPL) as published by the Free Software
5636N/A; Foundation, in version 2 as it comes in the "COPYING" file of the
961N/A; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
961N/A; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
961N/A; --------------------------------------------------------------------
961N/A; This code is based on:
961N/A; This library is free software; you can redistribute it
and/or 961N/A; modify it under the terms of the GNU Lesser General Public
1878N/A; License as published by the Free Software Foundation; either
961N/A; version 2 of the License, or (at your option) any later version.
1878N/A; This library is distributed in the hope that it will be useful,
961N/A; but WITHOUT ANY WARRANTY; without even the implied warranty of
5636N/A; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
961N/A; Lesser General Public License for more details.
961N/A; You should have received a copy of the GNU Lesser General Public
961N/A; License along with this library; if not, write to the Free Software
961N/A; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
961N/A; Copyright (C) 2006-2011 Oracle Corporation
1878N/A; This file is part of VirtualBox Open Source Edition (OSE), as
961N/A; you can redistribute it
and/or modify it under the terms of the GNU
961N/A; General Public License (GPL) as published by the Free Software
5636N/A; Foundation, in version 2 as it comes in the "COPYING" file of the
961N/A; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
961N/A; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
961N/A; --------------------------------------------------------------------
961N/A; This code is based on:
1878N/A; This library is free software; you can redistribute it
and/or 5636N/A; modify it under the terms of the GNU Lesser General Public
961N/A; License as published by the Free Software Foundation; either
1878N/A; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2011-2013 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Copyright (C) 2006-2013 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2013 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Real mode invalid opcode handler.
; Copyright (C) 2013 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2011 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; Stuff for drawing the BIOS logo.
; Copyright (C) 2004-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; SCSI host adapter driver to boot from SCSI disks
; Copyright (C) 2004-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; AHCI host adapter driver to boot from SATA disks.
; Copyright (C) 2011-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; APM BIOS support. Implements APM version 1.2.
; Copyright (C) 2004-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Copyright (C) 2004-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Utility routines for calling the PCI BIOS.
; Copyright (C) 2011 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Utility routines for calling the Virtual DMA Services.
; Copyright (C) 2011 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Compiler support routines.
; Copyright (C) 2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2006-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Protected-mode APM implementation.
; Copyright (C) 2006-2011 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
; --------------------------------------------------------------------
; Copyright (C) 2002 MandrakeSoft
S.A.; This library is free software; you can redistribute it
and/or; modify it under the terms of the GNU Lesser General Public
; License as published by the Free Software Foundation; either
; version 2 of the License, or (at your option) any later version.
; This library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
; Lesser General Public License for more details.
; You should have received a copy of the GNU Lesser General Public
; License along with this library; if not, write to the Free Software
; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
; 32-bit PCI BIOS wrapper.
; Copyright (C) 2004-2012 Oracle Corporation
; This file is part of VirtualBox Open Source Edition (OSE), as
; you can redistribute it
and/or modify it under the terms of the GNU
; General Public License (GPL) as published by the Free Software
; Foundation, in version 2 as it comes in the "COPYING" file of the
; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
section _DATA progbits vstart=0x0 align=1 ; size=0xb0 class=DATA group=DGROUP
_fd_parm: ; 0xf0000 LB 0x5b
db 0dfh, 002h, 025h, 002h, 009h, 02ah, 0ffh, 050h, 0f6h, 00fh, 008h, 027h, 080h, 0dfh, 002h, 025h
db 002h, 009h, 02ah, 0ffh, 050h, 0f6h, 00fh, 008h, 027h, 040h, 0dfh, 002h, 025h, 002h, 00fh, 01bh
db 0ffh, 054h, 0f6h, 00fh, 008h, 04fh, 000h, 0dfh, 002h, 025h, 002h, 009h, 02ah, 0ffh, 050h, 0f6h
db 00fh, 008h, 04fh, 080h, 0afh, 002h, 025h, 002h, 012h, 01bh, 0ffh, 06ch, 0f6h, 00fh, 008h, 04fh
db 000h, 0afh, 002h, 025h, 002h, 024h, 01bh, 0ffh, 054h, 0f6h, 00fh, 008h, 04fh, 0c0h, 0afh, 002h
db 025h, 002h, 0ffh, 01bh, 0ffh, 054h, 0f6h, 00fh, 008h, 0ffh, 000h
_fd_map: ; 0xf005b LB 0xf
db 001h, 000h, 002h, 002h, 003h, 003h, 004h, 004h, 005h, 005h, 00eh, 006h, 00fh, 006h, 000h
_pktacc: ; 0xf006a LB 0xc
db 000h, 000h, 000h, 000h, 000h, 000h, 08fh, 028h, 030h, 079h, 0f8h, 086h
_softrst: ; 0xf0076 LB 0xc
db 000h, 000h, 000h, 000h, 000h, 000h, 077h, 02bh, 091h, 036h, 091h, 036h
_dskacc: ; 0xf0082 LB 0x2e
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0d8h, 027h, 052h, 028h, 000h, 000h, 000h, 000h
db 0beh, 077h, 077h, 078h, 0f4h, 085h, 088h, 086h, 000h, 000h, 000h, 000h, 000h, 000h, 05fh, 033h
db 032h, 05fh, 000h, 0dah, 00fh, 000h, 000h, 001h, 0f3h, 000h, 000h, 000h, 000h, 000h
section CONST progbits vstart=0xb0 align=1 ; size=0xcc8 class=DATA group=DGROUP
db 'NMI Handler called', 00ah, 000h
db 'INT18: BOOT FAILURE', 00ah, 000h
db '%s', 00ah, 000h, 000h
db 'bios_printf: unknown format', 00ah, 000h, 000h
db 'ata-detect: Failed to detect ATA device', 00ah, 000h
db 'ata%d-%d: PCHS=%u/%d/%d LCHS=%u/%u/%u', 00ah, 000h
db 'ata-detect: Failed to detect ATAPI device', 00ah, 000h
db ' ATA-%d Hard-Disk (%lu MBytes)', 00ah, 000h
db ' ATAPI-%d Device', 00ah, 000h
db 'ata%d %s: Unknown device', 00ah, 000h
db 'ata_cmd_packet', 000h
db '%s: DATA_OUT not supported yet', 00ah, 000h
db 'set_diskette_current_cyl: drive > 1', 00ah, 000h
db 'int13_diskette_function', 000h
db '%s: drive>1 || head>1 ...', 00ah, 000h
db '%s: ctrl not ready', 00ah, 000h
db '%s: write error', 00ah, 000h
db '%s: bad floppy type', 00ah, 000h
db '%s: unsupported AH=%02x', 00ah, 000h, 000h
db 'int13_eltorito', 000h
db '%s: call with AX=%04x not implemented.', 00ah, 000h
db '%s: unsupported AH=%02x', 00ah, 000h
db '%s: function %02x, emulation not active for DL= %02x', 00ah, 000h
db '%s: function %02x, error %02x !', 00ah, 000h
db '%s: function AH=%02x unsupported, returns fail', 00ah, 000h
db '%s: function %02x, ELDL out of range %02x', 00ah, 000h
db '%s: function %02x, unmapped device for ELDL=%02x', 00ah, 000h
db '%s: function %02x. Can', 027h, 't use 64bits lba', 00ah, 000h
db '%s: function %02x, status %02x !', 00ah, 000h, 000h
db 'Booting from %s...', 00ah, 000h
db 'Boot from %s failed', 00ah, 000h
db 'Boot from %s %d failed', 00ah, 000h
db 'No bootable medium found! System halted.', 00ah, 000h
db 'Could not read from the boot medium! System halted.', 00ah, 000h
db 'CDROM boot failure code : %04x', 00ah, 000h
db 'Boot : bseqnr=%d, bootseq=%x', 00dh, 00ah, 000h, 000h
db 'Keyboard error:%u', 00ah, 000h
db 'KBD: int09 handler: AL=0', 00ah, 000h
db 'KBD: int09h_handler(): unknown scancode read: 0x%02x!', 00ah, 000h
db 'KBD: int09h_handler(): scancode & asciicode are zero?', 00ah, 000h
db 'KBD: int16h: out of keyboard input', 00ah, 000h
db 'KBD: unsupported int 16h function %02x', 00ah, 000h
db 'AX=%04x BX=%04x CX=%04x DX=%04x ', 00ah, 000h, 000h
db 'int13_harddisk', 000h
db '%s: function %02x, ELDL out of range %02x', 00ah, 000h
db '%s: function %02x, unmapped device for ELDL=%02x', 00ah, 000h
db '%s: function %02x, count out of range!', 00ah, 000h
db '%s: function %02x, disk %02x, parameters out of range %04x/%04x/%04x!', 00ah
db '%s: function %02x, error %02x !', 00ah, 000h
db 'format disk track called', 00ah, 000h
db '%s: function %02xh unimplemented, returns success', 00ah, 000h
db '%s: function %02xh unsupported, returns fail', 00ah, 000h
db 'int13_harddisk_ext', 000h
db '%s: function %02x. Can', 027h, 't use 64bits lba', 00ah, 000h
db '%s: function %02x. LBA out of range', 00ah, 000h
db 'int15: Func 24h, subfunc %02xh, A20 gate control not supported', 00ah, 000h
db '*** int 15h function AH=bf not yet supported!', 00ah, 000h
db 'EISA BIOS not present', 00ah, 000h
db '*** int 15h function AX=%04x, BX=%04x not yet supported!', 00ah, 000h
db 'Mouse reset returned %02x (should be ack)', 00ah, 000h
db 'Mouse status returned %02x (should be ack)', 00ah, 000h
db 'INT 15h C2 AL=6, BH=%02x', 00ah, 000h
db 'INT 15h C2 default case entered', 00ah, 000h, 000h
db 'Key pressed: %x', 00ah, 000h
db 00ah, 00ah, 'AHCI controller:', 00ah, 000h
db 00ah, ' %d) Hard disk', 000h
db 00ah, 00ah, 'SCSI controller:', 00ah, 000h
db 'IDE controller:', 00ah, 000h
db 'No hard disks found', 000h
db 'Press F12 to select boot device.', 00ah, 000h
db 00ah, 'VirtualBox temporary boot device selection', 00ah, 00ah, 'Detected H'
db 'ard disks:', 00ah, 00ah, 000h
db 00ah, 'Other boot devices:', 00ah, ' f) Floppy', 00ah, ' c) CD-ROM', 00ah
db ' l) LAN', 00ah, 00ah, ' b) Continue booting', 00ah, 000h
db 'Delaying boot for %d seconds:', 000h
db 'scsi_read_sectors', 000h
db '%s: device_id out of range %d', 00ah, 000h
db 'scsi_write_sectors', 000h
db 'scsi_cmd_packet', 000h
db '%s: DATA_OUT not supported yet', 00ah, 000h
db 'scsi_enumerate_attached_devices', 000h
db '%s: SCSI_INQUIRY failed', 00ah, 000h
db '%s: SCSI_READ_CAPACITY failed', 00ah, 000h
db 'Disk %d has an unsupported sector size of %u', 00ah, 000h
db 'SCSI %d-ID#%d: LCHS=%u/%u/%u %ld sectors', 00ah, 000h
db 'ahci_read_sectors', 000h
db '%s: device_id out of range %d', 00ah, 000h
db 'ahci_write_sectors', 000h
db 'ahci_cmd_packet', 000h
db '%s: DATA_OUT not supported yet', 00ah, 000h
db 'AHCI %d-P#%d: PCHS=%u/%d/%d LCHS=%u/%u/%u %ld sectors', 00ah, 000h, 000h
db 'APM: Unsupported function AX=%04X BX=%04X called', 00ah, 000h, 000h
db 'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h
section CONST2 progbits vstart=0xd78 align=1 ; size=0x3fa class=DATA group=DGROUP
_bios_cvs_version_string: ; 0xf0d78 LB 0x12
db 'VirtualBox 4.3.53', 000h
_bios_prefix_string: ; 0xf0d8a LB 0x8
_isotag: ; 0xf0d92 LB 0x6
_eltorito: ; 0xf0d98 LB 0x18
db 'EL TORITO SPECIFICATION', 000h
_drivetypes: ; 0xf0db0 LB 0x28
db 046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h
db 069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h
db 04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h
_scan_to_scanascii: ; 0xf0dd8 LB 0x37a
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h
db 000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h
db 040h, 003h, 000h, 003h, 000h, 079h, 000h, 000h, 033h, 004h, 023h, 004h, 000h, 000h, 000h, 07ah
db 000h, 000h, 034h, 005h, 024h, 005h, 000h, 000h, 000h, 07bh, 000h, 000h, 035h, 006h, 025h, 006h
db 000h, 000h, 000h, 07ch, 000h, 000h, 036h, 007h, 05eh, 007h, 01eh, 007h, 000h, 07dh, 000h, 000h
db 037h, 008h, 026h, 008h, 000h, 000h, 000h, 07eh, 000h, 000h, 038h, 009h, 02ah, 009h, 000h, 000h
db 000h, 07fh, 000h, 000h, 039h, 00ah, 028h, 00ah, 000h, 000h, 000h, 080h, 000h, 000h, 030h, 00bh
db 029h, 00bh, 000h, 000h, 000h, 081h, 000h, 000h, 02dh, 00ch, 05fh, 00ch, 01fh, 00ch, 000h, 082h
db 000h, 000h, 03dh, 00dh, 02bh, 00dh, 000h, 000h, 000h, 083h, 000h, 000h, 008h, 00eh, 008h, 00eh
db 07fh, 00eh, 000h, 000h, 000h, 000h, 009h, 00fh, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h
db 071h, 010h, 051h, 010h, 011h, 010h, 000h, 010h, 040h, 000h, 077h, 011h, 057h, 011h, 017h, 011h
db 000h, 011h, 040h, 000h, 065h, 012h, 045h, 012h, 005h, 012h, 000h, 012h, 040h, 000h, 072h, 013h
db 052h, 013h, 012h, 013h, 000h, 013h, 040h, 000h, 074h, 014h, 054h, 014h, 014h, 014h, 000h, 014h
db 040h, 000h, 079h, 015h, 059h, 015h, 019h, 015h, 000h, 015h, 040h, 000h, 075h, 016h, 055h, 016h
db 015h, 016h, 000h, 016h, 040h, 000h, 069h, 017h, 049h, 017h, 009h, 017h, 000h, 017h, 040h, 000h
db 06fh, 018h, 04fh, 018h, 00fh, 018h, 000h, 018h, 040h, 000h, 070h, 019h, 050h, 019h, 010h, 019h
db 000h, 019h, 040h, 000h, 05bh, 01ah, 07bh, 01ah, 01bh, 01ah, 000h, 000h, 000h, 000h, 05dh, 01bh
db 07dh, 01bh, 01dh, 01bh, 000h, 000h, 000h, 000h, 00dh, 01ch, 00dh, 01ch, 00ah, 01ch, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 061h, 01eh, 041h, 01eh
db 001h, 01eh, 000h, 01eh, 040h, 000h, 073h, 01fh, 053h, 01fh, 013h, 01fh, 000h, 01fh, 040h, 000h
db 064h, 020h, 044h, 020h, 004h, 020h, 000h, 020h, 040h, 000h, 066h, 021h, 046h, 021h, 006h, 021h
db 000h, 021h, 040h, 000h, 067h, 022h, 047h, 022h, 007h, 022h, 000h, 022h, 040h, 000h, 068h, 023h
db 048h, 023h, 008h, 023h, 000h, 023h, 040h, 000h, 06ah, 024h, 04ah, 024h, 00ah, 024h, 000h, 024h
db 040h, 000h, 06bh, 025h, 04bh, 025h, 00bh, 025h, 000h, 025h, 040h, 000h, 06ch, 026h, 04ch, 026h
db 00ch, 026h, 000h, 026h, 040h, 000h, 03bh, 027h, 03ah, 027h, 000h, 000h, 000h, 000h, 000h, 000h
db 027h, 028h, 022h, 028h, 000h, 000h, 000h, 000h, 000h, 000h, 060h, 029h, 07eh, 029h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 05ch, 02bh
db 07ch, 02bh, 01ch, 02bh, 000h, 000h, 000h, 000h, 07ah, 02ch, 05ah, 02ch, 01ah, 02ch, 000h, 02ch
db 040h, 000h, 078h, 02dh, 058h, 02dh, 018h, 02dh, 000h, 02dh, 040h, 000h, 063h, 02eh, 043h, 02eh
db 003h, 02eh, 000h, 02eh, 040h, 000h, 076h, 02fh, 056h, 02fh, 016h, 02fh, 000h, 02fh, 040h, 000h
db 062h, 030h, 042h, 030h, 002h, 030h, 000h, 030h, 040h, 000h, 06eh, 031h, 04eh, 031h, 00eh, 031h
db 000h, 031h, 040h, 000h, 06dh, 032h, 04dh, 032h, 00dh, 032h, 000h, 032h, 040h, 000h, 02ch, 033h
db 03ch, 033h, 000h, 000h, 000h, 000h, 000h, 000h, 02eh, 034h, 03eh, 034h, 000h, 000h, 000h, 000h
db 000h, 000h, 02fh, 035h, 03fh, 035h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 037h, 02ah, 037h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 020h, 039h, 020h, 039h, 020h, 039h
db 020h, 039h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 03bh
db 000h, 054h, 000h, 05eh, 000h, 068h, 000h, 000h, 000h, 03ch, 000h, 055h, 000h, 05fh, 000h, 069h
db 000h, 000h, 000h, 03dh, 000h, 056h, 000h, 060h, 000h, 06ah, 000h, 000h, 000h, 03eh, 000h, 057h
db 000h, 061h, 000h, 06bh, 000h, 000h, 000h, 03fh, 000h, 058h, 000h, 062h, 000h, 06ch, 000h, 000h
db 000h, 040h, 000h, 059h, 000h, 063h, 000h, 06dh, 000h, 000h, 000h, 041h, 000h, 05ah, 000h, 064h
db 000h, 06eh, 000h, 000h, 000h, 042h, 000h, 05bh, 000h, 065h, 000h, 06fh, 000h, 000h, 000h, 043h
db 000h, 05ch, 000h, 066h, 000h, 070h, 000h, 000h, 000h, 044h, 000h, 05dh, 000h, 067h, 000h, 071h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 047h, 037h, 047h, 000h, 077h, 000h, 000h, 020h, 000h
db 000h, 048h, 038h, 048h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 049h, 039h, 049h, 000h, 084h
db 000h, 000h, 020h, 000h, 02dh, 04ah, 02dh, 04ah, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04bh
db 034h, 04bh, 000h, 073h, 000h, 000h, 020h, 000h, 000h, 04ch, 035h, 04ch, 000h, 000h, 000h, 000h
db 020h, 000h, 000h, 04dh, 036h, 04dh, 000h, 074h, 000h, 000h, 020h, 000h, 02bh, 04eh, 02bh, 04eh
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 04fh, 031h, 04fh, 000h, 075h, 000h, 000h, 020h, 000h
db 000h, 050h, 032h, 050h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 051h, 033h, 051h, 000h, 076h
db 000h, 000h, 020h, 000h, 000h, 052h, 030h, 052h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 053h
db 02eh, 053h, 000h, 000h, 000h, 000h, 020h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 05ch, 056h, 07ch, 056h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h
db 000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h
_panic_msg_keyb_buffer_full: ; 0xf1152 LB 0x20
db '%s: keyboard input buffer full', 00ah, 000h
; Padding 0x48e bytes at 0xf1172
section _TEXT progbits vstart=0x1600 align=1 ; size=0x7f65 class=CODE group=AUTO
rom_scan_: ; 0xf1600 LB 0x50
cmp word [es:si], 0aa55h ; 26 81 3c 55 aa
mov word [bp-008h], bx ; 89 5e f8
mov word [bp-00ah], strict word 00003h ; c7 46 f6 03 00
call far [bp-00ah] ; ff 5e f6
mov al, byte [es:si+002h] ; 26 8a 44 02
add AL, strict byte 003h ; 04 03
and AL, strict byte 0fch ; 24 fc
add bx, 00080h ; 81 c3 80 00
lea sp, [bp-006h] ; 8d 66 fa
read_byte_: ; 0xf1650 LB 0xe
mov al, byte [es:bx] ; 26 8a 07
write_byte_: ; 0xf165e LB 0xe
mov byte [es:si], bl ; 26 88 1c
read_word_: ; 0xf166c LB 0xe
mov ax, word [es:bx] ; 26 8b 07
write_word_: ; 0xf167a LB 0xe
mov word [es:si], bx ; 26 89 1c
read_dword_: ; 0xf1688 LB 0x12
mov ax, word [es:bx] ; 26 8b 07
mov dx, word [es:bx+002h] ; 26 8b 57 02
write_dword_: ; 0xf169a LB 0x12
mov word [es:si], bx ; 26 89 1c
mov word [es:si+002h], cx ; 26 89 4c 02
inb_cmos_: ; 0xf16ac LB 0x1d
mov AH, strict byte 070h ; b4 70
cmp AL, strict byte 080h ; 3c 80
mov AH, strict byte 072h ; b4 72
lea sp, [bp-002h] ; 8d 66 fe
outb_cmos_: ; 0xf16c9 LB 0x1f
mov BL, strict byte 070h ; b3 70
cmp AL, strict byte 080h ; 3c 80
mov BL, strict byte 072h ; b3 72
lea sp, [bp-002h] ; 8d 66 fe
_dummy_isr_function: ; 0xf16e8 LB 0x6b
mov CL, strict byte 0ffh ; b1 ff
mov AL, strict byte 00bh ; b0 0b
mov dx, strict word 00020h ; ba 20 00
mov byte [bp-002h], al ; 88 46 fe
mov AL, strict byte 00bh ; b0 0b
mov dx, 000a0h ; ba a0 00
mov dx, 000a1h ; ba a1 00
mov AL, strict byte 020h ; b0 20
mov dx, 000a0h ; ba a0 00
mov dx, strict word 00021h ; ba 21 00
mov byte [bp-002h], bl ; 88 5e fe
movzx bx, byte [bp-002h] ; 0f b6 5e fe
mov AL, strict byte 020h ; b0 20
mov dx, strict word 00020h ; ba 20 00
mov cl, byte [bp-002h] ; 8a 4e fe
mov dx, strict word 0006bh ; ba 6b 00
mov ax, strict word 00040h ; b8 40 00
_nmi_handler_msg: ; 0xf1753 LB 0x12
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
_int18_panic_msg: ; 0xf1765 LB 0x12
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
_log_bios_start: ; 0xf1777 LB 0x20
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
_print_bios_banner: ; 0xf1797 LB 0x2e
mov dx, strict word 00072h ; ba 72 00
mov ax, strict word 00040h ; b8 40 00
mov dx, strict word 00072h ; ba 72 00
mov ax, strict word 00040h ; b8 40 00
cmp cx, 01234h ; 81 f9 34 12
mov AL, strict byte 003h ; b0 03
mov AH, strict byte 000h ; b4 00
test AL, strict byte 008h ; a8 08
mov dx, 00403h ; ba 03 04
mov dx, 00504h ; ba 04 05
mov AL, strict byte 00dh ; b0 0d
mov AH, strict byte 00eh ; b4 0e
mov AH, strict byte 00eh ; b4 0e
lea sp, [bp-004h] ; 8d 66 fc
put_int_: ; 0xf1800 LB 0x5f
mov word [bp-008h], dx ; 89 56 f8
mov di, strict word 0000ah ; bf 0a 00
mov word [bp-006h], ax ; 89 46 fa
mov dx, strict word 00020h ; ba 20 00
mov dx, strict word 0002dh ; ba 2d 00
mov al, byte [bp-006h] ; 8a 46 fa
mov DL, strict byte 00ah ; b2 0a
mov dl, byte [bp-008h] ; 8a 56 f8
add AL, strict byte 030h ; 04 30
lea sp, [bp-004h] ; 8d 66 fc
put_uint_: ; 0xf185f LB 0x60
mov word [bp-008h], dx ; 89 56 f8
mov di, strict word 0000ah ; bf 0a 00
mov word [bp-006h], ax ; 89 46 fa
mov dx, strict word 00020h ; ba 20 00
mov dx, strict word 0002dh ; ba 2d 00
mov al, byte [bp-006h] ; 8a 46 fa
mov DL, strict byte 00ah ; b2 0a
mov dl, byte [bp-008h] ; 8a 56 f8
add AL, strict byte 030h ; 04 30
lea sp, [bp-004h] ; 8d 66 fc
put_luint_: ; 0xf18bf LB 0x72
mov word [bp-006h], bx ; 89 5e fa
mov bx, strict word 0000ah ; bb 0a 00
mov word [bp-008h], ax ; 89 46 f8
push word [bp+004h] ; ff 76 04
lea dx, [di-001h] ; 8d 55 ff
mov dx, strict word 00020h ; ba 20 00
cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00
mov dx, strict word 0002dh ; ba 2d 00
mov al, byte [bp-008h] ; 8a 46 f8
mov DL, strict byte 00ah ; b2 0a
mov dl, byte [bp-006h] ; 8a 56 fa
add AL, strict byte 030h ; 04 30
lea sp, [bp-004h] ; 8d 66 fc
put_str_: ; 0xf1931 LB 0x21
mov dl, byte [es:bx] ; 26 8a 17
lea sp, [bp-004h] ; 8d 66 fc
put_str_near_: ; 0xf1952 LB 0x20
mov dl, byte [bx] ; 8a 17
lea sp, [bp-004h] ; 8d 66 fc
bios_printf_: ; 0xf1972 LB 0x23b
sub sp, strict byte 00008h ; 83 ec 08
lea bx, [bp+008h] ; 8d 5e 08
mov word [bp-012h], bx ; 89 5e ee
mov [bp-010h], ss ; 8c 56 f0
mov ax, word [bp+004h] ; 8b 46 04
and ax, strict word 00007h ; 25 07 00
cmp ax, strict word 00007h ; 3d 07 00
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov bx, word [bp+006h] ; 8b 5e 06
mov dl, byte [bx] ; 8a 17
je near 01b91h ; 0f 84 e6 01
mov cx, strict word 00001h ; b9 01 00
jmp near 01b8bh ; e9 d3 01
je near 01b83h ; 0f 84 c5 01
jnbe short 019d6h ; 77 0e
imul si, si, strict byte 0000ah ; 6b f6 0a
sub ax, strict word 00030h ; 2d 30 00
jmp near 01b8bh ; e9 b5 01
mov ax, word [bp-010h] ; 8b 46 f0
mov word [bp-010h], ax ; 89 46 f0
add word [bp-012h], strict byte 00002h ; 83 46 ee 02
les bx, [bp-012h] ; c4 5e ee
mov ax, word [es:bx-002h] ; 26 8b 47 fe
mov word [bp-00ch], ax ; 89 46 f4
mov si, strict word 00004h ; be 04 00
mov di, strict word 00061h ; bf 61 00
mov di, strict word 00041h ; bf 41 00
lea bx, [si-001h] ; 8d 5c ff
jl near 01b7fh ; 0f 8c 6e 01
mov ax, word [bp-00ch] ; 8b 46 f4
and AL, strict byte 00fh ; 24 0f
cmp ax, strict word 00009h ; 3d 09 00
jnbe short 01a2bh ; 77 07
add dx, strict byte 00030h ; 83 c2 30
sub dx, strict byte 0000ah ; 83 ea 0a
mov ax, word [bp+004h] ; 8b 46 04
mov ax, word [bp+004h] ; 8b 46 04
jmp near 01b7fh ; e9 2e 01
lea bx, [si-001h] ; 8d 5c ff
jne near 01b0dh ; 0f 85 b2 00
inc word [bp+006h] ; ff 46 06
mov di, word [bp+006h] ; 8b 7e 06
mov dl, byte [di] ; 8a 15
mov ax, word [bp-010h] ; 8b 46 f0
mov word [bp-010h], ax ; 89 46 f0
add word [bp-012h], strict byte 00002h ; 83 46 ee 02
les di, [bp-012h] ; c4 7e ee
mov ax, word [es:di-002h] ; 26 8b 45 fe
mov word [bp-00eh], ax ; 89 46 f2
test byte [bp-00dh], 080h ; f6 46 f3 80
push strict byte 00001h ; 6a 01
mov ax, word [bp-00ch] ; 8b 46 f4
mov cx, word [bp-00eh] ; 8b 4e f2
sbb cx, strict byte 00000h ; 83 d9 00
push strict byte 00000h ; 6a 00
mov bx, word [bp-00ch] ; 8b 5e f4
mov ax, word [bp+004h] ; 8b 46 04
jmp near 01b7fh ; e9 d6 00
jne near 01b7fh ; 0f 85 c3 00
mov si, strict word 00008h ; be 08 00
mov di, strict word 00061h ; bf 61 00
mov di, strict word 00041h ; bf 41 00
lea bx, [si-001h] ; 8d 5c ff
jl near 01b7fh ; 0f 8c a6 00
mov ax, word [bp-00ch] ; 8b 46 f4
mov dx, word [bp-00eh] ; 8b 56 f2
and ax, strict word 0000fh ; 25 0f 00
cmp ax, strict word 00009h ; 3d 09 00
jnbe short 01afbh ; 77 07
add dx, strict byte 00030h ; 83 c2 30
sub dx, strict byte 0000ah ; 83 ea 0a
mov ax, word [bp+004h] ; 8b 46 04
test byte [bp-00bh], 080h ; f6 46 f5 80
mov cx, strict word 00001h ; b9 01 00
mov ax, word [bp+004h] ; 8b 46 04
mov ax, word [bp+004h] ; 8b 46 04
mov word [bp-00eh], ax ; 89 46 f2
mov ax, word [bp-010h] ; 8b 46 f0
mov word [bp-010h], ax ; 89 46 f0
add word [bp-012h], strict byte 00002h ; 83 46 ee 02
les bx, [bp-012h] ; c4 5e ee
mov ax, word [es:bx-002h] ; 26 8b 47 fe
mov word [bp-00ch], ax ; 89 46 f4
mov cx, word [bp-00eh] ; 8b 4e f2
movzx dx, byte [bp-00ch] ; 0f b6 56 f4
mov ax, word [bp+004h] ; 8b 46 04
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
mov ax, word [bp+004h] ; 8b 46 04
inc word [bp+006h] ; ff 46 06
jmp near 019a0h ; e9 0f fe
mov word [bp-012h], ax ; 89 46 ee
mov word [bp-010h], ax ; 89 46 f0
test byte [bp+004h], 001h ; f6 46 04 01
lea sp, [bp-00ah] ; 8d 66 f6
_ata_init: ; 0xf1bad LB 0xc4
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00122h ; be 22 01
cmp AL, strict byte 004h ; 3c 04
imul bx, bx, strict byte 00006h ; 6b db 06
mov byte [es:bx+001c0h], 000h ; 26 c6 87 c0 01 00
db 066h, 026h, 0c7h, 087h, 0c2h, 001h, 000h, 000h, 000h, 000h
; mov dword [es:bx+001c2h], strict dword 000000000h ; 66 26 c7 87 c2 01 00 00 00 00
mov byte [es:bx+001c1h], 000h ; 26 c6 87 c1 01 00
cmp AL, strict byte 008h ; 3c 08
imul bx, bx, strict byte 00018h ; 6b db 18
db 066h, 026h, 0c7h, 047h, 01eh, 000h, 000h, 000h, 000h
; mov dword [es:bx+01eh], strict dword 000000000h ; 66 26 c7 47 1e 00 00 00 00
mov byte [es:bx+022h], 000h ; 26 c6 47 22 00
mov word [es:bx+024h], 00200h ; 26 c7 47 24 00 02
mov byte [es:bx+023h], 000h ; 26 c6 47 23 00
db 066h, 026h, 0c7h, 047h, 026h, 000h, 000h, 000h, 000h
; mov dword [es:bx+026h], strict dword 000000000h ; 66 26 c7 47 26 00 00 00 00
db 066h, 026h, 0c7h, 047h, 02ah, 000h, 000h, 000h, 000h
; mov dword [es:bx+02ah], strict dword 000000000h ; 66 26 c7 47 2a 00 00 00 00
db 066h, 026h, 0c7h, 047h, 02eh, 000h, 000h, 000h, 000h
; mov dword [es:bx+02eh], strict dword 000000000h ; 66 26 c7 47 2e 00 00 00 00
db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h
; mov dword [es:bx+032h], strict dword 000000000h ; 66 26 c7 47 32 00 00 00 00
cmp AL, strict byte 010h ; 3c 10
mov byte [es:bx+0019fh], 010h ; 26 c6 87 9f 01 10
mov byte [es:bx+001b0h], 010h ; 26 c6 87 b0 01 10
mov byte [es:si+0019eh], 000h ; 26 c6 84 9e 01 00
mov byte [es:si+001afh], 000h ; 26 c6 84 af 01 00
lea sp, [bp-002h] ; 8d 66 fe
ata_reset_: ; 0xf1c71 LB 0xde
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-00eh], 00122h ; c7 46 f2 22 01
mov bx, word [bp-010h] ; 8b 5e f0
mov dl, byte [bp-010h] ; 8a 56 f0
mov byte [bp-00ch], dl ; 88 56 f4
imul bx, bx, strict byte 00006h ; 6b db 06
add bx, 00122h ; 81 c3 22 01
mov cx, word [es:bx+001c2h] ; 26 8b 8f c2 01
mov si, word [es:bx+001c4h] ; 26 8b b7 c4 01
lea dx, [si+006h] ; 8d 54 06
mov AL, strict byte 00eh ; b0 0e
mov bx, 000ffh ; bb ff 00
add dx, strict byte 00007h ; 83 c2 07
test AL, strict byte 080h ; a8 80
lea dx, [si+006h] ; 8d 54 06
mov AL, strict byte 00ah ; b0 0a
imul bx, word [bp-010h], strict byte 00018h ; 6b 5e f0 18
add bx, word [bp-00eh] ; 03 5e f2
cmp byte [es:bx+01eh], 000h ; 26 80 7f 1e 00
cmp byte [bp-00ch], 000h ; 80 7e f4 00
mov ax, 000b0h ; b8 b0 00
mov ax, 000a0h ; b8 a0 00
add dx, strict byte 00006h ; 83 c2 06
add dx, strict byte 00003h ; 83 c2 03
mov bx, strict word 0ffffh ; bb ff ff
add dx, strict byte 00007h ; 83 c2 07
test AL, strict byte 080h ; a8 80
mov ax, strict word 0ffffh ; b8 ff ff
jnbe short 01d24h ; 77 fb
mov bx, strict word 00010h ; bb 10 00
add dx, strict byte 00007h ; 83 c2 07
test AL, strict byte 040h ; a8 40
lea dx, [si+006h] ; 8d 54 06
mov AL, strict byte 008h ; b0 08
lea sp, [bp-00ah] ; 8d 66 f6
ata_cmd_data_in_: ; 0xf1d4f LB 0x258
sub sp, strict byte 0001ch ; 83 ec 1c
mov word [bp-00ah], dx ; 89 56 f6
mov word [bp-016h], bx ; 89 5e ea
mov word [bp-014h], cx ; 89 4e ec
movzx ax, byte [es:si+008h] ; 26 0f b6 44 08
mov byte [bp-008h], dh ; 88 76 f8
imul di, di, strict byte 00006h ; 6b ff 06
mov bx, word [es:di+001c2h] ; 26 8b 9d c2 01
mov dx, word [es:di+001c4h] ; 26 8b 95 c4 01
mov word [bp-01ch], dx ; 89 56 e4
imul ax, ax, strict byte 00018h ; 6b c0 18
mov al, byte [es:di+022h] ; 26 8a 45 22
mov byte [bp-006h], al ; 88 46 fa
mov ax, word [es:di+024h] ; 26 8b 45 24
mov word [bp-00ch], ax ; 89 46 f4
cmp byte [bp-006h], 001h ; 80 7e fa 01
mov word [bp-00ch], 04000h ; c7 46 f4 00 40
mov word [bp-00ch], 08000h ; c7 46 f4 00 80
cmp byte [bp-006h], 001h ; 80 7e fa 01
shr word [bp-00ch], 002h ; c1 6e f4 02
shr word [bp-00ch], 1 ; d1 6e f4
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00001h ; ba 01 00
jmp near 01f9eh ; e9 bf 01
mov es, [bp-00ah] ; 8e 46 f6
mov ax, word [es:si] ; 26 8b 04
mov word [bp-020h], ax ; 89 46 e0
mov ax, word [es:si+002h] ; 26 8b 44 02
mov word [bp-01eh], ax ; 89 46 e2
mov di, word [es:si+004h] ; 26 8b 7c 04
mov ax, word [es:si+006h] ; 26 8b 44 06
mov word [bp-00eh], ax ; 89 46 f2
mov ax, word [es:si+012h] ; 26 8b 44 12
mov word [bp-010h], ax ; 89 46 f0
mov ax, word [es:si+00eh] ; 26 8b 44 0e
mov word [bp-012h], ax ; 89 46 ee
mov ax, word [es:si+010h] ; 26 8b 44 10
mov word [bp-018h], ax ; 89 46 e8
mov ax, word [bp-010h] ; 8b 46 f0
mov dx, word [bp-020h] ; 8b 56 e0
add dx, word [bp-014h] ; 03 56 ec
adc ax, word [bp-01eh] ; 13 46 e2
cmp ax, 01000h ; 3d 00 10
jnbe short 01e26h ; 77 02
mov ax, word [bp-01eh] ; 8b 46 e2
mov word [bp-010h], ax ; 89 46 f0
mov ax, word [bp-014h] ; 8b 46 ec
lea dx, [bx+002h] ; 8d 57 02
lea dx, [bx+003h] ; 8d 57 03
mov al, byte [bp-010h] ; 8a 46 f0
lea dx, [bx+004h] ; 8d 57 04
lea dx, [bx+005h] ; 8d 57 05
mov byte [bp-01dh], al ; 88 46 e3
mov ax, word [bp-020h] ; 8b 46 e0
mov word [bp-010h], ax ; 89 46 f0
mov cx, strict word 00008h ; b9 08 00
shr word [bp-01eh], 1 ; d1 6e e2
rcr word [bp-020h], 1 ; d1 5e e0
mov ax, word [bp-020h] ; 8b 46 e0
mov word [bp-012h], ax ; 89 46 ee
mov ax, word [bp-01eh] ; 8b 46 e2
mov word [bp-020h], ax ; 89 46 e0
mov word [bp-01eh], strict word 00000h ; c7 46 e2 00 00
and ax, strict word 0000fh ; 25 0f 00
or AL, strict byte 040h ; 0c 40
mov word [bp-018h], ax ; 89 46 e8
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 00ah ; b0 0a
lea dx, [bx+001h] ; 8d 57 01
lea dx, [bx+002h] ; 8d 57 02
mov al, byte [bp-014h] ; 8a 46 ec
lea dx, [bx+003h] ; 8d 57 03
mov al, byte [bp-010h] ; 8a 46 f0
mov ax, word [bp-012h] ; 8b 46 ee
lea dx, [bx+004h] ; 8d 57 04
lea dx, [bx+005h] ; 8d 57 05
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 000b0h ; b8 b0 00
mov ax, 000a0h ; b8 a0 00
movzx dx, byte [bp-018h] ; 0f b6 56 e8
lea dx, [bx+006h] ; 8d 57 06
lea dx, [bx+007h] ; 8d 57 07
mov al, byte [bp-016h] ; 8a 46 ea
mov ax, word [bp-016h] ; 8b 46 ea
cmp ax, 000c4h ; 3d c4 00
cmp ax, strict word 00029h ; 3d 29 00
mov ax, word [bp-014h] ; 8b 46 ec
mov word [bp-01ah], ax ; 89 46 e6
mov word [bp-014h], strict word 00001h ; c7 46 ec 01 00
mov word [bp-01ah], strict word 00001h ; c7 46 e6 01 00
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
test AL, strict byte 001h ; a8 01
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00002h ; ba 02 00
jmp near 01f9eh ; e9 99 00
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00003h ; ba 03 00
jmp near 01f9eh ; e9 85 00
cmp di, 0f800h ; 81 ff 00 f8
sub di, 00800h ; 81 ef 00 08
mov ax, word [bp-00eh] ; 8b 46 f2
add ax, 00080h ; 05 80 00
mov word [bp-00eh], ax ; 89 46 f2
cmp byte [bp-006h], 001h ; 80 7e fa 01
mov cx, word [bp-00ch] ; 8b 4e f4
mov es, [bp-00eh] ; 8e 46 f2
mov cx, word [bp-00ch] ; 8b 4e f4
mov es, [bp-00eh] ; 8e 46 f2
mov ax, word [bp-01ah] ; 8b 46 e6
mov es, [bp-00ah] ; 8e 46 f6
add word [es:si+014h], ax ; 26 01 44 14
dec word [bp-014h] ; ff 4e ec
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00
and AL, strict byte 0c9h ; 24 c9
cmp AL, strict byte 040h ; 3c 40
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00004h ; ba 04 00
and AL, strict byte 0c9h ; 24 c9
cmp AL, strict byte 048h ; 3c 48
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00005h ; ba 05 00
mov dx, word [bp-01ch] ; 8b 56 e4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
lea sp, [bp-004h] ; 8d 66 fc
_ata_detect: ; 0xf1fa7 LB 0x617
sub sp, 0025ch ; 81 ec 5c 02
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-024h], ax ; 89 46 dc
mov di, 00122h ; bf 22 01
mov word [bp-028h], di ; 89 7e d8
mov word [bp-026h], ax ; 89 46 da
mov byte [es:di+001c0h], 000h ; 26 c6 85 c0 01 00
db 066h, 026h, 0c7h, 085h, 0c2h, 001h, 0f0h, 001h, 0f0h, 003h
; mov dword [es:di+001c2h], strict dword 003f001f0h ; 66 26 c7 85 c2 01 f0 01 f0 03
mov byte [es:di+001c1h], 00eh ; 26 c6 85 c1 01 0e
mov byte [es:di+001c6h], 000h ; 26 c6 85 c6 01 00
db 066h, 026h, 0c7h, 085h, 0c8h, 001h, 070h, 001h, 070h, 003h
; mov dword [es:di+001c8h], strict dword 003700170h ; 66 26 c7 85 c8 01 70 01 70 03
mov byte [es:di+001c7h], 00fh ; 26 c6 85 c7 01 0f
mov byte [bp-00ah], al ; 88 46 f6
mov byte [bp-006h], al ; 88 46 fa
mov byte [bp-00eh], al ; 88 46 f2
jmp near 02549h ; e9 48 05
mov ax, 000a0h ; b8 a0 00
lea dx, [si+006h] ; 8d 54 06
lea di, [si+002h] ; 8d 7c 02
mov AL, strict byte 055h ; b0 55
lea bx, [si+003h] ; 8d 5c 03
mov AL, strict byte 0aah ; b0 aa
mov AL, strict byte 055h ; b0 55
mov AL, strict byte 0aah ; b0 aa
jne near 020fbh ; 0f 85 c0 00
cmp AL, strict byte 0aah ; 3c aa
jne near 020fbh ; 0f 85 ba 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les bx, [bp-028h] ; c4 5e d8
mov byte [es:bx+01eh], 001h ; 26 c6 47 1e 01
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 000b0h ; b8 b0 00
mov ax, 000a0h ; b8 a0 00
lea dx, [si+006h] ; 8d 54 06
lea dx, [si+002h] ; 8d 54 02
lea dx, [si+003h] ; 8d 54 03
jne near 020fbh ; 0f 85 7b 00
jne near 020fbh ; 0f 85 75 00
lea dx, [si+004h] ; 8d 54 04
lea dx, [si+005h] ; 8d 54 05
mov byte [bp-00ch], al ; 88 46 f4
lea dx, [si+007h] ; 8d 54 07
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les bx, [bp-028h] ; c4 5e d8
mov byte [es:bx+01eh], 003h ; 26 c6 47 1e 03
cmp byte [bp-00ch], 000h ; 80 7e f4 00
movzx bx, byte [bp-00eh] ; 0f b6 5e f2
imul bx, bx, strict byte 00018h ; 6b db 18
mov es, [bp-026h] ; 8e 46 da
add bx, word [bp-028h] ; 03 5e d8
mov byte [es:bx+01eh], 002h ; 26 c6 47 1e 02
cmp bh, byte [bp-00ch] ; 3a 7e f4
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les bx, [bp-028h] ; c4 5e d8
mov byte [es:bx+01eh], 000h ; 26 c6 47 1e 00
mov dx, word [bp-02ch] ; 8b 56 d4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
movzx si, byte [bp-00eh] ; 0f b6 76 f2
imul si, si, strict byte 00018h ; 6b f6 18
mov es, [bp-026h] ; 8e 46 da
add si, word [bp-028h] ; 03 76 d8
mov al, byte [es:si+01eh] ; 26 8a 44 1e
mov byte [bp-010h], al ; 88 46 f0
cmp AL, strict byte 002h ; 3c 02
jne near 02321h ; 0f 85 03 02
mov byte [es:si+01fh], 0ffh ; 26 c6 44 1f ff
mov byte [es:si+022h], 000h ; 26 c6 44 22 00
lea dx, [bp-00260h] ; 8d 96 a0 fd
mov bx, word [bp-028h] ; 8b 5e d8
mov word [es:bx+004h], dx ; 26 89 57 04
mov [es:bx+006h], ss ; 26 8c 57 06
mov al, byte [bp-00eh] ; 8a 46 f2
mov byte [es:bx+008h], al ; 26 88 47 08
mov cx, strict word 00001h ; b9 01 00
mov bx, 000ech ; bb ec 00
mov ax, word [bp-028h] ; 8b 46 d8
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
test byte [bp-00260h], 080h ; f6 86 a0 fd 80
mov byte [bp-014h], al ; 88 46 ec
cmp byte [bp-00200h], 000h ; 80 be 00 fe 00
mov byte [bp-016h], al ; 88 46 ea
mov word [bp-022h], 00200h ; c7 46 de 00 02
mov ax, word [bp-0025eh] ; 8b 86 a2 fd
mov word [bp-01ah], ax ; 89 46 e6
mov ax, word [bp-0025ah] ; 8b 86 a6 fd
mov word [bp-01ch], ax ; 89 46 e4
mov ax, word [bp-00254h] ; 8b 86 ac fd
mov word [bp-01eh], ax ; 89 46 e2
mov ax, word [bp-001e8h] ; 8b 86 18 fe
mov word [bp-020h], ax ; 89 46 e0
mov si, word [bp-001e6h] ; 8b b6 1a fe
cmp si, 00fffh ; 81 fe ff 0f
cmp ax, strict word 0ffffh ; 3d ff ff
mov ax, word [bp-00198h] ; 8b 86 68 fe
mov word [bp-020h], ax ; 89 46 e0
mov si, word [bp-00196h] ; 8b b6 6a fe
mov al, byte [bp-00eh] ; 8a 46 f2
cmp AL, strict byte 001h ; 3c 01
cmp AL, strict byte 003h ; 3c 03
cmp AL, strict byte 002h ; 3c 02
mov BL, strict byte 01eh ; b3 1e
mov BL, strict byte 026h ; b3 26
mov BL, strict byte 067h ; b3 67
mov BL, strict byte 070h ; b3 70
mov word [bp-034h], ax ; 89 46 cc
add AL, strict byte 002h ; 04 02
mov word [bp-036h], ax ; 89 46 ca
add AL, strict byte 007h ; 04 07
mov word [bp-032h], ax ; 89 46 ce
mov bx, word [bp-020h] ; 8b 5e e0
lea ax, [bp-036h] ; 8d 46 ca
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp-032h] ; 8b 46 ce
mov ax, word [bp-036h] ; 8b 46 ca
mov ax, word [bp-034h] ; 8b 46 cc
push word [bp-01eh] ; ff 76 e2
push word [bp-01ch] ; ff 76 e4
push word [bp-01ah] ; ff 76 e6
movzx ax, byte [bp-008h] ; 0f b6 46 f8
movzx ax, byte [bp-018h] ; 0f b6 46 e8
push strict byte 00004h ; 6a 04
add sp, strict byte 00014h ; 83 c4 14
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les di, [bp-028h] ; c4 7e d8
mov byte [es:di+01fh], 0ffh ; 26 c6 45 1f ff
mov al, byte [bp-014h] ; 8a 46 ec
mov byte [es:di+020h], al ; 26 88 45 20
mov al, byte [bp-016h] ; 8a 46 ea
mov byte [es:di+022h], al ; 26 88 45 22
mov ax, word [bp-022h] ; 8b 46 de
mov word [es:di+024h], ax ; 26 89 45 24
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [es:di+02ch], ax ; 26 89 45 2c
mov ax, word [bp-01ah] ; 8b 46 e6
mov word [es:di+02eh], ax ; 26 89 45 2e
mov ax, word [bp-01eh] ; 8b 46 e2
mov word [es:di+030h], ax ; 26 89 45 30
mov ax, word [bp-020h] ; 8b 46 e0
mov word [es:di+032h], ax ; 26 89 45 32
mov word [es:di+034h], si ; 26 89 75 34
lea di, [di+026h] ; 8d 7d 26
lea si, [bp-036h] ; 8d 76 ca
mov al, byte [bp-00eh] ; 8a 46 f2
cmp AL, strict byte 002h ; 3c 02
mov di, strict word 0003dh ; bf 3d 00
mov di, strict word 0004dh ; bf 4d 00
mov dx, word [bp-024h] ; 8b 56 dc
mov ax, word [bp-034h] ; 8b 46 cc
mov word [es:di], ax ; 26 89 05
mov al, byte [bp-036h] ; 8a 46 ca
mov byte [es:di+002h], al ; 26 88 45 02
mov byte [es:di+003h], 0a0h ; 26 c6 45 03 a0
mov al, byte [bp-01eh] ; 8a 46 e2
mov byte [es:di+004h], al ; 26 88 45 04
mov ax, word [bp-01ah] ; 8b 46 e6
mov word [es:di+009h], ax ; 26 89 45 09
mov al, byte [bp-01ch] ; 8a 46 e4
mov byte [es:di+00bh], al ; 26 88 45 0b
mov al, byte [bp-01eh] ; 8a 46 e2
mov byte [es:di+00eh], al ; 26 88 45 0e
add al, byte [es:bx] ; 26 02 07
mov byte [es:di+00fh], al ; 26 88 45 0f
movzx bx, byte [bp-006h] ; 0f b6 5e fa
mov es, [bp-026h] ; 8e 46 da
add bx, word [bp-028h] ; 03 5e d8
mov al, byte [bp-00eh] ; 8a 46 f2
mov byte [es:bx+0019fh], al ; 26 88 87 9f 01
inc byte [bp-006h] ; fe 46 fa
cmp byte [bp-010h], 003h ; 80 7e f0 03
jne near 023c1h ; 0f 85 98 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les bx, [bp-028h] ; c4 5e d8
mov byte [es:bx+01fh], 005h ; 26 c6 47 1f 05
mov byte [es:bx+022h], 000h ; 26 c6 47 22 00
lea dx, [bp-00260h] ; 8d 96 a0 fd
mov bx, word [bp-028h] ; 8b 5e d8
mov word [es:bx+004h], dx ; 26 89 57 04
mov [es:bx+006h], ss ; 26 8c 57 06
mov al, byte [bp-00eh] ; 8a 46 f2
mov byte [es:bx+008h], al ; 26 88 47 08
mov cx, strict word 00001h ; b9 01 00
mov bx, 000a1h ; bb a1 00
mov ax, word [bp-028h] ; 8b 46 d8
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
mov cl, byte [bp-0025fh] ; 8a 8e a1 fd
test byte [bp-00260h], 080h ; f6 86 a0 fd 80
cmp byte [bp-00200h], 000h ; 80 be 00 fe 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les si, [bp-028h] ; c4 76 d8
mov byte [es:si+01fh], cl ; 26 88 4c 1f
mov byte [es:si+020h], dl ; 26 88 54 20
mov byte [es:si+022h], bl ; 26 88 5c 22
mov word [es:si+024h], 00800h ; 26 c7 44 24 00 08
movzx bx, byte [bp-00ah] ; 0f b6 5e f6
add bx, word [bp-028h] ; 03 5e d8
mov al, byte [bp-00eh] ; 8a 46 f2
mov byte [es:bx+001b0h], al ; 26 88 87 b0 01
inc byte [bp-00ah] ; fe 46 f6
mov al, byte [bp-010h] ; 8a 46 f0
cmp AL, strict byte 003h ; 3c 03
cmp AL, strict byte 002h ; 3c 02
jne near 02457h ; 0f 85 89 00
movzx bx, byte [bp-00eh] ; 0f b6 5e f2
imul bx, bx, strict byte 00018h ; 6b db 18
mov es, [bp-026h] ; 8e 46 da
add bx, word [bp-028h] ; 03 5e d8
mov ax, word [es:bx+032h] ; 26 8b 47 32
mov word [bp-030h], ax ; 89 46 d0
mov ax, word [es:bx+034h] ; 26 8b 47 34
mov word [bp-02eh], ax ; 89 46 d2
mov cx, strict word 0000bh ; b9 0b 00
shr word [bp-02eh], 1 ; d1 6e d2
rcr word [bp-030h], 1 ; d1 5e d0
movzx dx, byte [bp-001bfh] ; 0f b6 96 41 fe
movzx ax, byte [bp-001c0h] ; 0f b6 86 40 fe
mov byte [bp-012h], 00fh ; c6 46 ee 0f
dec byte [bp-012h] ; fe 4e ee
cmp byte [bp-012h], 000h ; 80 7e ee 00
movzx cx, byte [bp-012h] ; 0f b6 4e ee
mov ax, strict word 00001h ; b8 01 00
cmp di, strict byte 00014h ; 83 ff 14
mov al, byte [bp+si-00229h] ; 8a 82 d7 fd
mov byte [bp+si-060h], al ; 88 42 a0
mov al, byte [bp+si-0022ah] ; 8a 82 d6 fd
mov byte [bp+si-05fh], al ; 88 42 a1
mov byte [bp-038h], 000h ; c6 46 c8 00
mov di, strict word 00027h ; bf 27 00
cmp byte [bp+di-060h], 020h ; 80 7b a0 20
mov byte [bp+di-060h], 000h ; c6 43 a0 00
mov al, byte [bp-010h] ; 8a 46 f0
cmp AL, strict byte 003h ; 3c 03
cmp AL, strict byte 002h ; 3c 02
cmp AL, strict byte 001h ; 3c 01
je near 02521h ; 0f 84 b9 00
jmp near 02540h ; e9 d5 00
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 0017fh ; b8 7f 01
mov ax, 00186h ; b8 86 01
movzx ax, byte [bp-018h] ; 0f b6 46 e8
push strict byte 00002h ; 6a 02
add sp, strict byte 00008h ; 83 c4 08
movzx ax, byte [bp+di-060h] ; 0f b6 43 a0
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
push dword [bp-030h] ; 66 ff 76 d0
movzx ax, byte [bp-012h] ; 0f b6 46 ee
push strict byte 00002h ; 6a 02
add sp, strict byte 0000ah ; 83 c4 0a
jmp near 02540h ; e9 86 00
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 0017fh ; b8 7f 01
mov ax, 00186h ; b8 86 01
movzx ax, byte [bp-018h] ; 0f b6 46 e8
push strict byte 00002h ; 6a 02
add sp, strict byte 00008h ; 83 c4 08
movzx ax, byte [bp+di-060h] ; 0f b6 43 a0
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
imul ax, ax, strict byte 00018h ; 6b c0 18
les bx, [bp-028h] ; c4 5e d8
cmp byte [es:bx+01fh], 005h ; 26 80 7f 1f 05
movzx ax, byte [bp-012h] ; 0f b6 46 ee
movzx ax, byte [bp-012h] ; 0f b6 46 ee
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 0017fh ; b8 7f 01
mov ax, 00186h ; b8 86 01
movzx ax, byte [bp-018h] ; 0f b6 46 e8
push strict byte 00002h ; 6a 02
add sp, strict byte 00008h ; 83 c4 08
inc byte [bp-00eh] ; fe 46 f2
cmp byte [bp-00eh], 008h ; 80 7e f2 08
movzx bx, byte [bp-00eh] ; 0f b6 5e f2
mov word [bp-02ah], ax ; 89 46 d6
mov al, byte [bp-02ah] ; 8a 46 d6
mov byte [bp-018h], al ; 88 46 e8
mov bx, strict word 00002h ; bb 02 00
mov byte [bp-008h], dl ; 88 56 f8
movzx ax, byte [bp-02ah] ; 0f b6 46 d6
imul ax, ax, strict byte 00006h ; 6b c0 06
les bx, [bp-028h] ; c4 5e d8
mov si, word [es:bx+001c2h] ; 26 8b b7 c2 01
mov ax, word [es:bx+001c4h] ; 26 8b 87 c4 01
mov word [bp-02ch], ax ; 89 46 d4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 00ah ; b0 0a
je near 02001h ; 0f 84 70 fa
mov ax, 000b0h ; b8 b0 00
jmp near 02004h ; e9 6d fa
mov al, byte [bp-006h] ; 8a 46 fa
les bx, [bp-028h] ; c4 5e d8
mov byte [es:bx+0019eh], al ; 26 88 87 9e 01
mov al, byte [bp-00ah] ; 8a 46 f6
mov byte [es:bx+001afh], al ; 26 88 87 af 01
movzx bx, byte [bp-006h] ; 0f b6 5e fa
mov dx, strict word 00075h ; ba 75 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-004h] ; 8d 66 fc
ata_cmd_data_out_: ; 0xf25be LB 0x21a
sub sp, strict byte 0001ah ; 83 ec 1a
mov word [bp-00ah], dx ; 89 56 f6
mov word [bp-01ah], bx ; 89 5e e6
mov word [bp-00eh], cx ; 89 4e f2
movzx ax, byte [es:di+008h] ; 26 0f b6 45 08
mov byte [bp-006h], dh ; 88 76 fa
imul si, si, strict byte 00006h ; 6b f6 06
mov bx, word [es:si+001c2h] ; 26 8b 9c c2 01
mov dx, word [es:si+001c4h] ; 26 8b 94 c4 01
mov word [bp-00ch], dx ; 89 56 f4
imul ax, ax, strict byte 00018h ; 6b c0 18
mov al, byte [es:si+022h] ; 26 8a 44 22
mov byte [bp-008h], al ; 88 46 f8
cmp AL, strict byte 001h ; 3c 01
mov word [bp-012h], 00080h ; c7 46 ee 80 00
mov word [bp-012h], 00100h ; c7 46 ee 00 01
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00001h ; ba 01 00
jmp near 027cfh ; e9 9f 01
mov es, [bp-00ah] ; 8e 46 f6
mov ax, word [es:di] ; 26 8b 05
mov word [bp-01eh], ax ; 89 46 e2
mov ax, word [es:di+002h] ; 26 8b 45 02
mov word [bp-01ch], ax ; 89 46 e4
mov si, word [es:di+004h] ; 26 8b 75 04
mov ax, word [es:di+006h] ; 26 8b 45 06
mov word [bp-018h], ax ; 89 46 e8
mov ax, word [es:di+012h] ; 26 8b 45 12
mov word [bp-010h], ax ; 89 46 f0
mov ax, word [es:di+00eh] ; 26 8b 45 0e
mov word [bp-016h], ax ; 89 46 ea
mov ax, word [es:di+010h] ; 26 8b 45 10
mov word [bp-014h], ax ; 89 46 ec
mov ax, word [bp-010h] ; 8b 46 f0
mov dx, word [bp-01eh] ; 8b 56 e2
add dx, word [bp-00eh] ; 03 56 f2
adc ax, word [bp-01ch] ; 13 46 e4
cmp ax, 01000h ; 3d 00 10
jnbe short 02677h ; 77 02
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [bp-010h], ax ; 89 46 f0
mov ax, word [bp-00eh] ; 8b 46 f2
lea dx, [bx+002h] ; 8d 57 02
lea dx, [bx+003h] ; 8d 57 03
mov al, byte [bp-010h] ; 8a 46 f0
lea dx, [bx+004h] ; 8d 57 04
lea dx, [bx+005h] ; 8d 57 05
mov byte [bp-01bh], al ; 88 46 e5
mov ax, word [bp-01eh] ; 8b 46 e2
mov word [bp-010h], ax ; 89 46 f0
mov cx, strict word 00008h ; b9 08 00
shr word [bp-01ch], 1 ; d1 6e e4
rcr word [bp-01eh], 1 ; d1 5e e2
mov ax, word [bp-01eh] ; 8b 46 e2
mov word [bp-016h], ax ; 89 46 ea
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [bp-01eh], ax ; 89 46 e2
mov word [bp-01ch], strict word 00000h ; c7 46 e4 00 00
and ax, strict word 0000fh ; 25 0f 00
or AL, strict byte 040h ; 0c 40
mov word [bp-014h], ax ; 89 46 ec
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 00ah ; b0 0a
lea dx, [bx+001h] ; 8d 57 01
lea dx, [bx+002h] ; 8d 57 02
mov al, byte [bp-00eh] ; 8a 46 f2
lea dx, [bx+003h] ; 8d 57 03
mov al, byte [bp-010h] ; 8a 46 f0
mov ax, word [bp-016h] ; 8b 46 ea
lea dx, [bx+004h] ; 8d 57 04
lea dx, [bx+005h] ; 8d 57 05
cmp byte [bp-006h], 000h ; 80 7e fa 00
mov ax, 000b0h ; b8 b0 00
mov ax, 000a0h ; b8 a0 00
movzx dx, byte [bp-014h] ; 0f b6 56 ec
lea dx, [bx+006h] ; 8d 57 06
lea dx, [bx+007h] ; 8d 57 07
mov al, byte [bp-01ah] ; 8a 46 e6
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
test AL, strict byte 001h ; a8 01
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00002h ; ba 02 00
jmp near 027cfh ; e9 98 00
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00003h ; ba 03 00
jmp near 027cfh ; e9 84 00
cmp si, 0f800h ; 81 fe 00 f8
sub si, 00800h ; 81 ee 00 08
mov ax, word [bp-018h] ; 8b 46 e8
add ax, 00080h ; 05 80 00
mov word [bp-018h], ax ; 89 46 e8
cmp byte [bp-008h], 001h ; 80 7e f8 01
mov cx, word [bp-012h] ; 8b 4e ee
mov es, [bp-018h] ; 8e 46 e8
db 0f3h, 066h, 026h, 06fh
; rep es outsd ; f3 66 26 6f
mov cx, word [bp-012h] ; 8b 4e ee
mov es, [bp-018h] ; 8e 46 e8
; rep es outsw ; f3 26 6f
mov es, [bp-00ah] ; 8e 46 f6
inc word [es:di+014h] ; 26 ff 45 14
dec word [bp-00eh] ; ff 4e f2
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
cmp word [bp-00eh], strict byte 00000h ; 83 7e f2 00
and AL, strict byte 0e9h ; 24 e9
cmp AL, strict byte 040h ; 3c 40
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00006h ; ba 06 00
and AL, strict byte 0c9h ; 24 c9
cmp AL, strict byte 048h ; 3c 48
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00007h ; ba 07 00
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
lea sp, [bp-004h] ; 8d 66 fc
@ata_read_sectors: ; 0xf27d8 LB 0x7a
mov si, word [bp+004h] ; 8b 76 04
mov es, [bp+006h] ; 8e 46 06
mov bl, byte [es:si+008h] ; 26 8a 5c 08
mov cx, word [es:si+00ah] ; 26 8b 4c 0a
mov ax, word [es:si+012h] ; 26 8b 44 12
imul di, di, strict byte 00018h ; 6b ff 18
mov [bp-006h], es ; 8c 46 fa
mov di, word [es:si] ; 26 8b 3c
mov word [bp-006h], di ; 89 7e fa
adc ax, word [es:si+002h] ; 26 13 44 02
cmp ax, 01000h ; 3d 00 10
jnbe short 02819h ; 77 02
mov bx, strict word 00024h ; bb 24 00
imul ax, ax, strict byte 00018h ; 6b c0 18
mov [bp-006h], es ; 8c 46 fa
mov word [es:di+024h], dx ; 26 89 55 24
mov bx, 000c4h ; bb c4 00
mov es, [bp-006h] ; 8e 46 fa
mov word [es:di+024h], 00200h ; 26 c7 45 24 00 02
lea sp, [bp-004h] ; 8d 66 fc
@ata_write_sectors: ; 0xf2852 LB 0x3d
les si, [bp+004h] ; c4 76 04
mov cx, word [es:si+00ah] ; 26 8b 4c 0a
cmp word [es:si+012h], strict byte 00000h ; 26 83 7c 12 00
mov bx, strict word 00030h ; bb 30 00
mov dx, word [es:si] ; 26 8b 14
adc ax, word [es:si+002h] ; 26 13 44 02
cmp ax, 01000h ; 3d 00 10
jnbe short 02882h ; 77 02
mov bx, strict word 00034h ; bb 34 00
lea sp, [bp-002h] ; 8d 66 fe
ata_cmd_packet_: ; 0xf288f LB 0x2e8
sub sp, strict byte 00014h ; 83 ec 14
mov byte [bp-008h], dl ; 88 56 f8
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-012h], 00122h ; c7 46 ee 22 01
mov word [bp-00eh], ax ; 89 46 f2
mov ax, word [bp-01ah] ; 8b 46 e6
mov ah, byte [bp-01ah] ; 8a 66 e6
mov byte [bp-006h], ah ; 88 66 fa
cmp byte [bp+00ah], 002h ; 80 7e 0a 02
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
mov dx, strict word 00001h ; ba 01 00
jmp near 02b6ch ; e9 8b 02
test byte [bp+004h], 001h ; f6 46 04 01
imul ax, ax, strict byte 00006h ; 6b c0 06
mov es, [bp-00eh] ; 8e 46 f2
mov si, word [bp-012h] ; 8b 76 ee
mov bx, word [es:si+001c2h] ; 26 8b 9c c2 01
mov ax, word [es:si+001c4h] ; 26 8b 84 c4 01
mov word [bp-010h], ax ; 89 46 f0
imul si, word [bp-01ah], strict byte 00018h ; 6b 76 e6 18
add si, word [bp-012h] ; 03 76 ee
mov al, byte [es:si+022h] ; 26 8a 44 22
mov byte [bp-00ah], al ; 88 46 f6
mov word [bp-018h], ax ; 89 46 e8
mov word [bp-016h], ax ; 89 46 ea
mov al, byte [bp-008h] ; 8a 46 f8
cmp AL, strict byte 00ch ; 3c 0c
mov byte [bp-008h], 00ch ; c6 46 f8 0c
mov byte [bp-008h], 010h ; c6 46 f8 10
shr byte [bp-008h], 1 ; d0 6e f8
mov es, [bp-00eh] ; 8e 46 f2
mov si, word [bp-012h] ; 8b 76 ee
db 066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h
; mov dword [es:si+014h], strict dword 000000000h ; 66 26 c7 44 14 00 00 00 00
mov word [es:si+018h], strict word 00000h ; 26 c7 44 18 00 00
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
mov dx, strict word 00002h ; ba 02 00
jmp near 02b6ch ; e9 1a 02
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 00ah ; b0 0a
lea dx, [bx+004h] ; 8d 57 04
mov AL, strict byte 0f0h ; b0 f0
lea dx, [bx+005h] ; 8d 57 05
mov AL, strict byte 0ffh ; b0 ff
cmp byte [bp-006h], 000h ; 80 7e fa 00
mov ax, 000b0h ; b8 b0 00
mov ax, 000a0h ; b8 a0 00
lea dx, [bx+006h] ; 8d 57 06
lea dx, [bx+007h] ; 8d 57 07
mov AL, strict byte 0a0h ; b0 a0
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
test AL, strict byte 001h ; a8 01
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00003h ; ba 03 00
jmp near 02b6ch ; e9 ce 01
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov dx, strict word 00004h ; ba 04 00
jmp near 02b6ch ; e9 ba 01
and si, strict byte 0000fh ; 83 e6 0f
movzx cx, byte [bp-008h] ; 0f b6 4e f8
; rep es outsw ; f3 26 6f
cmp byte [bp+00ah], 000h ; 80 7e 0a 00
lea dx, [bx+007h] ; 8d 57 07
jmp near 02b4dh ; e9 72 01
lea dx, [bx+007h] ; 8d 57 07
test AL, strict byte 080h ; a8 80
test AL, strict byte 088h ; a8 88
je near 02b4dh ; 0f 84 60 01
test AL, strict byte 001h ; a8 01
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
and AL, strict byte 0c9h ; 24 c9
cmp AL, strict byte 048h ; 3c 48
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
mov ax, word [bp+00ch] ; 8b 46 0c
mov dx, word [bp+00eh] ; 8b 56 0e
mov ax, word [bp+00ch] ; 8b 46 0c
and ax, strict word 0000fh ; 25 0f 00
mov word [bp+00ch], ax ; 89 46 0c
mov word [bp+00eh], dx ; 89 56 0e
lea dx, [bx+005h] ; 8d 57 05
lea dx, [bx+004h] ; 8d 57 04
mov word [bp-014h], cx ; 89 4e ec
mov ax, word [bp+004h] ; 8b 46 04
sub word [bp+004h], cx ; 29 4e 04
mov word [bp-014h], ax ; 89 46 ec
mov word [bp+004h], strict word 00000h ; c7 46 04 00 00
sub word [bp-014h], ax ; 29 46 ec
cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00
mov dx, word [bp-014h] ; 8b 56 ec
cmp dx, word [bp+006h] ; 3b 56 06
mov ax, word [bp-014h] ; 8b 46 ec
sub ax, word [bp+006h] ; 2b 46 06
mov word [bp-00ch], ax ; 89 46 f4
mov ax, word [bp+006h] ; 8b 46 06
mov word [bp-014h], ax ; 89 46 ec
mov word [bp+006h], ax ; 89 46 06
mov word [bp+008h], ax ; 89 46 08
mov word [bp-00ch], ax ; 89 46 f4
mov dx, word [bp-014h] ; 8b 56 ec
sub word [bp+006h], dx ; 29 56 06
sbb word [bp+008h], ax ; 19 46 08
mov si, word [bp-014h] ; 8b 76 ec
mov al, byte [bp-00ah] ; 8a 46 f6
test byte [bp-014h], 003h ; f6 46 ec 03
test byte [bp-00ch], 003h ; f6 46 f4 03
test byte [bp-014h], 001h ; f6 46 ec 01
inc word [bp-014h] ; ff 46 ec
cmp word [bp-00ch], strict byte 00000h ; 83 7e f4 00
test byte [bp-00ch], 001h ; f6 46 f4 01
dec word [bp-00ch] ; ff 4e f4
cmp AL, strict byte 001h ; 3c 01
shr word [bp-014h], 002h ; c1 6e ec 02
shr word [bp-00ch], 002h ; c1 6e f4 02
shr word [bp-014h], 1 ; d1 6e ec
shr word [bp-00ch], 1 ; d1 6e f4
cmp AL, strict byte 001h ; 3c 01
mov cx, word [bp-014h] ; 8b 4e ec
les di, [bp+00ch] ; c4 7e 0c
mov ax, word [bp-00ch] ; 8b 46 f4
mov cx, word [bp-014h] ; 8b 4e ec
les di, [bp+00ch] ; c4 7e 0c
mov ax, word [bp-00ch] ; 8b 46 f4
add word [bp+00ch], si ; 01 76 0c
add word [bp-018h], si ; 01 76 e8
adc word [bp-016h], ax ; 11 46 ea
mov ax, word [bp-018h] ; 8b 46 e8
mov es, [bp-00eh] ; 8e 46 f2
mov si, word [bp-012h] ; 8b 76 ee
mov word [es:si+016h], ax ; 26 89 44 16
mov ax, word [bp-016h] ; 8b 46 ea
mov word [es:si+018h], ax ; 26 89 44 18
jmp near 029dbh ; e9 8e fe
and AL, strict byte 0e9h ; 24 e9
cmp AL, strict byte 040h ; 3c 40
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
jmp near 029ach ; e9 4b fe
mov dx, word [bp-010h] ; 8b 56 f0
add dx, strict byte 00006h ; 83 c2 06
mov AL, strict byte 008h ; b0 08
lea sp, [bp-004h] ; 8d 66 fc
ata_soft_reset_: ; 0xf2b77 LB 0x80
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp-008h], bl ; 88 5e f8
imul bx, dx, strict byte 00006h ; 6b da 06
add bx, 00122h ; 81 c3 22 01
mov cx, word [es:bx+001c2h] ; 26 8b 8f c2 01
mov bx, word [es:bx+001c4h] ; 26 8b 9f c4 01
lea dx, [bx+006h] ; 8d 57 06
mov AL, strict byte 00ah ; b0 0a
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 000b0h ; b8 b0 00
mov ax, 000a0h ; b8 a0 00
add dx, strict byte 00006h ; 83 c2 06
add dx, strict byte 00007h ; 83 c2 07
mov AL, strict byte 008h ; b0 08
add dx, strict byte 00007h ; 83 c2 07
test AL, strict byte 080h ; a8 80
and AL, strict byte 0e9h ; 24 e9
cmp AL, strict byte 040h ; 3c 40
lea dx, [bx+006h] ; 8d 57 06
mov AL, strict byte 008h ; b0 08
mov ax, strict word 00001h ; b8 01 00
lea dx, [bx+006h] ; 8d 57 06
mov AL, strict byte 008h ; b0 08
lea sp, [bp-006h] ; 8d 66 fa
set_diskette_ret_status_: ; 0xf2bf7 LB 0x18
mov dx, strict word 00041h ; ba 41 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-004h] ; 8d 66 fc
set_diskette_current_cyl_: ; 0xf2c0f LB 0x2d
cmp AL, strict byte 001h ; 3c 01
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
add dx, 00094h ; 81 c2 94 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-002h] ; 8d 66 fe
floppy_wait_for_interrupt_: ; 0xf2c3c LB 0x21
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
test AL, strict byte 080h ; a8 80
and AL, strict byte 080h ; 24 80
lea sp, [bp-002h] ; 8d 66 fe
floppy_wait_for_interrupt_or_timeout_: ; 0xf2c5d LB 0x46
mov dx, strict word 00040h ; ba 40 00
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
test AL, strict byte 080h ; a8 80
and AL, strict byte 07fh ; 24 7f
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-006h] ; 8d 66 fa
floppy_reset_controller_: ; 0xf2ca3 LB 0x2b
mov dx, 003f2h ; ba f2 03
and AL, strict byte 0fbh ; 24 fb
or AL, strict byte 004h ; 0c 04
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 080h ; 3c 80
lea sp, [bp-004h] ; 8d 66 fc
floppy_prepare_controller_: ; 0xf2cce LB 0x81
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 07fh ; 24 7f
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 003f2h ; ba f2 03
and AL, strict byte 004h ; 24 04
mov byte [bp-008h], al ; 88 46 f8
mov AL, strict byte 020h ; b0 20
mov AL, strict byte 010h ; b0 10
or AL, strict byte 00ch ; 0c 0c
mov dx, 003f2h ; ba f2 03
mov bx, strict word 00025h ; bb 25 00
mov dx, strict word 00040h ; ba 40 00
mov dx, 0008bh ; ba 8b 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 003f7h ; ba f7 03
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 080h ; 3c 80
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-006h] ; 8d 66 fa
floppy_media_known_: ; 0xf2d4f LB 0x43
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 001h ; 24 01
mov dx, 00090h ; ba 90 00
mov dx, 00091h ; ba 91 00
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 001h ; 24 01
mov ax, strict word 00001h ; b8 01 00
lea sp, [bp-004h] ; 8d 66 fc
floppy_read_id_: ; 0xf2d92 LB 0x40
sub sp, strict byte 00008h ; 83 ec 08
mov AL, strict byte 04ah ; b0 4a
mov dx, 003f5h ; ba f5 03
cmp si, strict byte 00007h ; 83 fe 07
mov dx, 003f5h ; ba f5 03
mov byte [bp+si-00eh], al ; 88 42 f2
test byte [bp-00eh], 0c0h ; f6 46 f2 c0
lea sp, [bp-006h] ; 8d 66 fa
floppy_drive_recal_: ; 0xf2dd2 LB 0x48
mov AL, strict byte 007h ; b0 07
mov dx, 003f5h ; ba f5 03
or AL, strict byte 002h ; 0c 02
mov cx, 00095h ; b9 95 00
or AL, strict byte 001h ; 0c 01
mov cx, 00094h ; b9 94 00
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
mov ax, strict word 00040h ; b8 40 00
mov ax, strict word 00001h ; b8 01 00
lea sp, [bp-006h] ; 8d 66 fa
floppy_media_sense_: ; 0xf2e1a LB 0xf0
jmp near 02efeh ; e9 ce 00
mov ax, strict word 00010h ; b8 10 00
mov CH, strict byte 015h ; b5 15
mov si, strict word 00001h ; be 01 00
mov CH, strict byte 035h ; b5 35
mov CH, strict byte 017h ; b5 17
mov CH, strict byte 017h ; b5 17
mov CL, strict byte 0cch ; b1 cc
mov CH, strict byte 0d7h ; b5 d7
mov dx, 0008bh ; ba 8b 00
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 080h ; 3c 80
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
cmp AL, strict byte 040h ; 3c 40
add di, 00090h ; 81 c7 90 00
mov dx, 0008bh ; ba 8b 00
mov ax, strict word 00040h ; b8 40 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-00ah] ; 8d 66 f6
floppy_drive_exists_: ; 0xf2f0a LB 0x24
mov ax, strict word 00010h ; b8 10 00
and AL, strict byte 00fh ; 24 0f
lea sp, [bp-002h] ; 8d 66 fe
_int13_diskette_function: ; 0xf2f2e LB 0x734
sub sp, strict byte 00012h ; 83 ec 12
mov bx, word [bp+016h] ; 8b 5e 16
mov si, word [bp+016h] ; 8b 76 16
and si, 000ffh ; 81 e6 ff 00
mov ah, byte [bp+00eh] ; 8a 66 0e
mov dx, word [bp+01ch] ; 8b 56 1c
jbe near 034e1h ; 0f 86 87 05
or si, 00100h ; 81 ce 00 01
jbe near 0361dh ; 0f 86 b3 06
je near 03622h ; 0f 84 b1 06
je near 03622h ; 0f 84 aa 06
jmp near 0363fh ; e9 c4 06
je near 035d7h ; 0f 84 55 06
jmp near 0363fh ; e9 ba 06
jbe near 03018h ; 0f 86 8a 00
je near 0335bh ; 0f 84 c6 03
jbe near 03036h ; 0f 86 9a 00
jmp near 0363fh ; e9 a0 06
jne near 0363fh ; 0f 85 9a 06
mov al, byte [bp+00eh] ; 8a 46 0e
mov byte [bp-00eh], al ; 88 46 f2
cmp AL, strict byte 001h ; 3c 01
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 00001h ; b8 01 00
jmp near 03337h ; e9 74 03
mov ax, strict word 00010h ; b8 10 00
cmp byte [bp-00eh], 000h ; 80 7e f2 00
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, 00080h ; b8 80 00
mov dx, strict word 0003eh ; ba 3e 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp+017h], al ; 88 46 17
and byte [bp+01ch], 0feh ; 80 66 1c fe
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
lea sp, [bp-004h] ; 8d 66 fc
and byte [bp+01ch], 0feh ; 80 66 1c fe
mov dx, 00441h ; ba 41 04
mov word [bp+016h], si ; 89 76 16
jmp near 03337h ; e9 01 03
mov al, byte [bp+016h] ; 8a 46 16
mov byte [bp-00ch], al ; 88 46 f4
mov dx, word [bp+014h] ; 8b 56 14
mov byte [bp-006h], dl ; 88 56 fa
mov al, byte [bp+014h] ; 8a 46 14
mov byte [bp-00ah], al ; 88 46 f6
mov dx, word [bp+012h] ; 8b 56 12
mov byte [bp-008h], dl ; 88 56 f8
mov byte [bp-00eh], ah ; 88 66 f2
jnbe short 0306ch ; 77 10
jnbe short 0306ch ; 77 0b
mov al, byte [bp-00ch] ; 8a 46 f4
cmp AL, strict byte 048h ; 3c 48
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 00001h ; b8 01 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
je near 03199h ; 0f 84 f7 00
movzx dx, byte [bp-00eh] ; 0f b6 56 f2
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 0000ch ; b8 0c 00
jne near 03230h ; 0f 85 61 01
mov cx, word [bp+006h] ; 8b 4e 06
mov dx, word [bp+006h] ; 8b 56 06
mov bx, word [bp+010h] ; 8b 5e 10
movzx cx, byte [bp-00ch] ; 0f b6 4e f4
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 00009h ; b8 09 00
mov byte [bp+016h], 000h ; c6 46 16 00
jmp near 03337h ; e9 27 02
mov AL, strict byte 006h ; b0 06
mov dx, strict word 0000ah ; ba 0a 00
mov dx, strict word 0000ch ; ba 0c 00
mov dx, strict word 00004h ; ba 04 00
mov dx, strict word 0000ch ; ba 0c 00
mov dx, strict word 00005h ; ba 05 00
mov AL, strict byte 046h ; b0 46
mov dx, strict word 0000bh ; ba 0b 00
mov dx, 00081h ; ba 81 00
mov AL, strict byte 002h ; b0 02
mov dx, strict word 0000ah ; ba 0a 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
mov AL, strict byte 0e6h ; b0 e6
mov dx, 003f5h ; ba f5 03
movzx ax, byte [bp-008h] ; 0f b6 46 f8
movzx dx, byte [bp-00eh] ; 0f b6 56 f2
mov dx, 003f5h ; ba f5 03
mov al, byte [bp-006h] ; 8a 46 fa
mov al, byte [bp-008h] ; 8a 46 f8
mov al, byte [bp-00ah] ; 8a 46 f6
mov AL, strict byte 002h ; b0 02
movzx dx, byte [bp-00ah] ; 0f b6 56 f6
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
mov dx, 003f5h ; ba f5 03
mov AL, strict byte 0ffh ; b0 ff
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, 00080h ; b8 80 00
jmp near 03106h ; e9 5c ff
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
cmp si, strict byte 00007h ; 83 fe 07
mov dx, 003f5h ; ba f5 03
mov byte [bp+si-016h], al ; 88 42 ea
lea dx, [si+042h] ; 8d 54 42
mov ax, strict word 00040h ; b8 40 00
test byte [bp-016h], 0c0h ; f6 46 ea c0
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 00020h ; b8 20 00
jmp near 03106h ; e9 0a ff
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
mov si, word [bp+010h] ; 8b 76 10
mov dx, word [bp+006h] ; 8b 56 06
movzx dx, byte [bp-006h] ; 0f b6 56 fa
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
mov byte [bp+017h], 000h ; c6 46 17 00
and byte [bp+01ch], 0feh ; 80 66 1c fe
jmp near 03011h ; e9 e1 fd
jne near 03345h ; 0f 85 0e 01
mov dx, word [bp+006h] ; 8b 56 06
mov cx, word [bp+006h] ; 8b 4e 06
mov bx, word [bp+010h] ; 8b 5e 10
movzx cx, byte [bp-00ch] ; 0f b6 4e f4
jc near 030f8h ; 0f 82 96 fe
mov AL, strict byte 006h ; b0 06
mov dx, strict word 0000ah ; ba 0a 00
mov dx, strict word 0000ch ; ba 0c 00
mov dx, strict word 00004h ; ba 04 00
mov dx, strict word 0000ch ; ba 0c 00
mov dx, strict word 00005h ; ba 05 00
mov AL, strict byte 04ah ; b0 4a
mov dx, strict word 0000bh ; ba 0b 00
mov dx, 00081h ; ba 81 00
mov AL, strict byte 002h ; b0 02
mov dx, strict word 0000ah ; ba 0a 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
mov AL, strict byte 0c5h ; b0 c5
mov dx, 003f5h ; ba f5 03
movzx dx, byte [bp-008h] ; 0f b6 56 f8
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
mov dx, 003f5h ; ba f5 03
mov al, byte [bp-006h] ; 8a 46 fa
mov al, byte [bp-008h] ; 8a 46 f8
mov al, byte [bp-00ah] ; 8a 46 f6
mov AL, strict byte 002h ; b0 02
movzx dx, byte [bp-00ah] ; 0f b6 56 f6
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
mov dx, 003f5h ; ba f5 03
mov AL, strict byte 0ffh ; b0 ff
je near 03196h ; 0f 84 ad fe
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
cmp si, strict byte 00007h ; 83 fe 07
mov dx, 003f5h ; ba f5 03
mov byte [bp+si-016h], al ; 88 42 ea
lea dx, [si+042h] ; 8d 54 42
mov ax, strict word 00040h ; b8 40 00
test byte [bp-016h], 0c0h ; f6 46 ea c0
je near 0321ah ; 0f 84 ee fe
test byte [bp-015h], 002h ; f6 46 eb 02
mov word [bp+016h], 00300h ; c7 46 16 00 03
or byte [bp+01ch], 001h ; 80 4e 1c 01
jmp near 03011h ; e9 d3 fc
mov word [bp+016h], 00100h ; c7 46 16 00 01
movzx dx, byte [bp-006h] ; 0f b6 56 fa
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
and byte [bp+01ch], 0feh ; 80 66 1c fe
mov byte [bp+017h], 000h ; c6 46 17 00
jmp near 03011h ; e9 b6 fc
mov al, byte [bp+016h] ; 8a 46 16
mov byte [bp-00ch], al ; 88 46 f4
mov dx, word [bp+014h] ; 8b 56 14
mov byte [bp-006h], dl ; 88 56 fa
mov ax, word [bp+012h] ; 8b 46 12
mov byte [bp-008h], al ; 88 46 f8
mov bl, byte [bp+00eh] ; 8a 5e 0e
mov byte [bp-00eh], bl ; 88 5e f2
jnbe short 03392h ; 77 14
cmp AL, strict byte 001h ; 3c 01
jnbe short 03392h ; 77 10
jnbe short 03392h ; 77 0b
mov al, byte [bp-00ch] ; 8a 46 f4
cmp AL, strict byte 012h ; 3c 12
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 00001h ; b8 01 00
or byte [bp+01ch], 001h ; 80 4e 1c 01
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
je near 02fdfh ; 0f 84 2b fc
movzx dx, byte [bp-00eh] ; 0f b6 56 f2
je near 030b8h ; 0f 84 ec fc
mov cx, word [bp+006h] ; 8b 4e 06
mov dx, word [bp+006h] ; 8b 56 06
mov bx, word [bp+010h] ; 8b 5e 10
movzx cx, byte [bp-00ch] ; 0f b6 4e f4
jc near 030f8h ; 0f 82 01 fd
mov AL, strict byte 006h ; b0 06
mov dx, strict word 0000ah ; ba 0a 00
mov dx, strict word 0000ch ; ba 0c 00
mov dx, strict word 00004h ; ba 04 00
mov dx, strict word 0000ch ; ba 0c 00
mov dx, strict word 00005h ; ba 05 00
mov AL, strict byte 04ah ; b0 4a
mov dx, strict word 0000bh ; ba 0b 00
mov dx, 00081h ; ba 81 00
mov AL, strict byte 002h ; b0 02
mov dx, strict word 0000ah ; ba 0a 00
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
mov AL, strict byte 00fh ; b0 0f
mov dx, 003f5h ; ba f5 03
movzx ax, byte [bp-008h] ; 0f b6 46 f8
movzx bx, byte [bp-00eh] ; 0f b6 5e f2
mov al, byte [bp-006h] ; 8a 46 fa
mov AL, strict byte 04dh ; b0 4d
mov AL, strict byte 002h ; b0 02
mov al, byte [bp-00ch] ; 8a 46 f4
mov AL, strict byte 0f6h ; b0 f6
jmp near 02fdfh ; e9 6b fb
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
cmp si, strict byte 00007h ; 83 fe 07
mov dx, 003f5h ; ba f5 03
mov byte [bp+si-016h], al ; 88 42 ea
lea dx, [si+042h] ; 8d 54 42
mov ax, strict word 00040h ; b8 40 00
test byte [bp-016h], 0c0h ; f6 46 ea c0
test byte [bp-015h], 002h ; f6 46 eb 02
jne near 03332h ; 0f 85 75 fe
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
mov byte [bp+017h], al ; 88 46 17
movzx ax, byte [bp-00eh] ; 0f b6 46 f2
jmp near 03229h ; e9 48 fd
mov byte [bp-00eh], ah ; 88 66 f2
mov word [bp+016h], ax ; 89 46 16
mov word [bp+010h], ax ; 89 46 10
mov word [bp+014h], ax ; 89 46 14
mov word [bp+012h], ax ; 89 46 12
mov word [bp+006h], ax ; 89 46 06
mov word [bp+008h], ax ; 89 46 08
mov word [bp+012h], ax ; 89 46 12
mov word [bp+01ch], dx ; 89 56 1c
jmp near 03011h ; e9 08 fb
mov ax, strict word 00010h ; b8 10 00
test AL, strict byte 0f0h ; a8 f0
mov CL, strict byte 001h ; b1 01
cmp byte [bp-00eh], 000h ; 80 7e f2 00
mov byte [bp+011h], 000h ; c6 46 11 00
mov word [bp+010h], ax ; 89 46 10
mov word [bp+016h], strict word 00000h ; c7 46 16 00 00
mov bx, word [bp+012h] ; 8b 5e 12
mov word [bp+012h], bx ; 89 5e 12
mov word [bp+012h], ax ; 89 46 12
mov word [bp+014h], strict word 00000h ; c7 46 14 00 00
mov byte [bp+013h], 000h ; c6 46 13 00
mov word [bp+014h], 02709h ; c7 46 14 09 27
mov word [bp+014h], 04f0fh ; c7 46 14 0f 4f
mov word [bp+014h], 04f09h ; c7 46 14 09 4f
mov word [bp+014h], 04f12h ; c7 46 14 12 4f
mov word [bp+014h], 04f24h ; c7 46 14 24 4f
mov word [bp+014h], 0fe3fh ; c7 46 14 3f fe
mov word [bp+014h], 0feffh ; c7 46 14 ff fe
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
mov word [bp+006h], 0f000h ; c7 46 06 00 f0
mov word [bp+008h], ax ; 89 46 08
jmp near 03229h ; e9 52 fc
mov byte [bp-00eh], ah ; 88 66 f2
mov word [bp+016h], si ; 89 76 16
jmp near 03503h ; e9 1e ff
mov ax, strict word 00010h ; b8 10 00
cmp byte [bp-00eh], 000h ; 80 7e f2 00
and byte [bp+01ch], 0feh ; 80 66 1c fe
mov bx, word [bp+016h] ; 8b 5e 16
mov word [bp+016h], bx ; 89 5e 16
jmp near 03011h ; e9 f4 f9
mov word [bp+016h], si ; 89 76 16
mov ax, strict word 00001h ; b8 01 00
jmp near 03503h ; e9 d5 fe
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov ax, strict word 00006h ; b8 06 00
jmp near 02fbdh ; e9 7e f9
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
jmp near 02fafh ; e9 4d f9
get_floppy_dpt_: ; 0xf3662 LB 0x2f
cmp ax, strict word 00007h ; 3d 07 00
cmp dl, byte [word bx+0005bh] ; 3a 97 5b 00
movzx ax, byte [word bx+0005ch] ; 0f b6 87 5c 00
imul ax, ax, strict byte 0000dh ; 6b c0 0d
add ax, strict word 00000h ; 05 00 00
mov ax, strict word 00041h ; b8 41 00
dummy_soft_reset_: ; 0xf3691 LB 0x7
_cdemu_init: ; 0xf3698 LB 0x18
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 00322h ; ba 22 03
_cdemu_isactive: ; 0xf36b0 LB 0x16
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 00322h ; ba 22 03
_cdemu_emulated_drive: ; 0xf36c6 LB 0x16
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 00324h ; ba 24 03
_int13_eltorito: ; 0xf36dc LB 0x189
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00322h ; be 22 03
mov ax, word [bp+016h] ; 8b 46 16
cmp ax, strict word 0004bh ; 3d 4b 00
cmp ax, strict word 0004dh ; 3d 4d 00
jmp near 03829h ; e9 25 01
cmp ax, strict word 0004ah ; 3d 4a 00
jne near 03829h ; 0f 85 1e 01
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp+016h] ; ff 76 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
jmp near 03844h ; e9 1a 01
mov dx, word [bp+00ah] ; 8b 56 0a
mov ax, word [bp+004h] ; 8b 46 04
mov bx, strict word 00013h ; bb 13 00
movzx bx, byte [es:si+001h] ; 26 0f b6 5c 01
mov dx, word [bp+00ah] ; 8b 56 0a
mov ax, word [bp+004h] ; 8b 46 04
movzx bx, byte [es:si+002h] ; 26 0f b6 5c 02
mov dx, word [bp+00ah] ; 8b 56 0a
mov ax, word [bp+004h] ; 8b 46 04
movzx bx, byte [es:si+003h] ; 26 0f b6 5c 03
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 00003h ; 83 c2 03
mov ax, word [bp+004h] ; 8b 46 04
mov bx, word [es:si+008h] ; 26 8b 5c 08
mov cx, word [es:si+00ah] ; 26 8b 4c 0a
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 00004h ; 83 c2 04
mov ax, word [bp+004h] ; 8b 46 04
mov bx, word [es:si+004h] ; 26 8b 5c 04
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 00008h ; 83 c2 08
mov ax, word [bp+004h] ; 8b 46 04
mov bx, word [es:si+006h] ; 26 8b 5c 06
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 0000ah ; 83 c2 0a
mov ax, word [bp+004h] ; 8b 46 04
mov bx, word [es:si+00ch] ; 26 8b 5c 0c
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 0000ch ; 83 c2 0c
mov ax, word [bp+004h] ; 8b 46 04
mov bx, word [es:si+00eh] ; 26 8b 5c 0e
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 0000eh ; 83 c2 0e
mov ax, word [bp+004h] ; 8b 46 04
movzx bx, byte [es:si+012h] ; 26 0f b6 5c 12
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 00010h ; 83 c2 10
mov ax, word [bp+004h] ; 8b 46 04
movzx bx, byte [es:si+014h] ; 26 0f b6 5c 14
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 00011h ; 83 c2 11
mov ax, word [bp+004h] ; 8b 46 04
movzx bx, byte [es:si+010h] ; 26 0f b6 5c 10
mov dx, word [bp+00ah] ; 8b 56 0a
add dx, strict byte 00012h ; 83 c2 12
mov ax, word [bp+004h] ; 8b 46 04
test byte [bp+016h], 0ffh ; f6 46 16 ff
mov byte [es:si], 000h ; 26 c6 04 00
mov byte [bp+017h], 000h ; c6 46 17 00
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+01ch], 0feh ; 80 66 1c fe
lea sp, [bp-004h] ; 8d 66 fc
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
jmp near 0371fh ; e9 db fe
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
or byte [bp+01ch], 001h ; 80 4e 1c 01
device_is_cdrom_: ; 0xf3865 LB 0x35
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
imul bx, bx, strict byte 00018h ; 6b db 18
add bx, 00122h ; 81 c3 22 01
cmp byte [es:bx+01fh], 005h ; 26 80 7f 1f 05
mov ax, strict word 00001h ; b8 01 00
lea sp, [bp-004h] ; 8d 66 fc
cdrom_boot_: ; 0xf389a LB 0x416
sub sp, 0081ch ; 81 ec 1c 08
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-018h], ax ; 89 46 e8
mov si, 00322h ; be 22 03
mov word [bp-010h], ax ; 89 46 f0
mov word [bp-014h], 00122h ; c7 46 ec 22 01
mov word [bp-012h], ax ; 89 46 ee
mov byte [bp-00ch], 000h ; c6 46 f4 00
inc byte [bp-00ch] ; fe 46 f4
cmp byte [bp-00ch], 010h ; 80 7e f4 10
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
cmp byte [bp-00ch], 010h ; 80 7e f4 10
mov ax, strict word 00002h ; b8 02 00
jmp near 03c4dh ; e9 67 03
mov cx, strict word 0000ch ; b9 0c 00
lea ax, [bp-026h] ; 8d 46 da
mov word [bp-026h], strict word 00028h ; c7 46 da 28 00
mov ax, strict word 00011h ; b8 11 00
mov word [bp-024h], ax ; 89 46 dc
mov word [bp-022h], dx ; 89 56 de
mov ax, strict word 00001h ; b8 01 00
mov word [bp-01fh], ax ; 89 46 e1
les bx, [bp-014h] ; c4 5e ec
db 066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 008h
; mov dword [es:bx+00ah], strict dword 008000001h ; 66 26 c7 47 0a 01 00 00 08
mov byte [bp-00eh], 000h ; c6 46 f2 00
inc byte [bp-00eh] ; fe 46 f2
cmp byte [bp-00eh], 004h ; 80 7e f2 04
jnbe short 03962h ; 77 37
movzx di, byte [bp-00ch] ; 0f b6 7e f4
imul di, di, strict byte 00018h ; 6b ff 18
mov es, [bp-012h] ; 8e 46 ee
add di, word [bp-014h] ; 03 7e ec
movzx di, byte [es:di+01eh] ; 26 0f b6 7d 1e
lea dx, [bp-00826h] ; 8d 96 da f7
push strict byte 00001h ; 6a 01
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
lea bx, [bp-026h] ; 8d 5e da
mov dx, strict word 0000ch ; ba 0c 00
call word [word di+0006ah] ; ff 95 6a 00
mov ax, strict word 00003h ; b8 03 00
jmp near 03c4dh ; e9 e1 02
cmp byte [bp-00826h], 000h ; 80 be da f7 00
mov ax, strict word 00004h ; b8 04 00
jmp near 03c4dh ; e9 d4 02
cmp di, strict byte 00005h ; 83 ff 05
mov al, byte [bp+di-00825h] ; 8a 83 db f7
cmp al, byte [di+00d92h] ; 3a 85 92 0d
mov ax, strict word 00005h ; b8 05 00
jmp near 03c4dh ; e9 ba 02
cmp di, strict byte 00017h ; 83 ff 17
mov al, byte [bp+di-0081fh] ; 8a 83 e1 f7
cmp al, byte [di+00d98h] ; 3a 85 98 0d
mov ax, strict word 00006h ; b8 06 00
jmp near 03c4dh ; e9 a0 02
mov ax, word [bp-007dfh] ; 8b 86 21 f8
mov dx, word [bp-007ddh] ; 8b 96 23 f8
mov word [bp-026h], strict word 00028h ; c7 46 da 28 00
mov word [bp-024h], ax ; 89 46 dc
mov word [bp-022h], dx ; 89 56 de
mov ax, strict word 00001h ; b8 01 00
mov word [bp-01fh], ax ; 89 46 e1
movzx di, byte [bp-00ch] ; 0f b6 7e f4
imul di, di, strict byte 00018h ; 6b ff 18
mov es, [bp-012h] ; 8e 46 ee
add di, word [bp-014h] ; 03 7e ec
movzx di, byte [es:di+01eh] ; 26 0f b6 7d 1e
lea dx, [bp-00826h] ; 8d 96 da f7
push strict byte 00001h ; 6a 01
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
lea bx, [bp-026h] ; 8d 5e da
mov dx, strict word 0000ch ; ba 0c 00
call word [word di+0006ah] ; ff 95 6a 00
mov ax, strict word 00007h ; b8 07 00
jmp near 03c4dh ; e9 43 02
cmp byte [bp-00826h], 001h ; 80 be da f7 01
mov ax, strict word 00008h ; b8 08 00
jmp near 03c4dh ; e9 36 02
cmp byte [bp-00825h], 000h ; 80 be db f7 00
mov ax, strict word 00009h ; b8 09 00
jmp near 03c4dh ; e9 29 02
cmp byte [bp-00808h], 055h ; 80 be f8 f7 55
mov ax, strict word 0000ah ; b8 0a 00
jmp near 03c4dh ; e9 1c 02
cmp byte [bp-00807h], 0aah ; 80 be f9 f7 aa
cmp byte [bp-00806h], 088h ; 80 be fa f7 88
mov ax, strict word 0000bh ; b8 0b 00
jmp near 03c4dh ; e9 08 02
mov al, byte [bp-00805h] ; 8a 86 fb f7
mov es, [bp-010h] ; 8e 46 f0
mov byte [es:si+001h], al ; 26 88 44 01
cmp byte [bp-00805h], 000h ; 80 be fb f7 00
mov byte [es:si+002h], 0e0h ; 26 c6 44 02 e0
cmp byte [bp-00805h], 004h ; 80 be fb f7 04
mov byte [es:si+002h], 000h ; 26 c6 44 02 00
mov byte [es:si+002h], 080h ; 26 c6 44 02 80
movzx di, byte [bp-00ch] ; 0f b6 7e f4
mov es, [bp-010h] ; 8e 46 f0
mov byte [es:si+003h], al ; 26 88 44 03
mov bx, strict word 00002h ; bb 02 00
mov word [es:si+004h], dx ; 26 89 54 04
mov ax, word [bp-00804h] ; 8b 86 fc f7
mov word [bp-016h], ax ; 89 46 ea
mov word [bp-016h], 007c0h ; c7 46 ea c0 07
mov ax, word [bp-016h] ; 8b 46 ea
mov es, [bp-010h] ; 8e 46 f0
mov word [es:si+00ch], ax ; 26 89 44 0c
mov word [es:si+006h], strict word 00000h ; 26 c7 44 06 00 00
mov di, word [bp-00800h] ; 8b be 00 f8
mov word [es:si+00eh], di ; 26 89 7c 0e
cmp di, 00400h ; 81 ff 00 04
mov ax, strict word 0000ch ; b8 0c 00
jmp near 03c4dh ; e9 86 01
mov ax, word [bp-007feh] ; 8b 86 02 f8
mov dx, word [bp-007fch] ; 8b 96 04 f8
mov word [es:si+008h], ax ; 26 89 44 08
mov word [es:si+00ah], dx ; 26 89 54 0a
mov word [bp-026h], strict word 00028h ; c7 46 da 28 00
mov word [bp-024h], ax ; 89 46 dc
mov word [bp-022h], dx ; 89 56 de
lea dx, [di-001h] ; 8d 55 ff
mov word [bp-01fh], ax ; 89 46 e1
les bx, [bp-014h] ; c4 5e ec
mov word [es:bx+00ah], dx ; 26 89 57 0a
mov word [es:bx+00ch], 00200h ; 26 c7 47 0c 00 02
mov dx, 00800h ; ba 00 08
mov word [es:bx+01ch], ax ; 26 89 47 1c
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
imul ax, ax, strict byte 00018h ; 6b c0 18
movzx ax, byte [es:bx+01eh] ; 26 0f b6 47 1e
mov word [bp-01ah], ax ; 89 46 e6
push word [bp-016h] ; ff 76 ea
push dword 000000001h ; 66 6a 01
mov cx, strict word 00009h ; b9 09 00
push strict byte 00000h ; 6a 00
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
lea bx, [bp-026h] ; 8d 5e da
mov dx, strict word 0000ch ; ba 0c 00
mov di, word [bp-01ah] ; 8b 7e e6
call word [word di+0006ah] ; ff 95 6a 00
les bx, [bp-014h] ; c4 5e ec
mov word [es:bx+01ch], strict word 00000h ; 26 c7 47 1c 00 00
mov ax, strict word 0000dh ; b8 0d 00
jmp near 03c4dh ; e9 e8 00
mov es, [bp-010h] ; 8e 46 f0
mov al, byte [es:si+001h] ; 26 8a 44 01
cmp AL, strict byte 002h ; 3c 02
cmp AL, strict byte 004h ; 3c 04
cmp AL, strict byte 003h ; 3c 03
jmp near 03bf6h ; e9 79 00
cmp AL, strict byte 001h ; 3c 01
mov es, [bp-010h] ; 8e 46 f0
db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 00fh, 000h
; mov dword [es:si+012h], strict dword 0000f0050h ; 66 26 c7 44 12 50 00 0f 00
mov word [es:si+010h], strict word 00002h ; 26 c7 44 10 02 00
db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 012h, 000h
; mov dword [es:si+012h], strict dword 000120050h ; 66 26 c7 44 12 50 00 12 00
db 066h, 026h, 0c7h, 044h, 012h, 050h, 000h, 024h, 000h
; mov dword [es:si+012h], strict dword 000240050h ; 66 26 c7 44 12 50 00 24 00
mov dx, 001c4h ; ba c4 01
mov ax, word [bp-016h] ; 8b 46 ea
and AL, strict byte 03fh ; 24 3f
mov es, [bp-010h] ; 8e 46 f0
mov word [es:si+014h], ax ; 26 89 44 14
mov dx, 001c4h ; ba c4 01
mov ax, word [bp-016h] ; 8b 46 ea
mov dx, 001c5h ; ba c5 01
mov ax, word [bp-016h] ; 8b 46 ea
mov es, [bp-010h] ; 8e 46 f0
mov word [es:si+012h], ax ; 26 89 44 12
mov dx, 001c3h ; ba c3 01
mov ax, word [bp-016h] ; 8b 46 ea
mov es, [bp-010h] ; 8e 46 f0
mov word [es:si+010h], ax ; 26 89 44 10
mov es, [bp-010h] ; 8e 46 f0
cmp byte [es:si+001h], 000h ; 26 80 7c 01 00
cmp byte [es:si+002h], 000h ; 26 80 7c 02 00
mov dx, strict word 00010h ; ba 10 00
mov ax, strict word 00040h ; b8 40 00
or AL, strict byte 041h ; 0c 41
mov dx, strict word 00010h ; ba 10 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 002c0h ; ba c0 02
mov ax, word [bp-018h] ; 8b 46 e8
mov dx, 002c0h ; ba c0 02
mov ax, word [bp-018h] ; 8b 46 e8
mov es, [bp-010h] ; 8e 46 f0
cmp byte [es:si+001h], 000h ; 26 80 7c 01 00
mov byte [es:si], 001h ; 26 c6 04 01
mov es, [bp-010h] ; 8e 46 f0
movzx ax, byte [es:si+002h] ; 26 0f b6 44 02
lea sp, [bp-00ah] ; 8d 66 f6
db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h
db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 048h, 040h, 056h
db 03dh, 0a0h, 03dh, 0c8h, 03dh, 095h, 03dh, 0c8h, 03dh, 095h, 03dh, 09eh, 03fh, 07bh, 03dh, 048h
db 040h, 048h, 040h, 07bh, 03dh, 07bh, 03dh, 07bh, 03dh, 07bh, 03dh, 07bh, 03dh, 03fh, 040h, 07bh
db 03dh, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h
db 040h, 048h, 040h, 048h, 040h, 048h, 040h, 048h, 040h
_int13_cdemu: ; 0xf3cb0 LB 0x434
sub sp, strict byte 0002ah ; 83 ec 2a
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov di, 00322h ; bf 22 03
mov word [bp-008h], ax ; 89 46 f8
mov word [bp-00eh], 00122h ; c7 46 f2 22 01
mov word [bp-00ch], ax ; 89 46 f4
mov al, byte [es:di+003h] ; 26 8a 45 03
mov byte [bp-006h], al ; 88 46 fa
mov al, byte [es:di+004h] ; 26 8a 45 04
add byte [bp-006h], al ; 00 46 fa
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
cmp byte [es:di], 000h ; 26 80 3d 00
movzx dx, byte [es:di+002h] ; 26 0f b6 55 02
mov ax, word [bp+012h] ; 8b 46 12
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+012h] ; 8b 46 12
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
jmp near 04068h ; e9 39 03
mov ax, word [bp+016h] ; 8b 46 16
cmp ax, strict word 00050h ; 3d 50 00
jnbe near 04048h ; 0f 87 0c 03
mov cx, strict word 0001eh ; b9 1e 00
mov di, 03c57h ; bf 57 3c
mov ax, word [cs:di+03c74h] ; 2e 8b 85 74 3c
mov bx, word [bp+016h] ; 8b 5e 16
movzx bx, byte [bp-006h] ; 0f b6 5e fa
imul bx, bx, strict byte 00018h ; 6b db 18
mov es, [bp-00ch] ; 8e 46 f4
add bx, word [bp-00eh] ; 03 5e f2
movzx bx, byte [es:bx+01eh] ; 26 0f b6 5f 1e
cmp word [word bx+0006ah], strict byte 00000h ; 83 bf 6a 00 00
je near 03d7bh ; 0f 84 08 00
movzx ax, byte [bp-006h] ; 0f b6 46 fa
call word [word bx+00076h] ; ff 97 76 00
mov byte [bp+017h], 000h ; c6 46 17 00
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+01ch], 0feh ; 80 66 1c fe
lea sp, [bp-004h] ; 8d 66 fc
mov ax, word [bp+016h] ; 8b 46 16
jmp near 04070h ; e9 d0 02
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp+016h], bx ; 89 5e 16
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04084h ; e9 bc 02
mov es, [bp-008h] ; 8e 46 f8
mov di, word [es:si+014h] ; 26 8b 7c 14
mov dx, word [es:si+012h] ; 26 8b 54 12
mov bx, word [es:si+010h] ; 26 8b 5c 10
mov ax, word [es:si+008h] ; 26 8b 44 08
mov word [bp-014h], ax ; 89 46 ec
mov ax, word [es:si+00ah] ; 26 8b 44 0a
mov word [bp-012h], ax ; 89 46 ee
mov ax, word [bp+014h] ; 8b 46 14
and ax, strict word 0003fh ; 25 3f 00
mov word [bp-010h], ax ; 89 46 f0
mov cx, word [bp+014h] ; 8b 4e 14
and cx, 000c0h ; 81 e1 c0 00
mov ax, word [bp+014h] ; 8b 46 14
mov si, word [bp+012h] ; 8b 76 12
mov cx, word [bp+016h] ; 8b 4e 16
mov word [bp-00ah], cx ; 89 4e f6
jmp near 03d7bh ; e9 66 ff
cmp di, word [bp-010h] ; 3b 7e f0
jc near 04068h ; 0f 82 4c 02
jnc near 04068h ; 0f 83 46 02
jnc near 04068h ; 0f 83 40 02
mov dx, word [bp+016h] ; 8b 56 16
cmp dx, strict byte 00004h ; 83 fa 04
jmp near 03d7bh ; e9 45 ff
mov dx, word [bp+010h] ; 8b 56 10
mov cx, word [bp+006h] ; 8b 4e 06
mov word [bp-016h], cx ; 89 4e ea
mov dx, word [bp+010h] ; 8b 56 10
and dx, strict byte 0000fh ; 83 e2 0f
mov word [bp-01ch], dx ; 89 56 e4
mov ax, word [bp-010h] ; 8b 46 f0
mov bx, word [bp+016h] ; 8b 5e 16
mov cx, word [bp-00ah] ; 8b 4e f6
mov word [bp+016h], cx ; 89 4e 16
mov word [bp-01eh], di ; 89 7e e2
and di, strict byte 00003h ; 83 e7 03
add ax, word [bp-00ah] ; 03 46 f6
add ax, strict word 0ffffh ; 05 ff ff
adc dx, strict byte 0ffffh ; 83 d2 ff
mov word [bp-022h], ax ; 89 46 de
mov word [bp-020h], dx ; 89 56 e0
shr word [bp-020h], 1 ; d1 6e e0
rcr word [bp-022h], 1 ; d1 5e de
shr word [bp-020h], 1 ; d1 6e e0
rcr word [bp-022h], 1 ; d1 5e de
mov cx, strict word 0000ch ; b9 0c 00
lea ax, [bp-02eh] ; 8d 46 d2
mov word [bp-02eh], strict word 00028h ; c7 46 d2 28 00
mov ax, word [bp-014h] ; 8b 46 ec
mov dx, word [bp-012h] ; 8b 56 ee
adc dx, word [bp-01eh] ; 13 56 e2
mov word [bp-02ch], ax ; 89 46 d4
mov word [bp-02ah], dx ; 89 56 d6
mov ax, word [bp-022h] ; 8b 46 de
mov word [bp-027h], ax ; 89 46 d9
mov ax, word [bp-00ah] ; 8b 46 f6
les bx, [bp-00eh] ; c4 5e f2
mov word [es:bx+00ah], ax ; 26 89 47 0a
mov word [es:bx+00ch], 00200h ; 26 c7 47 0c 00 02
mov word [es:bx+01ah], ax ; 26 89 47 1a
mov dx, word [bp-00ah] ; 8b 56 f6
mov bx, strict word 00004h ; bb 04 00
mov bx, word [bp-00eh] ; 8b 5e f2
mov word [es:bx+01ch], dx ; 26 89 57 1c
movzx dx, byte [bp-006h] ; 0f b6 56 fa
imul dx, dx, strict byte 00018h ; 6b d2 18
movzx dx, byte [es:bx+01eh] ; 26 0f b6 57 1e
mov word [bp-01ah], dx ; 89 56 e6
push word [bp-016h] ; ff 76 ea
push word [bp-01ch] ; ff 76 e4
push strict byte 00001h ; 6a 01
mov si, word [bp-00ah] ; 8b 76 f6
mov cx, strict word 00009h ; b9 09 00
movzx ax, byte [bp-006h] ; 0f b6 46 fa
lea bx, [bp-02eh] ; 8d 5e d2
mov dx, strict word 0000ch ; ba 0c 00
mov si, word [bp-01ah] ; 8b 76 e6
call word [word si+0006ah] ; ff 94 6a 00
les bx, [bp-00eh] ; c4 5e f2
db 066h, 026h, 0c7h, 047h, 01ah, 000h, 000h, 000h, 000h
; mov dword [es:bx+01ah], strict dword 000000000h ; 66 26 c7 47 1a 00 00 00 00
je near 03d7bh ; 0f 84 13 fe
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov byte [bp+016h], 000h ; c6 46 16 00
jmp near 04073h ; e9 d5 00
mov es, [bp-008h] ; 8e 46 f8
mov di, word [es:si+014h] ; 26 8b 7c 14
mov dx, word [es:si+012h] ; 26 8b 54 12
mov bx, word [es:si+010h] ; 26 8b 5c 10
mov byte [bp+016h], 000h ; c6 46 16 00
mov ax, word [bp+010h] ; 8b 46 10
mov cx, word [bp+014h] ; 8b 4e 14
mov word [bp-01ah], cx ; 89 4e e6
mov word [bp-018h], cx ; 89 4e e8
mov cx, word [bp-01ah] ; 8b 4e e6
or cx, word [bp-018h] ; 0b 4e e8
mov word [bp+014h], cx ; 89 4e 14
and di, strict byte 0003fh ; 83 e7 3f
mov word [bp+014h], cx ; 89 4e 14
mov dx, word [bp+012h] ; 8b 56 12
mov word [bp+012h], dx ; 89 56 12
mov word [bp+012h], dx ; 89 56 12
mov dl, byte [es:si+001h] ; 26 8a 54 01
mov word [bp+010h], ax ; 89 46 10
mov ax, word [bp+010h] ; 8b 46 10
or AL, strict byte 002h ; 0c 02
mov word [bp+010h], ax ; 89 46 10
or AL, strict byte 004h ; 0c 04
or AL, strict byte 005h ; 0c 05
mov es, [bp-008h] ; 8e 46 f8
cmp byte [es:si+001h], 004h ; 26 80 7c 01 04
jnc near 03d7bh ; 0f 83 49 fd
mov word [bp+008h], 0efc7h ; c7 46 08 c7 ef
mov word [bp+006h], 0f000h ; c7 46 06 00 f0
jmp near 03d7bh ; e9 3c fd
mov word [bp+016h], bx ; 89 5e 16
jmp near 03d7fh ; e9 37 fd
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov bx, word [bp+016h] ; 8b 5e 16
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
or byte [bp+01ch], 001h ; 80 4e 1c 01
jmp near 03d8eh ; e9 03 fd
db 050h, 04eh, 049h, 048h, 047h, 046h, 045h, 044h, 043h, 042h, 041h, 018h, 016h, 015h, 014h, 011h
db 010h, 00dh, 00ch, 00bh, 00ah, 009h, 008h, 005h, 004h, 003h, 002h, 001h, 000h, 029h, 046h, 0a5h
db 043h, 091h, 041h, 029h, 046h, 086h, 041h, 029h, 046h, 086h, 041h, 029h, 046h, 0a5h, 043h, 029h
db 046h, 029h, 046h, 0a5h, 043h, 0a5h, 043h, 0a5h, 043h, 0a5h, 043h, 0a5h, 043h, 0bbh, 041h, 0a5h
db 043h, 029h, 046h, 0c4h, 041h, 0d7h, 041h, 086h, 041h, 0d7h, 041h, 005h, 043h, 0bfh, 043h, 0d7h
db 041h, 0e6h, 043h, 0e2h, 045h, 0eah, 045h, 029h, 046h
_int13_cdrom: ; 0xf40e4 LB 0x562
sub sp, strict byte 00028h ; 83 ec 28
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-01ah], ax ; 89 46 e6
mov si, 00122h ; be 22 01
mov word [bp-00ch], ax ; 89 46 f4
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
mov ax, word [bp+010h] ; 8b 46 10
cmp ax, 000e0h ; 3d e0 00
cmp ax, 000f0h ; 3d f0 00
mov ax, word [bp+010h] ; 8b 46 10
mov ax, word [bp+018h] ; 8b 46 18
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
jmp near 04606h ; e9 d0 04
mov ax, word [bp+010h] ; 8b 46 10
mov es, [bp-00ch] ; 8e 46 f4
mov dl, byte [es:bx+000d0h] ; 26 8a 97 d0 00
mov byte [bp-008h], dl ; 88 56 f8
mov ax, word [bp+018h] ; 8b 46 18
mov ax, word [bp+018h] ; 8b 46 18
cmp ax, strict word 00050h ; 3d 50 00
jnbe near 04629h ; 0f 87 bd 04
mov cx, strict word 0001eh ; b9 1e 00
mov di, 0408bh ; bf 8b 40
mov ax, word [cs:di+040a8h] ; 2e 8b 85 a8 40
mov bx, word [bp+018h] ; 8b 5e 18
mov ax, word [bp+018h] ; 8b 46 18
jmp near 0460eh ; e9 7d 04
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp+018h], bx ; 89 5e 18
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
je near 043a9h ; 0f 84 f1 01
jmp near 04622h ; e9 67 04
mov word [bp+018h], bx ; 89 5e 18
jmp near 04611h ; e9 4d 04
mov word [bp+012h], 0aa55h ; c7 46 12 55 aa
mov word [bp+018h], bx ; 89 5e 18
mov word [bp+016h], strict word 00007h ; c7 46 16 07 00
jmp near 043a9h ; e9 d2 01
mov bx, word [bp+00ch] ; 8b 5e 0c
mov es, [bp+006h] ; 8e 46 06
mov word [bp-014h], bx ; 89 5e ec
mov [bp-012h], es ; 8c 46 ee
mov ax, word [es:bx+002h] ; 26 8b 47 02
mov word [bp-010h], ax ; 89 46 f0
mov ax, word [es:bx+006h] ; 26 8b 47 06
mov word [bp-01ch], ax ; 89 46 e4
mov ax, word [es:bx+004h] ; 26 8b 47 04
mov word [bp-020h], ax ; 89 46 e0
mov ax, word [es:bx+00ch] ; 26 8b 47 0c
mov word [bp-018h], ax ; 89 46 e8
mov di, word [es:bx+00eh] ; 26 8b 7f 0e
mov ax, word [bp+018h] ; 8b 46 18
push strict byte 00007h ; 6a 07
add sp, strict byte 00008h ; 83 c4 08
jmp near 04606h ; e9 e7 03
les bx, [bp-014h] ; c4 5e ec
mov ax, word [es:bx+008h] ; 26 8b 47 08
mov word [bp-018h], ax ; 89 46 e8
mov di, word [es:di+00ah] ; 26 8b 7d 0a
mov ax, word [bp+018h] ; 8b 46 18
mov word [bp-016h], ax ; 89 46 ea
cmp ax, strict word 00044h ; 3d 44 00
je near 043a5h ; 0f 84 66 01
cmp ax, strict word 00047h ; 3d 47 00
je near 043a5h ; 0f 84 5f 01
mov cx, strict word 0000ch ; b9 0c 00
lea ax, [bp-02ch] ; 8d 46 d4
mov word [bp-02ch], strict word 00028h ; c7 46 d4 28 00
mov ax, word [bp-018h] ; 8b 46 e8
mov word [bp-02ah], ax ; 89 46 d6
mov word [bp-028h], dx ; 89 56 d8
mov ax, word [bp-010h] ; 8b 46 f0
mov word [bp-025h], ax ; 89 46 db
mov ax, word [bp-010h] ; 8b 46 f0
mov es, [bp-00ch] ; 8e 46 f4
mov word [es:si+00ah], ax ; 26 89 44 0a
mov word [es:si+00ch], 00800h ; 26 c7 44 0c 00 08
movzx bx, byte [bp-008h] ; 0f b6 5e f8
imul bx, bx, strict byte 00018h ; 6b db 18
movzx di, byte [es:bx+01eh] ; 26 0f b6 7f 1e
push word [bp-01ch] ; ff 76 e4
push word [bp-020h] ; ff 76 e0
push strict byte 00001h ; 6a 01
mov cx, strict word 0000bh ; b9 0b 00
push strict byte 00000h ; 6a 00
movzx ax, byte [bp-008h] ; 0f b6 46 f8
lea bx, [bp-02ch] ; 8d 5e d4
mov dx, strict word 0000ch ; ba 0c 00
call word [word di+0006ah] ; ff 95 6a 00
mov es, [bp-00ch] ; 8e 46 f4
mov ax, word [es:si+016h] ; 26 8b 44 16
mov di, word [es:si+018h] ; 26 8b 7c 18
mov cx, strict word 0000bh ; b9 0b 00
les bx, [bp-014h] ; c4 5e ec
mov word [es:bx+002h], ax ; 26 89 47 02
je near 043a5h ; 0f 84 cb 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp-016h] ; ff 76 ea
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
mov ax, word [bp+018h] ; 8b 46 18
jmp near 0460eh ; e9 09 03
cmp bx, strict byte 00002h ; 83 fb 02
jnbe near 04606h ; 0f 87 fa 02
movzx ax, byte [bp-008h] ; 0f b6 46 f8
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-00ch] ; 8e 46 f4
mov al, byte [es:di+021h] ; 26 8a 45 21
cmp bx, strict byte 00002h ; 83 fb 02
cmp bx, strict byte 00001h ; 83 fb 01
jne near 043a5h ; 0f 85 77 00
cmp AL, strict byte 0ffh ; 3c ff
mov ax, word [bp+018h] ; 8b 46 18
mov word [bp+018h], ax ; 89 46 18
or AL, strict byte 001h ; 0c 01
jmp near 0460eh ; e9 ca 02
movzx dx, byte [bp-008h] ; 0f b6 56 f8
imul dx, dx, strict byte 00018h ; 6b d2 18
mov es, [bp-00ch] ; 8e 46 f4
mov byte [es:si+021h], al ; 26 88 44 21
mov ax, word [bp+018h] ; 8b 46 18
or AL, strict byte 001h ; 0c 01
mov word [bp+018h], ax ; 89 46 18
jmp near 043a5h ; e9 42 00
mov word [bp+018h], bx ; 89 5e 18
mov byte [bp+018h], al ; 88 46 18
jmp near 04611h ; e9 9e 02
movzx dx, byte [bp-008h] ; 0f b6 56 f8
imul dx, dx, strict byte 00018h ; 6b d2 18
mov es, [bp-00ch] ; 8e 46 f4
mov byte [es:si+021h], al ; 26 88 44 21
mov ax, word [bp+018h] ; 8b 46 18
mov dx, word [bp+018h] ; 8b 56 18
mov word [bp+018h], dx ; 89 56 18
mov byte [bp+019h], 000h ; c6 46 19 00
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+01eh], 0feh ; 80 66 1e fe
lea sp, [bp-004h] ; 8d 66 fc
movzx ax, byte [bp-008h] ; 0f b6 46 f8
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-00ch] ; 8e 46 f4
mov al, byte [es:si+021h] ; 26 8a 44 21
jmp near 041beh ; e9 e5 fd
mov ax, word [bp+018h] ; 8b 46 18
jmp near 0460eh ; e9 28 02
mov dx, word [bp+00ch] ; 8b 56 0c
mov cx, word [bp+006h] ; 8b 4e 06
mov word [bp-00ah], cx ; 89 4e f6
mov ax, word [es:di] ; 26 8b 05
mov word [bp-00eh], ax ; 89 46 f2
cmp ax, strict word 0001ah ; 3d 1a 00
jc near 04606h ; 0f 82 04 02
movzx ax, byte [bp-008h] ; 0f b6 46 f8
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-00ch] ; 8e 46 f4
mov ax, word [es:di+024h] ; 26 8b 45 24
db 066h, 026h, 0c7h, 005h, 01ah, 000h, 074h, 000h
; mov dword [es:di], strict dword 00074001ah ; 66 26 c7 05 1a 00 74 00
db 066h, 026h, 0c7h, 045h, 004h, 0ffh, 0ffh, 0ffh, 0ffh
; mov dword [es:di+004h], strict dword 0ffffffffh ; 66 26 c7 45 04 ff ff ff ff
db 066h, 026h, 0c7h, 045h, 008h, 0ffh, 0ffh, 0ffh, 0ffh
; mov dword [es:di+008h], strict dword 0ffffffffh ; 66 26 c7 45 08 ff ff ff ff
db 066h, 026h, 0c7h, 045h, 00ch, 0ffh, 0ffh, 0ffh, 0ffh
; mov dword [es:di+00ch], strict dword 0ffffffffh ; 66 26 c7 45 0c ff ff ff ff
mov word [es:di+018h], ax ; 26 89 45 18
db 066h, 026h, 0c7h, 045h, 010h, 0ffh, 0ffh, 0ffh, 0ffh
; mov dword [es:di+010h], strict dword 0ffffffffh ; 66 26 c7 45 10 ff ff ff ff
db 066h, 026h, 0c7h, 045h, 014h, 0ffh, 0ffh, 0ffh, 0ffh
; mov dword [es:di+014h], strict dword 0ffffffffh ; 66 26 c7 45 14 ff ff ff ff
cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e
jc near 0452ah ; 0f 82 cf 00
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00
mov ax, word [bp-01ah] ; 8b 46 e6
mov word [es:bx+01ch], ax ; 26 89 47 1c
mov word [es:bx+01ah], 00312h ; 26 c7 47 1a 12 03
movzx cx, byte [bp-008h] ; 0f b6 4e f8
imul di, di, strict byte 00006h ; 6b ff 06
mov es, [bp-00ch] ; 8e 46 f4
mov ax, word [es:di+001c2h] ; 26 8b 85 c2 01
mov word [bp-01eh], ax ; 89 46 e2
mov dx, word [es:di+001c4h] ; 26 8b 95 c4 01
mov al, byte [es:di+001c1h] ; 26 8a 85 c1 01
mov byte [bp-006h], al ; 88 46 fa
imul cx, cx, strict byte 00018h ; 6b c9 18
mov al, byte [es:di+022h] ; 26 8a 45 22
cmp AL, strict byte 001h ; 3c 01
or AL, strict byte 070h ; 0c 70
mov ax, word [bp-01eh] ; 8b 46 e2
mov word [es:si+001f0h], ax ; 26 89 84 f0 01
mov word [es:si+001f2h], dx ; 26 89 94 f2 01
movzx ax, byte [bp-008h] ; 0f b6 46 f8
mov cx, strict word 00002h ; b9 02 00
mov byte [es:si+001f4h], al ; 26 88 84 f4 01
mov byte [es:si+001f5h], 0cbh ; 26 c6 84 f5 01 cb
mov al, byte [bp-006h] ; 8a 46 fa
mov byte [es:si+001f6h], al ; 26 88 84 f6 01
mov word [es:si+001f7h], strict word 00001h ; 26 c7 84 f7 01 01 00
mov byte [es:si+001f9h], 000h ; 26 c6 84 f9 01 00
mov word [es:si+001fah], di ; 26 89 bc fa 01
mov word [es:si+001fch], strict word 00000h ; 26 c7 84 fc 01 00 00
mov byte [es:si+001feh], 011h ; 26 c6 84 fe 01 11
add dx, 00312h ; 81 c2 12 03
mov ax, word [bp-01ah] ; 8b 46 e6
mov es, [bp-00ch] ; 8e 46 f4
mov byte [es:si+001ffh], cl ; 26 88 8c ff 01
cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42
jc near 043a5h ; 0f 82 73 fe
movzx ax, byte [bp-008h] ; 0f b6 46 f8
imul ax, ax, strict byte 00006h ; 6b c0 06
mov es, [bp-00ch] ; 8e 46 f4
mov al, byte [es:si+001c0h] ; 26 8a 84 c0 01
mov dx, word [es:si+001c2h] ; 26 8b 94 c2 01
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:bx], strict word 00042h ; 26 c7 07 42 00
db 066h, 026h, 0c7h, 047h, 01eh, 0ddh, 0beh, 024h, 000h
; mov dword [es:bx+01eh], strict dword 00024beddh ; 66 26 c7 47 1e dd be 24 00
mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00
db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h
; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20
mov es, [bp-00ah] ; 8e 46 f6
db 066h, 026h, 0c7h, 047h, 028h, 041h, 054h, 041h, 020h
; mov dword [es:bx+028h], strict dword 020415441h ; 66 26 c7 47 28 41 54 41 20
db 066h, 026h, 0c7h, 047h, 02ch, 020h, 020h, 020h, 020h
; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20
mov word [es:bx+030h], dx ; 26 89 57 30
db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h
; mov dword [es:bx+032h], strict dword 000000000h ; 66 26 c7 47 32 00 00 00 00
mov word [es:bx+036h], strict word 00000h ; 26 c7 47 36 00 00
mov al, byte [bp-008h] ; 8a 46 f8
and AL, strict byte 001h ; 24 01
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:bx+038h], ax ; 26 89 47 38
db 066h, 026h, 0c7h, 047h, 03ah, 000h, 000h, 000h, 000h
; mov dword [es:bx+03ah], strict dword 000000000h ; 66 26 c7 47 3a 00 00 00 00
mov word [es:bx+03eh], strict word 00000h ; 26 c7 47 3e 00 00
mov AH, strict byte 01eh ; b4 1e
mov es, [bp-00ah] ; 8e 46 f6
add al, byte [es:si] ; 26 02 04
mov es, [bp-00ah] ; 8e 46 f6
mov byte [es:bx+041h], al ; 26 88 47 41
jmp near 043a5h ; e9 c3 fd
mov word [bp+018h], bx ; 89 5e 18
cmp bx, strict byte 00006h ; 83 fb 06
je near 043a5h ; 0f 84 b4 fd
cmp bx, strict byte 00001h ; 83 fb 01
jbe near 043a5h ; 0f 86 ab fd
cmp bx, strict byte 00003h ; 83 fb 03
cmp bx, strict byte 00004h ; 83 fb 04
jbe near 043a5h ; 0f 86 9f fd
mov ax, word [bp+018h] ; 8b 46 18
mov word [bp+018h], ax ; 89 46 18
mov bx, word [bp+018h] ; 8b 5e 18
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
or byte [bp+01eh], 001h ; 80 4e 1e 01
jmp near 043b8h ; e9 8f fd
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+018h] ; 8b 46 18
push strict byte 00004h ; 6a 04
jmp near 04216h ; e9 d0 fb
print_boot_device_: ; 0xf4646 LB 0x4b
mov dx, strict word 00002h ; ba 02 00
mov dx, strict word 00003h ; ba 03 00
mov dx, strict word 00001h ; ba 01 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
imul dx, dx, strict byte 0000ah ; 6b d2 0a
add dx, 00db0h ; 81 c2 b0 0d
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
lea sp, [bp-002h] ; 8d 66 fe
print_boot_failure_: ; 0xf4691 LB 0x93
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
cmp byte [bp+004h], 001h ; 80 7e 04 01
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
lea sp, [bp-002h] ; 8d 66 fe
print_cdromboot_failure_: ; 0xf4724 LB 0x27
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
lea sp, [bp-006h] ; 8d 66 fa
_int19_function: ; 0xf474b LB 0x256
sub sp, strict byte 0000eh ; 83 ec 0e
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-00eh], ax ; 89 46 f2
mov byte [bp-008h], 000h ; c6 46 f8 00
mov ax, strict word 0003dh ; b8 3d 00
mov ax, strict word 00038h ; b8 38 00
and AL, strict byte 0f0h ; 24 f0
mov ax, strict word 0003ch ; b8 3c 00
and AL, strict byte 00fh ; 24 0f
mov dx, 00339h ; ba 39 03
mov dx, 00339h ; ba 39 03
cmp byte [bp+004h], 001h ; 80 7e 04 01
mov ax, strict word 0003ch ; b8 3c 00
and AL, strict byte 0f0h ; 24 f0
cmp byte [bp+004h], 002h ; 80 7e 04 02
cmp byte [bp+004h], 003h ; 80 7e 04 03
cmp byte [bp+004h], 004h ; 80 7e 04 04
cmp si, strict byte 00010h ; 83 fe 10
mov byte [bp-008h], 001h ; c6 46 f8 01
mov byte [bp-006h], al ; 88 46 fa
mov byte [bp-00ah], al ; 88 46 f6
mov byte [bp-00ch], al ; 88 46 f4
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
movzx ax, byte [bp+004h] ; 0f b6 46 04
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
and si, strict byte 0000fh ; 83 e6 0f
cmp si, strict byte 00002h ; 83 fe 02
cmp si, strict byte 00004h ; 83 fe 04
cmp si, strict byte 00003h ; 83 fe 03
cmp si, strict byte 00001h ; 83 fe 01
mov byte [bp-006h], al ; 88 46 fa
mov byte [bp-00ah], al ; 88 46 f6
mov dx, 00338h ; ba 38 03
mov ax, word [bp-00eh] ; 8b 46 f2
add AL, strict byte 080h ; 04 80
mov byte [bp-006h], al ; 88 46 fa
mov byte [bp-00ah], 000h ; c6 46 f6 00
mov byte [bp-006h], 000h ; c6 46 fa 00
mov byte [bp-00ah], 001h ; c6 46 f6 01
mov byte [bp-00ch], 001h ; c6 46 f4 01
cmp byte [bp-00ah], 000h ; 80 7e f6 00
test AL, strict byte 0ffh ; a8 ff
movzx ax, byte [bp-008h] ; 0f b6 46 f8
movzx bx, byte [bp-006h] ; 0f b6 5e fa
movzx dx, byte [bp-00ch] ; 0f b6 56 f4
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
mov cx, strict word 00001h ; b9 01 00
jmp near 0499ah ; e9 1f 01
mov dx, 0032eh ; ba 2e 03
mov ax, word [bp-00eh] ; 8b 46 f2
mov byte [bp-006h], bl ; 88 5e fa
cmp byte [bp-00ch], 001h ; 80 7e f4 01
jne near 04908h ; 0f 85 74 00
mov ax, 0e200h ; b8 00 e2
cmp word [es:si], 0aa55h ; 26 81 3c 55 aa
mov si, word [es:si+01ah] ; 26 8b 74 1a
cmp word [es:si+002h], 0506eh ; 26 81 7c 02 6e 50
cmp word [es:si], 05024h ; 26 81 3c 24 50
mov di, word [es:si+00eh] ; 26 8b 7c 0e
mov dx, word [es:di] ; 26 8b 15
mov ax, word [es:di+002h] ; 26 8b 45 02
cmp ax, 06568h ; 3d 68 65
cmp dx, 07445h ; 81 fa 45 74
movzx bx, byte [bp-006h] ; 0f b6 5e fa
movzx dx, byte [bp-00ch] ; 0f b6 56 f4
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
mov word [bp-012h], strict word 00006h ; c7 46 ee 06 00
mov word [bp-010h], cx ; 89 4e f0
movzx bx, byte [bp-006h] ; 0f b6 5e fa
movzx dx, byte [bp-00ch] ; 0f b6 56 f4
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
mov word [bp-010h], cx ; 89 4e f0
mov ax, word [es:si+01ah] ; 26 8b 44 1a
mov word [bp-012h], ax ; 89 46 ee
call far [bp-012h] ; ff 5e ee
jmp near 0485dh ; e9 55 ff
cmp byte [bp-00ah], 000h ; 80 7e f6 00
cmp byte [bp-00ch], 000h ; 80 7e f4 00
mov di, 007c0h ; bf c0 07
mov dl, byte [bp-006h] ; 8a 56 fa
mov ax, 00201h ; b8 01 02
mov DH, strict byte 000h ; b6 00
mov cx, strict word 00001h ; b9 01 00
mov ax, strict word 00000h ; b8 00 00
sbb ax, strict byte 00000h ; 83 d8 00
jne near 0485dh ; 0f 85 29 ff
cmp byte [bp-006h], 000h ; 80 7e fa 00
cmp byte [bp-00ah], 000h ; 80 7e f6 00
mov CL, strict byte 001h ; b1 01
mov dx, strict word 00002h ; ba 02 00
mov dx, 001feh ; ba fe 01
cmp ax, 0aa55h ; 3d 55 aa
movzx ax, byte [bp-008h] ; 0f b6 46 f8
movzx bx, byte [bp-006h] ; 0f b6 5e fa
movzx dx, byte [bp-00ch] ; 0f b6 56 f4
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
jmp near 04871h ; e9 f2 fe
movzx bx, byte [bp-006h] ; 0f b6 5e fa
movzx dx, byte [bp-00ch] ; 0f b6 56 f4
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
movzx bx, byte [bp-006h] ; 0f b6 5e fa
lea sp, [bp-004h] ; 8d 66 fc
keyboard_panic_: ; 0xf49a1 LB 0x13
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
_keyboard_init: ; 0xf49b4 LB 0x26a
mov AL, strict byte 0aah ; b0 aa
mov dx, strict word 00064h ; ba 64 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov dx, 00080h ; ba 80 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 001h ; b0 01
mov dx, 00080h ; ba 80 00
mov ax, strict word 00001h ; b8 01 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, strict word 00055h ; 3d 55 00
mov ax, 003dfh ; b8 df 03
mov AL, strict byte 0abh ; b0 ab
mov dx, strict word 00064h ; ba 64 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov AL, strict byte 010h ; b0 10
mov dx, 00080h ; ba 80 00
mov ax, strict word 0000ah ; b8 0a 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 011h ; b0 11
mov dx, 00080h ; ba 80 00
mov ax, strict word 0000bh ; b8 0b 00
mov dx, strict word 00060h ; ba 60 00
mov ax, 003e0h ; b8 e0 03
mov AL, strict byte 0ffh ; b0 ff
mov dx, strict word 00060h ; ba 60 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov AL, strict byte 020h ; b0 20
mov dx, 00080h ; ba 80 00
mov ax, strict word 00014h ; b8 14 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 021h ; b0 21
mov dx, 00080h ; ba 80 00
mov ax, strict word 00015h ; b8 15 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, 000fah ; 3d fa 00
mov ax, 003e1h ; b8 e1 03
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 031h ; b0 31
mov dx, 00080h ; ba 80 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, 000aah ; 3d aa 00
cmp ax, 000aah ; 3d aa 00
mov ax, 003e2h ; b8 e2 03
mov AL, strict byte 0f5h ; b0 f5
mov dx, strict word 00060h ; ba 60 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov AL, strict byte 040h ; b0 40
mov dx, 00080h ; ba 80 00
mov ax, strict word 00028h ; b8 28 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 041h ; b0 41
mov dx, 00080h ; ba 80 00
mov ax, strict word 00029h ; b8 29 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, 000fah ; 3d fa 00
mov ax, 003e3h ; b8 e3 03
mov AL, strict byte 060h ; b0 60
mov dx, strict word 00064h ; ba 64 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov AL, strict byte 050h ; b0 50
mov dx, 00080h ; ba 80 00
mov ax, strict word 00032h ; b8 32 00
mov AL, strict byte 065h ; b0 65
mov dx, strict word 00060h ; ba 60 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov AL, strict byte 060h ; b0 60
mov dx, 00080h ; ba 80 00
mov ax, strict word 0003ch ; b8 3c 00
mov AL, strict byte 0f4h ; b0 f4
mov dx, strict word 00060h ; ba 60 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
mov AL, strict byte 070h ; b0 70
mov dx, 00080h ; ba 80 00
mov ax, strict word 00046h ; b8 46 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 071h ; b0 71
mov dx, 00080h ; ba 80 00
mov ax, strict word 00046h ; b8 46 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, 000fah ; 3d fa 00
mov ax, 003e4h ; b8 e4 03
mov AL, strict byte 0a8h ; b0 a8
mov dx, strict word 00064h ; ba 64 00
enqueue_key_: ; 0xf4c1e LB 0x93
mov byte [bp-00ah], al ; 88 46 f6
mov dx, strict word 0001ah ; ba 1a 00
mov ax, strict word 00040h ; b8 40 00
mov dx, strict word 0001ch ; ba 1c 00
mov ax, strict word 00040h ; b8 40 00
lea cx, [si+002h] ; 8d 4c 02
cmp cx, strict byte 0003eh ; 83 f9 3e
mov cx, strict word 0001eh ; b9 1e 00
mov ax, strict word 00040h ; b8 40 00
movzx bx, byte [bp-00ah] ; 0f b6 5e f6
lea dx, [si+001h] ; 8d 54 01
mov ax, strict word 00040h ; b8 40 00
mov dx, strict word 0001ch ; ba 1c 00
mov ax, strict word 00040h ; b8 40 00
mov ax, strict word 00001h ; b8 01 00
lea sp, [bp-008h] ; 8d 66 f8
; mov ch, 0bah ; c6 c5 ba
mov ax, 0aab6h ; b8 b6 aa
cmp bh, byte [bx+si] ; 3a 38
sub bl, byte [ss:di] ; 36 2a 1d
and byte [di+06ch], cl ; 20 4d 6c
mov bx, 0de4eh ; bb 4e de
mov cx, 0474dh ; b9 4d 47
xor cx, word [bp+039h] ; 33 4e 39
_int09_function: ; 0xf4cb1 LB 0x35d
sub sp, strict byte 0000ch ; 83 ec 0c
mov al, byte [bp+014h] ; 8a 46 14
mov byte [bp-00ah], al ; 88 46 f6
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00004h ; 83 c4 04
jmp near 05007h ; e9 2b 03
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp-00eh], al ; 88 46 f2
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp-010h], al ; 88 46 f0
mov byte [bp-00ch], al ; 88 46 f4
mov dx, 00096h ; ba 96 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp-008h], al ; 88 46 f8
mov byte [bp-006h], al ; 88 46 fa
mov al, byte [bp-00ah] ; 8a 46 f6
mov cx, strict word 00010h ; b9 10 00
mov di, 04c82h ; bf 82 4c
mov ax, word [cs:di+04c91h] ; 2e 8b 85 91 4c
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
or byte [bp-00ch], 040h ; 80 4e f4 40
movzx bx, byte [bp-00ch] ; 0f b6 5e f4
jmp near 04eafh ; e9 76 01
mov al, byte [bp-010h] ; 8a 46 f0
and AL, strict byte 0bfh ; 24 bf
mov byte [bp-00ch], al ; 88 46 f4
jmp near 04eafh ; e9 68 01
test byte [bp-006h], 002h ; f6 46 fa 02
jne near 04fe9h ; 0f 85 9a 02
mov al, byte [bp-00ah] ; 8a 46 f6
and AL, strict byte 07fh ; 24 7f
cmp AL, strict byte 02ah ; 3c 2a
test byte [bp-00ah], 080h ; f6 46 f6 80
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 71 02
test byte [bp-008h], 001h ; f6 46 f8 01
jne near 04fe9h ; 0f 85 69 02
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov al, byte [bp-008h] ; 8a 46 f8
test AL, strict byte 002h ; a8 02
or AL, strict byte 004h ; 0c 04
mov byte [bp-006h], al ; 88 46 fa
mov dx, 00096h ; ba 96 00
mov al, byte [bp-010h] ; 8a 46 f0
or AL, strict byte 001h ; 0c 01
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 30 02
test byte [bp-008h], 001h ; f6 46 f8 01
jne near 04fe9h ; 0f 85 28 02
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov al, byte [bp-008h] ; 8a 46 f8
test AL, strict byte 002h ; a8 02
and AL, strict byte 0fbh ; 24 fb
mov byte [bp-006h], al ; 88 46 fa
mov dx, 00096h ; ba 96 00
mov al, byte [bp-010h] ; 8a 46 f0
and AL, strict byte 0feh ; 24 fe
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 ef 01
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov al, byte [bp-008h] ; 8a 46 f8
test AL, strict byte 002h ; a8 02
or AL, strict byte 008h ; 0c 08
mov byte [bp-006h], al ; 88 46 fa
mov dx, 00096h ; ba 96 00
mov al, byte [bp-010h] ; 8a 46 f0
or AL, strict byte 002h ; 0c 02
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 b6 01
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov al, byte [bp-008h] ; 8a 46 f8
test AL, strict byte 002h ; a8 02
and AL, strict byte 0f7h ; 24 f7
mov byte [bp-006h], al ; 88 46 fa
mov dx, 00096h ; ba 96 00
mov al, byte [bp-010h] ; 8a 46 f0
and AL, strict byte 0fdh ; 24 fd
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 7d 01
test byte [bp-008h], 003h ; f6 46 f8 03
jne near 04fe9h ; 0f 85 75 01
mov al, byte [bp-010h] ; 8a 46 f0
or AL, strict byte 020h ; 0c 20
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
mov bl, byte [bp-00eh] ; 8a 5e f2
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 4d 01
test byte [bp-008h], 003h ; f6 46 f8 03
jne near 04fe9h ; 0f 85 45 01
mov al, byte [bp-010h] ; 8a 46 f0
and AL, strict byte 0dfh ; 24 df
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
jmp near 04fe9h ; e9 2e 01
mov al, byte [bp-010h] ; 8a 46 f0
or AL, strict byte 010h ; 0c 10
mov byte [bp-00ch], al ; 88 46 f4
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
mov bl, byte [bp-00eh] ; 8a 5e f2
mov al, byte [bp-010h] ; 8a 46 f0
and AL, strict byte 0efh ; 24 ef
and AL, strict byte 00ch ; 24 0c
cmp AL, strict byte 00ch ; 3c 0c
jmp far 0f000h:0e05bh ; ea 5b e0 00 f0
test byte [bp-00ah], 080h ; f6 46 f6 80
jne near 04fe9h ; 0f 85 f6 00
cmp byte [bp-00ah], 058h ; 80 7e f6 58
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
jmp near 05007h ; e9 f0 00
movzx si, byte [bp-00ah] ; 0f b6 76 f6
imul si, si, strict byte 0000ah ; 6b f6 0a
mov dl, byte [si+00ddeh] ; 8a 94 de 0d
mov ax, word [si+00ddeh] ; 8b 84 de 0d
jmp near 04fbah ; e9 8c 00
movzx si, byte [bp-00ah] ; 0f b6 76 f6
imul si, si, strict byte 0000ah ; 6b f6 0a
mov dl, byte [si+00ddch] ; 8a 94 dc 0d
mov ax, word [si+00ddch] ; 8b 84 dc 0d
jmp near 04fbah ; e9 75 00
mov al, byte [bp-006h] ; 8a 46 fa
and AL, strict byte 002h ; 24 02
mov al, byte [bp-00ah] ; 8a 46 f6
cmp AL, strict byte 047h ; 3c 47
cmp AL, strict byte 053h ; 3c 53
jnbe short 04f63h ; 77 0a
mov DL, strict byte 0e0h ; b2 e0
imul si, si, strict byte 0000ah ; 6b f6 0a
movzx si, byte [bp-00ah] ; 0f b6 76 f6
imul si, si, strict byte 0000ah ; 6b f6 0a
movzx ax, byte [si+00de0h] ; 0f b6 84 e0 0d
mov dl, byte [si+00dd8h] ; 8a 94 d8 0d
mov ax, word [si+00dd8h] ; 8b 84 d8 0d
mov dl, byte [si+00ddah] ; 8a 94 da 0d
mov ax, word [si+00ddah] ; 8b 84 da 0d
mov byte [bp-00ah], al ; 88 46 f6
movzx si, byte [bp-00ah] ; 0f b6 76 f6
imul si, si, strict byte 0000ah ; 6b f6 0a
movzx ax, byte [si+00de0h] ; 0f b6 84 e0 0d
mov dl, byte [si+00ddah] ; 8a 94 da 0d
mov ax, word [si+00ddah] ; 8b 84 da 0d
mov dl, byte [si+00dd8h] ; 8a 94 d8 0d
mov ax, word [si+00dd8h] ; 8b 84 d8 0d
mov byte [bp-00ah], al ; 88 46 f6
cmp byte [bp-00ah], 000h ; 80 7e f6 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00004h ; 83 c4 04
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
mov al, byte [bp-00ah] ; 8a 46 f6
and AL, strict byte 07fh ; 24 7f
cmp AL, strict byte 01dh ; 3c 1d
and byte [bp-006h], 0feh ; 80 66 fa fe
and byte [bp-006h], 0fdh ; 80 66 fa fd
movzx bx, byte [bp-006h] ; 0f b6 5e fa
mov dx, 00096h ; ba 96 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-004h] ; 8d 66 fc
dequeue_key_: ; 0xf500e LB 0x94
mov word [bp-006h], dx ; 89 56 fa
mov word [bp-008h], cx ; 89 4e f8
mov dx, strict word 0001ah ; ba 1a 00
mov ax, strict word 00040h ; b8 40 00
mov dx, strict word 0001ch ; ba 1c 00
mov ax, strict word 00040h ; b8 40 00
mov ax, strict word 00040h ; b8 40 00
lea dx, [bx+001h] ; 8d 57 01
mov ax, strict word 00040h ; b8 40 00
mov es, [bp-008h] ; 8e 46 f8
mov byte [es:si], cl ; 26 88 0c
mov es, [bp-006h] ; 8e 46 fa
mov byte [es:di], al ; 26 88 05
cmp word [bp+004h], strict byte 00000h ; 83 7e 04 00
cmp bx, strict byte 0003eh ; 83 fb 3e
mov bx, strict word 0001eh ; bb 1e 00
mov dx, strict word 0001ah ; ba 1a 00
mov ax, strict word 00040h ; b8 40 00
mov ax, strict word 00001h ; b8 01 00
lea sp, [bp-004h] ; 8d 66 fc
mov byte [01292h], AL ; a2 92 12
adc word [bx+si], dx ; 11 10
or cl, byte [bx+di] ; 0a 09
add ax, 00102h ; 05 02 01
add byte [bx+si+053h], al ; 00 40 53
jmp near 049e4h ; e9 51 f9
and dx, word [bp+si+02ch] ; 23 52 2c
xor ax, 08353h ; 35 53 83
_int16_function: ; 0xf50a2 LB 0x2e7
sub sp, strict byte 00006h ; 83 ec 06
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 00097h ; ba 97 00
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 007h ; 24 07
mov AL, strict byte 0edh ; b0 ed
mov dx, strict word 00060h ; ba 60 00
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 021h ; b0 21
mov dx, 00080h ; ba 80 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, 000fah ; 3d fa 00
and ax, strict word 00007h ; 25 07 00
and AL, strict byte 007h ; 24 07
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov AL, strict byte 021h ; b0 21
mov dx, 00080h ; ba 80 00
mov dx, strict word 00060h ; ba 60 00
mov dx, 00097h ; ba 97 00
mov ax, strict word 00040h ; b8 40 00
mov ax, word [bp+012h] ; 8b 46 12
cmp ax, 000a2h ; 3d a2 00
jnbe near 05340h ; 0f 87 ff 01
mov cx, strict word 0000ch ; b9 0c 00
mov di, 0507fh ; bf 7f 50
mov ax, word [cs:di+0508ah] ; 2e 8b 85 8a 50
push strict byte 00001h ; 6a 01
lea bx, [bp-008h] ; 8d 5e f8
lea ax, [bp-006h] ; 8d 46 fa
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
cmp byte [bp-006h], 000h ; 80 7e fa 00
cmp byte [bp-008h], 0f0h ; 80 7e f8 f0
cmp byte [bp-008h], 0e0h ; 80 7e f8 e0
mov byte [bp-008h], 000h ; c6 46 f8 00
movzx dx, byte [bp-006h] ; 0f b6 56 fa
movzx ax, byte [bp-008h] ; 0f b6 46 f8
mov word [bp+012h], dx ; 89 56 12
jmp near 05383h ; e9 e6 01
or word [bp+01ch], 00200h ; 81 4e 1c 00 02
push strict byte 00000h ; 6a 00
lea bx, [bp-008h] ; 8d 5e f8
lea ax, [bp-006h] ; 8d 46 fa
or word [bp+01ch], strict byte 00040h ; 83 4e 1c 40
jmp near 05383h ; e9 c7 01
cmp byte [bp-006h], 000h ; 80 7e fa 00
cmp byte [bp-008h], 0f0h ; 80 7e f8 f0
cmp byte [bp-008h], 0e0h ; 80 7e f8 e0
mov byte [bp-008h], 000h ; c6 46 f8 00
movzx dx, byte [bp-006h] ; 0f b6 56 fa
movzx ax, byte [bp-008h] ; 0f b6 46 f8
mov word [bp+012h], dx ; 89 56 12
and word [bp+01ch], strict byte 0ffbfh ; 83 66 1c bf
jmp near 05383h ; e9 9a 01
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov dx, word [bp+012h] ; 8b 56 12
mov al, byte [bp+010h] ; 8a 46 10
mov ax, word [bp+010h] ; 8b 46 10
mov ax, word [bp+012h] ; 8b 46 12
or AL, strict byte 001h ; 0c 01
mov word [bp+012h], ax ; 89 46 12
jmp near 05383h ; e9 68 01
and word [bp+012h], 0ff00h ; 81 66 12 00 ff
jmp near 05383h ; e9 60 01
mov ax, word [bp+012h] ; 8b 46 12
or AL, strict byte 030h ; 0c 30
mov byte [bp-004h], 002h ; c6 46 fc 02
mov AL, strict byte 0f2h ; b0 f2
mov dx, strict word 00060h ; ba 60 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov dx, 00080h ; ba 80 00
mov dx, strict word 00060h ; ba 60 00
cmp ax, 000fah ; 3d fa 00
mov bx, strict word 0ffffh ; bb ff ff
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 001h ; a8 01
mov dx, 00080h ; ba 80 00
mov dx, strict word 00060h ; ba 60 00
dec byte [bp-004h] ; fe 4e fc
cmp byte [bp-004h], 000h ; 80 7e fc 00
jnbe short 05262h ; 77 cb
mov word [bp+00ch], cx ; 89 4e 0c
jmp near 05383h ; e9 e6 00
push strict byte 00001h ; 6a 01
lea bx, [bp-008h] ; 8d 5e f8
lea ax, [bp-006h] ; 8d 46 fa
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
cmp byte [bp-006h], 000h ; 80 7e fa 00
je near 0518ah ; 0f 84 c7 fe
cmp byte [bp-008h], 0f0h ; 80 7e f8 f0
je near 05186h ; 0f 84 bb fe
jmp near 0518ah ; e9 bc fe
or word [bp+01ch], 00200h ; 81 4e 1c 00 02
push strict byte 00000h ; 6a 00
lea bx, [bp-008h] ; 8d 5e f8
lea ax, [bp-006h] ; 8d 46 fa
je near 051b5h ; 0f 84 cd fe
cmp byte [bp-006h], 000h ; 80 7e fa 00
je near 051d2h ; 0f 84 e2 fe
cmp byte [bp-008h], 0f0h ; 80 7e f8 f0
je near 051ceh ; 0f 84 d6 fe
jmp near 051d2h ; e9 d7 fe
mov dx, strict word 00017h ; ba 17 00
mov ax, strict word 00040h ; b8 40 00
mov dx, word [bp+012h] ; 8b 56 12
mov word [bp+012h], dx ; 89 56 12
mov dx, strict word 00018h ; ba 18 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 00096h ; ba 96 00
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 00ch ; 24 0c
mov dx, word [bp+012h] ; 8b 56 12
jmp near 05195h ; e9 60 fe
mov ax, word [bp+012h] ; 8b 46 12
jmp near 05215h ; e9 d5 fe
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+012h] ; 8b 46 12
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+00eh] ; 8b 46 0e
mov ax, word [bp+010h] ; 8b 46 10
mov ax, word [bp+00ch] ; 8b 46 0c
mov ax, word [bp+012h] ; 8b 46 12
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ch ; 83 c4 0c
lea sp, [bp-002h] ; 8d 66 fe
set_geom_lba_: ; 0xf5389 LB 0x9e
enter 00004h, 000h ; c8 04 00 00
mov word [bp-004h], bx ; 89 5e fc
mov word [bp-002h], cx ; 89 4e fe
mov dx, strict word 0007eh ; ba 7e 00
mov di, 000ffh ; bf ff 00
cmp bx, strict byte 00004h ; 83 fb 04
cmp dx, word [bp-002h] ; 3b 56 fe
jnbe short 053b6h ; 77 07
cmp ax, word [bp-004h] ; 3b 46 fc
mov bx, strict word 0003fh ; bb 3f 00
mov ax, word [bp-004h] ; 8b 46 fc
mov dx, word [bp-002h] ; 8b 56 fe
mov word [es:si+002h], ax ; 26 89 44 02
cmp ax, 00400h ; 3d 00 04
mov word [es:si+002h], 00400h ; 26 c7 44 02 00 04
mov word [es:si], di ; 26 89 3c
mov word [es:si+004h], strict word 0003fh ; 26 c7 44 04 3f 00
mov CL, strict byte 054h ; b1 54
add AL, strict byte 055h ; 04 55
add AL, strict byte 055h ; 04 55
add AL, strict byte 055h ; 04 55
fcom qword [bp+00ah] ; dc 56 0a
or bl, byte [bx+si-00bh] ; 0a 58 f5
or bl, byte [bx+si+00ah] ; 0a 58 0a
or bl, byte [bx+si+00ah] ; 0a 58 0a
imul dx, word [bx-019h], strict byte 00057h ; 6b 57 e7 57
or bl, byte [bx+si+00ah] ; 0a 58 0a
or bl, byte [bx+si+00ah] ; 0a 58 0a
_int13_harddisk: ; 0xf5427 LB 0x441
sub sp, strict byte 00010h ; 83 ec 10
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00122h ; be 22 01
mov word [bp-004h], ax ; 89 46 fc
mov dx, 0008eh ; ba 8e 00
mov ax, strict word 00040h ; b8 40 00
mov ax, word [bp+00eh] ; 8b 46 0e
cmp ax, 00080h ; 3d 80 00
cmp ax, 00090h ; 3d 90 00
mov ax, word [bp+00eh] ; 8b 46 0e
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
jmp near 05825h ; e9 b1 03
mov ax, word [bp+00eh] ; 8b 46 0e
mov es, [bp-004h] ; 8e 46 fc
mov dl, byte [es:bx+0011fh] ; 26 8a 97 1f 01
mov byte [bp-002h], dl ; 88 56 fe
mov ax, word [bp+016h] ; 8b 46 16
mov bx, word [bp+016h] ; 8b 5e 16
cmp bx, strict byte 00018h ; 83 fb 18
jnbe near 0580ah ; 0f 87 60 03
jmp word [cs:bx+053f5h] ; 2e ff a7 f5 53
cmp byte [bp-002h], 008h ; 80 7e fe 08
jnc near 054c0h ; 0f 83 07 00
movzx ax, byte [bp-002h] ; 0f b6 46 fe
mov byte [bp+017h], 000h ; c6 46 17 00
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+01ch], 0feh ; 80 66 1c fe
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
mov dx, word [bp+016h] ; 8b 56 16
mov word [bp+016h], dx ; 89 56 16
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
jmp near 05841h ; e9 3d 03
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp-00ch], ax ; 89 46 f4
mov di, word [bp+014h] ; 8b 7e 14
mov ax, word [bp+014h] ; 8b 46 14
mov ax, word [bp+014h] ; 8b 46 14
and ax, strict word 0003fh ; 25 3f 00
mov word [bp-006h], ax ; 89 46 fa
mov ax, word [bp+012h] ; 8b 46 12
mov word [bp-008h], ax ; 89 46 f8
mov ax, word [bp-00ch] ; 8b 46 f4
cmp ax, 00080h ; 3d 80 00
jnbe short 0553fh ; 77 04
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
jmp near 05825h ; e9 c3 02
movzx ax, byte [bp-002h] ; 0f b6 46 fe
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-004h] ; 8e 46 fc
mov ax, word [es:bx+028h] ; 26 8b 47 28
mov cx, word [es:bx+026h] ; 26 8b 4f 26
mov dx, word [es:bx+02ah] ; 26 8b 57 2a
mov word [bp-00ah], dx ; 89 56 f6
cmp cx, word [bp-008h] ; 3b 4e f8
mov ax, word [bp-006h] ; 8b 46 fa
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push dword [bp-008h] ; 66 ff 76 f8
mov ax, word [bp+012h] ; 8b 46 12
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00010h ; 83 c4 10
jmp near 05825h ; e9 68 02
mov ax, word [bp+016h] ; 8b 46 16
cmp ax, strict word 00004h ; 3d 04 00
jmp near 054c0h ; e9 f5 fe
movzx bx, byte [bp-002h] ; 0f b6 5e fe
imul bx, bx, strict byte 00018h ; 6b db 18
mov es, [bp-004h] ; 8e 46 fc
cmp cx, word [es:bx+02ch] ; 26 3b 4f 2c
mov ax, word [es:bx+030h] ; 26 8b 47 30
cmp ax, word [bp-00ah] ; 3b 46 f6
cmp byte [bp-002h], 008h ; 80 7e fe 08
add ax, word [bp-008h] ; 03 46 f8
mov bx, word [bp-00ah] ; 8b 5e f6
add ax, word [bp-006h] ; 03 46 fa
add ax, strict word 0ffffh ; 05 ff ff
mov word [bp-010h], ax ; 89 46 f0
adc dx, strict byte 0ffffh ; 83 d2 ff
mov word [bp-00eh], dx ; 89 56 f2
mov word [bp-006h], bx ; 89 5e fa
mov es, [bp-004h] ; 8e 46 fc
db 066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h
; mov dword [es:si+014h], strict dword 000000000h ; 66 26 c7 44 14 00 00 00 00
mov word [es:si+018h], strict word 00000h ; 26 c7 44 18 00 00
mov ax, word [bp-010h] ; 8b 46 f0
mov word [es:si], ax ; 26 89 04
mov ax, word [bp-00eh] ; 8b 46 f2
mov word [es:si+002h], ax ; 26 89 44 02
mov ax, word [bp+010h] ; 8b 46 10
mov dx, word [bp+006h] ; 8b 56 06
mov word [es:si+004h], ax ; 26 89 44 04
mov word [es:si+006h], dx ; 26 89 54 06
mov ax, word [bp-00ch] ; 8b 46 f4
mov word [es:si+00ah], ax ; 26 89 44 0a
mov word [es:si+00ch], 00200h ; 26 c7 44 0c 00 02
mov word [es:si+00eh], di ; 26 89 7c 0e
mov ax, word [bp-008h] ; 8b 46 f8
mov word [es:si+010h], ax ; 26 89 44 10
mov ax, word [bp-006h] ; 8b 46 fa
mov word [es:si+012h], ax ; 26 89 44 12
mov al, byte [bp-002h] ; 8a 46 fe
mov byte [es:si+008h], al ; 26 88 44 08
movzx ax, byte [bp-002h] ; 0f b6 46 fe
imul ax, ax, strict byte 00018h ; 6b c0 18
movzx ax, byte [es:bx+01eh] ; 26 0f b6 47 1e
mov ax, word [bp+016h] ; 8b 46 16
call word [word bx+0007eh] ; ff 97 7e 00
mov ax, word [bp+016h] ; 8b 46 16
mov es, [bp-004h] ; 8e 46 fc
mov bx, word [es:si+014h] ; 26 8b 5c 14
mov word [bp+016h], bx ; 89 5e 16
je near 054c0h ; 0f 84 13 fe
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
mov ax, word [bp+016h] ; 8b 46 16
jmp near 0582dh ; e9 51 01
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00004h ; 83 c4 04
jmp near 054c0h ; e9 cb fd
movzx ax, byte [bp-002h] ; 0f b6 46 fe
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-004h] ; 8e 46 fc
mov di, word [es:bx+028h] ; 26 8b 7f 28
mov cx, word [es:bx+026h] ; 26 8b 4f 26
mov ax, word [es:bx+02ah] ; 26 8b 47 2a
mov word [bp-00ah], ax ; 89 46 f6
movzx ax, byte [es:si+0019eh] ; 26 0f b6 84 9e 01
mov word [bp-00ch], ax ; 89 46 f4
mov byte [bp+016h], 000h ; c6 46 16 00
mov dx, word [bp+014h] ; 8b 56 14
mov word [bp+014h], dx ; 89 56 14
and di, 000c0h ; 81 e7 c0 00
mov ax, word [bp-00ah] ; 8b 46 f6
and AL, strict byte 03fh ; 24 3f
mov word [bp+014h], ax ; 89 46 14
mov dx, word [bp+012h] ; 8b 56 12
sub ax, 00100h ; 2d 00 01
mov word [bp+012h], dx ; 89 56 12
mov dx, word [bp-00ch] ; 8b 56 f4
mov word [bp+012h], dx ; 89 56 12
jmp near 054c0h ; e9 55 fd
movzx ax, byte [bp-002h] ; 0f b6 46 fe
imul ax, ax, strict byte 00006h ; 6b c0 06
mov es, [bp-004h] ; 8e 46 fc
mov dx, word [es:si+001c2h] ; 26 8b 94 c2 01
add dx, strict byte 00007h ; 83 c2 07
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 040h ; 3c 40
jmp near 054c0h ; e9 30 fd
mov ax, word [bp+016h] ; 8b 46 16
jmp near 0582dh ; e9 92 00
movzx ax, byte [bp-002h] ; 0f b6 46 fe
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-004h] ; 8e 46 fc
mov di, word [es:si+02eh] ; 26 8b 7c 2e
mov ax, word [es:si+02ch] ; 26 8b 44 2c
mov word [bp-008h], ax ; 89 46 f8
mov ax, word [es:si+030h] ; 26 8b 44 30
mov word [bp-006h], ax ; 89 46 fa
mov bx, word [bp-008h] ; 8b 5e f8
mov bx, word [bp-006h] ; 8b 5e fa
mov word [bp-010h], ax ; 89 46 f0
mov word [bp-00eh], dx ; 89 56 f2
mov word [bp+014h], dx ; 89 56 14
mov word [bp+012h], ax ; 89 46 12
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
jmp near 054c4h ; e9 dd fc
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
jmp near 054c0h ; e9 b6 fc
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
jmp near 05557h ; e9 32 fd
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov bx, word [bp+016h] ; 8b 5e 16
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
or byte [bp+01ch], 001h ; 80 4e 1c 01
jmp near 054d3h ; e9 8b fc
add bx, word [bx+di+01bh] ; 03 59 1b
sbb bx, word [bx+di+01bh] ; 1b 59 1b
sbb bx, word [bx+di+064h] ; 1b 59 64
sbb word [di+019h], bx ; 19 5d 19
sbb word [di-01fh], bx ; 19 5d e1
sbb word [di+019h], bx ; 19 5d 19
_int13_harddisk_ext: ; 0xf5868 LB 0x4cc
sub sp, strict byte 00028h ; 83 ec 28
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-014h], ax ; 89 46 ec
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00122h ; be 22 01
mov word [bp-026h], ax ; 89 46 da
mov dx, 0008eh ; ba 8e 00
mov ax, strict word 00040h ; b8 40 00
mov ax, word [bp+00eh] ; 8b 46 0e
cmp ax, 00080h ; 3d 80 00
cmp ax, 00090h ; 3d 90 00
mov ax, word [bp+00eh] ; 8b 46 0e
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
jmp near 05cf7h ; e9 36 04
mov ax, word [bp+00eh] ; 8b 46 0e
mov es, [bp-026h] ; 8e 46 da
mov cl, byte [es:bx+0011fh] ; 26 8a 8f 1f 01
mov ax, word [bp+016h] ; 8b 46 16
mov bx, word [bp+016h] ; 8b 5e 16
sub bx, strict byte 00041h ; 83 eb 41
cmp bx, strict byte 0000fh ; 83 fb 0f
jnbe near 05d19h ; 0f 87 22 04
mov ax, word [bp+016h] ; 8b 46 16
jmp word [cs:bx+05848h] ; 2e ff a7 48 58
mov word [bp+010h], 0aa55h ; c7 46 10 55 aa
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov word [bp+014h], strict word 00007h ; c7 46 14 07 00
jmp near 05cceh ; e9 b3 03
mov bx, word [bp+00ah] ; 8b 5e 0a
mov es, [bp+004h] ; 8e 46 04
mov [bp-010h], es ; 8c 46 f0
mov ax, word [es:bx+002h] ; 26 8b 47 02
mov word [bp-012h], ax ; 89 46 ee
mov ax, word [es:bx+006h] ; 26 8b 47 06
mov word [bp-018h], ax ; 89 46 e8
mov ax, word [es:bx+004h] ; 26 8b 47 04
mov word [bp-016h], ax ; 89 46 ea
mov ax, word [es:bx+00ch] ; 26 8b 47 0c
mov word [bp-00ah], ax ; 89 46 f6
mov ax, word [es:bx+00eh] ; 26 8b 47 0e
or ax, word [bp-00ah] ; 0b 46 f6
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00007h ; 6a 07
mov es, [bp-010h] ; 8e 46 f0
mov ax, word [es:di+008h] ; 26 8b 45 08
mov word [bp-00ah], ax ; 89 46 f6
mov ax, word [es:di+00ah] ; 26 8b 45 0a
imul dx, dx, strict byte 00018h ; 6b d2 18
mov es, [bp-026h] ; 8e 46 da
mov ch, byte [es:bx+01eh] ; 26 8a 6f 1e
cmp ax, word [es:bx+034h] ; 26 3b 47 34
jnbe short 0598ch ; 77 0b
mov dx, word [bp-00ah] ; 8b 56 f6
cmp dx, word [es:bx+032h] ; 26 3b 57 32
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
jmp near 05cf7h ; e9 48 03
mov dx, word [bp+016h] ; 8b 56 16
mov word [bp-00ch], dx ; 89 56 f4
cmp dx, strict byte 00044h ; 83 fa 44
je near 05ccah ; 0f 84 0b 03
cmp dx, strict byte 00047h ; 83 fa 47
je near 05ccah ; 0f 84 04 03
mov es, [bp-026h] ; 8e 46 da
db 066h, 026h, 0c7h, 044h, 014h, 000h, 000h, 000h, 000h
; mov dword [es:si+014h], strict dword 000000000h ; 66 26 c7 44 14 00 00 00 00
mov word [es:si+018h], strict word 00000h ; 26 c7 44 18 00 00
mov dx, word [bp-00ah] ; 8b 56 f6
mov word [es:si], dx ; 26 89 14
mov word [es:si+002h], ax ; 26 89 44 02
mov ax, word [bp-016h] ; 8b 46 ea
mov word [es:si+004h], ax ; 26 89 44 04
mov ax, word [bp-018h] ; 8b 46 e8
mov word [es:si+006h], ax ; 26 89 44 06
mov ax, word [bp-012h] ; 8b 46 ee
mov word [es:si+00ah], ax ; 26 89 44 0a
mov word [es:si+00ch], 00200h ; 26 c7 44 0c 00 02
mov word [es:si+012h], strict word 00000h ; 26 c7 44 12 00 00
mov byte [es:si+008h], cl ; 26 88 4c 08
mov bx, word [bp-00ch] ; 8b 5e f4
call word [word bx-00002h] ; ff 97 fe ff
mov es, [bp-026h] ; 8e 46 da
mov ax, word [es:si+014h] ; 26 8b 44 14
mov word [bp-012h], ax ; 89 46 ee
mov es, [bp-010h] ; 8e 46 f0
mov word [es:di+002h], ax ; 26 89 45 02
je near 05ccah ; 0f 84 97 02
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp-00ch] ; ff 76 f4
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
mov ax, word [bp+016h] ; 8b 46 16
jmp near 05cffh ; e9 a1 02
jmp near 05cffh ; e9 9b 02
mov bx, word [bp+00ah] ; 8b 5e 0a
mov ax, word [bp+004h] ; 8b 46 04
mov word [bp-006h], ax ; 89 46 fa
mov word [bp-004h], ax ; 89 46 fc
mov ax, word [es:di] ; 26 8b 05
mov word [bp-00eh], ax ; 89 46 f2
cmp ax, strict word 0001ah ; 3d 1a 00
jc near 05cf7h ; 0f 82 76 02
jc near 05b08h ; 0f 82 83 00
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-026h] ; 8e 46 da
mov ax, word [es:di+02eh] ; 26 8b 45 2e
mov word [bp-028h], ax ; 89 46 d8
mov ax, word [es:di+02ch] ; 26 8b 45 2c
mov word [bp-01eh], ax ; 89 46 e2
mov ax, word [es:di+030h] ; 26 8b 45 30
mov word [bp-024h], ax ; 89 46 dc
mov ax, word [es:di+032h] ; 26 8b 45 32
mov word [bp-00ah], ax ; 89 46 f6
mov ax, word [es:di+034h] ; 26 8b 45 34
mov dx, word [es:di+024h] ; 26 8b 55 24
mov word [bp-022h], dx ; 89 56 de
mov es, [bp-006h] ; 8e 46 fa
db 066h, 026h, 0c7h, 005h, 01ah, 000h, 002h, 000h
; mov dword [es:di], strict dword 00002001ah ; 66 26 c7 05 1a 00 02 00
mov dx, word [bp-028h] ; 8b 56 d8
mov word [es:di+004h], dx ; 26 89 55 04
mov word [es:di+006h], strict word 00000h ; 26 c7 45 06 00 00
mov dx, word [bp-01eh] ; 8b 56 e2
mov word [es:di+008h], dx ; 26 89 55 08
mov word [es:di+00ah], strict word 00000h ; 26 c7 45 0a 00 00
mov dx, word [bp-024h] ; 8b 56 dc
mov word [es:di+00ch], dx ; 26 89 55 0c
mov word [es:di+00eh], strict word 00000h ; 26 c7 45 0e 00 00
mov dx, word [bp-022h] ; 8b 56 de
mov word [es:di+018h], dx ; 26 89 55 18
mov dx, word [bp-00ah] ; 8b 56 f6
mov word [es:di+010h], dx ; 26 89 55 10
mov word [es:di+012h], ax ; 26 89 45 12
db 066h, 026h, 0c7h, 045h, 014h, 000h, 000h, 000h, 000h
; mov dword [es:di+014h], strict dword 000000000h ; 66 26 c7 45 14 00 00 00 00
cmp word [bp-00eh], strict byte 0001eh ; 83 7e f2 1e
jc near 05c14h ; 0f 82 04 01
mov es, [bp-004h] ; 8e 46 fc
mov word [es:bx], strict word 0001eh ; 26 c7 07 1e 00
mov ax, word [bp-014h] ; 8b 46 ec
mov word [es:bx+01ch], ax ; 26 89 47 1c
mov word [es:bx+01ah], 00312h ; 26 c7 47 1a 12 03
mov word [bp-020h], ax ; 89 46 e0
imul di, di, strict byte 00006h ; 6b ff 06
mov es, [bp-026h] ; 8e 46 da
mov ax, word [es:di+001c2h] ; 26 8b 85 c2 01
mov word [bp-01ah], ax ; 89 46 e6
mov ax, word [es:di+001c4h] ; 26 8b 85 c4 01
mov word [bp-01ch], ax ; 89 46 e4
mov ch, byte [es:di+001c1h] ; 26 8a ad c1 01
imul di, word [bp-020h], strict byte 00018h ; 6b 7e e0 18
mov ah, byte [es:di+022h] ; 26 8a 65 22
mov al, byte [es:di+023h] ; 26 8a 45 23
mov dx, strict word 00008h ; ba 08 00
mov word [bp-008h], dx ; 89 56 f8
or word [bp-008h], dx ; 09 56 f8
cmp AL, strict byte 001h ; 3c 01
or word [bp-008h], dx ; 09 56 f8
cmp AL, strict byte 003h ; 3c 03
mov ax, strict word 00003h ; b8 03 00
or word [bp-008h], ax ; 09 46 f8
mov ax, word [bp-01ah] ; 8b 46 e6
mov es, [bp-026h] ; 8e 46 da
mov word [es:si+001f0h], ax ; 26 89 84 f0 01
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [es:si+001f2h], ax ; 26 89 84 f2 01
mov di, strict word 00002h ; bf 02 00
mov byte [es:si+001f4h], dl ; 26 88 94 f4 01
mov byte [es:si+001f5h], 0cbh ; 26 c6 84 f5 01 cb
mov byte [es:si+001f6h], ch ; 26 88 ac f6 01
mov word [es:si+001f7h], strict word 00001h ; 26 c7 84 f7 01 01 00
mov byte [es:si+001f9h], 000h ; 26 c6 84 f9 01 00
mov ax, word [bp-008h] ; 8b 46 f8
mov word [es:si+001fah], ax ; 26 89 84 fa 01
mov word [es:si+001fch], strict word 00000h ; 26 c7 84 fc 01 00 00
mov byte [es:si+001feh], 011h ; 26 c6 84 fe 01 11
mov byte [bp-002h], ch ; 88 6e fe
cmp byte [bp-002h], 00fh ; 80 7e fe 0f
movzx dx, byte [bp-002h] ; 0f b6 56 fe
add dx, 00312h ; 81 c2 12 03
mov ax, word [bp-014h] ; 8b 46 ec
inc byte [bp-002h] ; fe 46 fe
mov es, [bp-026h] ; 8e 46 da
mov byte [es:si+001ffh], ch ; 26 88 ac ff 01
cmp word [bp-00eh], strict byte 00042h ; 83 7e f2 42
jc near 05ccah ; 0f 82 ae 00
imul ax, ax, strict byte 00006h ; 6b c0 06
mov es, [bp-026h] ; 8e 46 da
mov al, byte [es:si+001c0h] ; 26 8a 84 c0 01
mov dx, word [es:si+001c2h] ; 26 8b 94 c2 01
mov es, [bp-004h] ; 8e 46 fc
mov word [es:bx], strict word 00042h ; 26 c7 07 42 00
db 066h, 026h, 0c7h, 047h, 01eh, 0ddh, 0beh, 024h, 000h
; mov dword [es:bx+01eh], strict dword 00024beddh ; 66 26 c7 47 1e dd be 24 00
mov word [es:bx+022h], strict word 00000h ; 26 c7 47 22 00 00
db 066h, 026h, 0c7h, 047h, 024h, 049h, 053h, 041h, 020h
; mov dword [es:bx+024h], strict dword 020415349h ; 66 26 c7 47 24 49 53 41 20
mov es, [bp-004h] ; 8e 46 fc
db 066h, 026h, 0c7h, 047h, 028h, 041h, 054h, 041h, 020h
; mov dword [es:bx+028h], strict dword 020415441h ; 66 26 c7 47 28 41 54 41 20
db 066h, 026h, 0c7h, 047h, 02ch, 020h, 020h, 020h, 020h
; mov dword [es:bx+02ch], strict dword 020202020h ; 66 26 c7 47 2c 20 20 20 20
mov word [es:bx+030h], dx ; 26 89 57 30
db 066h, 026h, 0c7h, 047h, 032h, 000h, 000h, 000h, 000h
; mov dword [es:bx+032h], strict dword 000000000h ; 66 26 c7 47 32 00 00 00 00
mov word [es:bx+036h], strict word 00000h ; 26 c7 47 36 00 00
and AL, strict byte 001h ; 24 01
mov es, [bp-004h] ; 8e 46 fc
mov word [es:bx+038h], ax ; 26 89 47 38
db 066h, 026h, 0c7h, 047h, 03ah, 000h, 000h, 000h, 000h
; mov dword [es:bx+03ah], strict dword 000000000h ; 66 26 c7 47 3a 00 00 00 00
mov word [es:bx+03eh], strict word 00000h ; 26 c7 47 3e 00 00
mov CH, strict byte 01eh ; b5 1e
add dx, word [bp+00ah] ; 03 56 0a
mov ax, word [bp+004h] ; 8b 46 04
mov es, [bp-004h] ; 8e 46 fc
mov byte [es:bx+041h], cl ; 26 88 4f 41
mov byte [bp+017h], 000h ; c6 46 17 00
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+01ch], 0feh ; 80 66 1c fe
cmp ax, strict word 00006h ; 3d 06 00
cmp ax, strict word 00001h ; 3d 01 00
cmp ax, strict word 00003h ; 3d 03 00
cmp ax, strict word 00004h ; 3d 04 00
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+016h], ax ; 89 46 16
mov bx, word [bp+016h] ; 8b 5e 16
mov dx, strict word 00074h ; ba 74 00
mov ax, strict word 00040h ; b8 40 00
or byte [bp+01ch], 001h ; 80 4e 1c 01
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+016h] ; 8b 46 16
jmp near 059a4h ; e9 70 fc
_int14_function: ; 0xf5d34 LB 0x155
mov dx, word [bp+00eh] ; 8b 56 0e
mov ax, strict word 00040h ; b8 40 00
mov dx, word [bp+00eh] ; 8b 56 0e
add dx, strict byte 0007ch ; 83 c2 7c
mov ax, strict word 00040h ; b8 40 00
cmp word [bp+00eh], strict byte 00004h ; 83 7e 0e 04
jnc near 05e7fh ; 0f 83 21 01
jbe near 05e7fh ; 0f 86 1b 01
mov al, byte [bp+013h] ; 8a 46 13
cmp AL, strict byte 001h ; 3c 01
cmp AL, strict byte 003h ; 3c 03
je near 05e68h ; 0f 84 f5 00
cmp AL, strict byte 002h ; 3c 02
je near 05e1eh ; 0f 84 a5 00
jmp near 05e79h ; e9 fd 00
jne near 05e79h ; 0f 85 f7 00
lea dx, [bx+003h] ; 8d 57 03
or AL, strict byte 080h ; 0c 80
mov al, byte [bp+012h] ; 8a 46 12
and AL, strict byte 0e0h ; 24 e0
mov ax, 00600h ; b8 00 06
lea dx, [bx+001h] ; 8d 57 01
mov al, byte [bp+012h] ; 8a 46 12
and AL, strict byte 01fh ; 24 1f
lea dx, [bx+003h] ; 8d 57 03
lea dx, [bx+005h] ; 8d 57 05
mov byte [bp+013h], al ; 88 46 13
lea dx, [bx+006h] ; 8d 57 06
mov byte [bp+012h], al ; 88 46 12
jmp near 05e5ah ; e9 97 00
mov AL, strict byte 017h ; b0 17
lea dx, [bx+001h] ; 8d 57 01
mov AL, strict byte 004h ; b0 04
mov dx, strict word 0006ch ; ba 6c 00
mov ax, strict word 00040h ; b8 40 00
lea dx, [bx+005h] ; 8d 57 05
and ax, strict word 00060h ; 25 60 00
cmp ax, strict word 00060h ; 3d 60 00
mov dx, strict word 0006ch ; ba 6c 00
mov ax, strict word 00040h ; b8 40 00
mov al, byte [bp+012h] ; 8a 46 12
lea dx, [bx+005h] ; 8d 57 05
mov byte [bp+013h], al ; 88 46 13
or AL, strict byte 080h ; 0c 80
mov byte [bp+013h], al ; 88 46 13
mov dx, strict word 0006ch ; ba 6c 00
mov ax, strict word 00040h ; b8 40 00
lea dx, [bx+005h] ; 8d 57 05
test AL, strict byte 001h ; a8 01
mov dx, strict word 0006ch ; ba 6c 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp+013h], 000h ; c6 46 13 00
mov byte [bp+012h], al ; 88 46 12
and byte [bp+01ch], 0feh ; 80 66 1c fe
lea dx, [bx+005h] ; 8d 57 05
lea dx, [si+005h] ; 8d 54 05
mov byte [bp+013h], al ; 88 46 13
lea dx, [si+006h] ; 8d 54 06
or byte [bp+01ch], 001h ; 80 4e 1c 01
or byte [bp+01ch], 001h ; 80 4e 1c 01
lea sp, [bp-002h] ; 8d 66 fe
set_enable_a20_: ; 0xf5e89 LB 0x2c
mov dx, 00092h ; ba 92 00
or AL, strict byte 002h ; 0c 02
and AL, strict byte 0fdh ; 24 fd
lea sp, [bp-006h] ; 8d 66 fa
set_e820_range_: ; 0xf5eb5 LB 0x8c
mov word [es:si], bx ; 26 89 1c
mov word [es:si+002h], cx ; 26 89 4c 02
movzx ax, byte [bp+00ah] ; 0f b6 46 0a
mov word [es:si+004h], ax ; 26 89 44 04
mov word [es:si+006h], strict word 00000h ; 26 c7 44 06 00 00
sub word [bp+006h], bx ; 29 5e 06
sbb word [bp+008h], cx ; 19 4e 08
mov al, byte [bp+00ah] ; 8a 46 0a
sub byte [bp+00ch], al ; 28 46 0c
mov ax, word [bp+006h] ; 8b 46 06
mov word [es:si+008h], ax ; 26 89 44 08
mov ax, word [bp+008h] ; 8b 46 08
mov word [es:si+00ah], ax ; 26 89 44 0a
movzx ax, byte [bp+00ch] ; 0f b6 46 0c
mov word [es:si+00ch], ax ; 26 89 44 0c
mov word [es:si+00eh], strict word 00000h ; 26 c7 44 0e 00 00
mov ax, word [bp+00eh] ; 8b 46 0e
mov word [es:si+010h], ax ; 26 89 44 10
mov word [es:si+012h], strict word 00000h ; 26 c7 44 12 00 00
jmp near 020e8h ; e9 d8 c1
sar byte [bx-06f6fh], 089h ; c0 bf 91 90 89
mov byte [bx+05283h], al ; 88 87 83 52
and AL, strict byte 000h ; 24 00
sbb byte [bx-06dh], 05fh ; 80 5f 93 5f
sub byte [bx+si+02eh], ah ; 28 60 2e
xor sp, word [bx+si+038h] ; 33 60 38
fisub dword [bx+si+077h] ; da 60 77
bound bx, [di+02162h] ; 62 9d 62 21
and word [bx+si+06ah], sp ; 21 60 6a
arpl word [bp+si-05a9dh], dx ; 63 92 63 a5
arpl word [si+02863h], si ; 63 b4 63 28
_int15_function: ; 0xf5f41 LB 0x4cd
mov ax, word [bp+012h] ; 8b 46 12
cmp ax, 000ech ; 3d ec 00
jnbe near 063e0h ; 0f 87 8b 04
mov cx, strict word 00012h ; b9 12 00
mov di, 05f0ch ; bf 0c 5f
mov si, word [cs:di+05f1dh] ; 2e 8b b5 1d 5f
mov ax, word [bp+012h] ; 8b 46 12
mov cx, word [bp+018h] ; 8b 4e 18
mov bx, word [bp+018h] ; 8b 5e 18
mov ax, word [bp+012h] ; 8b 46 12
cmp ax, 000c0h ; 3d c0 00
jne near 063e0h ; 0f 85 54 04
or byte [bp+018h], 001h ; 80 4e 18 01
jmp near 06389h ; e9 f6 03
cmp ax, strict word 00001h ; 3d 01 00
cmp ax, strict word 00003h ; 3d 03 00
cmp ax, strict word 00002h ; 3d 02 00
and byte [bp+018h], 0feh ; 80 66 18 fe
mov byte [bp+013h], 000h ; c6 46 13 00
jmp near 06021h ; e9 65 00
mov ax, strict word 00001h ; b8 01 00
and byte [bp+018h], 0feh ; 80 66 18 fe
mov byte [bp+013h], dh ; 88 76 13
jmp near 06021h ; e9 55 00
mov dx, 00092h ; ba 92 00
and ax, strict word 00001h ; 25 01 00
mov dx, word [bp+012h] ; 8b 56 12
mov word [bp+012h], dx ; 89 56 12
and byte [bp+018h], 0feh ; 80 66 18 fe
mov byte [bp+013h], ah ; 88 66 13
jmp near 06021h ; e9 38 00
and byte [bp+018h], 0feh ; 80 66 18 fe
mov byte [bp+013h], ah ; 88 66 13
mov word [bp+00ch], ax ; 89 46 0c
jmp near 06021h ; e9 2b 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+012h] ; 8b 46 12
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
or byte [bp+018h], 001h ; 80 4e 18 01
mov ax, word [bp+012h] ; 8b 46 12
mov word [bp+012h], ax ; 89 46 12
lea sp, [bp-004h] ; 8d 66 fc
mov word [bp+018h], bx ; 89 5e 18
jmp near 060d4h ; e9 a6 00
mov word [bp+018h], bx ; 89 5e 18
mov word [bp+018h], cx ; 89 4e 18
test byte [bp+012h], 0ffh ; f6 46 12 ff
mov dx, 000a0h ; ba a0 00
mov ax, strict word 00040h ; b8 40 00
test AL, strict byte 001h ; a8 01
jne near 06380h ; 0f 85 33 03
mov bx, strict word 00001h ; bb 01 00
mov dx, 000a0h ; ba a0 00
mov ax, strict word 00040h ; b8 40 00
mov bx, word [bp+014h] ; 8b 5e 14
mov dx, 00098h ; ba 98 00
mov ax, strict word 00040h ; b8 40 00
mov bx, word [bp+00ch] ; 8b 5e 0c
mov dx, 0009ah ; ba 9a 00
mov ax, strict word 00040h ; b8 40 00
mov bx, word [bp+00eh] ; 8b 5e 0e
mov dx, 0009ch ; ba 9c 00
mov ax, strict word 00040h ; b8 40 00
mov bx, word [bp+010h] ; 8b 5e 10
mov dx, 0009eh ; ba 9e 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+018h], 0feh ; 80 66 18 fe
mov dx, 000a1h ; ba a1 00
and AL, strict byte 0feh ; 24 fe
mov ax, strict word 0000bh ; b8 0b 00
or AL, strict byte 040h ; 0c 40
mov ax, strict word 0000bh ; b8 0b 00
jmp near 06021h ; e9 77 ff
cmp ax, strict word 00001h ; 3d 01 00
mov dx, 000a0h ; ba a0 00
mov ax, strict word 00040h ; b8 40 00
and byte [bp+018h], 0feh ; 80 66 18 fe
mov ax, strict word 0000bh ; b8 0b 00
and AL, strict byte 0bfh ; 24 bf
mov word [bp+018h], bx ; 89 5e 18
mov word [bp+012h], dx ; 89 56 12
jmp near 06021h ; e9 47 ff
mov ax, strict word 00001h ; b8 01 00
mov ax, word [bp+014h] ; 8b 46 14
mov cx, word [bp+006h] ; 8b 4e 06
mov dx, word [bp+014h] ; 8b 56 14
mov byte [bp-006h], dl ; 88 56 fa
mov byte [bp-006h], dl ; 88 56 fa
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00008h ; 83 c2 08
mov ax, word [bp+014h] ; 8b 46 14
mov bx, strict word 0002fh ; bb 2f 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0000ah ; 83 c2 0a
mov ax, word [bp+014h] ; 8b 46 14
movzx bx, byte [bp-006h] ; 0f b6 5e fa
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0000ch ; 83 c2 0c
mov ax, word [bp+014h] ; 8b 46 14
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0000dh ; 83 c2 0d
mov ax, word [bp+014h] ; 8b 46 14
mov bx, 00093h ; bb 93 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0000eh ; 83 c2 0e
mov ax, word [bp+014h] ; 8b 46 14
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00020h ; 83 c2 20
mov ax, word [bp+014h] ; 8b 46 14
mov bx, strict word 0ffffh ; bb ff ff
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00022h ; 83 c2 22
mov ax, word [bp+014h] ; 8b 46 14
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00024h ; 83 c2 24
mov ax, word [bp+014h] ; 8b 46 14
mov bx, strict word 0000fh ; bb 0f 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00025h ; 83 c2 25
mov ax, word [bp+014h] ; 8b 46 14
mov bx, 0009bh ; bb 9b 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00026h ; 83 c2 26
mov ax, word [bp+014h] ; 8b 46 14
mov word [bp-008h], ax ; 89 46 f8
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00028h ; 83 c2 28
mov ax, word [bp+014h] ; 8b 46 14
mov bx, strict word 0ffffh ; bb ff ff
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0002ah ; 83 c2 2a
mov ax, word [bp+014h] ; 8b 46 14
movzx bx, byte [bp-008h] ; 0f b6 5e f8
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0002ch ; 83 c2 2c
mov ax, word [bp+014h] ; 8b 46 14
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0002dh ; 83 c2 2d
mov ax, word [bp+014h] ; 8b 46 14
mov bx, 00093h ; bb 93 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0002eh ; 83 c2 2e
mov ax, word [bp+014h] ; 8b 46 14
mov si, word [bp+006h] ; 8b 76 06
mov es, [bp+014h] ; 8e 46 14
mov cx, word [bp+010h] ; 8b 4e 10
; xor eax, eax ; 66 33 c0
mov word [00467h], sp ; 89 26 67 04
mov [00469h], ss ; 8c 16 69 04
add di, strict byte 0001bh ; 83 c7 1b
push strict byte 00020h ; 6a 20
lgdt [es:si+008h] ; 26 0f 01 54 08
lidt [cs:0efe1h] ; 2e 0f 01 1e e1 ef
or AL, strict byte 001h ; 0c 01
mov ax, strict word 00028h ; b8 28 00
mov ax, strict word 00010h ; b8 10 00
mov ax, strict word 00018h ; b8 18 00
add ax, strict byte 00018h ; 83 c0 18
mov ax, strict word 00028h ; b8 28 00
and AL, strict byte 0feh ; 24 fe
lidt [cs:0efe7h] ; 2e 0f 01 1e e7 ef
lss sp, [00467h] ; 0f b2 26 67 04
mov byte [bp+013h], 000h ; c6 46 13 00
and byte [bp+018h], 0feh ; 80 66 18 fe
jmp near 06021h ; e9 aa fd
mov ax, strict word 00031h ; b8 31 00
mov ax, strict word 00030h ; b8 30 00
mov word [bp+012h], dx ; 89 56 12
cmp dx, strict byte 0ffc0h ; 83 fa c0
mov word [bp+012h], strict word 0ffc0h ; c7 46 12 c0 ff
mov ax, strict word 00001h ; b8 01 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 00038h ; 83 c2 38
mov ax, word [bp+014h] ; 8b 46 14
mov bx, strict word 0ffffh ; bb ff ff
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0003ah ; 83 c2 3a
mov ax, word [bp+014h] ; 8b 46 14
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0003ch ; 83 c2 3c
mov ax, word [bp+014h] ; 8b 46 14
mov bx, strict word 0000fh ; bb 0f 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0003dh ; 83 c2 3d
mov ax, word [bp+014h] ; 8b 46 14
mov bx, 0009bh ; bb 9b 00
mov dx, word [bp+006h] ; 8b 56 06
add dx, strict byte 0003eh ; 83 c2 3e
mov ax, word [bp+014h] ; 8b 46 14
mov AL, strict byte 011h ; b0 11
mov dx, strict word 00020h ; ba 20 00
mov dx, 000a0h ; ba a0 00
mov ax, word [bp+00ch] ; 8b 46 0c
mov dx, strict word 00021h ; ba 21 00
mov ax, word [bp+00ch] ; 8b 46 0c
mov dx, 000a1h ; ba a1 00
mov AL, strict byte 004h ; b0 04
mov dx, strict word 00021h ; ba 21 00
mov AL, strict byte 002h ; b0 02
mov dx, 000a1h ; ba a1 00
mov AL, strict byte 001h ; b0 01
mov dx, strict word 00021h ; ba 21 00
mov dx, 000a1h ; ba a1 00
mov AL, strict byte 0ffh ; b0 ff
mov dx, strict word 00021h ; ba 21 00
mov dx, 000a1h ; ba a1 00
mov si, word [bp+006h] ; 8b 76 06
add di, strict byte 00018h ; 83 c7 18
push strict byte 00038h ; 6a 38
lgdt [es:si+008h] ; 26 0f 01 54 08
lidt [es:si+010h] ; 26 0f 01 5c 10
mov ax, strict word 00001h ; b8 01 00
mov ax, strict word 00028h ; b8 28 00
mov ax, strict word 00018h ; b8 18 00
mov ax, strict word 00020h ; b8 20 00
lea ax, [bp+004h] ; 8d 46 04
add sp, strict byte 00006h ; 83 c4 06
mov ax, strict word 00030h ; b8 30 00
jmp near 06021h ; e9 b7 fc
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00004h ; 83 c4 04
or byte [bp+018h], 001h ; 80 4e 18 01
mov ax, word [bp+012h] ; 8b 46 12
mov word [bp+012h], ax ; 89 46 12
jmp near 06021h ; e9 8f fc
mov word [bp+018h], cx ; 89 4e 18
mov word [bp+012h], ax ; 89 46 12
mov word [bp+00ch], 0e6f5h ; c7 46 0c f5 e6
mov word [bp+014h], 0f000h ; c7 46 14 00 f0
jmp near 06021h ; e9 7c fc
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp+014h], ax ; 89 46 14
jmp near 06270h ; e9 bc fe
push strict byte 00008h ; 6a 08
test byte [bp+012h], 0ffh ; f6 46 12 ff
mov word [bp+012h], ax ; 89 46 12
mov ax, word [bp+00ch] ; 8b 46 0c
cmp ax, strict word 00001h ; 3d 01 00
cmp ax, strict word 00003h ; 3d 03 00
jnbe short 063d9h ; 77 06
mov word [bp+018h], cx ; 89 4e 18
jmp near 06021h ; e9 48 fc
or byte [bp+018h], 001h ; 80 4e 18 01
jmp near 06021h ; e9 41 fc
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp+00ch] ; ff 76 0c
push word [bp+012h] ; ff 76 12
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
mov BH, strict byte 065h ; b7 65
fldenv [di-004h] ; d9 65 fc
db 066h, 03eh, 066h, 05fh
; ds pop edi ; 66 3e 66 5f
db 066h, 09eh, 066h, 0cah, 066h
_int15_function32: ; 0xf640e LB 0x37e
sub sp, strict byte 00008h ; 83 ec 08
mov dx, word [bp+020h] ; 8b 56 20
mov bx, word [bp+028h] ; 8b 5e 28
mov ax, word [bp+020h] ; 8b 46 20
cmp dx, 000e8h ; 81 fa e8 00
je near 064dbh ; 0f 84 ad 00
cmp dx, 000d0h ; 81 fa d0 00
cmp dx, 00086h ; 81 fa 86 00
jne near 0675ch ; 0f 85 20 03
mov ax, word [bp+01ch] ; 8b 46 1c
mov dx, word [bp+018h] ; 8b 56 18
sal eax, 010h ; 66 c1 e0 10
mov ebx, strict dword 00000000fh ; 66 bb 0f 00 00 00
; xor edx, edx ; 66 33 d2
; mov ecx, eax ; 66 8b c8
in AL, strict byte 061h ; e4 61
and AL, strict byte 010h ; 24 10
je near 06473h ; 0f 84 0e 00
in AL, strict byte 061h ; e4 61
and AL, strict byte 010h ; 24 10
jmp near 06786h ; e9 10 03
cmp ax, strict word 0004fh ; 3d 4f 00
jne near 0675ch ; 0f 85 df 02
cmp word [bp+016h], 05052h ; 81 7e 16 52 50
jne near 0675ch ; 0f 85 d6 02
cmp word [bp+014h], 04f43h ; 81 7e 14 43 4f
jne near 0675ch ; 0f 85 cd 02
cmp word [bp+01eh], 04d4fh ; 81 7e 1e 4f 4d
jne near 0675ch ; 0f 85 c4 02
cmp word [bp+01ch], 04445h ; 81 7e 1c 45 44
jne near 0675ch ; 0f 85 bb 02
mov ax, word [bp+00ah] ; 8b 46 0a
or ax, word [bp+008h] ; 0b 46 08
jne near 0675ch ; 0f 85 b1 02
mov ax, word [bp+006h] ; 8b 46 06
or ax, word [bp+004h] ; 0b 46 04
jne near 0675ch ; 0f 85 a7 02
mov word [bp+028h], bx ; 89 5e 28
mov ax, word [bp+014h] ; 8b 46 14
mov word [bp+008h], ax ; 89 46 08
mov ax, word [bp+016h] ; 8b 46 16
mov word [bp+00ah], ax ; 89 46 0a
mov ax, word [bp+01ch] ; 8b 46 1c
mov word [bp+004h], ax ; 89 46 04
mov ax, word [bp+01eh] ; 8b 46 1e
mov word [bp+006h], ax ; 89 46 06
mov dword [bp+020h], strict dword 049413332h ; 66 c7 46 20 32 33 41 49
jmp near 06786h ; e9 ab 02
cmp ax, strict word 00020h ; 3d 20 00
cmp ax, strict word 00001h ; 3d 01 00
je near 06711h ; 0f 84 2a 02
jmp near 0675ch ; e9 72 02
cmp word [bp+01ah], 0534dh ; 81 7e 1a 4d 53
jne near 0675ch ; 0f 85 69 02
cmp word [bp+018h], 04150h ; 81 7e 18 50 41
jne near 0675ch ; 0f 85 60 02
mov ax, strict word 00035h ; b8 35 00
mov cx, strict word 00008h ; b9 08 00
mov ax, strict word 00034h ; b8 34 00
adc dx, 00100h ; 81 d2 00 01
cmp dx, 00100h ; 81 fa 00 01
jnbe short 0655dh ; 77 2d
mov ax, strict word 00031h ; b8 31 00
mov cx, strict word 00008h ; b9 08 00
mov ax, strict word 00030h ; b8 30 00
mov cx, strict word 0000ah ; b9 0a 00
add bx, strict byte 00000h ; 83 c3 00
adc dx, strict byte 00010h ; 83 d2 10
mov ax, strict word 00062h ; b8 62 00
mov word [bp-00ah], ax ; 89 46 f6
mov word [bp-008h], ax ; 89 46 f8
mov cx, strict word 00008h ; b9 08 00
sal word [bp-00ah], 1 ; d1 66 f6
rcl word [bp-008h], 1 ; d1 56 f8
mov ax, strict word 00061h ; b8 61 00
or word [bp-00ah], ax ; 09 46 f6
mov ax, word [bp-00ah] ; 8b 46 f6
mov word [bp-008h], ax ; 89 46 f8
mov word [bp-00ah], strict word 00000h ; c7 46 f6 00 00
mov ax, strict word 00063h ; b8 63 00
mov byte [bp-004h], al ; 88 46 fc
mov byte [bp-006h], al ; 88 46 fa
mov ax, word [bp+014h] ; 8b 46 14
cmp ax, strict word 00007h ; 3d 07 00
jnbe near 0675ch ; 0f 87 b8 01
add cx, strict byte 00000h ; 83 c1 00
adc ax, strict word 0ffffh ; 15 ff ff
jmp word [cs:si+063feh] ; 2e ff a4 fe 63
push strict byte 00001h ; 6a 01
push dword 000000000h ; 66 6a 00
push strict byte 00009h ; 6a 09
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
mov dword [bp+014h], strict dword 000000001h ; 66 c7 46 14 01 00 00 00
jmp near 066fbh ; e9 22 01
push strict byte 00002h ; 6a 02
push dword 000000000h ; 66 6a 00
push strict byte 0000ah ; 6a 0a
push strict byte 00000h ; 6a 00
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
mov bx, 0fc00h ; bb 00 fc
mov cx, strict word 00009h ; b9 09 00
mov dword [bp+014h], strict dword 000000002h ; 66 c7 46 14 02 00 00 00
jmp near 066fbh ; e9 ff 00
push strict byte 00002h ; 6a 02
push dword 000000000h ; 66 6a 00
push strict byte 00010h ; 6a 10
push strict byte 00000h ; 6a 00
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
mov cx, strict word 0000fh ; b9 0f 00
mov dword [bp+014h], strict dword 000000003h ; 66 c7 46 14 03 00 00 00
jmp near 066fbh ; e9 dd 00
push strict byte 00001h ; 6a 01
push dword 000000000h ; 66 6a 00
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
mov cx, strict word 00010h ; b9 10 00
mov dword [bp+014h], strict dword 000000004h ; 66 c7 46 14 04 00 00 00
jmp near 066fbh ; e9 bd 00
push strict byte 00003h ; 6a 03
push dword 000000000h ; 66 6a 00
mov dx, word [bp+004h] ; 8b 56 04
mov si, word [bp+024h] ; 8b 76 24
mov dword [bp+014h], strict dword 000000005h ; 66 c7 46 14 05 00 00 00
jmp near 066fbh ; e9 9c 00
push strict byte 00002h ; 6a 02
push dword 000000000h ; 66 6a 00
push dword 000000000h ; 66 6a 00
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
mov cx, strict word 0fffch ; b9 fc ff
cmp byte [bp-004h], 000h ; 80 7e fc 00
mov ax, word [bp-008h] ; 8b 46 f8
mov dword [bp+014h], strict dword 000000007h ; 66 c7 46 14 07 00 00 00
mov dword [bp+014h], strict dword 000000006h ; 66 c7 46 14 06 00 00 00
mov word [bp+014h], ax ; 89 46 14
mov word [bp+016h], ax ; 89 46 16
push strict byte 00002h ; 6a 02
push dword 000000000h ; 66 6a 00
push dword 000000000h ; 66 6a 00
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
cmp byte [bp-004h], 000h ; 80 7e fc 00
mov ax, word [bp-008h] ; 8b 46 f8
mov word [bp+014h], ax ; 89 46 14
mov word [bp+016h], ax ; 89 46 16
cmp byte [bp-004h], 000h ; 80 7e fc 00
cmp word [bp-008h], strict byte 00000h ; 83 7e f8 00
push strict byte 00001h ; 6a 01
mov al, byte [bp-006h] ; 8a 46 fa
push strict byte 00001h ; 6a 01
push dword [bp-00ah] ; 66 ff 76 f6
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+024h] ; 8b 46 24
mov word [bp+014h], ax ; 89 46 14
mov word [bp+016h], ax ; 89 46 16
mov dword [bp+020h], strict dword 0534d4150h ; 66 c7 46 20 50 41 4d 53
mov dword [bp+01ch], strict dword 000000014h ; 66 c7 46 1c 14 00 00 00
and byte [bp+028h], 0feh ; 80 66 28 fe
mov word [bp+028h], bx ; 89 5e 28
mov ax, strict word 00031h ; b8 31 00
mov ax, strict word 00030h ; b8 30 00
mov word [bp+01ch], dx ; 89 56 1c
cmp dx, 03c00h ; 81 fa 00 3c
mov word [bp+01ch], 03c00h ; c7 46 1c 00 3c
mov ax, strict word 00035h ; b8 35 00
mov ax, strict word 00034h ; b8 34 00
mov word [bp+018h], dx ; 89 56 18
mov ax, word [bp+01ch] ; 8b 46 1c
mov word [bp+020h], ax ; 89 46 20
mov word [bp+014h], dx ; 89 56 14
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp+014h] ; ff 76 14
push word [bp+020h] ; ff 76 20
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
or byte [bp+028h], 001h ; 80 4e 28 01
mov ax, word [bp+020h] ; 8b 46 20
or AL, strict byte 086h ; 0c 86
mov word [bp+020h], ax ; 89 46 20
lea sp, [bp-002h] ; 8d 66 fe
_inv_op_handler: ; 0xf678c LB 0x195
les bx, [bp+018h] ; c4 5e 18
cmp byte [es:bx], 0f0h ; 26 80 3f f0
inc word [bp+018h] ; ff 46 18
jmp near 0691ah ; e9 78 01
cmp word [es:bx], 0050fh ; 26 81 3f 0f 05
jne near 06916h ; 0f 85 6b 01
mov si, 00800h ; be 00 08
mov word [bp-006h], ax ; 89 46 fa
mov word [bp-008h], ax ; 89 46 f8
mov bx, word [es:si+02ch] ; 26 8b 5c 2c
sub bx, strict byte 00006h ; 83 eb 06
mov dx, word [es:si+020h] ; 26 8b 54 20
mov ax, word [es:si+01ah] ; 26 8b 44 1a
mov word [es:bx], ax ; 26 89 07
mov es, [bp-006h] ; 8e 46 fa
mov ax, word [es:si+022h] ; 26 8b 44 22
mov word [es:bx+002h], ax ; 26 89 47 02
mov es, [bp-006h] ; 8e 46 fa
mov ax, word [es:si+018h] ; 26 8b 44 18
mov word [es:bx+004h], ax ; 26 89 47 04
mov es, [bp-006h] ; 8e 46 fa
movzx bx, byte [es:si+038h] ; 26 0f b6 5c 38
mov di, word [es:si+036h] ; 26 8b 7c 36
mov ax, word [es:si+024h] ; 26 8b 44 24
mov cx, strict word 00004h ; b9 04 00
mov word [bp-008h], strict word 00001h ; c7 46 f8 01 00
mov es, [bp-006h] ; 8e 46 fa
movzx di, byte [es:si+04ah] ; 26 0f b6 7c 4a
mov bx, word [es:si+048h] ; 26 8b 5c 48
mov ax, word [es:si+01eh] ; 26 8b 44 1e
mov cx, strict word 00004h ; b9 04 00
or byte [bp-008h], 002h ; 80 4e f8 02
push strict byte 00000h ; 6a 00
push strict byte 0001fh ; 6a 1f
lgdt [ss:bx] ; 36 0f 01 17
add sp, strict byte 00006h ; 83 c4 06
mov es, [bp-006h] ; 8e 46 fa
mov ax, word [es:si+03ah] ; 26 8b 44 3a
mov word [es:si+008h], ax ; 26 89 44 08
mov ax, word [es:si+036h] ; 26 8b 44 36
mov word [es:si+00ah], ax ; 26 89 44 0a
movzx dx, byte [es:si+039h] ; 26 0f b6 54 39
movzx ax, byte [es:si+038h] ; 26 0f b6 44 38
mov word [es:si+00ch], dx ; 26 89 54 0c
mov word [es:si+00eh], strict word 00000h ; 26 c7 44 0e 00 00
mov ax, word [es:si+04ch] ; 26 8b 44 4c
mov word [es:si], ax ; 26 89 04
mov ax, word [es:si+048h] ; 26 8b 44 48
mov word [es:si+002h], ax ; 26 89 44 02
movzx dx, byte [es:si+04bh] ; 26 0f b6 54 4b
movzx ax, byte [es:si+04ah] ; 26 0f b6 44 4a
mov word [es:si+004h], dx ; 26 89 54 04
movzx ax, byte [es:si+05ch] ; 26 0f b6 44 5c
mov dx, word [es:si+05ah] ; 26 8b 54 5a
push word [es:si+05eh] ; 26 ff 74 5e
lidt [ss:bx] ; 36 0f 01 1f
add sp, strict byte 00006h ; 83 c4 06
mov cx, word [bp-008h] ; 8b 4e f8
mov ax, 00080h ; b8 80 00
mov ax, word [ss:0001eh] ; 36 a1 1e 00
mov ax, word [ss:00024h] ; 36 a1 24 00
mov ax, strict word 00008h ; b8 08 00
test cx, strict word 00001h ; f7 c1 01 00
je near 068d3h ; 0f 84 02 00
test cx, strict word 00002h ; f7 c1 02 00
je near 068fbh ; 0f 84 20 00
mov bx, word [word ss:00000h] ; 36 8b 1e 00 00
mov word [word ss:00008h], bx ; 36 89 1e 08 00
mov bx, word [word ss:00002h] ; 36 8b 1e 02 00
mov word [word ss:0000ah], bx ; 36 89 1e 0a 00
mov bx, word [word ss:00004h] ; 36 8b 1e 04 00
mov word [word ss:0000ch], bx ; 36 89 1e 0c 00
mov sp, strict word 00026h ; bc 26 00
mov sp, word [word ss:0002ch] ; 36 8b 26 2c 00
sub sp, strict byte 00006h ; 83 ec 06
mov ss, [word ss:00020h] ; 36 8e 16 20 00
lea sp, [bp-004h] ; 8d 66 fc
init_rtc_: ; 0xf6921 LB 0x28
mov dx, strict word 00026h ; ba 26 00
mov ax, strict word 0000ah ; b8 0a 00
mov dx, strict word 00002h ; ba 02 00
mov ax, strict word 0000bh ; b8 0b 00
mov ax, strict word 0000ch ; b8 0c 00
mov ax, strict word 0000dh ; b8 0d 00
lea sp, [bp-002h] ; 8d 66 fe
rtc_updating_: ; 0xf6949 LB 0x21
mov dx, 061a8h ; ba a8 61
mov ax, strict word 0000ah ; b8 0a 00
test AL, strict byte 080h ; a8 80
mov ax, strict word 00001h ; b8 01 00
lea sp, [bp-002h] ; 8d 66 fe
_int70_function: ; 0xf696a LB 0xbe
mov ax, strict word 0000bh ; b8 0b 00
mov byte [bp-004h], al ; 88 46 fc
mov ax, strict word 0000ch ; b8 0c 00
je near 06a0fh ; 0f 84 86 00
test AL, strict byte 020h ; a8 20
je near 06a0fh ; 0f 84 77 00
mov dx, 000a0h ; ba a0 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 0009ch ; ba 9c 00
mov ax, strict word 00040h ; b8 40 00
cmp ax, 003d1h ; 3d d1 03
mov dx, 00098h ; ba 98 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 0009ah ; ba 9a 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 000a0h ; ba a0 00
mov ax, strict word 00040h ; b8 40 00
mov al, byte [bp-004h] ; 8a 46 fc
and AL, strict byte 037h ; 24 37
mov ax, strict word 0000bh ; b8 0b 00
or AL, strict byte 080h ; 0c 80
add bx, 0fc2fh ; 81 c3 2f fc
adc cx, strict byte 0ffffh ; 83 d1 ff
mov dx, 0009ch ; ba 9c 00
mov ax, strict word 00040h ; b8 40 00
lea sp, [bp-002h] ; 8d 66 fe
push strict byte 00068h ; 6a 68
push strict byte 0ff8dh ; 6a 8d
push strict byte 0ffbfh ; 6a bf
push strict byte 0000eh ; 6a 0e
imul ax, word [bp+06bh], strict byte 0ff89h ; 6b 46 6b 89
imul sp, ax, strict byte 0006bh ; 6b e0 6b
_int1a_function: ; 0xf6a28 LB 0x1c8
mov al, byte [bp+013h] ; 8a 46 13
cmp AL, strict byte 007h ; 3c 07
jnbe near 06a64h ; 0f 87 2f 00
jmp word [cs:bx+06a18h] ; 2e ff a7 18 6a
mov bx, 0046eh ; bb 6e 04
mov ax, word [es:bx] ; 26 8b 07
mov word [bp+010h], ax ; 89 46 10
mov bx, 0046ch ; bb 6c 04
mov ax, word [es:bx] ; 26 8b 07
mov word [bp+00eh], ax ; 89 46 0e
mov bx, 00470h ; bb 70 04
mov al, byte [es:bx] ; 26 8a 07
mov byte [bp+012h], al ; 88 46 12
mov byte [es:bx], 000h ; 26 c6 07 00
mov bx, 0046eh ; bb 6e 04
mov ax, word [bp+010h] ; 8b 46 10
mov word [es:bx], ax ; 26 89 07
mov bx, 0046ch ; bb 6c 04
mov ax, word [bp+00eh] ; 8b 46 0e
mov word [es:bx], ax ; 26 89 07
mov bx, 00470h ; bb 70 04
mov byte [es:bx], 000h ; 26 c6 07 00
mov byte [bp+013h], 000h ; c6 46 13 00
mov byte [bp+00fh], al ; 88 46 0f
mov ax, strict word 00002h ; b8 02 00
mov byte [bp+010h], al ; 88 46 10
mov ax, strict word 00004h ; b8 04 00
mov byte [bp+011h], al ; 88 46 11
mov ax, strict word 0000bh ; b8 0b 00
and AL, strict byte 001h ; 24 01
mov byte [bp+00eh], al ; 88 46 0e
movzx dx, byte [bp+00fh] ; 0f b6 56 0f
movzx dx, byte [bp+010h] ; 0f b6 56 10
mov ax, strict word 00002h ; b8 02 00
movzx dx, byte [bp+011h] ; 0f b6 56 11
mov ax, strict word 00004h ; b8 04 00
mov ax, strict word 0000bh ; b8 0b 00
mov al, byte [bp+00eh] ; 8a 46 0e
and AL, strict byte 001h ; 24 01
mov ax, strict word 0000bh ; b8 0b 00
mov byte [bp+013h], 000h ; c6 46 13 00
mov byte [bp+012h], bl ; 88 5e 12
jmp near 06a64h ; e9 56 ff
mov byte [bp+013h], 000h ; c6 46 13 00
jmp near 06a64h ; e9 48 ff
mov ax, strict word 00009h ; b8 09 00
mov byte [bp+010h], al ; 88 46 10
mov ax, strict word 00008h ; b8 08 00
mov byte [bp+00fh], al ; 88 46 0f
mov ax, strict word 00007h ; b8 07 00
mov byte [bp+00eh], al ; 88 46 0e
mov ax, strict word 00032h ; b8 32 00
mov byte [bp+011h], al ; 88 46 11
mov byte [bp+012h], al ; 88 46 12
jmp near 06a64h ; e9 1e ff
jmp near 06a64h ; e9 11 ff
movzx dx, byte [bp+010h] ; 0f b6 56 10
mov ax, strict word 00009h ; b8 09 00
movzx dx, byte [bp+00fh] ; 0f b6 56 0f
mov ax, strict word 00008h ; b8 08 00
movzx dx, byte [bp+00eh] ; 0f b6 56 0e
mov ax, strict word 00007h ; b8 07 00
movzx dx, byte [bp+011h] ; 0f b6 56 11
mov ax, strict word 00032h ; b8 32 00
mov ax, strict word 0000bh ; b8 0b 00
jmp near 06afbh ; e9 72 ff
mov ax, strict word 0000bh ; b8 0b 00
mov word [bp+012h], strict word 00000h ; c7 46 12 00 00
test AL, strict byte 020h ; a8 20
jmp near 06a64h ; e9 c7 fe
movzx dx, byte [bp+00fh] ; 0f b6 56 0f
mov ax, strict word 00001h ; b8 01 00
movzx dx, byte [bp+010h] ; 0f b6 56 10
mov ax, strict word 00003h ; b8 03 00
movzx dx, byte [bp+011h] ; 0f b6 56 11
mov ax, strict word 00005h ; b8 05 00
mov dx, 000a1h ; ba a1 00
and AL, strict byte 0feh ; 24 fe
and AL, strict byte 05fh ; 24 5f
or AL, strict byte 020h ; 0c 20
mov ax, strict word 0000bh ; b8 0b 00
jmp near 06a64h ; e9 84 fe
mov ax, strict word 0000bh ; b8 0b 00
and AL, strict byte 057h ; 24 57
jmp near 06afeh ; e9 0e ff
send_to_mouse_ctrl_: ; 0xf6bf0 LB 0x34
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
mov AL, strict byte 0d4h ; b0 d4
mov dx, strict word 00064h ; ba 64 00
mov dx, strict word 00060h ; ba 60 00
lea sp, [bp-004h] ; 8d 66 fc
get_mouse_data_: ; 0xf6c24 LB 0x3b
mov cx, 02710h ; b9 10 27
mov dx, strict word 00064h ; ba 64 00
and ax, strict word 00021h ; 25 21 00
cmp ax, strict word 00021h ; 3d 21 00
mov AL, strict byte 001h ; b0 01
mov dx, strict word 00060h ; ba 60 00
mov byte [es:bx], al ; 26 88 07
lea sp, [bp-004h] ; 8d 66 fc
set_kbd_command_byte_: ; 0xf6c5f LB 0x32
mov dx, strict word 00064h ; ba 64 00
test AL, strict byte 002h ; a8 02
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
mov AL, strict byte 060h ; b0 60
mov dx, strict word 00064h ; ba 64 00
mov dx, strict word 00060h ; ba 60 00
lea sp, [bp-004h] ; 8d 66 fc
_int74_function: ; 0xf6c91 LB 0xca
sub sp, strict byte 00008h ; 83 ec 08
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp+004h], strict word 00000h ; c7 46 04 00 00
mov dx, strict word 00064h ; ba 64 00
and AL, strict byte 021h ; 24 21
cmp AL, strict byte 021h ; 3c 21
jne near 06d47h ; 0f 85 92 00
mov dx, strict word 00060h ; ba 60 00
mov dx, strict word 00026h ; ba 26 00
mov byte [bp-006h], al ; 88 46 fa
mov dx, strict word 00027h ; ba 27 00
mov byte [bp-008h], al ; 88 46 f8
test AL, strict byte 080h ; a8 80
mov al, byte [bp-008h] ; 8a 46 f8
and AL, strict byte 007h ; 24 07
mov byte [bp-002h], al ; 88 46 fe
mov al, byte [bp-006h] ; 8a 46 fa
and AL, strict byte 007h ; 24 07
mov byte [bp-004h], al ; 88 46 fc
add dx, strict byte 00028h ; 83 c2 28
mov al, byte [bp-004h] ; 8a 46 fc
cmp al, byte [bp-002h] ; 3a 46 fe
mov dx, strict word 00028h ; ba 28 00
mov word [bp+00ch], ax ; 89 46 0c
mov dx, strict word 00029h ; ba 29 00
mov word [bp+00ah], ax ; 89 46 0a
mov dx, strict word 0002ah ; ba 2a 00
mov word [bp+008h], ax ; 89 46 08
mov word [bp+006h], ax ; 89 46 06
mov byte [bp-006h], ah ; 88 66 fa
test byte [bp-008h], 080h ; f6 46 f8 80
mov word [bp+004h], strict word 00001h ; c7 46 04 01 00
inc byte [bp-006h] ; fe 46 fa
movzx bx, byte [bp-006h] ; 0f b6 5e fa
mov dx, strict word 00026h ; ba 26 00
adc ax, 0986eh ; 15 6e 98
sub word [bx-069h], bp ; 29 6f 97
mov di, 0846fh ; bf 6f 84
_int15_function_mouse: ; 0xf6d5b LB 0x38b
sub sp, strict byte 00006h ; 83 ec 06
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
cmp byte [bp+012h], 007h ; 80 7e 12 07
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 001h ; c6 46 13 01
jmp near 070e0h ; e9 62 03
mov ax, strict word 00065h ; b8 65 00
and word [bp+018h], strict byte 0fffeh ; 83 66 18 fe
mov byte [bp+013h], 000h ; c6 46 13 00
mov al, byte [bp+012h] ; 8a 46 12
cmp AL, strict byte 007h ; 3c 07
jnbe near 070c7h ; 0f 87 32 03
jmp word [cs:si+06d4bh] ; 2e ff a4 4b 6d
cmp byte [bp+00dh], 001h ; 80 7e 0d 01
jnbe near 070d2h ; 0f 87 2b 03
mov dx, strict word 00027h ; ba 27 00
test AL, strict byte 080h ; a8 80
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 005h ; c6 46 13 05
jmp near 070dah ; e9 1c 03
cmp byte [bp+00dh], 000h ; 80 7e 0d 00
add AL, strict byte 0f4h ; 04 f4
jne near 07060h ; 0f 85 8e 02
lea ax, [bp-008h] ; 8d 46 f8
je near 070dah ; 0f 84 fa 02
cmp byte [bp-008h], 0fah ; 80 7e f8 fa
jne near 07060h ; 0f 85 78 02
jmp near 070dah ; e9 ef 02
mov al, byte [bp+00dh] ; 8a 46 0d
cmp AL, strict byte 001h ; 3c 01
cmp AL, strict byte 008h ; 3c 08
jmp near 06f8ch ; e9 93 01
mov dx, strict word 00027h ; ba 27 00
mov ah, byte [bp+00dh] ; 8a 66 0d
and AL, strict byte 0f8h ; 24 f8
mov dx, strict word 00027h ; ba 27 00
mov dx, strict word 00026h ; ba 26 00
and AL, strict byte 0f8h ; 24 f8
mov dx, strict word 00026h ; ba 26 00
mov ax, 000ffh ; b8 ff 00
jne near 07060h ; 0f 85 2a 02
lea ax, [bp-004h] ; 8d 46 fc
cmp byte [bp-004h], 0feh ; 80 7e fc fe
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 004h ; c6 46 13 04
jmp near 070dah ; e9 89 02
cmp byte [bp-004h], 0fah ; 80 7e fc fa
movzx ax, byte [bp-004h] ; 0f b6 46 fc
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
jne near 07060h ; 0f 85 f3 01
lea ax, [bp-008h] ; 8d 46 f8
jne near 07060h ; 0f 85 e5 01
lea ax, [bp-006h] ; 8d 46 fa
jne near 07060h ; 0f 85 d7 01
mov al, byte [bp-008h] ; 8a 46 f8
mov byte [bp+00ch], al ; 88 46 0c
mov al, byte [bp-006h] ; 8a 46 fa
mov byte [bp+00dh], al ; 88 46 0d
jmp near 070dah ; e9 42 02
mov al, byte [bp+00dh] ; 8a 46 0d
cmp AL, strict byte 003h ; 3c 03
cmp AL, strict byte 006h ; 3c 06
cmp AL, strict byte 005h ; 3c 05
cmp AL, strict byte 004h ; 3c 04
cmp AL, strict byte 002h ; 3c 02
cmp AL, strict byte 001h ; 3c 01
mov byte [bp-008h], 00ah ; c6 46 f8 0a
mov byte [bp-008h], 014h ; c6 46 f8 14
mov byte [bp-008h], 028h ; c6 46 f8 28
mov byte [bp-008h], 03ch ; c6 46 f8 3c
mov byte [bp-008h], 050h ; c6 46 f8 50
mov byte [bp-008h], 064h ; c6 46 f8 64
mov byte [bp-008h], 0c8h ; c6 46 f8 c8
mov byte [bp-008h], 000h ; c6 46 f8 00
cmp byte [bp-008h], 000h ; 80 7e f8 00
mov ax, 000f3h ; b8 f3 00
lea ax, [bp-006h] ; 8d 46 fa
movzx ax, byte [bp-008h] ; 0f b6 46 f8
lea ax, [bp-006h] ; 8d 46 fa
jmp near 070dah ; e9 c7 01
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 003h ; c6 46 13 03
jmp near 070dah ; e9 bc 01
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 002h ; c6 46 13 02
jmp near 070dah ; e9 b1 01
cmp byte [bp+00dh], 004h ; 80 7e 0d 04
mov ax, 000e8h ; b8 e8 00
lea ax, [bp-008h] ; 8d 46 f8
cmp byte [bp-008h], 0fah ; 80 7e f8 fa
movzx ax, byte [bp-008h] ; 0f b6 46 f8
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
movzx ax, byte [bp+00dh] ; 0f b6 46 0d
lea ax, [bp-008h] ; 8d 46 f8
cmp byte [bp-008h], 0fah ; 80 7e f8 fa
je near 070dah ; 0f 84 6c 01
movzx ax, byte [bp-008h] ; 0f b6 46 f8
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
jmp near 070dah ; e9 59 01
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 003h ; c6 46 13 03
jmp near 070dah ; e9 4e 01
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 002h ; c6 46 13 02
jmp near 070dah ; e9 43 01
mov ax, 000f2h ; b8 f2 00
lea ax, [bp-008h] ; 8d 46 f8
lea ax, [bp-006h] ; 8d 46 fa
jmp near 06e8fh ; e9 db fe
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 003h ; c6 46 13 03
jmp near 070dah ; e9 1b 01
mov al, byte [bp+00dh] ; 8a 46 0d
cmp AL, strict byte 002h ; 3c 02
jmp near 0706ah ; e9 9d 00
mov ax, 000e9h ; b8 e9 00
jne near 07060h ; 0f 85 87 00
lea ax, [bp-008h] ; 8d 46 f8
cmp byte [bp-008h], 0fah ; 80 7e f8 fa
movzx ax, byte [bp-008h] ; 0f b6 46 f8
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
lea ax, [bp-008h] ; 8d 46 f8
lea ax, [bp-006h] ; 8d 46 fa
lea ax, [bp-004h] ; 8d 46 fc
mov al, byte [bp-008h] ; 8a 46 f8
mov byte [bp+00ch], al ; 88 46 0c
mov al, byte [bp-006h] ; 8a 46 fa
mov byte [bp+010h], al ; 88 46 10
mov al, byte [bp-004h] ; 8a 46 fc
mov byte [bp+00eh], al ; 88 46 0e
jmp near 070dah ; e9 a4 00
cmp AL, strict byte 001h ; 3c 01
mov ax, 000e6h ; b8 e6 00
mov ax, 000e7h ; b8 e7 00
lea ax, [bp-008h] ; 8d 46 f8
cmp byte [bp-008h], 0fah ; 80 7e f8 fa
je near 070dah ; 0f 84 7a 00
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 003h ; c6 46 13 03
movzx ax, byte [bp+00dh] ; 0f b6 46 0d
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 001h ; c6 46 13 01
mov si, word [bp+00ch] ; 8b 76 0c
mov dx, strict word 00022h ; ba 22 00
mov bx, word [bp+014h] ; 8b 5e 14
mov dx, strict word 00024h ; ba 24 00
mov dx, strict word 00027h ; ba 27 00
cmp word [bp+014h], strict byte 00000h ; 83 7e 14 00
test AL, strict byte 080h ; a8 80
and AL, strict byte 07fh ; 24 7f
or AL, strict byte 080h ; 0c 80
mov dx, strict word 00027h ; ba 27 00
push strict byte 00007h ; 6a 07
add sp, strict byte 00004h ; 83 c4 04
or word [bp+018h], strict byte 00001h ; 83 4e 18 01
mov byte [bp+013h], 001h ; c6 46 13 01
mov ax, strict word 00047h ; b8 47 00
lea sp, [bp-002h] ; 8d 66 fe
_int17_function: ; 0xf70e6 LB 0xb3
mov dx, word [bp+00eh] ; 8b 56 0e
add dx, strict byte 00008h ; 83 c2 08
mov ax, strict word 00040h ; b8 40 00
cmp byte [bp+013h], 003h ; 80 7e 13 03
jnc near 0718fh ; 0f 83 89 00
mov ax, word [bp+00eh] ; 8b 46 0e
cmp ax, strict word 00003h ; 3d 03 00
jnc near 0718fh ; 0f 83 7f 00
jbe near 0718fh ; 0f 86 79 00
add dx, strict byte 00078h ; 83 c2 78
mov ax, strict word 00040h ; b8 40 00
cmp byte [bp+013h], 000h ; 80 7e 13 00
mov al, byte [bp+012h] ; 8a 46 12
lea dx, [bx+002h] ; 8d 57 02
mov word [bp-004h], ax ; 89 46 fc
mov al, byte [bp-004h] ; 8a 46 fc
or AL, strict byte 001h ; 0c 01
movzx ax, byte [bp-004h] ; 0f b6 46 fc
and AL, strict byte 0feh ; 24 fe
lea dx, [si+001h] ; 8d 54 01
test AL, strict byte 040h ; a8 40
cmp byte [bp+013h], 001h ; 80 7e 13 01
lea dx, [si+002h] ; 8d 54 02
mov word [bp-004h], ax ; 89 46 fc
movzx ax, byte [bp-004h] ; 0f b6 46 fc
and AL, strict byte 0fbh ; 24 fb
mov al, byte [bp-004h] ; 8a 46 fc
or AL, strict byte 004h ; 0c 04
lea dx, [si+001h] ; 8d 54 01
xor AL, strict byte 048h ; 34 48
mov byte [bp+013h], al ; 88 46 13
or byte [bp+013h], 001h ; 80 4e 13 01
and byte [bp+01ch], 0feh ; 80 66 1c fe
or byte [bp+01ch], 001h ; 80 4e 1c 01
lea sp, [bp-002h] ; 8d 66 fe
sub sp, strict byte 0000ah ; 83 ec 0a
mov byte [bp-00ch], dl ; 88 56 f4
mov byte [bp-00ah], 000h ; c6 46 f6 00
mov word [bp-010h], ax ; 89 46 f0
mov dx, 0046ch ; ba 6c 04
mov word [bp-00eh], ax ; 89 46 f2
mov dx, 0046ch ; ba 6c 04
mov word [bp-012h], ax ; 89 46 ee
jnbe short 071dah ; 77 07
cmp ax, word [bp-00eh] ; 3b 46 f2
sub ax, word [bp-00eh] ; 2b 46 f2
cmp ax, word [bp-00eh] ; 3b 46 f2
mov ax, word [bp-012h] ; 8b 46 ee
mov word [bp-00eh], ax ; 89 46 f2
mov ax, 00100h ; b8 00 01
je near 07206h ; 0f 84 05 00
mov AL, strict byte 001h ; b0 01
jmp near 07208h ; e9 02 00
mov byte [bp-00ah], al ; 88 46 f6
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
cmp byte [bp-00ch], 000h ; 80 7e f4 00
jnle short 071c1h ; 7f 8d
jnbe short 071c1h ; 77 87
mov ax, word [bp-010h] ; 8b 46 f0
mov al, byte [bp-00ah] ; 8a 46 f6
lea sp, [bp-008h] ; 8d 66 f8
read_logo_byte_: ; 0xf724b LB 0x16
mov dx, 003b8h ; ba b8 03
lea sp, [bp-002h] ; 8d 66 fe
read_logo_word_: ; 0xf7261 LB 0x14
mov dx, 003b8h ; ba b8 03
lea sp, [bp-002h] ; 8d 66 fe
print_detected_harddisks_: ; 0xf7275 LB 0x130
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov byte [bp-00ch], 000h ; c6 46 f4 00
mov dx, 002c0h ; ba c0 02
mov byte [bp-00eh], al ; 88 46 f2
cmp bl, byte [bp-00eh] ; 3a 5e f2
jnc near 07377h ; 0f 83 d3 00
add dx, 002c1h ; 81 c2 c1 02
cmp AL, strict byte 00ch ; 3c 0c
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov CL, strict byte 001h ; b1 01
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
jmp near 07372h ; e9 98 00
cmp AL, strict byte 008h ; 3c 08
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov CH, strict byte 001h ; b5 01
cmp AL, strict byte 004h ; 3c 04
cmp byte [bp-00ch], 000h ; 80 7e f4 00
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov byte [bp-00ch], 001h ; c6 46 f4 01
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov CL, strict byte 001h ; b1 01
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov di, strict word 00002h ; bf 02 00
add sp, strict byte 00004h ; 83 c4 04
jmp near 0729dh ; e9 26 ff
cmp byte [bp-00ch], 000h ; 80 7e f4 00
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
lea sp, [bp-00ah] ; 8d 66 f6
get_boot_drive_: ; 0xf73a5 LB 0x28
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov dx, 002c0h ; ba c0 02
mov BL, strict byte 0ffh ; b3 ff
lea sp, [bp-004h] ; 8d 66 fc
show_logo_: ; 0xf73cd LB 0x224
sub sp, strict byte 0000ch ; 83 ec 0c
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov AL, strict byte 034h ; b0 34
out strict byte 043h, AL ; e6 43
mov AL, strict byte 0d3h ; b0 d3
out strict byte 040h, AL ; e6 40
mov AL, strict byte 048h ; b0 48
out strict byte 040h, AL ; e6 40
cmp ax, 066bbh ; 3d bb 66
jne near 074d1h ; 0f 85 d1 00
lea di, [bp-016h] ; 8d 7e ea
mov ax, 04f03h ; b8 03 4f
mov word [es:di], bx ; 26 89 1d
cmp ax, strict word 0004fh ; 3d 4f 00
jne near 074d1h ; 0f 85 bd 00
add AL, strict byte 004h ; 04 04
mov byte [bp-00ch], al ; 88 46 f4
add AL, strict byte 005h ; 04 05
mov byte [bp-010h], al ; 88 46 f0
add AL, strict byte 002h ; 04 02
mov word [bp-014h], ax ; 89 46 ec
add AL, strict byte 006h ; 04 06
mov byte [bp-012h], al ; 88 46 ee
je near 074d1h ; 0f 84 79 00
mov bx, 00142h ; bb 42 01
mov ax, 04f02h ; b8 02 4f
cmp byte [bp-00ch], 000h ; 80 7e f4 00
cmp bx, strict byte 00010h ; 83 fb 10
jnbe short 07490h ; 77 20
mov dx, 003b8h ; ba b8 03
mov ax, strict word 00001h ; b8 01 00
cmp AL, strict byte 086h ; 3c 86
mov CL, strict byte 001h ; b1 01
mov ax, 00210h ; b8 10 02
mov dx, 003b8h ; ba b8 03
mov ax, word [bp-014h] ; 8b 46 ec
mov dx, strict word 00001h ; ba 01 00
cmp AL, strict byte 086h ; 3c 86
mov CL, strict byte 001h ; b1 01
cmp byte [bp-010h], 000h ; 80 7e f0 00
mov bx, strict word 00010h ; bb 10 00
mov dx, 003b8h ; ba b8 03
mov ax, strict word 00001h ; b8 01 00
cmp AL, strict byte 086h ; 3c 86
mov CL, strict byte 001h ; b1 01
mov dx, 00339h ; ba 39 03
mov AL, strict byte 003h ; b0 03
mov AH, strict byte 000h ; b4 00
cmp byte [bp-012h], 000h ; 80 7e ee 00
je near 075d2h ; 0f 84 e9 00
cmp byte [bp-00ch], 000h ; 80 7e f4 00
cmp byte [bp-010h], 000h ; 80 7e f0 00
cmp word [bp-014h], strict byte 00000h ; 83 7e ec 00
cmp byte [bp-012h], 002h ; 80 7e ee 02
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov dx, strict word 00001h ; ba 01 00
mov ax, 000c0h ; b8 c0 00
cmp AL, strict byte 086h ; 3c 86
mov CL, strict byte 001h ; b1 01
je near 075d2h ; 0f 84 ad 00
mov byte [bp-00eh], 000h ; c6 46 f2 00
mov ax, 00100h ; b8 00 01
mov cx, 01000h ; b9 00 10
mov ax, 00700h ; b8 00 07
mov BH, strict byte 007h ; b7 07
mov dx, 0184fh ; ba 4f 18
mov ax, 00200h ; b8 00 02
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov dx, strict word 00001h ; ba 01 00
mov ax, strict word 00040h ; b8 40 00
cmp AL, strict byte 030h ; 3c 30
jnbe short 07599h ; 77 1d
cmp AL, strict byte 0ffh ; 3c ff
mov dx, 00338h ; ba 38 03
mov byte [bp-00eh], 002h ; c6 46 f2 02
mov byte [bp-00eh], 001h ; c6 46 f2 01
mov byte [bp-00eh], 003h ; c6 46 f2 03
mov byte [bp-00eh], 004h ; c6 46 f2 04
cmp byte [bp-00eh], 000h ; 80 7e f2 00
movzx bx, byte [bp-00eh] ; 0f b6 5e f2
mov dx, 00339h ; ba 39 03
mov AL, strict byte 003h ; b0 03
mov AH, strict byte 000h ; b4 00
mov AL, strict byte 034h ; b0 34
out strict byte 043h, AL ; e6 43
out strict byte 040h, AL ; e6 40
out strict byte 040h, AL ; e6 40
lea sp, [bp-00ah] ; 8d 66 f6
delay_boot_: ; 0xf75f1 LB 0x67
mov AL, strict byte 034h ; b0 34
out strict byte 043h, AL ; e6 43
mov AL, strict byte 0d3h ; b0 d3
out strict byte 040h, AL ; e6 40
mov AL, strict byte 048h ; b0 48
out strict byte 040h, AL ; e6 40
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
push strict byte 00002h ; 6a 02
add sp, strict byte 00006h ; 83 c4 06
mov ax, strict word 00040h ; b8 40 00
push strict byte 00002h ; 6a 02
add sp, strict byte 00004h ; 83 c4 04
mov AL, strict byte 034h ; b0 34
out strict byte 043h, AL ; e6 43
out strict byte 040h, AL ; e6 40
out strict byte 040h, AL ; e6 40
lea sp, [bp-004h] ; 8d 66 fc
scsi_cmd_data_in_: ; 0xf7658 LB 0xb2
sub sp, strict byte 00006h ; 83 ec 06
mov byte [bp-006h], dl ; 88 56 fa
mov word [bp-00ah], bx ; 89 5e f6
mov word [bp-008h], cx ; 89 4e f8
mov bx, word [bp+00ah] ; 8b 5e 0a
test AL, strict byte 001h ; a8 01
mov dx, word [bp+00ch] ; 8b 56 0c
mov cx, strict word 0000ch ; b9 0c 00
and ax, 000f0h ; 25 f0 00
movzx cx, byte [bp+004h] ; 0f b6 4e 04
mov al, byte [bp-006h] ; 8a 46 fa
mov dx, word [bp+00ch] ; 8b 56 0c
mov cx, strict word 00008h ; b9 08 00
movzx ax, byte [bp+004h] ; 0f b6 46 04
les di, [bp-00ah] ; c4 7e f6
mov al, byte [es:di] ; 26 8a 05
test AL, strict byte 001h ; a8 01
lea dx, [si+001h] ; 8d 54 01
cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00
cmp bx, 08000h ; 81 fb 00 80
mov cx, 08000h ; b9 00 80
les di, [bp+006h] ; c4 7e 06
add bx, 08000h ; 81 c3 00 80
adc word [bp+00ch], strict byte 0ffffh ; 83 56 0c ff
add ax, 00800h ; 05 00 08
mov word [bp+008h], ax ; 89 46 08
les di, [bp+006h] ; c4 7e 06
lea sp, [bp-004h] ; 8d 66 fc
scsi_cmd_data_out_: ; 0xf770a LB 0xb4
sub sp, strict byte 00006h ; 83 ec 06
mov byte [bp-006h], dl ; 88 56 fa
mov word [bp-00ah], bx ; 89 5e f6
mov word [bp-008h], cx ; 89 4e f8
mov bx, word [bp+00ah] ; 8b 5e 0a
test AL, strict byte 001h ; a8 01
mov dx, word [bp+00ch] ; 8b 56 0c
mov cx, strict word 0000ch ; b9 0c 00
and ax, 000f0h ; 25 f0 00
movzx cx, byte [bp+004h] ; 0f b6 4e 04
mov al, byte [bp-006h] ; 8a 46 fa
mov AL, strict byte 001h ; b0 01
mov dx, word [bp+00ch] ; 8b 56 0c
mov cx, strict word 00008h ; b9 08 00
movzx ax, byte [bp+004h] ; 0f b6 46 04
les si, [bp-00ah] ; c4 76 f6
mov al, byte [es:si] ; 26 8a 04
lea dx, [di+001h] ; 8d 55 01
cmp word [bp+00ch], strict byte 00000h ; 83 7e 0c 00
cmp bx, 08000h ; 81 fb 00 80
mov cx, 08000h ; b9 00 80
les si, [bp+006h] ; c4 76 06
; rep es outsb ; f3 26 6e
add bx, 08000h ; 81 c3 00 80
adc word [bp+00ch], strict byte 0ffffh ; 83 56 0c ff
add ax, 00800h ; 05 00 08
mov word [bp+008h], ax ; 89 46 08
les si, [bp+006h] ; c4 76 06
; rep es outsb ; f3 26 6e
test AL, strict byte 001h ; a8 01
lea sp, [bp-004h] ; 8d 66 fc
@scsi_read_sectors: ; 0xf77be LB 0xb9
sub sp, strict byte 0000eh ; 83 ec 0e
mov si, word [bp+004h] ; 8b 76 04
mov es, [bp+006h] ; 8e 46 06
mov bl, byte [es:si+008h] ; 26 8a 5c 08
push strict byte 00007h ; 6a 07
add sp, strict byte 00008h ; 83 c4 08
mov es, [bp+006h] ; 8e 46 06
mov di, word [es:si+00ah] ; 26 8b 7c 0a
mov word [bp-012h], strict word 00028h ; c7 46 ee 28 00
mov ax, word [es:si] ; 26 8b 04
mov dx, word [es:si+002h] ; 26 8b 54 02
mov word [bp-010h], ax ; 89 46 f0
mov word [bp-00eh], dx ; 89 56 f2
mov byte [bp-00ch], 000h ; c6 46 f4 00
mov word [bp-00bh], ax ; 89 46 f5
mov byte [bp-009h], 000h ; c6 46 f7 00
mov ax, word [es:bx+001d8h] ; 26 8b 87 d8 01
mov dl, byte [es:bx+001dah] ; 26 8a 97 da 01
mov word [bp-008h], di ; 89 7e f8
mov word [bp-006h], strict word 00000h ; c7 46 fa 00 00
mov cx, strict word 00009h ; b9 09 00
sal word [bp-008h], 1 ; d1 66 f8
rcl word [bp-006h], 1 ; d1 56 fa
push dword [bp-008h] ; 66 ff 76 f8
db 066h, 026h, 0ffh, 074h, 004h
; push dword [es:si+004h] ; 66 26 ff 74 04
push strict byte 0000ah ; 6a 0a
lea bx, [bp-012h] ; 8d 5e ee
mov es, [bp+006h] ; 8e 46 06
mov word [es:si+014h], di ; 26 89 7c 14
mov dx, word [bp-008h] ; 8b 56 f8
mov word [es:si+016h], dx ; 26 89 54 16
mov dx, word [bp-006h] ; 8b 56 fa
mov word [es:si+018h], dx ; 26 89 54 18
lea sp, [bp-004h] ; 8d 66 fc
@scsi_write_sectors: ; 0xf7877 LB 0xb9
sub sp, strict byte 0000eh ; 83 ec 0e
mov si, word [bp+004h] ; 8b 76 04
mov es, [bp+006h] ; 8e 46 06
mov bl, byte [es:si+008h] ; 26 8a 5c 08
push strict byte 00007h ; 6a 07
add sp, strict byte 00008h ; 83 c4 08
mov es, [bp+006h] ; 8e 46 06
mov di, word [es:si+00ah] ; 26 8b 7c 0a
mov word [bp-012h], strict word 0002ah ; c7 46 ee 2a 00
mov ax, word [es:si] ; 26 8b 04
mov dx, word [es:si+002h] ; 26 8b 54 02
mov word [bp-010h], ax ; 89 46 f0
mov word [bp-00eh], dx ; 89 56 f2
mov byte [bp-00ch], 000h ; c6 46 f4 00
mov word [bp-00bh], ax ; 89 46 f5
mov byte [bp-009h], 000h ; c6 46 f7 00
mov ax, word [es:bx+001d8h] ; 26 8b 87 d8 01
mov dl, byte [es:bx+001dah] ; 26 8a 97 da 01
mov word [bp-008h], di ; 89 7e f8
mov word [bp-006h], strict word 00000h ; c7 46 fa 00 00
mov cx, strict word 00009h ; b9 09 00
sal word [bp-008h], 1 ; d1 66 f8
rcl word [bp-006h], 1 ; d1 56 fa
push dword [bp-008h] ; 66 ff 76 f8
db 066h, 026h, 0ffh, 074h, 004h
; push dword [es:si+004h] ; 66 26 ff 74 04
push strict byte 0000ah ; 6a 0a
lea bx, [bp-012h] ; 8d 5e ee
mov es, [bp+006h] ; 8e 46 06
mov word [es:si+014h], di ; 26 89 7c 14
mov dx, word [bp-008h] ; 8b 56 f8
mov word [es:si+016h], dx ; 26 89 54 16
mov dx, word [bp-006h] ; 8b 56 fa
mov word [es:si+018h], dx ; 26 89 54 18
lea sp, [bp-004h] ; 8d 66 fc
scsi_cmd_packet_: ; 0xf7930 LB 0x166
sub sp, strict byte 0000ch ; 83 ec 0c
mov byte [bp-006h], dl ; 88 56 fa
mov word [bp-00ch], bx ; 89 5e f4
mov word [bp-00ah], cx ; 89 4e f6
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00122h ; be 22 01
mov word [bp-00eh], ax ; 89 46 f2
cmp byte [bp+00ah], 002h ; 80 7e 0a 02
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
mov dx, strict word 00001h ; ba 01 00
jmp near 07a8bh ; e9 14 01
sub di, strict byte 00008h ; 83 ef 08
sub byte [bp-006h], 002h ; 80 6e fa 02
mov es, [bp-00eh] ; 8e 46 f2
mov bx, word [es:di+001d8h] ; 26 8b 9d d8 01
mov al, byte [es:di+001dah] ; 26 8a 85 da 01
mov byte [bp-008h], al ; 88 46 f8
test AL, strict byte 001h ; a8 01
mov dx, word [bp+006h] ; 8b 56 06
add dx, word [bp+004h] ; 03 56 04
adc ax, word [bp+008h] ; 13 46 08
mov es, [bp-00eh] ; 8e 46 f2
mov cx, word [es:si+01ch] ; 26 8b 4c 1c
mov word [bp-010h], cx ; 89 4e f0
mov cx, strict word 0000ch ; b9 0c 00
and ax, 000f0h ; 25 f0 00
movzx cx, byte [bp-006h] ; 0f b6 4e fa
mov al, byte [bp-008h] ; 8a 46 f8
mov al, byte [bp-010h] ; 8a 46 f0
mov ax, word [bp-010h] ; 8b 46 f0
mov cx, strict word 00008h ; b9 08 00
movzx ax, byte [bp-006h] ; 0f b6 46 fa
les di, [bp-00ch] ; c4 7e f4
mov al, byte [es:di] ; 26 8a 05
test AL, strict byte 001h ; a8 01
test AL, strict byte 002h ; a8 02
lea dx, [bx+003h] ; 8d 57 03
mov dx, strict word 00003h ; ba 03 00
mov ax, word [bp+004h] ; 8b 46 04
lea dx, [bx+001h] ; 8d 57 01
mov ax, word [bp+006h] ; 8b 46 06
mov es, [bp-00eh] ; 8e 46 f2
mov word [es:si+016h], ax ; 26 89 44 16
mov ax, word [bp+008h] ; 8b 46 08
mov word [es:si+018h], ax ; 26 89 44 18
lea ax, [bx+001h] ; 8d 47 01
cmp word [bp+008h], strict byte 00000h ; 83 7e 08 00
cmp word [bp+006h], 08000h ; 81 7e 06 00 80
mov cx, 08000h ; b9 00 80
les di, [bp+00ch] ; c4 7e 0c
add word [bp+006h], 08000h ; 81 46 06 00 80
adc word [bp+008h], strict byte 0ffffh ; 83 56 08 ff
add ax, 00800h ; 05 00 08
mov word [bp+00eh], ax ; 89 46 0e
mov cx, word [bp+006h] ; 8b 4e 06
les di, [bp+00ch] ; c4 7e 0c
mov es, [bp-00eh] ; 8e 46 f2
cmp word [es:si+01ch], strict byte 00000h ; 26 83 7c 1c 00
mov cx, word [es:si+01ch] ; 26 8b 4c 1c
lea sp, [bp-004h] ; 8d 66 fc
scsi_enumerate_attached_devices_: ; 0xf7a96 LB 0x3e5
sub sp, 0021ch ; 81 ec 1c 02
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00122h ; be 22 01
mov word [bp-01ah], ax ; 89 46 e6
mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00
jmp near 07e09h ; e9 4f 03
mov es, [bp-01ah] ; 8e 46 e6
cmp byte [es:si+001e8h], 004h ; 26 80 bc e8 01 04
jnc near 07e71h ; 0f 83 aa 03
mov cx, strict word 0000ah ; b9 0a 00
lea ax, [bp-026h] ; 8d 46 da
mov byte [bp-026h], 025h ; c6 46 da 25
push dword 000000008h ; 66 6a 08
lea dx, [bp-00226h] ; 8d 96 da fd
push strict byte 0000ah ; 6a 0a
movzx dx, byte [bp-010h] ; 0f b6 56 f0
lea bx, [bp-026h] ; 8d 5e da
mov ax, word [bp-00228h] ; 8b 86 d8 fd
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
movzx ax, byte [bp-00225h] ; 0f b6 86 db fd
movzx di, byte [bp-00226h] ; 0f b6 be da fd
movzx ax, byte [bp-00224h] ; 0f b6 86 dc fd
mov cx, strict word 00008h ; b9 08 00
movzx ax, byte [bp-00223h] ; 0f b6 86 dd fd
mov word [bp-00eh], bx ; 89 5e f2
mov word [bp-018h], dx ; 89 56 e8
movzx di, byte [bp-00222h] ; 0f b6 be de fd
movzx dx, byte [bp-00221h] ; 0f b6 96 df fd
movzx ax, byte [bp-00220h] ; 0f b6 86 e0 fd
mov cx, strict word 00008h ; b9 08 00
movzx bx, byte [bp-0021fh] ; 0f b6 9e e1 fd
mov word [bp-016h], ax ; 89 46 ea
cmp ax, 00200h ; 3d 00 02
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp-016h] ; ff 76 ea
push word [bp-010h] ; ff 76 f0
push strict byte 00004h ; 6a 04
add sp, strict byte 0000ah ; 83 c4 0a
jmp near 07e00h ; e9 71 02
mov es, [bp-01ah] ; 8e 46 e6
mov al, byte [es:si+001e8h] ; 26 8a 84 e8 01
mov byte [bp-00ch], al ; 88 46 f4
cmp AL, strict byte 001h ; 3c 01
cmp AL, strict byte 003h ; 3c 03
cmp AL, strict byte 002h ; 3c 02
mov BL, strict byte 090h ; b3 90
mov BL, strict byte 098h ; b3 98
mov BL, strict byte 0a0h ; b3 a0
mov BL, strict byte 0a8h ; b3 a8
add AL, strict byte 007h ; 04 07
mov word [bp-012h], dx ; 89 56 ee
add AL, strict byte 002h ; 04 02
mov word [bp-014h], ax ; 89 46 ec
mov word [bp-01ch], ax ; 89 46 e4
mov ax, word [bp-018h] ; 8b 46 e8
cmp ax, strict word 00040h ; 3d 40 00
jnbe short 07c10h ; 77 02
mov word [bp-014h], 000ffh ; c7 46 ec ff 00
mov word [bp-01ch], strict word 0003fh ; c7 46 e4 3f 00
cmp ax, strict word 00020h ; 3d 20 00
jnbe short 07c23h ; 77 02
mov word [bp-014h], 00080h ; c7 46 ec 80 00
mov word [bp-014h], strict word 00040h ; c7 46 ec 40 00
mov word [bp-01ch], strict word 00020h ; c7 46 e4 20 00
mov bx, word [bp-014h] ; 8b 5e ec
imul bx, word [bp-01ch] ; 0f af 5e e4
mov ax, word [bp-00eh] ; 8b 46 f2
mov dx, word [bp-018h] ; 8b 56 e8
mov word [bp-012h], dx ; 89 56 ee
mov dl, byte [bp-00ch] ; 8a 56 f4
movzx bx, byte [bp-00ch] ; 0f b6 5e f4
mov es, [bp-01ah] ; 8e 46 e6
mov ax, word [bp-00228h] ; 8b 86 d8 fd
mov word [es:bx+001d8h], ax ; 26 89 87 d8 01
mov al, byte [bp-010h] ; 8a 46 f0
mov byte [es:bx+001dah], al ; 26 88 87 da 01
imul ax, ax, strict byte 00018h ; 6b c0 18
db 066h, 026h, 0c7h, 047h, 01eh, 004h, 0ffh, 000h, 000h
; mov dword [es:bx+01eh], strict dword 00000ff04h ; 66 26 c7 47 1e 04 ff 00 00
mov ax, word [bp-016h] ; 8b 46 ea
mov word [es:bx+024h], ax ; 26 89 47 24
mov byte [es:bx+023h], 001h ; 26 c6 47 23 01
mov ax, word [bp-014h] ; 8b 46 ec
mov word [es:bx+026h], ax ; 26 89 47 26
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [es:bx+02ah], ax ; 26 89 47 2a
cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00
cmp di, 00400h ; 81 ff 00 04
mov word [es:bx+028h], 00400h ; 26 c7 47 28 00 04
mov word [es:bx+028h], di ; 26 89 7f 28
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp-018h] ; ff 76 e8
push word [bp-00eh] ; ff 76 f2
push word [bp-01ch] ; ff 76 e4
push word [bp-014h] ; ff 76 ec
push word [bp-010h] ; ff 76 f0
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
push strict byte 00004h ; 6a 04
add sp, strict byte 00012h ; 83 c4 12
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-01ah] ; 8e 46 e6
mov ax, word [bp-014h] ; 8b 46 ec
mov word [es:bx+02ch], ax ; 26 89 47 2c
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [es:bx+030h], ax ; 26 89 47 30
cmp word [bp-012h], strict byte 00000h ; 83 7e ee 00
cmp di, 00400h ; 81 ff 00 04
mov word [es:bx+02eh], 00400h ; 26 c7 47 2e 00 04
mov word [es:bx+02eh], di ; 26 89 7f 2e
imul ax, ax, strict byte 00018h ; 6b c0 18
mov es, [bp-01ah] ; 8e 46 e6
mov ax, word [bp-00eh] ; 8b 46 f2
mov word [es:bx+032h], ax ; 26 89 47 32
mov ax, word [bp-018h] ; 8b 46 e8
mov word [es:bx+034h], ax ; 26 89 47 34
mov al, byte [es:si+0019eh] ; 26 8a 84 9e 01
mov ah, byte [bp-00ch] ; 8a 66 f4
mov byte [es:bx+0019fh], ah ; 26 88 a7 9f 01
mov byte [es:si+0019eh], al ; 26 88 84 9e 01
mov dx, strict word 00075h ; ba 75 00
mov ax, strict word 00040h ; b8 40 00
mov dx, strict word 00075h ; ba 75 00
mov ax, strict word 00040h ; b8 40 00
inc byte [bp-00ch] ; fe 46 f4
mov al, byte [bp-00ch] ; 8a 46 f4
mov es, [bp-01ah] ; 8e 46 e6
mov byte [es:si+001e8h], al ; 26 88 84 e8 01
jmp near 07e00h ; e9 90 00
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp-010h] ; ff 76 f0
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
mov dl, byte [bp-00ch] ; 8a 56 f4
test byte [bp-00225h], 080h ; f6 86 db fd 80
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
mov es, [bp-01ah] ; 8e 46 e6
mov ax, word [bp-00228h] ; 8b 86 d8 fd
mov word [es:bx+001d8h], ax ; 26 89 87 d8 01
mov al, byte [bp-010h] ; 8a 46 f0
mov byte [es:bx+001dah], al ; 26 88 87 da 01
imul ax, ax, strict byte 00018h ; 6b c0 18
mov word [es:bx+01eh], 00504h ; 26 c7 47 1e 04 05
mov byte [es:bx+020h], cl ; 26 88 4f 20
mov word [es:bx+024h], 00800h ; 26 c7 47 24 00 08
mov al, byte [es:si+001afh] ; 26 8a 84 af 01
mov ah, byte [bp-00ch] ; 8a 66 f4
mov byte [es:bx+001b0h], ah ; 26 88 a7 b0 01
mov byte [es:si+001afh], al ; 26 88 84 af 01
inc byte [bp-00ch] ; fe 46 f4
mov al, byte [bp-00ch] ; 8a 46 f4
mov byte [es:si+001e8h], al ; 26 88 84 e8 01
inc word [bp-010h] ; ff 46 f0
cmp word [bp-010h], strict byte 00010h ; 83 7e f0 10
mov byte [bp-026h], 012h ; c6 46 da 12
mov byte [bp-025h], al ; 88 46 db
mov byte [bp-024h], al ; 88 46 dc
mov byte [bp-023h], al ; 88 46 dd
mov byte [bp-022h], 005h ; c6 46 de 05
mov byte [bp-021h], al ; 88 46 df
push dword 000000005h ; 66 6a 05
lea dx, [bp-00226h] ; 8d 96 da fd
push strict byte 00006h ; 6a 06
movzx dx, byte [bp-010h] ; 0f b6 56 f0
lea bx, [bp-026h] ; 8d 5e da
mov ax, word [bp-00228h] ; 8b 86 d8 fd
push strict byte 00007h ; 6a 07
add sp, strict byte 00006h ; 83 c4 06
test byte [bp-00226h], 0e0h ; f6 86 da fd e0
test byte [bp-00226h], 01fh ; f6 86 da fd 1f
je near 07abah ; 0f 84 5e fc
test byte [bp-00226h], 0e0h ; f6 86 da fd e0
mov al, byte [bp-00226h] ; 8a 86 da fd
and AL, strict byte 01fh ; 24 1f
cmp AL, strict byte 005h ; 3c 05
je near 07d70h ; 0f 84 01 ff
lea sp, [bp-00ah] ; 8d 66 f6
_scsi_init: ; 0xf7e7b LB 0x66
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov bx, 00122h ; bb 22 01
mov byte [es:bx+001e8h], 000h ; 26 c6 87 e8 01 00
mov AL, strict byte 055h ; b0 55
mov dx, 00432h ; ba 32 04
cmp AL, strict byte 055h ; 3c 55
mov dx, 00433h ; ba 33 04
mov ax, 00430h ; b8 30 04
mov AL, strict byte 055h ; b0 55
mov dx, 00436h ; ba 36 04
cmp AL, strict byte 055h ; 3c 55
mov dx, 00437h ; ba 37 04
mov ax, 00434h ; b8 34 04
mov AL, strict byte 055h ; b0 55
mov dx, 0043ah ; ba 3a 04
cmp AL, strict byte 055h ; 3c 55
mov dx, 0043bh ; ba 3b 04
mov ax, 00438h ; b8 38 04
high_bits_save_: ; 0xf7ee1 LB 0x17
shr eax, 010h ; 66 c1 e8 10
mov word [es:bx+00268h], ax ; 26 89 87 68 02
lea sp, [bp-002h] ; 8d 66 fe
high_bits_restore_: ; 0xf7ef8 LB 0x17
mov ax, word [es:bx+00268h] ; 26 8b 87 68 02
sal eax, 010h ; 66 c1 e0 10
lea sp, [bp-002h] ; 8d 66 fe
ahci_ctrl_set_bits_: ; 0xf7f0f LB 0x43
mov word [bp-006h], bx ; 89 5e fa
sal eax, 010h ; 66 c1 e0 10
lea bx, [si+004h] ; 8d 5c 04
shr eax, 010h ; 66 c1 e8 10
or ax, word [bp-006h] ; 0b 46 fa
sal eax, 010h ; 66 c1 e0 10
lea sp, [bp-004h] ; 8d 66 fc
ahci_ctrl_clear_bits_: ; 0xf7f52 LB 0x47
mov word [bp-006h], cx ; 89 4e fa
sal eax, 010h ; 66 c1 e0 10
lea bx, [si+004h] ; 8d 5c 04
shr eax, 010h ; 66 c1 e8 10
mov cx, word [bp-006h] ; 8b 4e fa
sal eax, 010h ; 66 c1 e0 10
lea sp, [bp-004h] ; 8d 66 fc
ahci_ctrl_is_bit_set_: ; 0xf7f99 LB 0x39
sal eax, 010h ; 66 c1 e0 10
lea dx, [si+004h] ; 8d 54 04
shr eax, 010h ; 66 c1 e8 10
mov AL, strict byte 001h ; b0 01
lea sp, [bp-004h] ; 8d 66 fc
ahci_ctrl_extract_bits_: ; 0xf7fd2 LB 0x1b
movzx cx, byte [bp+006h] ; 0f b6 4e 06
ahci_addr_to_phys_: ; 0xf7fed LB 0x1e
mov cx, strict word 00004h ; b9 04 00
ahci_port_cmd_sync_: ; 0xf800b LB 0xd5
sub sp, strict byte 00006h ; 83 ec 06
mov word [bp-00ah], dx ; 89 56 f6
mov al, byte [es:si+00262h] ; 26 8a 84 62 02
mov byte [bp-008h], al ; 88 46 f8
mov di, word [es:si+00260h] ; 26 8b bc 60 02
cmp AL, strict byte 0ffh ; 3c ff
je near 080d8h ; 0f 84 aa 00
movzx cx, byte [es:si+00263h] ; 26 0f b6 8c 63 02
mov word [es:si], dx ; 26 89 14
mov word [es:si+002h], cx ; 26 89 4c 02
db 066h, 026h, 0c7h, 044h, 004h, 000h, 000h, 000h, 000h
; mov dword [es:si+004h], strict dword 000000000h ; 66 26 c7 44 04 00 00 00 00
lea ax, [si+00080h] ; 8d 84 80 00
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:si+008h], ax ; 26 89 44 08
mov word [es:si+00ah], dx ; 26 89 54 0a
movzx si, byte [bp-008h] ; 0f b6 76 f8
lea dx, [si+00118h] ; 8d 94 18 01
mov bx, strict word 00011h ; bb 11 00
lea ax, [si+00138h] ; 8d 84 38 01
sal eax, 010h ; 66 c1 e0 10
lea dx, [di+004h] ; 8d 55 04
mov ax, strict word 00001h ; b8 01 00
sal eax, 010h ; 66 c1 e0 10
movzx ax, byte [bp-008h] ; 0f b6 46 f8
mov word [bp-00ch], ax ; 89 46 f4
add si, 00110h ; 81 c6 10 01
mov bx, strict word 00001h ; bb 01 00
mov cx, 04000h ; b9 00 40
mov bx, strict word 00001h ; bb 01 00
mov dx, word [bp-00ch] ; 8b 56 f4
add dx, 00118h ; 81 c2 18 01
mov bx, strict word 00001h ; bb 01 00
lea sp, [bp-006h] ; 8d 66 fa
ahci_cmd_data_: ; 0xf80e0 LB 0x1ca
sub sp, strict byte 00010h ; 83 ec 10
mov word [bp-012h], dx ; 89 56 ee
mov byte [bp-008h], bl ; 88 5e f8
mov ax, word [es:di+001eeh] ; 26 8b 85 ee 01
mov word [bp-00ah], ax ; 89 46 f6
mov word [bp-00eh], si ; 89 76 f2
mov word [bp-00ch], ax ; 89 46 f4
mov ax, word [es:di+00ah] ; 26 8b 45 0a
mov word [bp-010h], ax ; 89 46 f0
mov ax, word [es:di+00ch] ; 26 8b 45 0c
mov word [bp-016h], ax ; 89 46 ea
mov cx, strict word 00040h ; b9 40 00
mov ax, 00080h ; b8 80 00
mov dx, word [bp-00ah] ; 8b 56 f6
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:si+00080h], 08027h ; 26 c7 84 80 00 27 80
mov al, byte [bp-008h] ; 8a 46 f8
mov byte [es:si+00082h], al ; 26 88 84 82 00
mov byte [es:si+00083h], 000h ; 26 c6 84 83 00 00
mov es, [bp-012h] ; 8e 46 ee
mov al, byte [es:di] ; 26 8a 05
mov es, [bp-00ah] ; 8e 46 f6
mov byte [es:si+00084h], al ; 26 88 84 84 00
mov es, [bp-012h] ; 8e 46 ee
mov ax, word [es:di] ; 26 8b 05
mov bx, word [es:di+002h] ; 26 8b 5d 02
mov cx, strict word 00008h ; b9 08 00
mov es, [bp-00ah] ; 8e 46 f6
mov byte [es:si+00085h], al ; 26 88 84 85 00
mov es, [bp-012h] ; 8e 46 ee
mov ax, word [es:di+002h] ; 26 8b 45 02
mov es, [bp-00ah] ; 8e 46 f6
mov byte [es:si+00086h], al ; 26 88 84 86 00
mov byte [es:si+00087h], 040h ; 26 c6 84 87 00 40
mov es, [bp-012h] ; 8e 46 ee
mov ax, word [es:di+002h] ; 26 8b 45 02
mov es, [bp-00ah] ; 8e 46 f6
mov byte [es:si+00088h], al ; 26 88 84 88 00
mov word [es:si+00089h], strict word 00000h ; 26 c7 84 89 00 00 00
mov byte [es:si+0008bh], 000h ; 26 c6 84 8b 00 00
mov al, byte [bp-010h] ; 8a 46 f0
mov byte [es:si+0008ch], al ; 26 88 84 8c 00
mov ax, word [bp-010h] ; 8b 46 f0
mov byte [es:si+0008dh], al ; 26 88 84 8d 00
mov word [es:si+00276h], strict word 00010h ; 26 c7 84 76 02 10 00
mov ax, word [bp-010h] ; 8b 46 f0
mov bx, word [bp-016h] ; 8b 5e ea
mov es, [bp-012h] ; 8e 46 ee
mov bx, word [es:di+004h] ; 26 8b 5d 04
mov cx, word [es:di+006h] ; 26 8b 4d 06
mov ax, 0026ah ; b8 6a 02
mov dx, word [bp-00ah] ; 8b 56 f6
mov es, [bp-00ah] ; 8e 46 f6
movzx ax, byte [es:si+00263h] ; 26 0f b6 84 63 02
mov dx, word [es:si+0027eh] ; 26 8b 94 7e 02
add dx, strict byte 0ffffh ; 83 c2 ff
mov bx, word [es:si+00280h] ; 26 8b 9c 80 02
adc bx, strict byte 0ffffh ; 83 d3 ff
mov word [bp-014h], bx ; 89 5e ec
mov word [es:bx+0010ch], dx ; 26 89 97 0c 01
mov dx, word [bp-014h] ; 8b 56 ec
mov word [es:bx+0010eh], dx ; 26 89 97 0e 01
mov cx, word [es:si+0027ah] ; 26 8b 8c 7a 02
mov dx, word [es:si+0027ch] ; 26 8b 94 7c 02
mov word [es:bx+00100h], cx ; 26 89 8f 00 01
mov word [es:bx+00102h], dx ; 26 89 97 02 01
mov es, [bp-012h] ; 8e 46 ee
cmp word [es:di+01ch], strict byte 00000h ; 26 83 7d 1c 00
mov dx, word [es:di+01ch] ; 26 8b 55 1c
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:di+0010ch], dx ; 26 89 95 0c 01
mov word [es:di+0010eh], si ; 26 89 b5 0e 01
mov dx, word [es:si+00264h] ; 26 8b 94 64 02
mov bx, word [es:si+00266h] ; 26 8b 9c 66 02
mov word [es:di+00100h], dx ; 26 89 95 00 01
mov word [es:di+00102h], bx ; 26 89 9d 02 01
les bx, [bp-00eh] ; c4 5e f2
mov byte [es:bx+00263h], al ; 26 88 87 63 02
les bx, [bp-00eh] ; c4 5e f2
movzx dx, byte [es:bx+00263h] ; 26 0f b6 97 63 02
mov al, byte [bp-008h] ; 8a 46 f8
cmp AL, strict byte 035h ; 3c 35
mov byte [bp-008h], 040h ; c6 46 f8 40
cmp AL, strict byte 0a0h ; 3c a0
or byte [bp-008h], 020h ; 80 4e f8 20
or byte [es:bx+00083h], 001h ; 26 80 8f 83 00 01
mov byte [bp-008h], 000h ; c6 46 f8 00
or byte [bp-008h], 005h ; 80 4e f8 05
movzx bx, byte [bp-008h] ; 0f b6 5e f8
mov ax, word [bp-00eh] ; 8b 46 f2
mov dx, word [bp-00ch] ; 8b 56 f4
mov ax, word [bp-00eh] ; 8b 46 f2
add ax, 0026ah ; 05 6a 02
mov dx, word [bp-00ch] ; 8b 56 f4
lea sp, [bp-006h] ; 8d 66 fa
ahci_port_deinit_current_: ; 0xf82aa LB 0x144
sub sp, strict byte 00006h ; 83 ec 06
mov word [bp-00ch], dx ; 89 56 f4
mov si, word [es:di+00260h] ; 26 8b b5 60 02
mov al, byte [es:di+00262h] ; 26 8a 85 62 02
mov byte [bp-00ah], al ; 88 46 f6
cmp AL, strict byte 0ffh ; 3c ff
je near 083e5h ; 0f 84 17 01
add dx, 00118h ; 81 c2 18 01
mov bx, strict word 00011h ; bb 11 00
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
mov word [bp-00eh], ax ; 89 46 f2
add dx, 00118h ; 81 c2 18 01
mov bx, 0c011h ; bb 11 c0
cmp AL, strict byte 001h ; 3c 01
mov cx, strict word 00020h ; b9 20 00
mov dx, word [bp-00ch] ; 8b 56 f4
lea ax, [di+00080h] ; 8d 85 80 00
mov cx, strict word 00040h ; b9 40 00
mov dx, word [bp-00ch] ; 8b 56 f4
lea ax, [di+00200h] ; 8d 85 00 02
mov cx, strict word 00060h ; b9 60 00
mov dx, word [bp-00ch] ; 8b 56 f4
mov ax, word [bp-00eh] ; 8b 46 f2
add ax, 00108h ; 05 08 01
sal eax, 010h ; 66 c1 e0 10
lea bx, [si+004h] ; 8d 5c 04
sal eax, 010h ; 66 c1 e0 10
mov ax, word [bp-00eh] ; 8b 46 f2
add ax, 0010ch ; 05 0c 01
sal eax, 010h ; 66 c1 e0 10
sal eax, 010h ; 66 c1 e0 10
mov ax, word [bp-00eh] ; 8b 46 f2
sal eax, 010h ; 66 c1 e0 10
sal eax, 010h ; 66 c1 e0 10
mov ax, word [bp-00eh] ; 8b 46 f2
add ax, 00104h ; 05 04 01
sal eax, 010h ; 66 c1 e0 10
sal eax, 010h ; 66 c1 e0 10
mov ax, word [bp-00eh] ; 8b 46 f2
add ax, 00114h ; 05 14 01
sal eax, 010h ; 66 c1 e0 10
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00ch] ; 8e 46 f4
mov byte [es:di+00262h], 0ffh ; 26 c6 85 62 02 ff
lea sp, [bp-008h] ; 8d 66 f8
ahci_port_init_: ; 0xf83ee LB 0x206
sub sp, strict byte 00006h ; 83 ec 06
mov word [bp-00ah], dx ; 89 56 f6
mov byte [bp-008h], bl ; 88 5e f8
add dx, 00118h ; 81 c2 18 01
mov es, [bp-00ah] ; 8e 46 f6
mov ax, word [es:si+00260h] ; 26 8b 84 60 02
mov bx, strict word 00011h ; bb 11 00
movzx di, byte [bp-008h] ; 0f b6 7e f8
lea dx, [di+00118h] ; 8d 95 18 01
mov es, [bp-00ah] ; 8e 46 f6
mov ax, word [es:si+00260h] ; 26 8b 84 60 02
mov bx, 0c011h ; bb 11 c0
cmp AL, strict byte 001h ; 3c 01
mov cx, strict word 00020h ; b9 20 00
mov dx, word [bp-00ah] ; 8b 56 f6
lea ax, [si+00080h] ; 8d 84 80 00
mov cx, strict word 00040h ; b9 40 00
mov dx, word [bp-00ah] ; 8b 56 f6
mov word [bp-00ch], ax ; 89 46 f4
mov cx, strict word 00060h ; b9 60 00
mov dx, word [bp-00ah] ; 8b 56 f6
lea ax, [di+00108h] ; 8d 85 08 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov ax, word [bp-00ch] ; 8b 46 f4
mov dx, word [bp-00ah] ; 8b 56 f6
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
add bx, strict byte 00004h ; 83 c3 04
sal eax, 010h ; 66 c1 e0 10
lea ax, [di+0010ch] ; 8d 85 0c 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00ah] ; 8e 46 f6
mov dx, word [es:si+00260h] ; 26 8b 94 60 02
add dx, strict byte 00004h ; 83 c2 04
sal eax, 010h ; 66 c1 e0 10
lea ax, [di+00100h] ; 8d 85 00 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov dx, word [bp-00ah] ; 8b 56 f6
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
add bx, strict byte 00004h ; 83 c3 04
sal eax, 010h ; 66 c1 e0 10
lea ax, [di+00104h] ; 8d 85 04 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00ah] ; 8e 46 f6
mov dx, word [es:si+00260h] ; 26 8b 94 60 02
add dx, strict byte 00004h ; 83 c2 04
sal eax, 010h ; 66 c1 e0 10
lea ax, [di+00114h] ; 8d 85 14 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00ah] ; 8e 46 f6
mov dx, word [es:si+00260h] ; 26 8b 94 60 02
add dx, strict byte 00004h ; 83 c2 04
sal eax, 010h ; 66 c1 e0 10
lea ax, [di+00110h] ; 8d 85 10 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00ah] ; 8e 46 f6
mov dx, word [es:si+00260h] ; 26 8b 94 60 02
add dx, strict byte 00004h ; 83 c2 04
mov ax, strict word 0ffffh ; b8 ff ff
sal eax, 010h ; 66 c1 e0 10
lea ax, [di+00130h] ; 8d 85 30 01
mov es, [bp-00ah] ; 8e 46 f6
mov bx, word [es:si+00260h] ; 26 8b 9c 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00ah] ; 8e 46 f6
mov dx, word [es:si+00260h] ; 26 8b 94 60 02
add dx, strict byte 00004h ; 83 c2 04
mov ax, strict word 0ffffh ; b8 ff ff
sal eax, 010h ; 66 c1 e0 10
mov al, byte [bp-008h] ; 8a 46 f8
mov es, [bp-00ah] ; 8e 46 f6
mov byte [es:si+00262h], al ; 26 88 84 62 02
mov byte [es:si+00263h], 000h ; 26 c6 84 63 02 00
lea sp, [bp-006h] ; 8d 66 fa
@ahci_read_sectors: ; 0xf85f4 LB 0x94
les di, [bp+004h] ; c4 7e 04
movzx di, byte [es:di+008h] ; 26 0f b6 7d 08
sub di, strict byte 0000ch ; 83 ef 0c
cmp di, strict byte 00004h ; 83 ff 04
push strict byte 00007h ; 6a 07
add sp, strict byte 00008h ; 83 c4 08
les bx, [bp+004h] ; c4 5e 04
mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01
mov es, [bp+006h] ; 8e 46 06
movzx bx, byte [es:di+001e9h] ; 26 0f b6 9d e9 01
mov di, word [bp+004h] ; 8b 7e 04
mov dx, word [es:di+001eeh] ; 26 8b 95 ee 01
mov bx, strict word 00025h ; bb 25 00
mov dx, word [bp+006h] ; 8b 56 06
mov es, [bp+006h] ; 8e 46 06
mov ax, word [es:bx+00ah] ; 26 8b 47 0a
mov word [es:bx+014h], ax ; 26 89 47 14
mov di, word [es:di+004h] ; 26 8b 7d 04
mov ax, word [es:bx+006h] ; 26 8b 47 06
mov es, [bp+006h] ; 8e 46 06
mov dx, word [es:bx+001eeh] ; 26 8b 97 ee 01
lea sp, [bp-004h] ; 8d 66 fc
@ahci_write_sectors: ; 0xf8688 LB 0x70
mov si, word [bp+004h] ; 8b 76 04
mov cx, word [bp+006h] ; 8b 4e 06
movzx bx, byte [es:si+008h] ; 26 0f b6 5c 08
sub bx, strict byte 0000ch ; 83 eb 0c
cmp bx, strict byte 00004h ; 83 fb 04
push strict byte 00007h ; 6a 07
add sp, strict byte 00008h ; 83 c4 08
mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01
movzx bx, byte [es:bx+001e9h] ; 26 0f b6 9f e9 01
mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01
mov bx, strict word 00035h ; bb 35 00
mov dx, word [es:si+00ah] ; 26 8b 54 0a
mov word [es:si+014h], dx ; 26 89 54 14
mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01
lea sp, [bp-002h] ; 8d 66 fe
ahci_cmd_packet_: ; 0xf86f8 LB 0x173
sub sp, strict byte 0000eh ; 83 ec 0e
mov byte [bp-006h], dl ; 88 56 fa
mov word [bp-012h], bx ; 89 5e ee
mov word [bp-010h], cx ; 89 4e f0
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov si, 00122h ; be 22 01
mov word [bp-008h], ax ; 89 46 f8
cmp byte [bp+00ah], 002h ; 80 7e 0a 02
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push strict byte 00004h ; 6a 04
add sp, strict byte 00006h ; 83 c4 06
mov ax, strict word 00001h ; b8 01 00
jmp near 08862h ; e9 24 01
test byte [bp+004h], 001h ; f6 46 04 01
mov ax, word [bp+006h] ; 8b 46 06
mov dx, word [bp+008h] ; 8b 56 08
mov cx, strict word 00008h ; b9 08 00
mov es, [bp-008h] ; 8e 46 f8
mov word [es:si], ax ; 26 89 04
mov word [es:si+002h], dx ; 26 89 54 02
mov ax, word [bp+00ch] ; 8b 46 0c
mov word [es:si+004h], ax ; 26 89 44 04
mov ax, word [bp+00eh] ; 8b 46 0e
mov word [es:si+006h], ax ; 26 89 44 06
mov bx, word [es:si+00ch] ; 26 8b 5c 0c
mov ax, word [bp+006h] ; 8b 46 06
mov dx, word [bp+008h] ; 8b 56 08
mov word [es:si+00ah], ax ; 26 89 44 0a
mov ax, word [es:si+001eeh] ; 26 8b 84 ee 01
mov word [bp-00ah], ax ; 89 46 f6
mov word [bp-00eh], di ; 89 7e f2
mov word [bp-00ch], ax ; 89 46 f4
sub word [bp-014h], strict byte 0000ch ; 83 6e ec 0c
mov dx, word [bp-00ah] ; 8b 56 f6
mov es, [bp-008h] ; 8e 46 f8
mov bx, word [bp-014h] ; 8b 5e ec
movzx bx, byte [es:bx+001e9h] ; 26 0f b6 9f e9 01
mov dx, word [es:si+001eeh] ; 26 8b 94 ee 01
movzx ax, byte [bp-006h] ; 0f b6 46 fa
mov bx, word [bp-012h] ; 8b 5e ee
mov cx, word [bp-010h] ; 8b 4e f0
mov ax, 000c0h ; b8 c0 00
mov dx, word [bp-00ah] ; 8b 56 f6
mov es, [bp-008h] ; 8e 46 f8
mov word [es:si+014h], di ; 26 89 7c 14
mov word [es:si+016h], di ; 26 89 7c 16
mov word [es:si+018h], di ; 26 89 7c 18
mov ax, word [es:si+01ah] ; 26 8b 44 1a
mov es, [bp-00ah] ; 8e 46 f6
mov word [es:di+0010ch], ax ; 26 89 85 0c 01
mov word [es:di+0010eh], di ; 26 89 bd 0e 01
mov ax, word [es:di+00264h] ; 26 8b 85 64 02
mov dx, word [es:di+00266h] ; 26 8b 95 66 02
mov word [es:di+00100h], ax ; 26 89 85 00 01
mov word [es:di+00102h], dx ; 26 89 95 02 01
inc byte [es:di+00263h] ; 26 fe 85 63 02
mov bx, 000a0h ; bb a0 00
mov dx, word [bp-008h] ; 8b 56 f8
les bx, [bp-00eh] ; c4 5e f2
mov ax, word [es:bx+004h] ; 26 8b 47 04
mov dx, word [es:bx+006h] ; 26 8b 57 06
mov es, [bp-008h] ; 8e 46 f8
mov word [es:si+016h], ax ; 26 89 44 16
mov word [es:si+018h], dx ; 26 89 54 18
mov bx, word [es:si+016h] ; 26 8b 5c 16
mov di, word [es:si+004h] ; 26 8b 7c 04
mov ax, word [es:si+006h] ; 26 8b 44 06
mov ax, word [bp-00eh] ; 8b 46 f2
mov dx, word [bp-00ch] ; 8b 56 f4
les bx, [bp-00eh] ; c4 5e f2
mov ax, word [es:bx+006h] ; 26 8b 47 06
or ax, word [es:bx+004h] ; 26 0b 47 04
mov ax, strict word 00004h ; b8 04 00
lea sp, [bp-004h] ; 8d 66 fc
ahci_port_detect_device_: ; 0xf886b LB 0x401
sub sp, 00222h ; 81 ec 22 02
mov word [bp-010h], dx ; 89 56 f0
mov byte [bp-00ch], bl ; 88 5e f4
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov word [bp-020h], ax ; 89 46 e0
mov si, 00122h ; be 22 01
mov word [bp-00eh], ax ; 89 46 f2
mov word [bp-012h], si ; 89 76 ee
mov word [bp-01eh], ax ; 89 46 e2
mov word [bp-016h], cx ; 89 4e ea
add ax, 0012ch ; 05 2c 01
mov word [bp-022h], ax ; 89 46 de
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
add dx, strict byte 00004h ; 83 c2 04
mov ax, strict word 00001h ; b8 01 00
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
mov ax, word [bp-022h] ; 8b 46 de
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
add dx, strict byte 00004h ; 83 c2 04
sal eax, 010h ; 66 c1 e0 10
mov ax, word [bp-016h] ; 8b 46 ea
add ax, 00128h ; 05 28 01
mov es, [bp-010h] ; 8e 46 f0
mov bx, word [es:di+00260h] ; 26 8b 9d 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
add dx, strict byte 00004h ; 83 c2 04
shr eax, 010h ; 66 c1 e8 10
push strict byte 00000h ; 6a 00
mov bx, strict word 0000fh ; bb 0f 00
cmp ax, strict word 00003h ; 3d 03 00
jne near 08c64h ; 0f 85 1b 03
mov ax, word [bp-016h] ; 8b 46 ea
add ax, 00130h ; 05 30 01
mov es, [bp-010h] ; 8e 46 f0
mov bx, word [es:di+00260h] ; 26 8b 9d 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
add dx, strict byte 00004h ; 83 c2 04
mov ax, strict word 0ffffh ; b8 ff ff
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-00eh] ; 8e 46 f2
mov al, byte [es:si+001edh] ; 26 8a 84 ed 01
mov byte [bp-008h], al ; 88 46 f8
cmp AL, strict byte 004h ; 3c 04
jnc near 08c64h ; 0f 83 d5 02
mov dx, word [bp-016h] ; 8b 56 ea
add dx, 00118h ; 81 c2 18 01
mov es, [bp-010h] ; 8e 46 f0
mov ax, word [es:di+00260h] ; 26 8b 85 60 02
mov bx, strict word 00010h ; bb 10 00
mov ax, word [bp-016h] ; 8b 46 ea
add ax, 00124h ; 05 24 01
mov es, [bp-010h] ; 8e 46 f0
mov bx, word [es:di+00260h] ; 26 8b 9d 60 02
sal eax, 010h ; 66 c1 e0 10
mov es, [bp-010h] ; 8e 46 f0
mov dx, word [es:di+00260h] ; 26 8b 95 60 02
add dx, strict byte 00004h ; 83 c2 04
shr eax, 010h ; 66 c1 e8 10
mov cl, byte [bp-008h] ; 8a 4e f8
jne near 08bb6h ; 0f 85 d4 01
cmp ax, 00101h ; 3d 01 01
jne near 08bb6h ; 0f 85 cd 01
mov es, [bp-00eh] ; 8e 46 f2
db 066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h
; mov dword [es:si], strict dword 000000000h ; 66 26 c7 04 00 00 00 00
lea dx, [bp-00228h] ; 8d 96 d8 fd
mov word [es:si+004h], dx ; 26 89 54 04
mov [es:si+006h], ss ; 26 8c 54 06
db 066h, 026h, 0c7h, 044h, 00ah, 001h, 000h, 000h, 002h
; mov dword [es:si+00ah], strict dword 002000001h ; 66 26 c7 44 0a 01 00 00 02
mov bx, 000ech ; bb ec 00
mov dx, word [bp-020h] ; 8b 56 e0
mov byte [bp-00ah], cl ; 88 4e f6
test byte [bp-00228h], 080h ; f6 86 d8 fd 80
mov dx, word [bp-00226h] ; 8b 96 da fd
mov word [bp-018h], dx ; 89 56 e8
mov dx, word [bp-00222h] ; 8b 96 de fd
mov word [bp-01ch], dx ; 89 56 e4
mov dx, word [bp-0021ch] ; 8b 96 e4 fd
mov word [bp-01ah], dx ; 89 56 e6
mov di, word [bp-001b0h] ; 8b be 50 fe
mov dx, word [bp-001aeh] ; 8b 96 52 fe
mov word [bp-014h], dx ; 89 56 ec
cmp dx, 00fffh ; 81 fa ff 0f
cmp di, strict byte 0ffffh ; 83 ff ff
mov di, word [bp-00160h] ; 8b be a0 fe
mov dx, word [bp-0015eh] ; 8b 96 a2 fe
mov word [bp-014h], dx ; 89 56 ec
movzx bx, byte [bp-008h] ; 0f b6 5e f8
mov es, [bp-01eh] ; 8e 46 e2
add bx, word [bp-012h] ; 03 5e ee
mov ah, byte [bp-00ch] ; 8a 66 f4
mov byte [es:bx+001e9h], ah ; 26 88 a7 e9 01
movzx dx, byte [bp-00ah] ; 0f b6 56 f6
imul dx, dx, strict byte 00018h ; 6b d2 18
mov si, word [bp-012h] ; 8b 76 ee
mov word [es:si+01eh], 0ff05h ; 26 c7 44 1e 05 ff
mov byte [es:si+020h], al ; 26 88 44 20
mov byte [es:si+021h], 000h ; 26 c6 44 21 00
mov word [es:si+024h], 00200h ; 26 c7 44 24 00 02
mov byte [es:si+023h], 001h ; 26 c6 44 23 01
mov word [es:si+032h], di ; 26 89 7c 32
mov ax, word [bp-014h] ; 8b 46 ec
mov word [es:si+034h], ax ; 26 89 44 34
mov ax, word [bp-01ch] ; 8b 46 e4
mov word [es:si+02ch], ax ; 26 89 44 2c
mov ax, word [bp-018h] ; 8b 46 e8
mov word [es:si+02eh], ax ; 26 89 44 2e
mov ax, word [bp-01ah] ; 8b 46 e6
mov word [es:si+030h], ax ; 26 89 44 30
mov al, byte [bp-008h] ; 8a 46 f8
cmp AL, strict byte 001h ; 3c 01
cmp AL, strict byte 003h ; 3c 03
cmp AL, strict byte 002h ; 3c 02
mov DL, strict byte 040h ; b2 40
mov DL, strict byte 048h ; b2 48
mov DL, strict byte 050h ; b2 50
mov DL, strict byte 058h ; b2 58
add AL, strict byte 007h ; 04 07
mov word [bp-026h], ax ; 89 46 da
add AL, strict byte 002h ; 04 02
mov word [bp-028h], ax ; 89 46 d8
mov word [bp-024h], ax ; 89 46 dc
mov cx, word [bp-014h] ; 8b 4e ec
lea ax, [bp-028h] ; 8d 46 d8
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp-014h] ; ff 76 ec
mov ax, word [bp-024h] ; 8b 46 dc
mov ax, word [bp-028h] ; 8b 46 d8
mov ax, word [bp-026h] ; 8b 46 da
push dword [bp-01ch] ; 66 ff 76 e4
push word [bp-018h] ; ff 76 e8
movzx ax, byte [bp-00ch] ; 0f b6 46 f4
movzx ax, byte [bp-008h] ; 0f b6 46 f8
push strict byte 00004h ; 6a 04
add sp, strict byte 00018h ; 83 c4 18
movzx di, byte [bp-00ah] ; 0f b6 7e f6
imul di, di, strict byte 00018h ; 6b ff 18
add di, word [bp-012h] ; 03 7e ee
mov es, [bp-01eh] ; 8e 46 e2
lea di, [di+026h] ; 8d 7d 26
lea si, [bp-028h] ; 8d 76 d8
mov bx, word [bp-012h] ; 8b 5e ee
mov al, byte [es:bx+0019eh] ; 26 8a 87 9e 01
mov ah, byte [bp-008h] ; 8a 66 f8
add bx, word [bp-012h] ; 03 5e ee
mov byte [es:bx+0019fh], ah ; 26 88 a7 9f 01
mov bx, word [bp-012h] ; 8b 5e ee
mov byte [es:bx+0019eh], al ; 26 88 87 9e 01
mov dx, strict word 00075h ; ba 75 00
mov ax, strict word 00040h ; b8 40 00
mov dx, strict word 00075h ; ba 75 00
mov ax, strict word 00040h ; b8 40 00
jmp near 08c53h ; e9 9d 00
cmp dx, 0eb14h ; 81 fa 14 eb
jne near 08c53h ; 0f 85 95 00
cmp ax, 00101h ; 3d 01 01
jne near 08c53h ; 0f 85 8e 00
mov es, [bp-00eh] ; 8e 46 f2
db 066h, 026h, 0c7h, 004h, 000h, 000h, 000h, 000h
; mov dword [es:si], strict dword 000000000h ; 66 26 c7 04 00 00 00 00
lea dx, [bp-00228h] ; 8d 96 d8 fd
mov word [es:si+004h], dx ; 26 89 54 04
mov [es:si+006h], ss ; 26 8c 54 06
db 066h, 026h, 0c7h, 044h, 00ah, 001h, 000h, 000h, 002h
; mov dword [es:si+00ah], strict dword 002000001h ; 66 26 c7 44 0a 01 00 00 02
mov bx, 000a1h ; bb a1 00
mov dx, word [bp-020h] ; 8b 56 e0
test byte [bp-00228h], 080h ; f6 86 d8 fd 80
movzx bx, byte [bp-008h] ; 0f b6 5e f8
mov es, [bp-020h] ; 8e 46 e0
mov al, byte [bp-00ch] ; 8a 46 f4
mov byte [es:bx+001e9h], al ; 26 88 87 e9 01
imul si, si, strict byte 00018h ; 6b f6 18
add si, 00122h ; 81 c6 22 01
mov word [es:si+01eh], 00505h ; 26 c7 44 1e 05 05
mov byte [es:si+020h], dl ; 26 88 54 20
mov word [es:si+024h], 00800h ; 26 c7 44 24 00 08
mov es, [bp-01eh] ; 8e 46 e2
mov bx, word [bp-012h] ; 8b 5e ee
mov al, byte [es:bx+001afh] ; 26 8a 87 af 01
mov ah, byte [bp-008h] ; 8a 66 f8
mov es, [bp-020h] ; 8e 46 e0
add bx, 00122h ; 81 c3 22 01
mov byte [es:bx+001b0h], ah ; 26 88 a7 b0 01
mov es, [bp-01eh] ; 8e 46 e2
mov bx, word [bp-012h] ; 8b 5e ee
mov byte [es:bx+001afh], al ; 26 88 87 af 01
inc byte [bp-008h] ; fe 46 f8
mov al, byte [bp-008h] ; 8a 46 f8
mov es, [bp-01eh] ; 8e 46 e2
mov bx, word [bp-012h] ; 8b 5e ee
mov byte [es:bx+001edh], al ; 26 88 87 ed 01
lea sp, [bp-006h] ; 8d 66 fa
ahci_mem_alloc_: ; 0xf8c6c LB 0x43
mov dx, 00413h ; ba 13 04
mov cx, strict word 0000ah ; b9 0a 00
mov cx, strict word 00004h ; b9 04 00
mov dx, 00413h ; ba 13 04
lea sp, [bp-00ah] ; 8d 66 f6
ahci_hba_init_: ; 0xf8caf LB 0x125
sub sp, strict byte 00006h ; 83 ec 06
mov dx, strict word 0000eh ; ba 0e 00
mov ax, strict word 00040h ; b8 40 00
mov bx, 00122h ; bb 22 01
mov word [bp-010h], ax ; 89 46 f0
mov ax, strict word 00010h ; b8 10 00
sal eax, 010h ; 66 c1 e0 10
lea dx, [si+004h] ; 8d 54 04
shr eax, 010h ; 66 c1 e8 10
je near 08db3h ; 0f 84 c1 00
mov es, [bp-010h] ; 8e 46 f0
mov word [es:bx+001eeh], di ; 26 89 bf ee 01
mov byte [es:bx+001edh], 000h ; 26 c6 87 ed 01 00
mov byte [es:bx+00262h], 0ffh ; 26 c6 87 62 02 ff
mov word [es:bx+00260h], si ; 26 89 b7 60 02
db 066h, 026h, 0c7h, 087h, 064h, 002h, 000h, 0c0h, 00ch, 000h
; mov dword [es:bx+00264h], strict dword 0000cc000h ; 66 26 c7 87 64 02 00 c0 0c 00
mov bx, strict word 00001h ; bb 01 00
mov dx, strict word 00004h ; ba 04 00
mov ax, strict word 00004h ; b8 04 00
sal eax, 010h ; 66 c1 e0 10
lea bx, [si+004h] ; 8d 5c 04
shr eax, 010h ; 66 c1 e8 10
test AL, strict byte 001h ; a8 01
sal eax, 010h ; 66 c1 e0 10
shr eax, 010h ; 66 c1 e8 10
push strict byte 00000h ; 6a 00
mov bx, strict word 0001fh ; bb 1f 00
mov byte [bp-00eh], al ; 88 46 f2
mov byte [bp-00ch], 000h ; c6 46 f4 00
inc byte [bp-00ch] ; fe 46 f4
cmp byte [bp-00ch], 020h ; 80 7e f4 20
movzx cx, byte [bp-00ch] ; 0f b6 4e f4
mov ax, strict word 00001h ; b8 01 00
mov dx, strict word 0000ch ; ba 0c 00
movzx bx, byte [bp-00ch] ; 0f b6 5e f4
dec byte [bp-00eh] ; fe 4e f2
lea sp, [bp-00ah] ; 8d 66 f6
db 00bh, 005h, 004h, 003h, 002h, 001h, 000h, 0a3h, 08eh, 081h, 08eh, 087h, 08eh, 08dh, 08eh, 093h
db 08eh, 099h, 08eh, 09fh, 08eh, 0a3h, 08eh
_ahci_init: ; 0xf8dd4 LB 0xfe
sub sp, strict byte 00006h ; 83 ec 06
mov ax, 00601h ; b8 01 06
mov dx, strict word 00001h ; ba 01 00
cmp ax, strict word 0ffffh ; 3d ff ff
je near 08ecbh ; 0f 84 dd 00
mov byte [bp-00ah], al ; 88 46 f6
mov byte [bp-008h], dl ; 88 56 f8
mov bx, strict word 00034h ; bb 34 00
movzx di, byte [bp-008h] ; 0f b6 7e f8
movzx si, byte [bp-00ah] ; 0f b6 76 f6
cmp AL, strict byte 012h ; 3c 12
je near 08ecbh ; 0f 84 99 00
movzx di, byte [bp-008h] ; 0f b6 7e f8
movzx si, byte [bp-00ah] ; 0f b6 76 f6
cmp AL, strict byte 010h ; 3c 10
jne near 08ecbh ; 0f 85 7e 00
mov byte [bp-006h], 000h ; c6 46 fa 00
add AL, strict byte 002h ; 04 02
and ax, strict word 0000fh ; 25 0f 00
sub ax, strict word 00004h ; 2d 04 00
cmp ax, strict word 0000bh ; 3d 0b 00
jnbe short 08ea3h ; 77 37
mov cx, strict word 00008h ; b9 08 00
mov di, 08dbdh ; bf bd 8d
mov ax, word [cs:di-0723ch] ; 2e 8b 85 c4 8d
mov byte [bp-006h], 010h ; c6 46 fa 10
mov byte [bp-006h], 014h ; c6 46 fa 14
mov byte [bp-006h], 018h ; c6 46 fa 18
mov byte [bp-006h], 01ch ; c6 46 fa 1c
mov byte [bp-006h], 020h ; c6 46 fa 20
mov byte [bp-006h], 024h ; c6 46 fa 24
mov al, byte [bp-006h] ; 8a 46 fa
movzx dx, byte [bp-008h] ; 0f b6 56 f8
movzx ax, byte [bp-00ah] ; 0f b6 46 f6
test AL, strict byte 001h ; a8 01
and AL, strict byte 0f0h ; 24 f0
lea sp, [bp-004h] ; 8d 66 fc
apm_out_str_: ; 0xf8ed2 LB 0x39
cmp byte [bx], 000h ; 80 3f 00
mov al, byte [bx] ; 8a 07
mov al, byte [bx] ; 8a 07
lea sp, [bp-002h] ; 8d 66 fe
pop word [bx+si-071h] ; 8f 40 8f
pop word [bp-00571h] ; 8f 86 8f fa
db 08fh, 08bh, 08fh, 0cfh
; pop word [bp+di-03071h] ; 8f 8b 8f cf
_apm_function: ; 0xf8f0b LB 0xf5
and byte [bp+018h], 0feh ; 80 66 18 fe
mov ax, word [bp+012h] ; 8b 46 12
cmp ax, strict word 0000eh ; 3d 0e 00
jnbe near 08fcfh ; 0f 87 b0 00
mov dx, word [bp+018h] ; 8b 56 18
jmp word [cs:bx-07113h] ; 2e ff a7 ed 8e
mov word [bp+012h], 00102h ; c7 46 12 02 01
mov word [bp+00ch], 0504dh ; c7 46 0c 4d 50
mov word [bp+010h], strict word 00003h ; c7 46 10 03 00
jmp near 08ffah ; e9 ba 00
mov word [bp+012h], 0f000h ; c7 46 12 00 f0
mov word [bp+00ch], 09554h ; c7 46 0c 54 95
mov word [bp+010h], 0f000h ; c7 46 10 00 f0
mov ax, strict word 0fff0h ; b8 f0 ff
mov word [bp+006h], ax ; 89 46 06
mov word [bp+004h], ax ; 89 46 04
jmp near 08ffah ; e9 9f 00
mov word [bp+012h], 0f000h ; c7 46 12 00 f0
mov word [bp+00ch], 0da40h ; c7 46 0c 40 da
mov ax, 0f000h ; b8 00 f0
mov word [bp+010h], ax ; 89 46 10
mov word [bp+00eh], ax ; 89 46 0e
mov ax, strict word 0fff0h ; b8 f0 ff
mov word [bp+006h], ax ; 89 46 06
mov word [bp+004h], ax ; 89 46 04
sal ebx, 010h ; 66 c1 e3 10
sal esi, 010h ; 66 c1 e6 10
jmp near 08ffah ; e9 74 00
jmp near 08ffah ; e9 6f 00
cmp word [bp+010h], strict byte 00003h ; 83 7e 10 03
cmp word [bp+010h], strict byte 00002h ; 83 7e 10 02
cmp word [bp+010h], strict byte 00001h ; 83 7e 10 01
mov dx, 08900h ; ba 00 89
mov ax, 00cfah ; b8 fa 0c
mov dx, 08900h ; ba 00 89
mov ax, 00d02h ; b8 02 0d
mov dx, 08900h ; ba 00 89
mov ax, 00d0ah ; b8 0a 0d
mov word [bp+012h], ax ; 89 46 12
mov word [bp+018h], dx ; 89 56 18
mov word [bp+012h], 00102h ; c7 46 12 02 01
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
push word [bp+00ch] ; ff 76 0c
push word [bp+012h] ; ff 76 12
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
mov ax, word [bp+012h] ; 8b 46 12
mov word [bp+012h], ax ; 89 46 12
or byte [bp+018h], 001h ; 80 4e 18 01
lea sp, [bp-002h] ; 8d 66 fe
pci16_select_reg_: ; 0xf9000 LB 0x24
mov dx, 00cf8h ; ba f8 0c
movzx eax, ax ; 66 0f b7 c0
sal eax, 008h ; 66 c1 e0 08
or eax, strict dword 080000000h ; 66 0d 00 00 00 80
lea sp, [bp-002h] ; 8d 66 fe
pci16_find_device_: ; 0xf9024 LB 0xf7
sub sp, strict byte 0000ch ; 83 ec 0c
mov byte [bp-008h], 000h ; c6 46 f8 00
mov dx, strict word 0000eh ; ba 0e 00
mov dx, 00cfeh ; ba fe 0c
mov byte [bp-006h], al ; 88 46 fa
cmp AL, strict byte 0ffh ; 3c ff
add bx, strict byte 00008h ; 83 c3 08
jmp near 090edh ; e9 93 00
test byte [bp-006h], 080h ; f6 46 fa 80
mov word [bp-00ah], strict word 00001h ; c7 46 f6 01 00
mov word [bp-00ah], strict word 00008h ; c7 46 f6 08 00
mov al, byte [bp-006h] ; 8a 46 fa
and AL, strict byte 007h ; 24 07
cmp AL, strict byte 001h ; 3c 01
mov dx, strict word 0001ah ; ba 1a 00
mov dx, 00cfeh ; ba fe 0c
cmp al, byte [bp-008h] ; 3a 46 f8
mov byte [bp-008h], al ; 88 46 f8
mov dx, strict word 00008h ; ba 08 00
mov dx, 00cfch ; ba fc 0c
shr eax, 010h ; 66 c1 e8 10
mov word [bp-00eh], ax ; 89 46 f2
mov word [bp-00ch], dx ; 89 56 f4
mov word [bp-010h], strict word 00000h ; c7 46 f0 00 00
mov cx, strict word 00008h ; b9 08 00
mov word [bp-00eh], ax ; 89 46 f2
mov word [bp-00ch], dx ; 89 56 f4
mov ax, word [bp-00ch] ; 8b 46 f4
cmp ax, word [bp-014h] ; 3b 46 ec
mov ax, word [bp-00eh] ; 8b 46 f2
cmp ax, word [bp-012h] ; 3b 46 ee
cmp word [bp-010h], strict byte 00000h ; 83 7e f0 00
cmp si, strict byte 0ffffh ; 83 fe ff
add bx, word [bp-00ah] ; 03 5e f6
movzx ax, byte [bp-008h] ; 0f b6 46 f8
jbe near 0903ah ; 0f 86 3e ff
cmp si, strict byte 0ffffh ; 83 fe ff
mov ax, strict word 0ffffh ; b8 ff ff
lea sp, [bp-004h] ; 8d 66 fc
sub dl, byte [bp+si-06dc1h] ; 2a 92 3f 92
_pci16_function: ; 0xf911b LB 0x1d7
and word [bp+020h], 000ffh ; 81 66 20 ff 00
and word [bp+02ch], strict byte 0fffeh ; 83 66 2c fe
mov bx, word [bp+020h] ; 8b 5e 20
mov ax, word [bp+020h] ; 8b 46 20
cmp bx, strict byte 00003h ; 83 fb 03
cmp bx, strict byte 0000eh ; 83 fb 0e
je near 09279h ; 0f 84 36 01
cmp bx, strict byte 00008h ; 83 fb 08
jc near 092beh ; 0f 82 74 01
cmp bx, strict byte 0000dh ; 83 fb 0d
jbe near 091d1h ; 0f 86 80 00
jmp near 092beh ; e9 6a 01
cmp bx, strict byte 00002h ; 83 fb 02
cmp bx, strict byte 00001h ; 83 fb 01
jne near 092beh ; 0f 85 5e 01
mov word [bp+020h], strict word 00001h ; c7 46 20 01 00
mov word [bp+014h], 00210h ; c7 46 14 10 02
mov word [bp+01ch], strict word 00000h ; c7 46 1c 00 00
mov word [bp+018h], 04350h ; c7 46 18 50 43
mov word [bp+01ah], 02049h ; c7 46 1a 49 20
jmp near 092ebh ; e9 6f 01
cmp word [bp+018h], strict byte 0ffffh ; 83 7e 18 ff
jmp near 092e4h ; e9 5c 01
mov bx, word [bp+008h] ; 8b 5e 08
mov dx, word [bp+01ch] ; 8b 56 1c
mov ax, word [bp+018h] ; 8b 46 18
cmp ax, strict word 0ffffh ; 3d ff ff
mov ax, word [bp+020h] ; 8b 46 20
jmp near 092e4h ; e9 3e 01
mov word [bp+014h], ax ; 89 46 14
jmp near 092ebh ; e9 3f 01
mov bx, word [bp+008h] ; 8b 5e 08
mov ax, word [bp+01ch] ; 8b 46 1c
mov dx, word [bp+01eh] ; 8b 56 1e
mov cx, strict word 00001h ; b9 01 00
cmp ax, strict word 0ffffh ; 3d ff ff
mov ax, word [bp+020h] ; 8b 46 20
jmp near 092e4h ; e9 19 01
mov word [bp+014h], ax ; 89 46 14
jmp near 092ebh ; e9 1a 01
cmp word [bp+004h], 00100h ; 81 7e 04 00 01
jmp near 092e4h ; e9 06 01
mov dx, word [bp+004h] ; 8b 56 04
mov ax, word [bp+014h] ; 8b 46 14
mov bx, word [bp+020h] ; 8b 5e 20
sub bx, strict byte 00008h ; 83 eb 08
cmp bx, strict byte 00005h ; 83 fb 05
jnbe near 092ebh ; 0f 87 f5 00
jmp word [cs:bx-06ef1h] ; 2e ff a7 0f 91
mov bx, word [bp+01ch] ; 8b 5e 1c
mov dx, word [bp+004h] ; 8b 56 04
and dx, strict byte 00003h ; 83 e2 03
add dx, 00cfch ; 81 c2 fc 0c
mov word [bp+01ch], bx ; 89 5e 1c
jmp near 092ebh ; e9 d4 00
mov dx, word [bp+004h] ; 8b 56 04
add dx, 00cfch ; 81 c2 fc 0c
mov word [bp+01ch], ax ; 89 46 1c
jmp near 092ebh ; e9 c1 00
mov dx, 00cfch ; ba fc 0c
shr eax, 010h ; 66 c1 e8 10
mov word [bp+01ch], ax ; 89 46 1c
mov word [bp+01eh], dx ; 89 56 1e
jmp near 092ebh ; e9 ac 00
mov ax, word [bp+01ch] ; 8b 46 1c
mov dx, word [bp+004h] ; 8b 56 04
add dx, 00cfch ; 81 c2 fc 0c
jmp near 092ebh ; e9 99 00
mov ax, word [bp+01ch] ; 8b 46 1c
mov dx, word [bp+004h] ; 8b 56 04
add dx, 00cfch ; 81 c2 fc 0c
jmp near 092ebh ; e9 86 00
mov ax, word [bp+01ch] ; 8b 46 1c
mov cx, word [bp+01eh] ; 8b 4e 1e
mov dx, 00cfch ; ba fc 0c
sal eax, 010h ; 66 c1 e0 10
mov bx, word [bp+004h] ; 8b 5e 04
mov es, [bp+026h] ; 8e 46 26
mov word [bp-008h], bx ; 89 5e f8
mov [bp-006h], es ; 8c 46 fa
mov cx, word [0f4a0h] ; 8b 0e a0 f4
cmp cx, word [es:bx] ; 26 3b 0f
mov ax, word [bp+020h] ; 8b 46 20
mov word [bp+020h], ax ; 89 46 20
or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01
les di, [es:bx+002h] ; 26 c4 7f 02
mov si, 0f2c0h ; be c0 f2
mov word [bp+014h], 00a00h ; c7 46 14 00 0a
mov ax, word [0f4a0h] ; a1 a0 f4
les bx, [bp-008h] ; c4 5e f8
mov word [es:bx], ax ; 26 89 07
mov bx, 00d8ah ; bb 8a 0d
mov ax, strict word 00004h ; b8 04 00
mov ax, word [bp+014h] ; 8b 46 14
mov ax, word [bp+020h] ; 8b 46 20
push strict byte 00004h ; 6a 04
add sp, strict byte 00008h ; 83 c4 08
mov ax, word [bp+020h] ; 8b 46 20
mov word [bp+020h], ax ; 89 46 20
or word [bp+02ch], strict byte 00001h ; 83 4e 2c 01
lea sp, [bp-004h] ; 8d 66 fc
pci_find_classcode_: ; 0xf92f2 LB 0x2b
mov ax, 0b103h ; b8 03 b1
sal ecx, 010h ; 66 c1 e1 10
je near 09313h ; 0f 84 03 00
mov bx, strict word 0ffffh ; bb ff ff
lea sp, [bp-006h] ; 8d 66 fa
pci_read_config_byte_: ; 0xf931d LB 0x24
mov ax, 0b108h ; b8 08 b1
lea sp, [bp-004h] ; 8d 66 fc
pci_read_config_word_: ; 0xf9341 LB 0x22
mov ax, 0b109h ; b8 09 b1
lea sp, [bp-004h] ; 8d 66 fc
pci_read_config_dword_: ; 0xf9363 LB 0x27
mov ax, 0b10ah ; b8 0a b1
shr ecx, 010h ; 66 c1 e9 10
lea sp, [bp-004h] ; 8d 66 fc
vds_is_present_: ; 0xf938a LB 0x1d
mov bx, strict word 0007bh ; bb 7b 00
mov ax, strict word 00040h ; b8 40 00
test byte [es:bx], 020h ; 26 f6 07 20
mov ax, strict word 00001h ; b8 01 00
vds_real_to_lin_: ; 0xf93a7 LB 0x1e
mov cx, strict word 00004h ; b9 04 00
vds_build_sg_list_: ; 0xf93c5 LB 0x79
mov bx, word [bp+004h] ; 8b 5e 04
mov word [es:di], bx ; 26 89 1d
mov bx, word [bp+006h] ; 8b 5e 06
mov word [es:di+002h], bx ; 26 89 5d 02
mov word [es:di+004h], ax ; 26 89 45 04
mov word [es:di+006h], dx ; 26 89 55 06
mov word [es:di+008h], strict word 00000h ; 26 c7 45 08 00 00
mov ax, 08105h ; b8 05 81
mov dx, strict word 00000h ; ba 00 00
jc near 0940bh ; 0f 82 02 00
mov word [es:di+00eh], strict word 00001h ; 26 c7 45 0e 01 00
mov dx, word [es:di+004h] ; 26 8b 55 04
mov ax, word [es:di+006h] ; 26 8b 45 06
mov word [es:di+010h], dx ; 26 89 55 10
mov word [es:di+012h], ax ; 26 89 45 12
mov ax, word [bp+004h] ; 8b 46 04
mov word [es:di+014h], ax ; 26 89 45 14
mov word [es:di+016h], bx ; 26 89 5d 16
lea sp, [bp-004h] ; 8d 66 fc
vds_free_sg_list_: ; 0xf943e LB 0x32
mov ax, 08106h ; b8 06 81
mov dx, strict word 00000h ; ba 00 00
jc near 0945eh ; 0f 82 02 00
mov word [es:bx+00eh], strict word 00000h ; 26 c7 47 0e 00 00
lea sp, [bp-004h] ; 8d 66 fc
rol eax, 010h ; 66 c1 c0 10
ror eax, 010h ; 66 c1 c8 10
; xor edx, edx ; 66 33 d2
shr ecx, 010h ; 66 c1 e9 10
shr edx, 010h ; 66 c1 ea 10
ror eax, 010h ; 66 c1 c8 10
add sp, strict byte 00002h ; 83 c4 02
rol eax, 010h ; 66 c1 c0 10
rol eax, 010h ; 66 c1 c0 10
ror eax, 010h ; 66 c1 c8 10
; xor edx, edx ; 66 33 d2
shr ecx, 010h ; 66 c1 e9 10
ror eax, 010h ; 66 c1 c8 10
add sp, strict byte 00002h ; 83 c4 02
rol eax, 010h ; 66 c1 c0 10
_fmemset_: ; 0xf94da LB 0xd
_fmemcpy_: ; 0xf94e7 LB 0x33
mov cx, word [bp+004h] ; 8b 4e 04
add byte [bx+si], dh ; 00 30
xor dl, byte [di-06acah] ; 32 95 36 95
cmp byte [di-06ac8h], dl ; 38 95 38 95
cmp dl, byte [di-06ac2h] ; 3a 95 3e 95
apm_worker: ; 0xf951a LB 0x3a
sub AL, strict byte 004h ; 2c 04
cmp AL, strict byte 00dh ; 3c 0d
mov AH, strict byte 053h ; b4 53
jmp word [cs:bp-06b00h] ; 2e ff a6 00 95
mov AH, strict byte 080h ; b4 80
mov ax, 00102h ; b8 02 01
mov BL, strict byte 000h ; b3 00
mov cx, strict word 00000h ; b9 00 00
mov AH, strict byte 009h ; b4 09
apm_pm16_entry: ; 0xf9554 LB 0x11
mov AH, strict byte 002h ; b4 02
add bp, strict byte 00008h ; 83 c5 08
; Padding 0x449b bytes at 0xf9565
section BIOS32 progbits vstart=0xda00 align=1 ; size=0x3cb class=CODE group=AUTO
bios32_service: ; 0xfda00 LB 0x26
cmp ax, 05024h ; 3d 24 50
mov AL, strict byte 080h ; b0 80
mov bx, strict word 00000h ; bb 00 00
add byte [bx+di-01000h], bh ; 00 b9 00 f0
add byte [bx+si], al ; 00 00
mov dx, 0da26h ; ba 26 da
add byte [bx+si], al ; 00 00
mov AL, strict byte 081h ; b0 81
pcibios32_entry: ; 0xfda26 LB 0x1a
add byte [bx+si], al ; 00 00
apm_pm32_entry: ; 0xfda40 LB 0x21
mov bp, 0da5fh ; bd 5f da
add byte [bx+si], al ; 00 00
add bp, strict byte 00008h ; 83 c5 08
mov bp, 09556h ; bd 56 95
add byte [bx+si], al ; 00 00
mov AH, strict byte 003h ; b4 03
pci32_select_reg_: ; 0xfda61 LB 0x22
mov dx, 00cf8h ; ba f8 0c
add byte [bx+si], al ; 00 00
; movzx ax, ax ; 0f b7 c0
or ax, strict word 00000h ; 0d 00 00
add byte [bx+si-03c76h], al ; 00 80 8a c3
lea sp, [di-004h] ; 8d 65 fc
pci32_find_device_: ; 0xfda83 LB 0xf7
sub sp, strict byte 00014h ; 83 ec 14
mov byte [di-010h], 000h ; c6 45 f0 00
; movzx ax, bx ; 0f b7 c3
mov dx, strict word 0000eh ; ba 0e 00
add byte [bx+si], al ; 00 00
mov dx, 00cfeh ; ba fe 0c
add byte [bx+si], al ; 00 00
mov byte [di-014h], al ; 88 45 ec
cmp AL, strict byte 0ffh ; 3c ff
add bx, strict byte 00008h ; 83 c3 08
jmp near 0db4ah ; e9 8a 00
add byte [bx+si], al ; 00 00
test byte [di-014h], 080h ; f6 45 ec 80
mov di, strict word 00001h ; bf 01 00
add byte [bx+si], al ; 00 00
mov di, strict word 00008h ; bf 08 00
add byte [bx+si], al ; 00 00
mov al, byte [di-014h] ; 8a 45 ec
and AL, strict byte 007h ; 24 07
cmp AL, strict byte 001h ; 3c 01
; movzx ax, bx ; 0f b7 c3
mov dx, strict word 0001ah ; ba 1a 00
add byte [bx+si], al ; 00 00
mov dx, 00cfeh ; ba fe 0c
add byte [bx+si], al ; 00 00
cmp al, byte [di-010h] ; 3a 45 f0
mov byte [di-010h], al ; 88 45 f0
mov ax, strict word 00008h ; b8 08 00
add byte [bx+si], al ; 00 00
; movzx dx, ax ; 0f b7 d0
; movzx ax, bx ; 0f b7 c3
mov dx, 00cfch ; ba fc 0c
add byte [bx+si], al ; 00 00
mov word [di-018h], ax ; 89 45 e8
mov word [di-020h], strict word 00000h ; c7 45 e0 00 00
add byte [bx+si], al ; 00 00
mov word [di-018h], ax ; 89 45 e8
mov ax, word [di-018h] ; 8b 45 e8
cmp ax, word [di-024h] ; 3b 45 dc
cmp word [di-020h], strict byte 00000h ; 83 7d e0 00
cmp ecx, strict byte 0ffffffffh ; 66 83 f9 ff
; movzx ax, bx ; 0f b7 c3
mov word [di-01ch], ax ; 89 45 e4
movzx ax, byte [di-010h] ; 0f b6 45 f0
cmp ax, word [di-01ch] ; 3b 45 e4
jnl near 0da97h ; 0f 8d 37 ff
jmp word [bp-07dh] ; ff 66 83
push word [di+005h] ; ff 75 05
; movzx ax, bx ; 0f b7 c3
mov ax, strict word 0ffffh ; b8 ff ff
add byte [bx+si], al ; 00 00
lea sp, [di-00ch] ; 8d 65 f4
_pci32_function: ; 0xfdb7a LB 0x251
and dword [di+024h], strict dword 0658100ffh ; 66 81 65 24 ff 00 81 65
sub AL, strict byte 0feh ; 2c fe
add byte [bp+di+02445h], cl ; 00 8b 45 24
cmp eax, strict dword 029720003h ; 66 3d 03 00 72 29
jbe near 0dc37h ; 0f 86 99 00
add byte [bx+si], al ; 00 00
cmp eax, strict dword 0840f000eh ; 66 3d 0e 00 0f 84
test ax, strict word 00001h ; a9 01 00
add byte [bp+03dh], ah ; 00 66 3d
or byte [bx+si], al ; 08 00
jc near 0ddb1h ; 0f 82 ff 01
add byte [bx+si], al ; 00 00
cmp eax, strict dword 0860f000dh ; 66 3d 0d 00 0f 86
test AL, strict byte 000h ; a8 00
add byte [bx+si], al ; 00 00
jmp near 0ddb1h ; e9 f0 01
add byte [bx+si], al ; 00 00
cmp eax, strict dword 028740002h ; 66 3d 02 00 74 28
cmp eax, strict dword 0850f0001h ; 66 3d 01 00 0f 85
add byte [bx+si], al ; 00 00
mov dword [di+024h], strict dword 0c7660001h ; 66 c7 45 24 01 00 66 c7
sbb byte [bx+si], dl ; 18 10
add dh, byte [bx+di] ; 02 31
sal byte [bp-077h], 045h ; c0 66 89 45
sbb AL, strict byte 050h ; 1c 50
rol byte [bx+di], CL ; d2 01
add byte [bx+si], al ; 00 00
cmp dword [di+01ch], strict byte 0ffffffffh ; 66 83 7d 1c ff
mov ax, word [di+024h] ; 8b 45 24
jmp near 0ddb9h ; e9 b6 01
add byte [bx+si], al ; 00 00
db 00fh, 0b7h, 055h, 00ch
; movzx dx, word [di+00ch] ; 0f b7 55 0c
db 00fh, 0b7h, 045h, 020h
; movzx ax, word [di+020h] ; 0f b7 45 20
db 00fh, 0b7h, 04dh, 01ch
; movzx cx, word [di+01ch] ; 0f b7 4d 1c
jmp word [bp+03dh] ; ff 66 3d
push word [di+00dh] ; ff 75 0d
mov ax, word [di+024h] ; 8b 45 24
jmp near 0ddb9h ; e9 8b 01
add byte [bx+si], al ; 00 00
mov dword [di+018h], eax ; 66 89 45 18
jmp near 0ddc1h ; e9 8a 01
add byte [bx+si], al ; 00 00
db 00fh, 0b7h, 055h, 00ch
; movzx dx, word [di+00ch] ; 0f b7 55 0c
mov ax, word [di+020h] ; 8b 45 20
mov bx, strict word 00001h ; bb 01 00
add byte [bx+si], al ; 00 00
jmp word [bp+03dh] ; ff 66 3d
push word [di+00dh] ; ff 75 0d
mov ax, word [di+024h] ; 8b 45 24
jmp near 0ddb9h ; e9 5e 01
add byte [bx+si], al ; 00 00
mov dword [di+018h], eax ; 66 89 45 18
jmp near 0ddc1h ; e9 5d 01
add byte [bx+si], al ; 00 00
cmp dword [di+008h], strict dword 00d720100h ; 66 81 7d 08 00 01 72 0d
mov ax, word [di+024h] ; 8b 45 24
jmp near 0ddb9h ; e9 40 01
add byte [bx+si], al ; 00 00
db 00fh, 0b7h, 055h, 008h
; movzx dx, word [di+008h] ; 0f b7 55 08
db 00fh, 0b7h, 045h, 018h
; movzx ax, word [di+018h] ; 0f b7 45 18
dec word [bp+di+02445h] ; ff 8b 45 24
cmp eax, strict dword 02172000ah ; 66 3d 0a 00 72 21
cmp eax, strict dword 0840f000dh ; 66 3d 0d 00 0f 84
test ax, strict word 00000h ; a9 00 00
add byte [bp+03dh], ah ; 00 66 3d
or AL, strict byte 000h ; 0c 00
je near 0dd2ah ; 0f 84 83 00
add byte [bx+si], al ; 00 00
cmp eax, strict dword 06374000bh ; 66 3d 0b 00 74 63
jmp near 0ddc1h ; e9 0f 01
add byte [bx+si], al ; 00 00
cmp eax, strict dword 02d740009h ; 66 3d 09 00 74 2d
cmp eax, strict dword 0850f0008h ; 66 3d 08 00 0f 85
add byte [bx+si], al ; 00 00
mov bx, word [di+020h] ; 8b 5d 20
mov ax, word [di+008h] ; 8b 45 08
and AL, strict byte 003h ; 24 03
; movzx dx, ax ; 0f b7 d0
add dx, 00cfch ; 81 c2 fc 0c
add byte [bx+si], al ; 00 00
mov dword [di+020h], ebx ; 66 89 5d 20
jmp near 0ddc1h ; e9 dc 00
add byte [bx+si], al ; 00 00
mov ax, word [di+008h] ; 8b 45 08
and AL, strict byte 002h ; 24 02
; movzx dx, ax ; 0f b7 d0
add dx, 00cfch ; 81 c2 fc 0c
add byte [bx+si], al ; 00 00
mov dword [di+020h], eax ; 66 89 45 20
jmp near 0ddc1h ; e9 bf 00
add byte [bx+si], al ; 00 00
mov dx, 00cfch ; ba fc 0c
add byte [bx+si], al ; 00 00
mov word [di+020h], ax ; 89 45 20
jmp near 0ddc1h ; e9 b1 00
add byte [bx+si], al ; 00 00
mov ax, word [di+020h] ; 8b 45 20
mov dx, word [di+008h] ; 8b 55 08
; movzx dx, dx ; 0f b7 d2
add dx, 00cfch ; 81 c2 fc 0c
add byte [bx+si], al ; 00 00
jmp near 0ddc1h ; e9 97 00
add byte [bx+si], al ; 00 00
db 00fh, 0b7h, 045h, 020h
; movzx ax, word [di+020h] ; 0f b7 45 20
mov dx, word [di+008h] ; 8b 55 08
; movzx dx, dx ; 0f b7 d2
add dx, 00cfch ; 81 c2 fc 0c
add byte [bx+si], al ; 00 00
jmp near 0ddc1h ; e9 7b 00
add byte [bx+si], al ; 00 00
mov ax, word [di+020h] ; 8b 45 20
mov dx, 00cfch ; ba fc 0c
add byte [bx+si], al ; 00 00
db 00fh, 0b7h, 045h, 008h
; movzx ax, word [di+008h] ; 0f b7 45 08
mov es, [di+028h] ; 8e 45 28
mov [di-010h], es ; 8c 45 f0
mov edx, dword [di] ; 66 8b 15
mov AL, byte [000f4h] ; a0 f4 00
add byte [bp+026h], ah ; 00 66 26
cmp dx, word [bx+si] ; 3b 10
mov ax, word [di+024h] ; 8b 45 24
mov dword [di+024h], eax ; 66 89 45 24
or word [di+02ch], strict byte 00001h ; 83 4d 2c 01
; movzx cx, dx ; 0f b7 ca
db 066h, 026h, 08bh, 050h, 006h
; mov edx, dword [es:bx+si+006h] ; 66 26 8b 50 06
mov word [di-014h], dx ; 89 55 ec
mov di, word [es:bx+si+002h] ; 26 8b 78 02
mov si, 0f2c0h ; be c0 f2
add byte [bx+si], al ; 00 00
mov es, [di-014h] ; 8e 45 ec
mov dword [di+018h], strict dword 0a1660a00h ; 66 c7 45 18 00 0a 66 a1
mov AL, byte [000f4h] ; a0 f4 00
add byte [bp-00fbbh], cl ; 00 8e 45 f0
db 066h, 026h, 089h, 003h
; mov dword [es:bp+di], eax ; 66 26 89 03
mov ax, word [di+024h] ; 8b 45 24
mov dword [di+024h], eax ; 66 89 45 24
or word [di+02ch], strict byte 00001h ; 83 4d 2c 01
lea sp, [di-00ch] ; 8d 65 f4
; Padding 0x1 bytes at 0xfddcb
section BIOS32CONST progbits vstart=0xddcc align=1 ; size=0x0 class=FAR_DATA group=BIOS32_GROUP
section BIOS32CONST2 progbits vstart=0xddcc align=1 ; size=0x0 class=FAR_DATA group=BIOS32_GROUP
section BIOS32_DATA progbits vstart=0xddcc align=1 ; size=0x0 class=FAR_DATA group=BIOS32_GROUP
; Padding 0x234 bytes at 0xfddcc
section BIOSSEG progbits vstart=0xe000 align=1 ; size=0x2000 class=CODE group=AUTO
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 058h, 04dh
eoi_jmp_post: ; 0xfe030 LB 0xb
jmp far [00467h] ; ff 2e 67 04
eoi_both_pics: ; 0xfe03b LB 0x4
mov AL, strict byte 020h ; b0 20
out strict byte 0a0h, AL ; e6 a0
eoi_master_pic: ; 0xfe03f LB 0x5
mov AL, strict byte 020h ; b0 20
out strict byte 020h, AL ; e6 20
set_int_vects: ; 0xfe044 LB 0x17
mov word [bx], ax ; 89 07
mov word [bx+002h], dx ; 89 57 02
add bx, strict byte 00004h ; 83 c3 04
test ax, strict word 00001h ; a9 01 00
out strict byte 092h, AL ; e6 92
mov AL, strict byte 00fh ; b0 0f
out strict byte 070h, AL ; e6 70
in AL, strict byte 071h ; e4 71
mov AL, strict byte 00fh ; b0 0f
out strict byte 070h, AL ; e6 70
mov AL, strict byte 000h ; b0 00
out strict byte 071h, AL ; e6 71
cmp AL, strict byte 009h ; 3c 09
cmp AL, strict byte 00ah ; 3c 0a
out strict byte 00dh, AL ; e6 0d
out strict byte 0dah, AL ; e6 da
mov AL, strict byte 0c0h ; b0 c0
out strict byte 0d6h, AL ; e6 d6
mov AL, strict byte 000h ; b0 00
out strict byte 0d4h, AL ; e6 d4
cmp AL, strict byte 000h ; 3c 00
cmp AL, strict byte 00dh ; 3c 0d
cmp AL, strict byte 009h ; 3c 09
jmp near 0e34bh ; e9 aa 02
cmp AL, strict byte 005h ; 3c 05
normal_post: ; 0xfe0a7 LB 0x21c
mov ax, 07800h ; b8 00 78
mov cx, 00239h ; b9 39 02
mov cx, 005c6h ; b9 c6 05
add bx, 01000h ; 81 c3 00 10
cmp bx, 09000h ; 81 fb 00 90
mov cx, 08000h ; b9 00 80
mov cx, 07ff8h ; b9 f8 7f
mov cx, strict word 00060h ; b9 60 00
mov ax, 0ff53h ; b8 53 ff
mov dx, 0f000h ; ba 00 f0
mov bx, 001a0h ; bb a0 01
mov cx, strict word 00010h ; b9 10 00
mov ax, 0027fh ; b8 7f 02
mov word [00413h], ax ; a3 13 04
mov ax, 0e9dch ; b8 dc e9
mov word [00018h], ax ; a3 18 00
mov ax, 0f000h ; b8 00 f0
mov word [0001ah], ax ; a3 1a 00
mov ax, 0f84dh ; b8 4d f8
mov word [00044h], ax ; a3 44 00
mov ax, 0f000h ; b8 00 f0
mov word [00046h], ax ; a3 46 00
mov ax, 0f841h ; b8 41 f8
mov word [00048h], ax ; a3 48 00
mov ax, 0f000h ; b8 00 f0
mov word [0004ah], ax ; a3 4a 00
mov ax, 0f859h ; b8 59 f8
mov word [00054h], ax ; a3 54 00
mov ax, 0f000h ; b8 00 f0
mov word [00056h], ax ; a3 56 00
mov ax, 0efd4h ; b8 d4 ef
mov word [0005ch], ax ; a3 5c 00
mov ax, 0f000h ; b8 00 f0
mov word [0005eh], ax ; a3 5e 00
mov ax, 0f0a4h ; b8 a4 f0
mov word [00060h], ax ; a3 60 00
mov ax, 0f000h ; b8 00 f0
mov word [00062h], ax ; a3 62 00
mov ax, 0e6f2h ; b8 f2 e6
mov word [00064h], ax ; a3 64 00
mov ax, 0f000h ; b8 00 f0
mov word [00066h], ax ; a3 66 00
mov ax, 0efedh ; b8 ed ef
mov word [00070h], ax ; a3 70 00
mov ax, 0f000h ; b8 00 f0
mov word [00072h], ax ; a3 72 00
mov ax, 0fea5h ; b8 a5 fe
mov word [00020h], ax ; a3 20 00
mov ax, 0f000h ; b8 00 f0
mov word [00022h], ax ; a3 22 00
mov AL, strict byte 034h ; b0 34
out strict byte 043h, AL ; e6 43
mov AL, strict byte 000h ; b0 00
out strict byte 040h, AL ; e6 40
out strict byte 040h, AL ; e6 40
mov ax, 0f065h ; b8 65 f0
mov word [00040h], ax ; a3 40 00
mov ax, 0f000h ; b8 00 f0
mov word [00042h], ax ; a3 42 00
mov ax, 0e987h ; b8 87 e9
mov word [00024h], ax ; a3 24 00
mov ax, 0f000h ; b8 00 f0
mov word [00026h], ax ; a3 26 00
mov ax, 0e82eh ; b8 2e e8
mov word [00058h], ax ; a3 58 00
mov ax, 0f000h ; b8 00 f0
mov word [0005ah], ax ; a3 5a 00
mov byte [00417h], AL ; a2 17 04
mov byte [00418h], AL ; a2 18 04
mov byte [00419h], AL ; a2 19 04
mov byte [00471h], AL ; a2 71 04
mov byte [00497h], AL ; a2 97 04
mov AL, strict byte 010h ; b0 10
mov byte [00496h], AL ; a2 96 04
mov bx, strict word 0001eh ; bb 1e 00
mov word [0041ah], bx ; 89 1e 1a 04
mov word [0041ch], bx ; 89 1e 1c 04
mov word [00480h], bx ; 89 1e 80 04
mov bx, strict word 0003eh ; bb 3e 00
mov word [00482h], bx ; 89 1e 82 04
mov ax, 0c000h ; b8 00 c0
mov dx, 0c800h ; ba 00 c8
mov AL, strict byte 014h ; b0 14
out strict byte 070h, AL ; e6 70
in AL, strict byte 071h ; e4 71
mov byte [00410h], AL ; a2 10 04
mov ax, 0ff53h ; b8 53 ff
mov word [0003ch], ax ; a3 3c 00
mov ax, 0f000h ; b8 00 f0
mov word [0003eh], ax ; a3 3e 00
mov CL, strict byte 014h ; b1 14
mov dx, 00378h ; ba 78 03
mov dx, 00278h ; ba 78 02
mov ax, word [00410h] ; a1 10 04
and ax, 03fffh ; 25 ff 3f
mov word [00410h], ax ; a3 10 04
mov ax, 0e746h ; b8 46 e7
mov word [0002ch], ax ; a3 2c 00
mov ax, 0f000h ; b8 00 f0
mov word [0002eh], ax ; a3 2e 00
mov ax, 0e746h ; b8 46 e7
mov word [00030h], ax ; a3 30 00
mov ax, 0f000h ; b8 00 f0
mov word [00032h], ax ; a3 32 00
mov ax, 0e739h ; b8 39 e7
mov word [00050h], ax ; a3 50 00
mov ax, 0f000h ; b8 00 f0
mov word [00052h], ax ; a3 52 00
mov CL, strict byte 00ah ; b1 0a
mov dx, 003f8h ; ba f8 03
mov dx, 002f8h ; ba f8 02
mov dx, 003e8h ; ba e8 03
mov dx, 002e8h ; ba e8 02
mov ax, word [00410h] ; a1 10 04
and ax, 0f1ffh ; 25 ff f1
mov word [00410h], ax ; a3 10 04
mov ax, 0fe6eh ; b8 6e fe
mov word [00068h], ax ; a3 68 00
mov ax, 0f000h ; b8 00 f0
mov word [0006ah], ax ; a3 6a 00
mov ax, 0ff53h ; b8 53 ff
mov word [00128h], ax ; a3 28 01
mov ax, 0f000h ; b8 00 f0
mov word [0012ah], ax ; a3 2a 01
mov ax, 0fe8fh ; b8 8f fe
mov word [001c0h], ax ; a3 c0 01
mov ax, 0f000h ; b8 00 f0
mov word [001c2h], ax ; a3 c2 01
mov ax, 0f8a9h ; b8 a9 f8
mov word [001d0h], ax ; a3 d0 01
mov ax, 0f000h ; b8 00 f0
mov word [001d2h], ax ; a3 d2 01
mov ax, 0e2cah ; b8 ca e2
mov word [001d4h], ax ; a3 d4 01
mov ax, 0f000h ; b8 00 f0
mov word [001d6h], ax ; a3 d6 01
int75_handler: ; 0xfe2ca LB 0x8
out strict byte 0f0h, AL ; e6 f0
hard_drive_post: ; 0xfe2d2 LB 0x12c
mov byte [00474h], AL ; a2 74 04
mov byte [00477h], AL ; a2 77 04
mov byte [0048ch], AL ; a2 8c 04
mov byte [0048dh], AL ; a2 8d 04
mov byte [0048eh], AL ; a2 8e 04
mov AL, strict byte 0c0h ; b0 c0
mov byte [00476h], AL ; a2 76 04
mov ax, 0e3feh ; b8 fe e3
mov word [0004ch], ax ; a3 4c 00
mov ax, 0f000h ; b8 00 f0
mov word [0004eh], ax ; a3 4e 00
mov ax, 0f8d7h ; b8 d7 f8
mov word [001d8h], ax ; a3 d8 01
mov ax, 0f000h ; b8 00 f0
mov word [001dah], ax ; a3 da 01
mov ax, strict word 0003dh ; b8 3d 00
mov word [00104h], ax ; a3 04 01
mov ax, 09fc0h ; b8 c0 9f
mov word [00106h], ax ; a3 06 01
mov ax, strict word 0004dh ; b8 4d 00
mov word [00118h], ax ; a3 18 01
mov ax, 09fc0h ; b8 c0 9f
mov word [0011ah], ax ; a3 1a 01
mov ax, 0c800h ; b8 00 c8
mov dx, 0f000h ; ba 00 f0
mov ax, strict word 00040h ; b8 40 00
mov ss, [word 00069h] ; 8e 16 69 00
mov sp, word [word 00067h] ; 8b 26 67 00
in AL, strict byte 092h ; e4 92
and AL, strict byte 0fdh ; 24 fd
out strict byte 092h, AL ; e6 92
lidt [cs:0efe7h] ; 2e 0f 01 1e e7 ef
in AL, strict byte 080h ; e4 80
mov byte [bp+00fh], al ; 88 46 0f
int13_handler: ; 0xfe3fe LB 0x3
jmp near 0ec5bh ; e9 5a 08
rom_fdpt: ; 0xfe401 LB 0x2f1
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 058h
int19_handler: ; 0xfe6f2 LB 0x61
jmp near 0f0ach ; e9 b7 09
or word [bx+si], ax ; 09 00
add byte [bx+di], al ; 00 01
init_pic: ; 0xfe753 LB 0x25
mov AL, strict byte 011h ; b0 11
out strict byte 020h, AL ; e6 20
out strict byte 0a0h, AL ; e6 a0
mov AL, strict byte 008h ; b0 08
out strict byte 021h, AL ; e6 21
mov AL, strict byte 070h ; b0 70
out strict byte 0a1h, AL ; e6 a1
mov AL, strict byte 004h ; b0 04
out strict byte 021h, AL ; e6 21
mov AL, strict byte 002h ; b0 02
out strict byte 0a1h, AL ; e6 a1
mov AL, strict byte 001h ; b0 01
out strict byte 021h, AL ; e6 21
out strict byte 0a1h, AL ; e6 a1
mov AL, strict byte 0b8h ; b0 b8
out strict byte 021h, AL ; e6 21
mov AL, strict byte 08fh ; b0 8f
out strict byte 0a1h, AL ; e6 a1
ebda_post: ; 0xfe778 LB 0xec
mov ax, 0e746h ; b8 46 e7
mov word [00034h], ax ; a3 34 00
mov ax, 0f000h ; b8 00 f0
mov word [00036h], ax ; a3 36 00
mov ax, 0e746h ; b8 46 e7
mov word [0003ch], ax ; a3 3c 00
mov ax, 0f000h ; b8 00 f0
mov word [0003eh], ax ; a3 3e 00
mov ax, 0e746h ; b8 46 e7
mov word [001c8h], ax ; a3 c8 01
mov ax, 0f000h ; b8 00 f0
mov word [001cah], ax ; a3 ca 01
mov ax, 0e746h ; b8 46 e7
mov word [001dch], ax ; a3 dc 01
mov ax, 0f000h ; b8 00 f0
mov word [001deh], ax ; a3 de 01
mov ax, 09fc0h ; b8 c0 9f
mov byte [word 00000h], 001h ; c6 06 00 00 01
mov word [0040eh], 09fc0h ; c7 06 0e 04 c0 9f
mov bx, strict word 00040h ; bb 40 00
mov bx, word [word 0001ah] ; 8b 1e 1a 00
cmp bx, word [word 0001ch] ; 3b 1e 1c 00
pmode_enter: ; 0xfe864 LB 0x1b
lgdt [cs:0e892h] ; 2e 0f 01 16 92 e8
or AL, strict byte 001h ; 0c 01
jmp far 00020h:0e879h ; ea 79 e8 20 00
mov ax, strict word 00018h ; b8 18 00
pmode_exit: ; 0xfe87f LB 0x13
mov ax, strict word 00040h ; b8 40 00
and AL, strict byte 0feh ; 24 fe
jmp far 0f000h:0e891h ; ea 91 e8 00 f0
pmbios_gdt_desc: ; 0xfe892 LB 0x6
db 047h, 000h, 098h, 0e8h, 00fh, 000h
pmbios_gdt: ; 0xfe898 LB 0x48
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 0ffh, 0ffh, 000h, 000h, 000h, 09bh, 0cfh, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 093h, 0cfh, 000h
db 0ffh, 0ffh, 000h, 000h, 00fh, 09bh, 000h, 000h, 0ffh, 0ffh, 000h, 000h, 000h, 093h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
db 0ffh, 0ffh, 000h, 004h, 000h, 093h, 000h, 000h
pmode_setup: ; 0xfe8e0 LB 0x37b
and eax, strict dword 09fffffffh ; 66 25 ff ff ff 9f
mov esi, strict dword 0fee00350h ; 66 be 50 03 e0 fe
mov eax, dword [esi] ; 67 66 8b 06
and eax, strict dword 0fffe00ffh ; 66 25 ff 00 fe ff
mov dword [esi], eax ; 67 66 89 06
mov esi, strict dword 0fee00360h ; 66 be 60 03 e0 fe
mov eax, dword [esi] ; 67 66 8b 06
and eax, strict dword 0fffe00ffh ; 66 25 ff 00 fe ff
mov dword [esi], eax ; 67 66 89 06
mov AL, strict byte 0adh ; b0 ad
out strict byte 064h, AL ; e6 64
mov AL, strict byte 00bh ; b0 0b
out strict byte 020h, AL ; e6 20
in AL, strict byte 020h ; e4 20
and AL, strict byte 002h ; 24 02
in AL, strict byte 060h ; e4 60
mov AH, strict byte 04fh ; b4 4f
cmp AL, strict byte 0e0h ; 3c e0
mov AL, byte [00496h] ; a0 96 04
or AL, strict byte 002h ; 0c 02
mov byte [00496h], AL ; a2 96 04
cmp AL, strict byte 0e1h ; 3c e1
mov AL, byte [00496h] ; a0 96 04
or AL, strict byte 001h ; 0c 01
mov byte [00496h], AL ; a2 96 04
mov AL, strict byte 0aeh ; b0 ae
out strict byte 064h, AL ; e6 64
int13_relocated: ; 0xfec5b LB 0x55
jnbe short 0ec71h ; 77 0c
jmp near 036dch ; e9 6b 4a
cmp AL, strict byte 000h ; 3c 00
jmp near 03cb0h ; e9 19 50
int13_noeltorito: ; 0xfecb0 LB 0x4
int13_legacy: ; 0xfecb4 LB 0x14
jmp near 02f2eh ; e9 66 42
int13_notfloppy: ; 0xfecc8 LB 0x14
shr ebx, 010h ; 66 c1 eb 10
sal ebx, 010h ; 66 c1 e3 10
int13_disk: ; 0xfecdc LB 0xd
jnbe short 0ece6h ; 77 05
int13_out: ; 0xfece9 LB 0x4
detect_parport: ; 0xfeced LB 0x1e
and AL, strict byte 0dfh ; 24 df
mov AL, strict byte 0aah ; b0 aa
cmp AL, strict byte 0aah ; 3c aa
mov word [bx+00408h], dx ; 89 97 08 04
mov byte [bx+00478h], cl ; 88 8f 78 04
detect_serial: ; 0xfed0b LB 0x24
mov AL, strict byte 002h ; b0 02
cmp AL, strict byte 002h ; 3c 02
cmp AL, strict byte 002h ; 3c 02
mov word [bx+00400h], dx ; 89 97 00 04
mov byte [bx+0047ch], cl ; 88 8f 7c 04
floppy_post: ; 0xfed2f LB 0x87
mov AL, strict byte 000h ; b0 00
mov byte [0043eh], AL ; a2 3e 04
mov byte [0043fh], AL ; a2 3f 04
mov byte [00440h], AL ; a2 40 04
mov byte [00441h], AL ; a2 41 04
mov byte [00442h], AL ; a2 42 04
mov byte [00443h], AL ; a2 43 04
mov byte [00444h], AL ; a2 44 04
mov byte [00445h], AL ; a2 45 04
mov byte [00446h], AL ; a2 46 04
mov byte [00447h], AL ; a2 47 04
mov byte [00448h], AL ; a2 48 04
mov byte [0048bh], AL ; a2 8b 04
mov AL, strict byte 010h ; b0 10
out strict byte 070h, AL ; e6 70
in AL, strict byte 071h ; e4 71
mov BL, strict byte 007h ; b3 07
mov BL, strict byte 000h ; b3 00
and AL, strict byte 00fh ; 24 0f
mov byte [0048fh], bl ; 88 1e 8f 04
mov AL, strict byte 000h ; b0 00
mov byte [00490h], AL ; a2 90 04
mov byte [00491h], AL ; a2 91 04
mov byte [00492h], AL ; a2 92 04
mov byte [00493h], AL ; a2 93 04
mov byte [00494h], AL ; a2 94 04
mov byte [00495h], AL ; a2 95 04
mov AL, strict byte 002h ; b0 02
out strict byte 00ah, AL ; e6 0a
mov ax, 0efc7h ; b8 c7 ef
mov word [00078h], ax ; a3 78 00
mov ax, 0f000h ; b8 00 f0
mov word [0007ah], ax ; a3 7a 00
mov ax, 0ec59h ; b8 59 ec
mov word [00100h], ax ; a3 00 01
mov ax, 0f000h ; b8 00 f0
mov word [00102h], ax ; a3 02 01
mov ax, 0ef57h ; b8 57 ef
mov word [00038h], ax ; a3 38 00
mov ax, 0f000h ; b8 00 f0
mov word [0003ah], ax ; a3 3a 00
bcd_to_bin: ; 0xfedb6 LB 0x9
rtc_post: ; 0xfedbf LB 0x198
; xor eax, eax ; 66 33 c0
mov AL, strict byte 000h ; b0 00
out strict byte 070h, AL ; e6 70
in AL, strict byte 071h ; e4 71
mov edx, strict dword 00115cf2bh ; 66 ba 2b cf 15 01
mov ebx, strict dword 0000f4240h ; 66 bb 40 42 0f 00
; xor edx, edx ; 66 33 d2
; mov ecx, eax ; 66 8b c8
; xor eax, eax ; 66 33 c0
mov AL, strict byte 002h ; b0 02
out strict byte 070h, AL ; e6 70
in AL, strict byte 071h ; e4 71
mov edx, strict dword 000a6af80h ; 66 ba 80 af a6 00
mov ebx, strict dword 000002710h ; 66 bb 10 27 00 00
; xor edx, edx ; 66 33 d2
; add ecx, eax ; 66 03 c8
; xor eax, eax ; 66 33 c0
mov AL, strict byte 004h ; b0 04
out strict byte 070h, AL ; e6 70
in AL, strict byte 071h ; e4 71
mov edx, strict dword 003e81d03h ; 66 ba 03 1d e8 03
mov ebx, strict dword 0000003e8h ; 66 bb e8 03 00 00
; xor edx, edx ; 66 33 d2
; add ecx, eax ; 66 03 c8
mov dword [0046ch], ecx ; 66 89 0e 6c 04
mov byte [00470h], AL ; a2 70 04
int0e_handler: ; 0xfef57 LB 0x70
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
mov dx, 003f5h ; ba f5 03
mov AL, strict byte 008h ; b0 08
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
mov dx, 003f5h ; ba f5 03
mov dx, 003f4h ; ba f4 03
and AL, strict byte 0c0h ; 24 c0
cmp AL, strict byte 0c0h ; 3c c0
or byte [0043eh], 080h ; 80 0e 3e 04 80
_diskette_param_table: ; 0xfefc7 LB 0xd
add ah, byte [di] ; 02 25
add dl, byte [bp+si] ; 02 12
int17_handler: ; 0xfefd4 LB 0xd
_pmode_IDT: ; 0xfefe1 LB 0x6
db 000h, 000h, 000h, 000h, 00fh, 000h
_rmode_IDT: ; 0xfefe7 LB 0x6
db 0ffh, 003h, 000h, 000h, 000h, 000h
int1c_handler: ; 0xfefed LB 0x78
int10_handler: ; 0xff065 LB 0x47
int19_relocated: ; 0xff0ac LB 0x90
mov ax, word [bp+002h] ; 8b 46 02
cmp ax, 0f000h ; 3d 00 f0
mov ax, 01234h ; b8 34 12
mov word [001d8h], ax ; a3 d8 01
jmp near 0e05bh ; e9 98 ef
mov ax, strict word 00001h ; b8 01 00
mov ax, strict word 00002h ; b8 02 00
mov ax, strict word 00003h ; b8 03 00
push strict byte 00003h ; 6a 03
mov ax, strict word 00004h ; b8 04 00
sal eax, 004h ; 66 c1 e0 04
mov word [bp+002h], ax ; 89 46 02
shr eax, 004h ; 66 c1 e8 04
and ax, 0f000h ; 25 00 f0
mov word [bp+004h], ax ; 89 46 04
mov word [byte bp+000h], ax ; 89 46 00
mov ax, 0aa55h ; b8 55 aa
or cx, word [bp+si] ; 0b 0a
or word [bp+di], cx ; 09 0b
mov eax, strict dword 000800000h ; 66 b8 00 00 80 00
sal eax, 008h ; 66 c1 e0 08
mov dx, 00cf8h ; ba f8 0c
pcibios_init_iomem_bases: ; 0xff13c LB 0x16
mov eax, strict dword 0e0000000h ; 66 b8 00 00 00 e0
mov ax, 0d000h ; b8 00 d0
mov ax, strict word 00010h ; b8 10 00
mov bx, strict word 00008h ; bb 08 00
pci_init_io_loop1: ; 0xff152 LB 0xe
mov DL, strict byte 000h ; b2 00
mov dx, 00cfch ; ba fc 0c
cmp ax, strict byte 0ffffh ; 83 f8 ff
enable_iomem_space: ; 0xff160 LB 0x39
mov DL, strict byte 004h ; b2 04
mov dx, 00cfch ; ba fc 0c
or AL, strict byte 007h ; 0c 07
mov DL, strict byte 000h ; b2 00
mov dx, 00cfch ; ba fc 0c
cmp eax, strict dword 020001022h ; 66 3d 22 10 00 20
mov DL, strict byte 010h ; b2 10
mov dx, 00cfch ; ba fc 0c
and ax, strict byte 0fffch ; 83 e0 fc
add dx, strict byte 00014h ; 83 c2 14
add dx, strict byte 00018h ; 83 c2 18
next_pci_dev: ; 0xff199 LB 0xf
mov byte [bp-008h], 010h ; c6 46 f8 10
cmp bx, 00100h ; 81 fb 00 01
pcibios_init_set_elcr: ; 0xff1a8 LB 0xc
mov dx, 004d0h ; ba d0 04
test AL, strict byte 008h ; a8 08
and AL, strict byte 007h ; 24 07
is_master_pic: ; 0xff1b4 LB 0xd
mov BL, strict byte 001h ; b3 01
pcibios_init_irqs: ; 0xff1c1 LB 0x53
mov ax, 0f000h ; b8 00 f0
mov dx, 004d0h ; ba d0 04
mov AL, strict byte 000h ; b0 00
mov si, 0f2a0h ; be a0 f2
mov bh, byte [si+008h] ; 8a 7c 08
mov bl, byte [si+009h] ; 8a 5c 09
mov DL, strict byte 000h ; b2 00
mov dx, 00cfch ; ba fc 0c
cmp eax, dword [si+00ch] ; 66 3b 44 0c
jne near 0f291h ; 0f 85 a6 00
mov dl, byte [si+022h] ; 8a 54 22
mov dx, 00cfch ; ba fc 0c
mov ax, 08080h ; b8 80 80
add dx, strict byte 00002h ; 83 c2 02
mov ax, word [si+006h] ; 8b 44 06
sub ax, strict byte 00020h ; 83 e8 20
add si, strict byte 00020h ; 83 c6 20
mov ax, 0f11dh ; b8 1d f1
pci_init_irq_loop1: ; 0xff214 LB 0x5
mov bh, byte [si] ; 8a 3c
mov bl, byte [si+001h] ; 8a 5c 01
pci_init_irq_loop2: ; 0xff219 LB 0x15
mov DL, strict byte 000h ; b2 00
mov dx, 00cfch ; ba fc 0c
cmp ax, strict byte 0ffffh ; 83 f8 ff
pci_test_int_pin: ; 0xff22e LB 0x3c
mov DL, strict byte 03ch ; b2 3c
mov dx, 00cfdh ; ba fd 0c
and AL, strict byte 007h ; 24 07
mov DL, strict byte 003h ; b2 03
add AL, strict byte 002h ; 04 02
mov al, byte [bx+si] ; 8a 00
mov bx, word [byte bp+000h] ; 8b 5e 00
mov dx, 00cfch ; ba fc 0c
and AL, strict byte 003h ; 24 03
cmp AL, strict byte 080h ; 3c 80
mov bx, word [bp-002h] ; 8b 5e fe
mov al, byte [bx] ; 8a 07
mov word [bp-002h], bx ; 89 5e fe
pirq_found: ; 0xff26a LB 0x11
mov bh, byte [si] ; 8a 3c
mov bl, byte [si+001h] ; 8a 5c 01
add bl, byte [bp-003h] ; 02 5e fd
mov DL, strict byte 03ch ; b2 3c
mov dx, 00cfch ; ba fc 0c
next_pci_func: ; 0xff27b LB 0xa
inc byte [bp-003h] ; fe 46 fd
next_pir_entry: ; 0xff285 LB 0xc
add si, strict byte 00010h ; 83 c6 10
mov byte [bp-003h], 000h ; c6 46 fd 00
pci_init_end: ; 0xff291 LB 0x2f
db 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 089h, 0c0h, 024h, 050h, 049h, 052h
db 000h, 001h, 000h, 002h, 000h, 008h, 000h, 000h, 086h, 080h, 000h, 070h, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 031h
_pci_routing_table: ; 0xff2c0 LB 0x1e0
db 000h, 008h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 000h, 000h
db 000h, 010h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 001h, 000h
db 000h, 018h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 002h, 000h
db 000h, 020h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 003h, 000h
db 000h, 028h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 004h, 000h
db 000h, 030h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 005h, 000h
db 000h, 038h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 006h, 000h
db 000h, 040h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 007h, 000h
db 000h, 048h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 008h, 000h
db 000h, 050h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 009h, 000h
db 000h, 058h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 00ah, 000h
db 000h, 060h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 00bh, 000h
db 000h, 068h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 00ch, 000h
db 000h, 070h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 00dh, 000h
db 000h, 078h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 00eh, 000h
db 000h, 080h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 00fh, 000h
db 000h, 088h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 010h, 000h
db 000h, 090h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 011h, 000h
db 000h, 098h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 012h, 000h
db 000h, 0a0h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 013h, 000h
db 000h, 0a8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 014h, 000h
db 000h, 0b0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 015h, 000h
db 000h, 0b8h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 016h, 000h
db 000h, 0c0h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 017h, 000h
db 000h, 0c8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 018h, 000h
db 000h, 0d0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 019h, 000h
db 000h, 0d8h, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 01ah, 000h
db 000h, 0e0h, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 01bh, 000h
db 000h, 0e8h, 060h, 0f8h, 0deh, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 01ch, 000h
db 000h, 0f0h, 061h, 0f8h, 0deh, 062h, 0f8h, 0deh, 063h, 0f8h, 0deh, 060h, 0f8h, 0deh, 01dh, 000h
_pci_routing_table_size: ; 0xff4a0 LB 0x3a1
int12_handler: ; 0xff841 LB 0xc
mov ax, strict word 00040h ; b8 40 00
mov ax, word [00013h] ; a1 13 00
int11_handler: ; 0xff84d LB 0xc
mov ax, strict word 00040h ; b8 40 00
mov ax, word [00010h] ; a1 10 00
int15_handler: ; 0xff859 LB 0x2e
int15_handler_mouse: ; 0xff887 LB 0x5
int15_handler32: ; 0xff88c LB 0x9
iret_modify_cf: ; 0xff895 LB 0x14
and byte [bp+006h], 0feh ; 80 66 06 fe
or byte [bp+006h], 001h ; 80 4e 06 01
int74_handler: ; 0xff8a9 LB 0x2e
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
push strict byte 00000h ; 6a 00
push word [0040eh] ; ff 36 0e 04
call far [word 00022h] ; ff 1e 22 00
add sp, strict byte 00008h ; 83 c4 08
int76_handler: ; 0xff8d7 LB 0x197
mov ax, strict word 00040h ; b8 40 00
mov byte [0008eh], 0ffh ; c6 06 8e 00 ff
font8x8: ; 0xffa6e LB 0x421
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh
db 07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h
db 010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 038h, 07ch, 038h, 0feh, 0feh, 07ch, 038h, 07ch
db 010h, 010h, 038h, 07ch, 0feh, 07ch, 038h, 07ch, 000h, 000h, 018h, 03ch, 03ch, 018h, 000h, 000h
db 0ffh, 0ffh, 0e7h, 0c3h, 0c3h, 0e7h, 0ffh, 0ffh, 000h, 03ch, 066h, 042h, 042h, 066h, 03ch, 000h
db 0ffh, 0c3h, 099h, 0bdh, 0bdh, 099h, 0c3h, 0ffh, 00fh, 007h, 00fh, 07dh, 0cch, 0cch, 0cch, 078h
db 03ch, 066h, 066h, 066h, 03ch, 018h, 07eh, 018h, 03fh, 033h, 03fh, 030h, 030h, 070h, 0f0h, 0e0h
db 07fh, 063h, 07fh, 063h, 063h, 067h, 0e6h, 0c0h, 099h, 05ah, 03ch, 0e7h, 0e7h, 03ch, 05ah, 099h
db 080h, 0e0h, 0f8h, 0feh, 0f8h, 0e0h, 080h, 000h, 002h, 00eh, 03eh, 0feh, 03eh, 00eh, 002h, 000h
db 018h, 03ch, 07eh, 018h, 018h, 07eh, 03ch, 018h, 066h, 066h, 066h, 066h, 066h, 000h, 066h, 000h
db 07fh, 0dbh, 0dbh, 07bh, 01bh, 01bh, 01bh, 000h, 03eh, 063h, 038h, 06ch, 06ch, 038h, 0cch, 078h
db 000h, 000h, 000h, 000h, 07eh, 07eh, 07eh, 000h, 018h, 03ch, 07eh, 018h, 07eh, 03ch, 018h, 0ffh
db 018h, 03ch, 07eh, 018h, 018h, 018h, 018h, 000h, 018h, 018h, 018h, 018h, 07eh, 03ch, 018h, 000h
db 000h, 018h, 00ch, 0feh, 00ch, 018h, 000h, 000h, 000h, 030h, 060h, 0feh, 060h, 030h, 000h, 000h
db 000h, 000h, 0c0h, 0c0h, 0c0h, 0feh, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h
db 000h, 018h, 03ch, 07eh, 0ffh, 0ffh, 000h, 000h, 000h, 0ffh, 0ffh, 07eh, 03ch, 018h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 030h, 078h, 078h, 030h, 030h, 000h, 030h, 000h
db 06ch, 06ch, 06ch, 000h, 000h, 000h, 000h, 000h, 06ch, 06ch, 0feh, 06ch, 0feh, 06ch, 06ch, 000h
db 030h, 07ch, 0c0h, 078h, 00ch, 0f8h, 030h, 000h, 000h, 0c6h, 0cch, 018h, 030h, 066h, 0c6h, 000h
db 038h, 06ch, 038h, 076h, 0dch, 0cch, 076h, 000h, 060h, 060h, 0c0h, 000h, 000h, 000h, 000h, 000h
db 018h, 030h, 060h, 060h, 060h, 030h, 018h, 000h, 060h, 030h, 018h, 018h, 018h, 030h, 060h, 000h
db 000h, 066h, 03ch, 0ffh, 03ch, 066h, 000h, 000h, 000h, 030h, 030h, 0fch, 030h, 030h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 060h, 000h, 000h, 000h, 0fch, 000h, 000h, 000h, 000h
db 000h, 000h, 000h, 000h, 000h, 030h, 030h, 000h, 006h, 00ch, 018h, 030h, 060h, 0c0h, 080h, 000h
db 07ch, 0c6h, 0ceh, 0deh, 0f6h, 0e6h, 07ch, 000h, 030h, 070h, 030h, 030h, 030h, 030h, 0fch, 000h
db 078h, 0cch, 00ch, 038h, 060h, 0cch, 0fch, 000h, 078h, 0cch, 00ch, 038h, 00ch, 0cch, 078h, 000h
db 01ch, 03ch, 06ch, 0cch, 0feh, 00ch, 01eh, 000h, 0fch, 0c0h, 0f8h, 00ch, 00ch, 0cch, 078h, 000h
db 038h, 060h, 0c0h, 0f8h, 0cch, 0cch, 078h, 000h, 0fch, 0cch, 00ch, 018h, 030h, 030h, 030h, 000h
db 078h, 0cch, 0cch, 078h, 0cch, 0cch, 078h, 000h, 078h, 0cch, 0cch, 07ch, 00ch, 018h, 070h, 000h
db 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 000h, 000h, 030h, 030h, 060h
db 018h, 030h, 060h, 0c0h, 060h, 030h, 018h, 000h, 000h, 000h, 0fch, 000h, 000h, 0fch, 000h, 000h
db 060h, 030h, 018h, 00ch, 018h, 030h, 060h, 000h, 078h, 0cch, 00ch, 018h, 030h, 000h, 030h, 000h
db 07ch, 0c6h, 0deh, 0deh, 0deh, 0c0h, 078h, 000h, 030h, 078h, 0cch, 0cch, 0fch, 0cch, 0cch, 000h
db 0fch, 066h, 066h, 07ch, 066h, 066h, 0fch, 000h, 03ch, 066h, 0c0h, 0c0h, 0c0h, 066h, 03ch, 000h
db 0f8h, 06ch, 066h, 066h, 066h, 06ch, 0f8h, 000h, 0feh, 062h, 068h, 078h, 068h, 062h, 0feh, 000h
db 0feh, 062h, 068h, 078h, 068h, 060h, 0f0h, 000h, 03ch, 066h, 0c0h, 0c0h, 0ceh, 066h, 03eh, 000h
db 0cch, 0cch, 0cch, 0fch, 0cch, 0cch, 0cch, 000h, 078h, 030h, 030h, 030h, 030h, 030h, 078h, 000h
db 01eh, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 000h, 0e6h, 066h, 06ch, 078h, 06ch, 066h, 0e6h, 000h
db 0f0h, 060h, 060h, 060h, 062h, 066h, 0feh, 000h, 0c6h, 0eeh, 0feh, 0feh, 0d6h, 0c6h, 0c6h, 000h
db 0c6h, 0e6h, 0f6h, 0deh, 0ceh, 0c6h, 0c6h, 000h, 038h, 06ch, 0c6h, 0c6h, 0c6h, 06ch, 038h, 000h
db 0fch, 066h, 066h, 07ch, 060h, 060h, 0f0h, 000h, 078h, 0cch, 0cch, 0cch, 0dch, 078h, 01ch, 000h
db 0fch, 066h, 066h, 07ch, 06ch, 066h, 0e6h, 000h, 078h, 0cch, 0e0h, 070h, 01ch, 0cch, 078h, 000h
db 0fch, 0b4h, 030h, 030h, 030h, 030h, 078h, 000h, 0cch, 0cch, 0cch, 0cch, 0cch, 0cch, 0fch, 000h
db 0cch, 0cch, 0cch, 0cch, 0cch, 078h, 030h, 000h, 0c6h, 0c6h, 0c6h, 0d6h, 0feh, 0eeh, 0c6h, 000h
db 0c6h, 0c6h, 06ch, 038h, 038h, 06ch, 0c6h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 030h, 078h, 000h
db 0feh, 0c6h, 08ch, 018h, 032h, 066h, 0feh, 000h, 078h, 060h, 060h, 060h, 060h, 060h, 078h, 000h
db 0c0h, 060h, 030h, 018h, 00ch, 006h, 002h, 000h, 078h, 018h, 018h, 018h, 018h, 018h, 078h, 000h
db 010h, 038h, 06ch, 0c6h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0ffh
db 030h, 030h, 018h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 078h, 00ch, 07ch, 0cch, 076h, 000h
db 0e0h, 060h, 060h, 07ch, 066h, 066h, 0dch, 000h, 000h, 000h, 078h, 0cch, 0c0h, 0cch, 078h, 000h
db 01ch, 00ch, 00ch, 07ch, 0cch, 0cch, 076h, 000h, 000h, 000h, 078h, 0cch, 0fch, 0c0h, 078h, 000h
db 038h, 06ch, 060h, 0f0h, 060h, 060h, 0f0h, 000h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 0f8h
db 0e0h, 060h, 06ch, 076h, 066h, 066h, 0e6h, 000h, 030h, 000h, 070h, 030h, 030h, 030h, 078h, 000h
db 00ch, 000h, 00ch, 00ch, 00ch, 0cch, 0cch, 078h, 0e0h, 060h, 066h, 06ch, 078h, 06ch, 0e6h, 000h
db 070h, 030h, 030h, 030h, 030h, 030h, 078h, 000h, 000h, 000h, 0cch, 0feh, 0feh, 0d6h, 0c6h, 000h
db 000h, 000h, 0f8h, 0cch, 0cch, 0cch, 0cch, 000h, 000h, 000h, 078h, 0cch, 0cch, 0cch, 078h, 000h
db 000h, 000h, 0dch, 066h, 066h, 07ch, 060h, 0f0h, 000h, 000h, 076h, 0cch, 0cch, 07ch, 00ch, 01eh
db 000h, 000h, 0dch, 076h, 066h, 060h, 0f0h, 000h, 000h, 000h, 07ch, 0c0h, 078h, 00ch, 0f8h, 000h
db 010h, 030h, 07ch, 030h, 030h, 034h, 018h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 0cch, 076h, 000h
db 000h, 000h, 0cch, 0cch, 0cch, 078h, 030h, 000h, 000h, 000h, 0c6h, 0d6h, 0feh, 0feh, 06ch, 000h
db 000h, 000h, 0c6h, 06ch, 038h, 06ch, 0c6h, 000h, 000h, 000h, 0cch, 0cch, 0cch, 07ch, 00ch, 0f8h
db 000h, 000h, 0fch, 098h, 030h, 064h, 0fch, 000h, 01ch, 030h, 030h, 0e0h, 030h, 030h, 01ch, 000h
db 018h, 018h, 018h, 000h, 018h, 018h, 018h, 000h, 0e0h, 030h, 030h, 01ch, 030h, 030h, 0e0h, 000h
db 076h, 0dch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 010h, 038h, 06ch, 0c6h, 0c6h, 0feh, 000h
db 080h, 0fch, 0b1h, 075h, 00fh, 006h, 01eh, 00eh, 01fh, 0fch, 066h, 060h, 0e8h, 09eh, 092h, 066h
db 061h, 01fh, 007h, 0cfh, 006h, 01eh, 060h, 00eh, 01fh, 0fch, 0e8h, 09dh, 06bh, 061h, 01fh, 007h
int70_handler: ; 0xffe8f LB 0x16
add byte [bx+si], al ; 00 00
add byte [bx+si], al ; 00 00
add byte [bx+si], al ; 00 00
add byte [bx+si+04dh], bl ; 00 58 4d
int08_handler: ; 0xffea5 LB 0xae
mov ax, strict word 00040h ; b8 40 00
mov eax, dword [0006ch] ; 66 a1 6c 00
cmp eax, strict dword 0001800b0h ; 66 3d b0 00 18 00
; xor eax, eax ; 66 33 c0
inc byte [word 00070h] ; fe 06 70 00
mov dword [0006ch], eax ; 66 a3 6c 00
mov AL, byte [00040h] ; a0 40 00
mov byte [00040h], AL ; a2 40 00
mov dx, 003f2h ; ba f2 03
and AL, strict byte 0cfh ; 24 cf
arpl word [si+065h], bp ; 63 6c 65
and byte [bp+04dh], dl ; 20 56 4d
and byte [bp+069h], dl ; 20 56 69
dummy_iret: ; 0xfff53 LB 0x9d
add al, byte [di] ; 02 05
add byte [bx+si], al ; 00 00
add byte [bx+si], al ; 00 00
add byte [bx+si], al ; 00 00
and ax, strict word 00000h ; 25 00 00
add byte [bx+si], dl ; 00 10
add byte [bx+si], al ; 00 00
add byte [di], ah ; 00 25
cpu_reset: ; 0xffff0 LB 0x10
jmp far 0f000h:0e05bh ; ea 5b e0 00 f0
db 030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 0c9h