# HiiInfoEmbedded

| Index | Module | Size | Phase |
|-------|--------|------|-------|
| 0252  | HiiInfoEmbedded | 54,208 bytes | DXE (UEFI Shell Application) |

HiiInfoEmbedded extracts Human Interface Infrastructure (HII) embedded information from the BIOS image and serializes it into a compact compressed binary format suitable for embedding into the BIOS ROM hole space. It includes a complete DEFLATE (LZ77 + Huffman coding) compression implementation. The module interfaces with the HII Database Protocol and HII String Protocol to enumerate and export all HII package lists and formset data.

## Key Functions

- **_ModuleEntryPoint** -- UEFI application entry point; initializes HII protocol bindings
- **ModuleDestructor** -- Cleanup and protocol uninstall on module unload
- **sub_2FC0** -- DEFLATE compression engine (LZ77 matching + Huffman coding)
- **sub_3A60** -- HII package list enumeration and extraction
- **sub_2C60** -- Output buffer management and serialization
- **UefiBootServicesTableLib_Constructor** -- Boot services table library initialization

## Dependencies

- UEFI Boot Services (`gBS`)
- UEFI Runtime Services (`gRT`)
- HII Database Protocol (`gHiiDatabase`)
- HII String Protocol (`gHiiString`)
- UEFI Shell Protocol (`gShellProtocol`)
- UEFI Shell Parameters Protocol (`gShellParams`)
- HII Package List Protocol
- DebugLib, MemoryAllocationLib, BaseMemoryLib, PrintLib, DevicePathLib

## Platform

- **Format:** PE32+
- **Machine:** x86-64
- **Subsystem:** EFI Application (0x0A)
- **Sections:** .text, .rdata, .data, section_3, .xdata, .reloc
- **Functions:** 99