Everything
9.1.1.1 Registers whose values are guaranteed before and after function calls

Some registers are guaranteed to have the same values before and after a function call, and others are not. The rules for guaranteeing register values are as follows.

(1)

Registers guaranteed to have the same values before and after function call (Callee-Save registers)

None

(2)

Registers not guaranteed to have the same values before and after function call (Caller-Save registers)

ES, CS, AX, BC, DE, HL