Function at 0x60a7c0
Capabilities:
Check for software breakpoints

Disassembly:
lea r12, [rsp - 0x40]
cmp r12, qword [r14 + 0x10]
jbe 0x60b058
push rbp
mov rbp, rsp
sub rsp, 0xb8
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rbx
cmp byte [rax + 0x50], 0
nop
jne 0x60a82c
mov ebx, 0xc8
call sym.net_http._http2responseWriterState_.writeHeader
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xe0]
cmp byte [rax + 0x52], 0
je 0x60a857
call sym.net_http._http2responseWriterState_.promoteUndeclaredTrailers
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xe0]
mov rdx, qword [rax + 8]
cmp qword [rdx + 8], 4
jne 0x60a870
mov rdx, qword [rdx]
cmp dword [rdx], 0x44414548
sete dl
jmp 0x60a872
xor edx, edx
cmp byte [rax + 0x51], 0
jne 0x60ac00
mov byte [rsp + 0x35], dl
mov byte [rax + 0x51], 1
mov rdx, qword [rax + 0x28]
lea rbx, [0x0069fe7f]
mov ecx, 0xe
mov rax, rdx
call sym.net_textproto.MIMEHeader.Get
nop dword [rax]
test rbx, rbx
je 0x60a93c
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rcx + 0x28]
mov qword [rsp + 0x80], rdx
nop
lea rax, [0x0069fe7f]
mov ebx, 0xe
call sym.net_textproto.CanonicalMIMEHeaderKey
mov rcx, rax
mov rdi, rbx
lea rax, [0x0067be80]
mov rbx, qword [rsp + 0x80]
call sym.runtime.mapdelete_faststr
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x50]
mov ecx, 0xa
mov edi, 0x3f
call sym.strconv.ParseUint
test rbx, rbx
je 0x60a91d
xor eax, eax
xor ecx, ecx
jmp 0x60a936
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0x58], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rbx, rax
mov rax, rcx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x98], rax
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x0069fe7f]
mov edi, 0xe
lea rax, [0x0068b1c0]
mov rbx, rsi
call sym.runtime.mapaccess2_faststr
test bl, bl
je 0x60a98e
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x50]
jmp 0x60aa36
mov rdx, qword [rsp + 0x50]
test rdx, rdx
jne 0x60aa26
mov rsi, qword [rsp + 0xc8]
cmp byte [rsi + 0x52], 0
je 0x60aa1c
mov r8, qword [rsi + 0x48]
lea r9, [r8 - 0x64]
cmp r9, 0x63
ja 0x60a9c2
mov rcx, qword [rsp + 0x98]
jmp 0x60aa36
cmp r8, 0xcc
je 0x60a9d4
cmp r8, 0x130
jne 0x60a9de
mov rcx, qword [rsp + 0x98]
jmp 0x60aa36
mov rax, qword [rsp + 0xd8]
test rax, rax
jne 0x60aa02
movzx r8d, byte [rsp + 0x35]
test r8b, r8b
je 0x60aa02
mov rcx, qword [rsp + 0x98]
nop
jmp 0x60aa36
mov ebx, 0xa
call sym.strconv.FormatInt
mov rsi, qword [rsp + 0xc8]
mov rcx, rax
mov rdx, rbx
jmp 0x60aa36
mov rcx, qword [rsp + 0x98]
jmp 0x60aa36
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x98], rcx
mov rbx, qword [rsi + 0x28]
lea rax, [0x0068b1c0]
mov edi, 0xc
lea rcx, [0x0069f2e7]
call sym.runtime.mapaccess2_faststr
mov byte [rsp + 0x36], bl
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rdx + 0x28]
mov ecx, 0x10
lea rbx, [0x006a09bd]
nop dword [rax + rax]
call sym.net_textproto.MIMEHeader.Get
test rbx, rbx
je 0x60aa9b
mov rdx, qword [rsp + 0xc8]
xor eax, eax
xor ecx, ecx
jmp 0x60ab22
movzx edx, byte [rsp + 0x36]
test dl, dl
je 0x60aab2
mov rdx, qword [rsp + 0xc8]
xor eax, eax
xor ecx, ecx
jmp 0x60ab22
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rdx + 0x48]
lea r8, [rsi - 0x64]
cmp r8, 0x63
ja 0x60aace
xor eax, eax
xor ecx, ecx
jmp 0x60ab22
cmp rsi, 0xcc
je 0x60aae9
nop word [rax + rax]
cmp rsi, 0x130
jne 0x60aaef
xor eax, eax
xor ecx, ecx
jmp 0x60ab22
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
jne 0x60ab02
xor eax, eax
xor ecx, ecx
jmp 0x60ab22
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xe0]
call sym.net_http.DetectContentType
mov rdx, qword [rsp + 0xc8]
mov rcx, rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x90], rax
mov rbx, qword [rdx + 0x28]
mov edi, 4
lea rax, [0x0068b1c0]
lea rcx, [0x0069d777]
call sym.runtime.mapaccess2_faststr
test bl, bl
je 0x60ab55
xor eax, eax
xor ebx, ebx
jmp 0x60abbe
call sym.time.Now
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rcx
nop
nop
bt rax, 0x3f
jae 0x60ab98
mov rdx, rax
and eax, 0x3fffffff
shl rdx, 1
shr rdx, 0x1f
movabs r8, 0xdd7b17f80
add rdx, r8
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], 0
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
xor ecx, ecx
lea rdi, [0x006a6b42]
mov esi, 0x1d
call sym.time.Time.Format
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x88], rax
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x0069ddb0]
mov edi, 7
lea rax, [0x0068b1c0]
mov rbx, rsi
call sym.runtime.mapaccess1_faststr
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
jmp 0x60ae49
test dl, dl
jne 0x60ac29
test rcx, rcx
jne 0x60ac1e
cmp byte [rax + 0x52], 0
jne 0x60ac1e
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0xb8
pop rbp
ret
mov rdx, qword [rax + 0x30]
nop
mov r9, qword [rax + 0x38]
jmp 0x60ac6d
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
add rsp, 0xb8
pop rbp
ret
mov rdx, qword [rsp + 0xb0]
add rdx, 0x10
mov r9, qword [rsp + 0x58]
dec r9
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xe0]
mov qword [rsp + 0x58], r9
test r9, r9
jle 0x60acbf
mov qword [rsp + 0xb0], rdx
mov rcx, qword [rdx]
mov rdi, qword [rdx + 8]
mov rbx, qword [rax + 0x20]
lea rax, [0x0068b1c0]
call sym.runtime.mapaccess2_faststr
test bl, bl
je 0x60ac39
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x58]
cmp byte [rax + 0x52], 0
je 0x60acd0
test r9, r9
setle dl
test rcx, rcx
jmp 0x60acd8
test rcx, rcx
mov edx, 0
jne 0x60acde
test dl, dl
je 0x60ad2d
mov r9, qword [rax + 0x10]
mov r10, qword [rax]
mov rsi, rdi
mov r8d, edx
mov rdi, rcx
mov rcx, rbx
mov rbx, r10
mov rax, r9
call sym.net_http._http2serverConn_.writeDataFromHandler
nop dword [rax]
test rax, rax
jne 0x60ad1c
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x58]
jmp 0x60ad2d
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0xb8
pop rbp
ret
cmp byte [rax + 0x52], 0
je 0x60addc
nop word [rax + rax]
test r9, r9
jle 0x60addc
lea rax, [0x0068a660]
call sym.runtime.newobject
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rcx]
mov edx, dword [rdx + 8]
mov dword [rax], edx
mov rdx, qword [rcx + 0x20]
cmp dword [0x00cca9d0], 0
je 0x60ad7a
call sym.runtime.gcWriteBarrier1
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
mov rdx, qword [rcx + 0x38]
mov rsi, qword [rcx + 0x40]
mov rdi, qword [rcx + 0x30]
mov qword [rax + 0x20], rdx
mov qword [rax + 0x28], rsi
cmp dword [0x00cca9d0], 0
je 0x60ada8
nop dword [rax + rax]
call sym.runtime.gcWriteBarrier1
mov qword [r11], rdi
mov qword [rax + 0x18], rdi
mov byte [rax + 0x30], 1
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rcx, rax
mov rax, rdx
nop dword [rax]
call sym.net_http._http2serverConn_.writeHeaders
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0xd8]
add rsp, 0xb8
pop rbp
ret
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
add rsp, 0xb8
pop rbp
ret
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0xb0], rdx
mov rax, qword [rdx]
mov rbx, qword [rdx + 8]
movups xmmword [rsp + 0xa0], xmm15
lea rsi, [sym.net_http._http2responseWriterState_.declareTrailer_fm]
mov qword [rsp + 0xa0], rsi
mov rdi, qword [rsp + 0xc8]
mov qword [rsp + 0xa8], rdi
lea rcx, [rsp + 0xa0]
call sym.net_http.http2foreachHeaderElement
mov rdx, qword [rsp + 0xb0]
add rdx, 0x10
mov rsi, qword [rsp + 0x58]
dec rsi
test rsi, rsi
jg 0x60adec
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rdx + 0x28]
lea rax, [0x0068b1c0]
lea rcx, [0x0069e86d]
mov edi, 0xa
call sym.runtime.mapaccess2_faststr
test bl, bl
je 0x60aef9
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rdx + 0x28]
lea rbx, [0x0069e86d]
mov ecx, 0xa
call sym.net_textproto.MIMEHeader.Get
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rdx + 0x28]
lea rcx, [0x0069e86d]
mov edi, 0xa
lea rax, [0x0068b1c0]
mov rbx, rsi
call sym.runtime.mapdelete_faststr
mov rdx, qword [rsp + 0x38]
cmp rdx, 5
jne 0x60aef9
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], 0x736f6c63
nop
jne 0x60aef9
cmp byte [rcx + 4], 0x65
jne 0x60aef9
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx + 0x10]
call sym.net_http._http2serverConn_.startGracefulShutdown
mov rcx, qword [rsp + 0xc8]
cmp byte [rcx + 0x52], 0
je 0x60af2c
cmp qword [rcx + 0x38], 0
je 0x60af18
mov rdx, qword [rsp + 0xd8]
jmp 0x60af34
mov rdx, qword [rsp + 0xd8]
test rdx, rdx
jne 0x60af34
mov eax, 1
jmp 0x60af39
mov rdx, qword [rsp + 0xd8]
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x37], al
lea rax, [0x0068a660]
call sym.runtime.newobject
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rcx]
mov edx, dword [rdx + 8]
mov dword [rax], edx
mov rdx, qword [rcx + 0x48]
mov qword [rax + 8], rdx
mov rdx, qword [rcx + 0x28]
cmp dword [0x00cca9d0], 0
jne 0x60af88
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
jmp 0x60afb4
call sym.runtime.gcWriteBarrier4
mov qword [r11], rdx
mov rsi, qword [rsp + 0x90]
mov qword [r11 + 8], rsi
mov rdi, qword [rsp + 0x98]
mov qword [r11 + 0x10], rdi
mov r8, qword [rsp + 0x88]
mov qword [r11 + 0x18], r8
mov qword [rax + 0x10], rdx
movzx edx, byte [rsp + 0x37]
mov byte [rax + 0x30], dl
mov r9, qword [rsp + 0x48]
mov qword [rax + 0x50], r9
mov qword [rax + 0x48], rsi
mov rsi, qword [rsp + 0x50]
mov qword [rax + 0x60], rsi
mov qword [rax + 0x58], rdi
mov rsi, qword [rsp + 0x40]
mov qword [rax + 0x40], rsi
mov qword [rax + 0x38], r8
mov rsi, qword [rcx + 0x10]
mov rbx, qword [rcx]
mov rdi, rax
mov rax, rsi
mov rcx, rdi
call sym.net_http._http2serverConn_.writeHeaders
nop dword [rax]
test rax, rax
jne 0x60b047
movzx edx, byte [rsp + 0x37]
test dl, dl
jne 0x60b038
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
movzx edx, byte [rsp + 0x35]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xe0]
jmp 0x60ac00
xor eax, eax
xor ebx, ebx
xor ecx, ecx
add rsp, 0xb8
pop rbp
ret
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0xb8
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp sym.net_http._http2responseWriterState_.writeChunk