3FF4 - Collection of small helper functions.

LoadStringDesc. HL points to the 3-byte string descriptor. The first byte is the length of the string which ends up in D; the second and third points are a pointer to the string which ends up in BC. HL ends up pointing one byte past the descriptor.
LoadStringDesc:3FF4LD D,(HL)
3FF5INC HL
3FF6LD C,(HL)
3FF7INC HL
3FF8LD B,(HL)
3FF9INC HL
3FFARET
Copy four bytes from 0xB14 to HL.
3FFBLD DE,0B14
3FFELD B,04
4000JP 4008
Copy (0A8D) bytes of memory from HL to DE.
4003EX DE,HLSimply exchange DE with HL.
Copy (0A8D) bytes of memory from DE to HL.
4004LD A,(0A8D)
4007LD B,A
4008LD A,(DE)
4009LD (HL),A
400AINC DE
400BINC HL
400CDEC B
400DJP NZ,4008
4010RET
Whoah! Not sure about this...
4011LD HL,0B16
4014LD A,(HL)
4015RLCA
4016SCF
4017RRA
4018LD (HL),A
4019CCF
401ARRA
401BINC HL
401CINC HL
401DLD (HL),A
401ELD A,C
401FRLCA
4020SCF
4021RRA
4022LD C,A
4023RRA
4024XOR (HL)
4025RET
Copy from 0B1A to (0B10 or 0B14).
4026LD HL,0B1A
4029LD DE,4003
402CJP 4035
Copy from (0B10 or 0B14) to 0B1A.
402FLD HL,0B1A
4032LD DE,4004
4035PUSH DE
4036LD DE,0B14
4039RST 30H
403ARET C
403BLD DE,0B10
403ERET
Dunno.
403FLD A,B
4040OR A
4041JP Z,0028
4044LD HL,3F8D
4047PUSH HL
4048RST 28H
4049LD A,C
404ARET Z
404BLD HL,0B16
404EXOR (HL)
404FLD A,C
4050RET M
4051CALL 4057
4054RRA
4055XOR C
4056RET
4057INC HL
4058LD A,B
4059CP (HL)
405ARET NZ
405BDEC HL
405CLD A,C
405DCP (HL)
405ERET NZ
405FDEC HL
4060LD A,D
4061CP (HL)
4062RET NZ
4063DEC HL
4064LD A,E