# OA3

| Field  | Value |
|--------|-------|
| Index  | 293 |
| Module | OA3 |
| Size   | 7008 bytes (0x1B60) |
| Phase  | DXE |

OA3 (Microsoft OA 3.0) authentication driver for the Lenovo HR650X BIOS. This module implements Microsoft's OEM Activation 3.0 mechanism, which enables system-specific Windows product key injection and validation during manufacturing. It provides memory copy/compare utilities and CPU control primitives (pause, TSC read, interrupt enable/disable) as building blocks for the OA3 protocol flow.

## Key Functions

- **ModuleEntryPoint** -- Standard UEFI entry point
- **InternalMemCopyMem** -- Overlap-safe memory copy (qmemcpy-based)
- **InternalCompareMem** -- Byte-by-byte memory comparison
- **CpuPause** -- Spin-wait halt via _mm_pause
- **ReadTsc** -- Read timestamp counter via __rdtsc
- **CpuEnableInterrupts** / **CpuDisableInterrupts** -- Interrupt flag manipulation

## Dependencies

- Base libraries (implicit via Uefi.h)

## Platform

x86-64 PE32+ (UEFI DXE driver), Lenovo HR650X (Purley/Intel grantley-EP), AMI ModulePkg