Here's the code with a more classic indentation (also attached):
; Program that shows general purpose registers values.
option casemap:none
include /masm32/include64/win64.inc
include /masm32/include64/kernel32.inc
includelib /masm32/lib64/kernel32.lib
.data
rax_reg byte "RAX: ", 16 dup(0h),0dh,0ah
rbx_reg byte "RBX: ", 16 dup(0h),0dh,0ah
rcx_reg byte "RCX: ", 16 dup(0h),0dh,0ah
rdx_reg byte "RDX: ", 16 dup(0h),0dh,0ah
rsi_reg byte "RSI: ", 16 dup(0h),0dh,0ah
rdi_reg byte "RDI: ", 16 dup(0h),0dh,0ah
rbp_reg byte "RBP: ", 16 dup(0h),0dh,0ah
rsp_reg byte "RSP: ", 16 dup(0h),0dh,0ah
r8_reg byte "R8: ", 16 dup(0h),0dh,0ah
r9_reg byte "R9: ", 16 dup(0h),0dh,0ah
r10_reg byte "R10: ", 16 dup(0h),0dh,0ah
r11_reg byte "R11: ", 16 dup(0h),0dh,0ah
r12_reg byte "R12: ", 16 dup(0h),0dh,0ah
r13_reg byte "R13: ", 16 dup(0h),0dh,0ah
r14_reg byte "R14: ", 16 dup(0h),0dh,0ah
r15_reg byte "R15: ", 16 dup(0h)
con_title byte "GENERAL PURPOSE REGISTERS VALUES",0h
info_text byte "This are the values of the general purpose registers",0ah,0dh, "before the execution of the first instruction of this program.",0ah,0dh, \
"Press RETURN to exit the program...",0dh,0ah,0dh,0ah
input_buff qword 0h
chars_written qword 0h
chars_readed qword 0h
.code
start proc
push rsp
push rcx
push rdx
push r8
push r9
sub rsp,30h
mov rcx,rax
lea rdx,rax_reg
mov r8,sizeof rax_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rax.
mov rcx,rbx
lea rdx,rbx_reg
mov r8,sizeof rbx_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rbx.
mov rcx,rsi
lea rdx,rsi_reg
mov r8,sizeof rsi_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rsi.
mov rcx,rdi
lea rdx,rdi_reg
mov r8,sizeof rdi_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rdi.
mov rcx,r15
lea rdx,r15_reg
mov r8,sizeof r15_reg
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r15.
mov rcx,r14
lea rdx,r14_reg
mov r8,sizeof r14_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r14.
mov rcx,r13
lea rdx,r13_reg
mov r8,sizeof r13_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r13.
mov rcx,r12
lea rdx,r12_reg
mov r8,sizeof r12_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r12.
mov rcx,r11
lea rdx,r11_reg
mov r8,sizeof r11_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r11.
mov rcx,r10
lea rdx,r10_reg
mov r8,sizeof r10_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r10.
mov rcx,rbp
lea rdx,rbp_reg
mov r8,sizeof rbp_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rbp.
mov rcx,[rsp+30h]
lea rdx,r9_reg
mov r8,sizeof r9_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r9.
mov rcx,[rsp+38h]
lea rdx,r8_reg
mov r8,sizeof r8_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of r8.
mov rcx,[rsp+40h]
lea rdx,rdx_reg
mov r8,sizeof rdx_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rdx.
mov rcx,[rsp+48h]
lea rdx,rcx_reg
mov r8,sizeof rcx_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rcx.
mov rcx,[rsp+50h]
lea rdx,rsp_reg
mov r8,sizeof rsp_reg
sub r8,2 ; Discard 0dh and 0ah.
mov r9,16 ; 16 nibbles.
call reg_value ; Get value of rsp.
call FreeConsole ; Detach process of inherited console
call AllocConsole ; and create a new one.
lea rcx,con_title
call SetConsoleTitle
mov rcx,STD_OUTPUT_HANDLE
call GetStdHandle
mov r15,rax ; Output handle.
mov rcx,r15
lea rdx,info_text
mov r8,sizeof info_text
lea r9,chars_written
mov qword ptr[rsp+20h],NULL
call WriteConsole
mov rcx,r15 ; Output handle.
lea rdx,rax_reg
mov r8,sizeof rax_reg
add r8,sizeof rbx_reg
add r8,sizeof rsi_reg
add r8,sizeof rdi_reg
add r8,sizeof rcx_reg
add r8,sizeof rdx_reg
add r8,sizeof rsp_reg
add r8,sizeof rbp_reg
add r8,sizeof r8_reg
add r8,sizeof r9_reg
add r8,sizeof r10_reg
add r8,sizeof r11_reg
add r8,sizeof r12_reg
add r8,sizeof r13_reg
add r8,sizeof r14_reg
add r8,sizeof r15_reg
lea r9,chars_written
mov qword ptr[rsp+20h],NULL
call WriteConsole
mov rcx,STD_INPUT_HANDLE
call GetStdHandle
mov r15,rax ; Input handle.
mov rcx,r15
mov rdx,ENABLE_LINE_INPUT
call SetConsoleMode
mov rcx,r15
lea rdx,input_buff
mov r8,1 ; Read just the character CR.
lea r9,chars_readed
mov qword ptr[rsp+20h],NULL
call ReadConsole
xor rcx,rcx
call ExitProcess
start endp
reg_value proc
push rbp
mov rbp,rsp
next_nibble:
mov rsp,rcx
and rcx,0fh ; Isolate lsb.
cmp rcx,09h
ja can_be_a
or rcx,30h ; To ascii.
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
can_be_a:
cmp rcx,0ah
jne can_be_b
mov rcx,'A'
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
can_be_b:
cmp rcx,0bh
jne can_be_c
mov rcx,'B'
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
can_be_c:
cmp rcx,0ch
jne can_be_d
mov rcx,'C'
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
can_be_d:
cmp rcx,0dh
jne can_be_e
mov rcx,'D'
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
can_be_e:
cmp rcx,0eh
jne is_f
mov rcx,'E'
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
is_f:
mov rcx,'F'
dec r8
mov [rdx+r8],cl
dec r9
and r9,r9
jz all_done
mov rcx,rsp
shr rcx,4
jmp next_nibble
all_done:
mov rsp,rbp
pop rbp
ret
reg_value endp
end