Function at 0x628320
Capabilities:
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0xf8]
cmp r12, qword [r14 + 0x10]
jbe 0x628dea
push rbp
mov rbp, rsp
sub rsp, 0x170
movq qword [rsp + 0x168], xmm15
mov byte [rsp + 0x47], 0
movups xmmword [rsp + 0x70], xmm15
cmp byte [rax + 0xb0], 0
jne 0x628365
cmp qword [rax + 0xc0], 0
jge 0x628386
mov rax, qword [0x008f5610]
mov rbx, qword [0x008f5618]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
add rsp, 0x170
pop rbp
ret
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rbx
mov rax, rbx
call sym.net_http._persistConn_.isBroken
nop
test al, al
jne 0x62857a
mov rax, qword [rsp + 0x188]
call sym.net_http._persistConn_.markReused
nop
xor eax, eax
mov rcx, qword [rsp + 0x180]
mov edx, 1
lock cmpxchg dword [rcx], edx
sete dl
test dl, dl
jne 0x6283e0
mov rax, rcx
call sym.sync._Mutex_.lockSlow
mov rcx, qword [rsp + 0x180]
movups xmmword [rsp + 0x110], xmm15
lea rsi, [sym.net_http._Transport_.tryPutIdleConn.deferwrap1]
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], rcx
lea rsi, [rsp + 0x110]
mov qword [rsp + 0x168], rsi
mov byte [rsp + 0x47], 1
mov rsi, qword [rsp + 0x188]
cmp qword [rsi], 0
jne 0x628427
xor edx, edx
jmp 0x628451
mov rbx, qword [rcx + 0x28]
lea rax, [0x0068a240]
mov rcx, rsi
call sym.runtime.mapaccess1_fast64
cmp qword [rax], 0
setne dl
mov rcx, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x188]
test dl, dl
jne 0x62854f
mov rdx, qword [rsi + 0x18]
mov qword [rsp + 0xb8], rdx
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsi + 0x30]
movups xmmword [rsp + 0xd0], xmm0
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rsp + 0xe0], xmm0
movups xmmword [rsp + 0x130], xmm15
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
movups xmmword [rsp + 0x158], xmm15
mov rbx, qword [rcx + 0x18]
lea rax, [0x0068a1e0]
lea rcx, [rsp + 0xb8]
call sym.runtime.mapaccess2
mov rdx, qword [rax]
mov qword [rsp + 0x130], rdx
movups xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0x138], xmm0
movups xmm0, xmmword [rax + 0x18]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rax + 0x28]
movups xmmword [rsp + 0x158], xmm0
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0x80], rdx
movups xmm0, xmmword [rsp + 0x138]
movups xmmword [rsp + 0x88], xmm0
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rsp + 0x98], xmm0
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rsp + 0xa8], xmm0
test bl, bl
je 0x62859b
mov rbx, qword [rsp + 0x188]
cmp qword [rbx], 0
jne 0x628cde
jmp 0x628aad
movups xmmword [rsp + 0x70], xmm15
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
add rsp, 0x170
pop rbp
ret
mov rax, qword [0x008f5620]
mov rbx, qword [0x008f5628]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
add rsp, 0x170
pop rbp
ret
mov rsi, qword [rsp + 0x180]
cmp byte [rsi + 8], 0
jne 0x62868b
cmp qword [rsi + 0x10], 0
jne 0x6285eb
call sym.runtime.makemap_small
cmp dword [0x0098c4d0], 0
jne 0x6285cc
mov rdx, qword [rsp + 0x180]
jmp 0x6285e4
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rdx, qword [rsp + 0x180]
mov rsi, qword [rdx + 0x10]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x10], rax
mov rsi, rdx
mov rbx, qword [rsi + 0x10]
lea rax, [0x0068a180]
lea rcx, [rsp + 0xb8]
nop
call sym.runtime.mapaccess1
mov rbx, qword [rax + 8]
mov rdx, qword [rsp + 0x180]
mov rsi, qword [rdx + 0xc0]
mov rcx, qword [rax + 0x10]
test rsi, rsi
mov edi, 2
cmovne rdi, rsi
cmp rbx, rdi
jge 0x62864e
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rbx
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
mov r8, qword [rsp + 0x188]
xor esi, esi
jmp 0x6286cb
mov rax, qword [0x008f5650]
mov rcx, qword [0x008f5658]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
mov rax, qword [0x008f5630]
mov rcx, qword [0x008f5638]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
inc rsi
cmp rsi, rbx
jge 0x628748
mov r9, qword [rax + rsi*8]
cmp r9, r8
jne 0x6286c8
mov qword [rsp + 0x68], rsi
movups xmmword [rsp + 0x120], xmm15
lea rdx, [0x006c1d60]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], r8
lea rax, [0x006dbd1e]
mov ebx, 0x1d
lea rcx, [rsp + 0x120]
mov edi, 1
mov rsi, rdi
call sym.log.Fatalf
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x188]
jmp 0x6286c8
inc rbx
cmp rcx, rbx
jae 0x628775
mov edi, 1
lea rsi, [0x006c1d60]
nop dword [rax]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
mov qword [rsp + 0x68], rcx
cmp dword [0x0098c4d0], 0
je 0x628794
call sym.runtime.gcWriteBarrier2
mov qword [r11], r8
mov rsi, qword [rax + rbx*8 - 8]
mov qword [r11 + 8], rsi
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x60], rbx
mov qword [rax + rbx*8 - 8], r8
mov rsi, qword [rdx + 0x10]
lea rcx, [rsp + 0xb8]
lea rax, [0x0068a180]
mov rbx, rsi
nop dword [rax]
call sym.runtime.mapassign
mov rdx, qword [rsp + 0x60]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 0x10], rdx
cmp dword [0x0098c4d0], 0
nop
jne 0x6287ec
mov rcx, qword [rsp + 0x108]
jmp 0x628803
call sym.runtime.gcWriteBarrier2
mov rcx, qword [rsp + 0x108]
mov qword [r11], rcx
mov rdx, qword [rax]
mov qword [r11 + 8], rdx
mov qword [rax], rcx
mov rax, qword [rsp + 0x180]
lea rcx, [rax + 0x20]
mov rbx, qword [rsp + 0x188]
mov rax, rcx
nop dword [rax]
call sym.net_http._connLRU_.add
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rcx + 0xb8]
test rdx, rdx
je 0x628957
mov rsi, qword [rcx + 0x28]
test rsi, rsi
je 0x62884b
mov rsi, qword [rsi]
jmp 0x62884d
xor esi, esi
cmp rsi, rdx
jle 0x628957
mov rdx, qword [rcx + 0x20]
nop
cmp qword [rdx + 0x28], 0
jne 0x628866
xor esi, esi
jmp 0x62886a
mov rsi, qword [rdx + 8]
mov rax, qword [rsi + 0x18]
mov rdi, qword [rsi + 0x20]
lea rbx, [0x006c1d60]
nop dword [rax]
cmp rax, rbx
jne 0x628a98
nop
cmp qword [rsi + 0x10], rdx
jne 0x628904
mov r8, qword [rsi + 8]
test byte [r8], al
nop
mov r9, qword [rsi]
cmp dword [0x0098c4d0], 0
je 0x6288b3
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r10, qword [r8]
mov qword [r11 + 8], r10
mov qword [r8], r9
mov r8, qword [rsi]
test byte [r8], al
mov r9, qword [rsi + 8]
cmp dword [0x0098c4d0], 0
je 0x6288f0
call sym.runtime.gcWriteBarrier5
mov qword [r11], r9
mov r10, qword [r8 + 8]
mov qword [r11 + 8], r10
mov r10, qword [rsi]
mov qword [r11 + 0x10], r10
mov r10, qword [rsi + 8]
mov qword [r11 + 0x18], r10
mov r10, qword [rsi + 0x10]
mov qword [r11 + 0x20], r10
mov qword [r8 + 8], r9
movups xmmword [rsi], xmm15
mov qword [rsi + 0x10], 0
dec qword [rdx + 0x28]
mov qword [rsp + 0x100], rdi
mov rbx, qword [rcx + 0x28]
lea rax, [0x0068a240]
mov rcx, rdi
call sym.runtime.mapdelete_fast64
mov rbx, qword [0x008f5640]
mov rcx, qword [0x008f5648]
mov rax, qword [rsp + 0x100]
call sym.net_http._persistConn_.close
mov rax, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x100]
call sym.net_http._Transport_.removeIdleConnLocked
mov rcx, qword [rsp + 0x180]
mov rbx, qword [rcx + 0xd0]
nop
test rbx, rbx
jle 0x628a27
mov rdx, qword [rsp + 0x188]
cmp qword [rdx], 0
jne 0x628a2f
mov rax, qword [rdx + 0xd0]
test rax, rax
je 0x628999
call sym.time._Timer_.Reset
mov rcx, qword [rsp + 0x188]
jmp 0x628a2f
lea rax, [0x00697da0]
call sym.runtime.newobject
lea rcx, [sym.net_http._persistConn_.closeConnIfStillIdle_fm]
mov qword [rax], rcx
cmp dword [0x0098c4d0], 0
jne 0x6289c2
mov rcx, qword [rsp + 0x188]
jmp 0x6289d2
call sym.runtime.gcWriteBarrier1
mov rcx, qword [rsp + 0x188]
mov qword [r11], rcx
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x180]
mov rdx, qword [rdx + 0xd0]
mov rbx, rax
mov rax, rdx
call sym.time.AfterFunc
cmp dword [0x0098c4d0], 0
jne 0x628a03
mov rcx, qword [rsp + 0x188]
jmp 0x628a1e
call sym.runtime.gcWriteBarrier2
mov qword [r11], rax
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rcx + 0xd0]
mov qword [r11 + 8], rdx
mov qword [rcx + 0xd0], rax
jmp 0x628a2f
mov rdx, qword [rsp + 0x188]
call sym.time.Now
mov rdx, qword [rsp + 0x188]
mov qword [rdx + 0xb8], rax
mov qword [rdx + 0xc0], rbx
cmp dword [0x0098c4d0], 0
je 0x628a66
call sym.runtime.gcWriteBarrier2
mov qword [r11], rcx
mov rax, qword [rdx + 0xc8]
mov qword [r11 + 8], rax
mov qword [rdx + 0xc8], rcx
movups xmmword [rsp + 0x70], xmm15
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
lea rcx, [0x00684e00]
nop
call sym.runtime.panicdottypeE
mov rbx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
mov r8, rdx
sub rdx, rsi
mov r9, qword [rsp + 0xa8]
add rdx, r9
test rdx, rdx
jle 0x628bc2
mov qword [rsp + 0x48], rdx
nop dword [rax]
cmp r8, rsi
jg 0x628b52
test r9, r9
jne 0x628af2
xor r8d, r8d
jmp 0x628b9e
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x90]
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xa0], rsi
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
cmp rcx, rax
jbe 0x628cc5
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsi + rax*8]
cmp dword [0x0098c4d0], 0
nop
je 0x628b8e
mov r9, qword [rsi + rax*8]
call sym.runtime.gcWriteBarrier1
mov qword [r11], r9
mov qword [rsi + rax*8], 0
inc qword [rsp + 0x98]
mov rax, r8
xor ecx, ecx
xor edi, edi
call sym.net_http._wantConn_.tryDeliver
test al, al
je 0x628aa5
mov rdx, qword [rsp + 0x48]
test rdx, rdx
mov rbx, qword [rsp + 0x188]
setg dl
mov byte [rsp + 0x46], dl
mov rsi, qword [rsp + 0x88]
sub rsi, qword [rsp + 0x98]
add rsi, qword [rsp + 0xa8]
test rsi, rsi
jne 0x628c0b
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rdx + 0x18]
lea rax, [0x0068a1e0]
lea rcx, [rsp + 0xb8]
call sym.runtime.mapdelete
jmp 0x628c8c
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rdx + 0x18]
lea rax, [0x0068a1e0]
lea rcx, [rsp + 0xb8]
call sym.runtime.mapassign
test byte [rax], al
cmp dword [0x0098c4d0], 0
je 0x628c5d
mov qword [rsp + 0xf8], rax
mov rbx, rax
lea rcx, [rsp + 0x80]
lea rax, [0x006a5800]
call sym.runtime.wbMove
mov rax, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x80]
mov qword [rax], rsi
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rsp + 0xa8]
movups xmmword [rax + 0x28], xmm0
movzx esi, byte [rsp + 0x46]
test sil, sil
je 0x62859b
movups xmmword [rsp + 0x70], xmm15
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
add rsp, 0x170
pop rbp
ret
call sym.runtime.panicIndex
mov rax, rsi
xor ecx, ecx
xor edi, edi
call sym.net_http._wantConn_.tryDeliver
mov rbx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
mov r8, rdx
sub rdx, rsi
mov r9, qword [rsp + 0xa8]
add rdx, r9
nop
test rdx, rdx
jle 0x628dc5
cmp r8, rsi
jg 0x628d77
test r9, r9
jne 0x628d17
xor esi, esi
jmp 0x628cca
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xb0]
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xa0], rdx
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x98]
cmp rax, rcx
jae 0x628dcc
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rdx + rax*8]
cmp dword [0x0098c4d0], 0
nop
je 0x628dae
mov r8, qword [rdx + rax*8]
call sym.runtime.gcWriteBarrier1
mov qword [r11], r8
mov qword [rdx + rax*8], 0
inc qword [rsp + 0x98]
nop
jmp 0x628cca
xor edx, edx
jmp 0x628bc5
call sym.runtime.panicIndex
nop
call sym.runtime.deferreturn
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp sym.net_http._Transport_.tryPutIdleConn