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

Disassembly:
lea r12, [rsp - 0x158]
cmp r12, qword [r14 + 0x10]
jbe 0x5c4552
push rbp
mov rbp, rsp
sub rsp, 0x1d0
mov rdx, qword [rax]
test rdx, rdx
jne 0x5c43fa
mov qword [rsp + 0x1e0], rax
movups xmmword [rsp + 0x68], xmm15
lea rdi, [rsp + 0x70]
lea rdi, [rdi - 0x30]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046c830
mov rbp, qword [rbp]
cmp byte [rax + 0x53], 0
je 0x5c2e18
nop
mov word [rsp + 0x46], 0
mov byte [rsp + 0x47], 5
cmp qword [rsp + 0x68], 0
jne 0x5c2cd8
cmp qword [rsp + 0x98], 0
nop
jne 0x5c453e
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c2c10
lea rax, [0x006951a0]
nop
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c2c69
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c2c69
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c2cd8
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c2cb8
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx r9d, word [rsp + 0x46]
mov word [r8 + rbx], r9w
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
nop
mov word [rsp + 0x44], 0
cmp qword [rsp + 0x68], 0
jne 0x5c2e18
cmp qword [rsp + 0x98], 0
jne 0x5c452b
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c2d44
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c2da3
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop word [rax + rax]
cmp qword [rsp + 0x88], rdx
jge 0x5c2da3
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c2e18
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
nop dword [rax]
cmp rcx, rdx
jae 0x5c2df8
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop dword [rax]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx r9d, word [rsp + 0x44]
mov word [r8 + rbx], r9w
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
cmp byte [rax + 0x54], 0
nop dword [rax]
je 0x5c3098
nop
mov word [rsp + 0x42], 0
mov byte [rsp + 0x43], 0x23
cmp qword [rsp + 0x68], 0
jne 0x5c2f63
cmp qword [rsp + 0x98], 0
jne 0x5c4518
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop word [rax + rax]
cmp rdx, 2
jge 0x5c2e9d
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c2ef6
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c2ef6
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c2f63
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c2f43
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx r9d, word [rsp + 0x42]
mov word [r8 + rbx], r9w
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
nop
mov word [rsp + 0x40], 0
cmp qword [rsp + 0x68], 0
jne 0x5c3098
cmp qword [rsp + 0x98], 0
jne 0x5c4505
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c2fd0
lea rax, [0x006951a0]
nop
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3029
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c3029
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3098
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c3078
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx r9d, word [rsp + 0x40]
mov word [r8 + rbx], r9w
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
cmp byte [rax + 0x55], 0
nop dword [rax]
je 0x5c3224
nop
mov word [rsp + 0x3e], 0
mov word [rsp + 0x3e], 0x1ff
cmp qword [rsp + 0x68], 0
nop dword [rax + rax]
jne 0x5c31e3
cmp qword [rsp + 0x98], 0
jne 0x5c44f1
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c311e
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3177
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c3177
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c31e3
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c31c4
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x3e]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x1c0], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func1]
mov qword [rsp + 0x1c0], rdx
mov qword [rsp + 0x1c8], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x1c0]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp byte [rax + 0x70], 0
je 0x5c3498
nop
mov word [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0x17
cmp qword [rsp + 0x68], 0
jne 0x5c3365
cmp qword [rsp + 0x98], 0
jne 0x5c44de
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c329f
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c32f8
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c32f8
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3365
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c3345
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx r9d, word [rsp + 0x3c]
mov word [r8 + rbx], r9w
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
nop
mov word [rsp + 0x3a], 0
cmp qword [rsp + 0x68], 0
jne 0x5c3498
cmp qword [rsp + 0x98], 0
jne 0x5c44cb
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c33d1
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c342a
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c342a
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3498
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c3478
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx r9d, word [rsp + 0x3a]
mov word [r8 + rbx], r9w
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
cmp qword [rax + 0x80], 0
je 0x5c3623
nop
mov word [rsp + 0x38], 0
mov byte [rsp + 0x39], 0x10
cmp qword [rsp + 0x68], 0
jne 0x5c35e2
cmp qword [rsp + 0x98], 0
jne 0x5c44b8
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop word [rax + rax]
cmp rdx, 2
jge 0x5c351d
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3576
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c3576
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c35e2
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c35c3
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x38]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x1b0], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func2]
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x1b8], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x1b0]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp qword [rax + 0x90], 0
je 0x5c37b8
nop
mov word [rsp + 0x36], 0
mov byte [rsp + 0x37], 0x12
cmp qword [rsp + 0x68], 0
jne 0x5c3777
cmp qword [rsp + 0x98], 0
jne 0x5c44a5
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c36a2
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3703
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop dword [rax + rax]
cmp qword [rsp + 0x88], rdx
jge 0x5c3703
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3777
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
nop dword [rax]
cmp rcx, rdx
jae 0x5c3758
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop dword [rax]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x36]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x1a0], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func3]
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x1a8], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x1a0]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp word [rax + 0xa0], 0
je 0x5c3943
nop
mov word [rsp + 0x34], 0
mov byte [rsp + 0x35], 0x2b
cmp qword [rsp + 0x68], 0
jne 0x5c3902
cmp qword [rsp + 0x98], 0
jne 0x5c4491
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop word [rax + rax]
cmp rdx, 2
jge 0x5c383d
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3896
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c3896
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3902
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c38e3
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x34]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x190], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func4]
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x198], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x190]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp word [rax + 0xa8], 0
je 0x5c3ad8
nop
mov word [rsp + 0x32], 0
mov byte [rsp + 0x33], 0x33
cmp qword [rsp + 0x68], 0
jne 0x5c3a97
cmp qword [rsp + 0x98], 0
jne 0x5c447e
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c39c2
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3a23
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop dword [rax + rax]
cmp qword [rsp + 0x88], rdx
jge 0x5c3a23
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3a97
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
nop dword [rax]
cmp rcx, rdx
jae 0x5c3a78
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop dword [rax]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x32]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x180], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func5]
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x188], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x180]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp byte [rax + 0xc8], 0
nop
je 0x5c3c63
nop
mov word [rsp + 0x30], 0
mov byte [rsp + 0x31], 0x29
cmp qword [rsp + 0x68], 0
jne 0x5c3c22
cmp qword [rsp + 0x98], 0
jne 0x5c446b
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop word [rax + rax]
cmp rdx, 2
jge 0x5c3b5d
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3bb6
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c3bb6
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3c22
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c3c03
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x30]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x170], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func6]
mov qword [rsp + 0x170], rdx
mov qword [rsp + 0x178], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x170]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp qword [rax + 0xf0], 0
je 0x5c3df8
nop
mov word [rsp + 0x2e], 0
mov byte [rsp + 0x2f], 0x2c
cmp qword [rsp + 0x68], 0
jne 0x5c3db7
cmp qword [rsp + 0x98], 0
jne 0x5c4458
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c3ce2
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3d43
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop dword [rax + rax]
cmp qword [rsp + 0x88], rdx
jge 0x5c3d43
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3db7
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
nop dword [rax]
cmp rcx, rdx
jae 0x5c3d98
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop dword [rax]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x2e]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x160], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func7]
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x168], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x160]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp word [rax + 0x100], 0
je 0x5c3f83
nop
mov word [rsp + 0x2c], 0
mov byte [rsp + 0x2d], 0x33
cmp qword [rsp + 0x68], 0
jne 0x5c3f42
cmp qword [rsp + 0x98], 0
jne 0x5c4445
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop word [rax + rax]
cmp rdx, 2
jge 0x5c3e7d
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c3ed6
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp qword [rsp + 0x88], rdx
jge 0x5c3ed6
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c3f42
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x5c3f23
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x2c]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x150], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func8]
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x150]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
cmp qword [rax + 0xd8], 0
je 0x5c4118
nop
mov word [rsp + 0x2a], 0
mov byte [rsp + 0x2b], 0xb
cmp qword [rsp + 0x68], 0
jne 0x5c40d7
cmp qword [rsp + 0x98], 0
jne 0x5c4432
mov rdx, qword [rsp + 0x80]
add rdx, 2
cmp rdx, 2
jge 0x5c4002
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x1b
lea rcx, [0x006da8fc]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
cmp byte [rsp + 0x90], 0
je 0x5c4063
mov rdx, qword [rsp + 0x80]
add rdx, 2
nop dword [rax + rax]
cmp qword [rsp + 0x88], rdx
jge 0x5c4063
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x1e0]
jmp 0x5c40d7
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
lea rdx, [rbx + 2]
mov r8, qword [rsp + 0x78]
nop dword [rax]
cmp rcx, rdx
jae 0x5c40b8
mov qword [rsp + 0x58], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x0067b400]
nop dword [rax]
call sym.runtime.growslice
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0x1e0]
mov rbx, qword [rsp + 0x58]
movzx esi, word [rsp + 0x2a]
mov word [r8 + rbx], si
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x78], r8
movups xmmword [rsp + 0x140], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func9]
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x148], rax
mov ebx, 2
xor ecx, ecx
lea rdi, [rsp + 0x140]
lea rax, [rsp + 0x68]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rax, qword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x68]
nop dword [rax]
test rdx, rdx
je 0x5c4134
mov r8, qword [rsp + 0x70]
xor r11d, r11d
xor ecx, ecx
xor r9d, r9d
jmp 0x5c4175
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xa0]
cmp rdx, rcx
ja 0x5c442a
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x88]
sub r10, rdx
mov r11, r10
neg r10
sar r10, 0x3f
and r10, rdx
sub rcx, rdx
add r9, r10
xor edx, edx
xor r8d, r8d
test rdx, rdx
jne 0x5c43e4
movups xmmword [rsp + 0xc0], xmm15
lea rdi, [rsp + 0xc8]
lea rdi, [rdi - 0x30]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046c830
mov rbp, qword [rbp]
nop
cmp qword [rsp + 0xf0], 0
mov byte [rsp + 0x29], 0
mov byte [rsp + 0x29], 2
jne 0x5c4417
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x60], r9
cmp byte [rsp + 0xe8], 0
je 0x5c424c
mov rdx, qword [rsp + 0xd8]
inc rdx
cmp qword [rsp + 0xe0], rdx
jge 0x5c424c
lea rax, [0x006951a0]
call sym.runtime.newobject
mov qword [rax + 8], 0x36
lea rcx, [0x006e7c94]
mov qword [rax], rcx
lea rcx, [0x00758260]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
jmp 0x5c42d2
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
lea r8, [rbx + 1]
mov r10, qword [rsp + 0xd0]
cmp rdx, r8
jae 0x5c42b1
mov qword [rsp + 0x58], rbx
mov rax, r10
mov rbx, r8
mov rcx, rdx
mov edi, 1
lea rsi, [0x0067b400]
call sym.runtime.growslice
mov r9, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
mov r10, rax
mov rdx, rcx
mov r8, rbx
mov rax, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
movzx esi, byte [rsp + 0x29]
mov byte [r10 + rbx], sil
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xd0], r10
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x120], xmm15
movups xmmword [rsp + 0x130], xmm15
lea rdx, [sym.crypto_tls._serverHelloMsg_.marshal.func10]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], r11
mov qword [rsp + 0x128], r9
mov ebx, 3
xor ecx, ecx
lea rdi, [rsp + 0x118]
lea rax, [rsp + 0xc0]
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x5c4357
mov r8, qword [rsp + 0xc8]
xor ecx, ecx
xor r11d, r11d
xor r9d, r9d
jmp 0x5c439b
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xf8]
cmp rax, rcx
ja 0x5c4412
mov r9, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xe0]
sub r10, rax
mov r11, r10
neg r10
sar r10, 0x3f
and r10, rax
sub rcx, rax
add r9, r10
xor edx, edx
xor r8d, r8d
mov r10, qword [rsp + 0x1e0]
mov qword [r10 + 8], rcx
mov qword [r10 + 0x10], r11
cmp dword [0x0098c4d0], 0
je 0x5c43c9
mov rax, r11
call sym.runtime.gcWriteBarrier2
mov qword [r11], r9
mov r12, qword [r10]
mov qword [r11 + 8], r12
mov r11, rax
mov qword [r10], r9
mov rax, r9
mov rbx, rcx
mov rcx, r11
mov rdi, rdx
mov rsi, r8
add rsp, 0x1d0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, rdx
mov rsi, r8
add rsp, 0x1d0
pop rbp
ret
mov rbx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rax, rdx
xor edi, edi
xor esi, esi
add rsp, 0x1d0
pop rbp
ret
call sym.runtime.panicSliceB
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
mov rax, rdx
call sym.runtime.panicSliceB
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
nop
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
nop
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
lea rax, [0x0067b380]
lea rbx, [0x00757000]
call sym.runtime.gopanic
nop
mov qword [rsp + 8], rax
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
jmp sym.crypto_tls._serverHelloMsg_.marshal