I wanted to comment but it grew up so answering
CONCAT is Concatenation
22 is a suffix that denotes concatenate two bytes with two bytes
it takes two bytes from first location two bytes from second location and produces a 4 byte result
here it is probably making a wide character string
you can see the difference of two bytes in the address too xxa37e,yya37c etc
as commented click on the address or macro to go to the disassembly and look at the construct
here is a big concat
return CONCAT2325(extraout_var,CONCAT124(1,CONCAT816(local_48,CONCAT88(uVar3,local_58)))) &
0xffffffffffffffff;
concat 88 = 8+8 say something RDX+rcx
next is 816 which means 8 + 16 << 16 is from earlier concat
next is 124 which means 1 + 24 << 24 is from earlier concat
next is 2325 which means 23 + 25 << 25 is from earlier concat
and the relevant disassembly for this decompilation
00461277 48 89 84 MOV qword ptr [Stack[0x18] + RSP],RAX
24 80 00
00 00
00461284 48 89 84 MOV qword ptr [Stack[0x20] + RSP],RAX
24 88 00
00 00
0046128c c6 84 24 MOV byte ptr [Stack[0x28] + RSP],0x1
90 00 00
00 01
00461297 0f 11 84 MOVUPS xmmword ptr [Stack[0x30] + RSP],XMM0
24 98 00
00 00
004612a8 c3 RET
********** bufio.(*Reader).ReadLine Exit **********