Can i know what does this command?

Mid$(Temp, I, 1) = Chr$(Val("&H" & Mid$(HexStr, I * 2 - 1, 2)))

I understand part "Chr$(Val("&H" & Mid$(HexStr, I * 2 - 1, 2)))", but, why it need equal to the "Mid$(Temp, I, 1)"

The complete function as follow:


Function EBCDIC_To_ASCII_Table() As String
EBCDIC_To_ASCII_Table = _
HexToStr("000102039C09867F978D8E0B0C0D0E0F10111213 9D8508871819928F1C1D1E1F") & _
HexToStr("80818283840A171B88898A8B8C05060790911693 9495960498999A9B14159E1A") & _
HexToStr("20A0A1A2A3A4A5A6A7A8D52E3C282B7C26A9AAAB ACADAEAFB0B121242A293B5E") & _
HexToStr("2D2FB2B3B4B5B6B7B8B9E52C255F3E3FBABBBCBD BEBFC0C1C2603A2340273D22") & _
HexToStr("C3616263646566676869C4C5C6C7C8C9CA6A6B6C 6D6E6F707172CBCCCDCECFD0") & _
HexToStr("D17E737475767778797AD2D3D45BD6D7D8D9DADB DCDDDEDFE0E1E2E3E45DE6E7") & _
HexToStr("7B414243444546474849E8E9EAEBECED7D4A4B4C 4D4E4F505152EEEFF0F1F2F3") & _
HexToStr("5C9F535455565758595AF4F5F6F7F8F930313233 343536373839FAFBFCFDFEFF")
End Function


Function HexToStr(ByVal HexStr As String) As String
Dim Temp As String, I As Long
Temp = Space$(Len(HexStr) \ 2)
For I = 1 To Len(HexStr) \ 2
Mid$(Temp, I, 1) = Chr$(Val("&H" & Mid$(HexStr, I * 2 - 1, 2)))
Next I
HexToStr = Temp
End Function