Function at 0x616160
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x94]
cmp eax, dword [ecx + 8]
jbe 0x6170e5
sub esp, 0x114
lea edi, [esp + 0x84]
xor eax, eax
call fcn.0046f015
mov ecx, dword [esp + 0x118]
movzx edx, word [ecx + 0xe]
rol dx, 8
mov word [esp + 0x22], 0
mov word [esp + 0x22], dx
mov edx, dword [esp + 0x84]
test edx, edx
jne 0x6162f0
mov edx, dword [esp + 0x9c]
test edx, edx
jne 0x6170cc
mov edx, dword [esp + 0x90]
add edx, 2
cmp edx, 2
jge 0x616215
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
movzx edx, byte [esp + 0x98]
test dl, dl
je 0x616277
mov edx, dword [esp + 0x90]
add edx, 2
lea ebx, [esp + 0x84]
cmp dword [ebx + 0x10], edx
jge 0x616277
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
jmp 0x6162f0
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x8c]
cmp edx, ebp
jae 0x6162d2
mov dword [esp + 0x3c], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x3c]
movzx edi, word [esp + 0x22]
mov word [esi + ebx], di
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x8c], esi
movzx edx, byte [ecx + 0x10]
test dl, dl
je 0x616451
nop
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2b], 2
mov edx, dword [esp + 0x84]
test edx, edx
jne 0x61659e
mov edx, dword [esp + 0x9c]
test edx, edx
jne 0x6170b4
mov edx, dword [esp + 0x90]
inc edx
test edx, edx
jg 0x61636f
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
movzx edx, byte [esp + 0x98]
test dl, dl
je 0x6163d2
mov edx, dword [esp + 0x90]
inc edx
lea ebx, [esp + 0x84]
cmp dword [ebx + 0x10], edx
jge 0x6163d2
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
jmp 0x61659e
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x8c]
cmp edx, ebp
jae 0x61642d
mov dword [esp + 0x3c], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x3c]
movzx edi, byte [esp + 0x2b]
xchg edi, eax
mov byte [esi + ebx], al
xchg edi, eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x8c], esi
jmp 0x61659e
nop
mov byte [esp + 0x2a], 0
mov byte [esp + 0x2a], 1
mov edx, dword [esp + 0x84]
test edx, edx
jne 0x61659e
mov edx, dword [esp + 0x9c]
test edx, edx
jne 0x61709c
mov edx, dword [esp + 0x90]
inc edx
test edx, edx
jg 0x6164c4
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
movzx edx, byte [esp + 0x98]
test dl, dl
je 0x616524
mov edx, dword [esp + 0x90]
inc edx
lea ebx, [esp + 0x84]
cmp dword [ebx + 0x10], edx
jge 0x616524
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
jmp 0x61659e
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x8c]
cmp edx, ebp
jae 0x61657f
mov dword [esp + 0x3c], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x3c]
movzx edi, byte [esp + 0x2a]
xchg edi, eax
mov byte [esi + ebx], al
xchg edi, eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x8c], esi
movzx edx, word [ecx + 0x12]
rol dx, 8
mov word [esp + 0x28], 0
mov word [esp + 0x28], dx
mov edx, dword [esp + 0x84]
test edx, edx
jne 0x6166f6
mov edx, dword [esp + 0x9c]
test edx, edx
jne 0x617084
mov edx, dword [esp + 0x90]
add edx, 2
cmp edx, 2
jge 0x61661d
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
xor eax, eax
mov ecx, dword [esp + 0x118]
movzx edx, byte [esp + 0x98]
test dl, dl
je 0x61667d
mov edx, dword [esp + 0x90]
add edx, 2
lea ebx, [esp + 0x84]
cmp dword [ebx + 0x10], edx
jge 0x61667d
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x118]
jmp 0x6166f6
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x90]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x8c]
cmp edx, ebp
jae 0x6166d8
mov dword [esp + 0x3c], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x3c]
movzx edi, word [esp + 0x28]
mov word [esi + ebx], di
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], edx
mov dword [esp + 0x8c], esi
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
lea ebx, [esp + 0x84]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.crypto_tls.addUint64
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
lea eax, [sym.crypto_tls._SessionState_.Bytes.func1]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x110], eax
lea ecx, [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], 1
mov byte [esp + 8], 0
lea ecx, [esp + 0x10c]
mov dword [esp + 0xc], ecx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea eax, [sym.crypto_tls._SessionState_.Bytes.func2]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x108], eax
lea ecx, [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], 3
mov byte [esp + 8], 0
lea ecx, [esp + 0x104]
mov dword [esp + 0xc], ecx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov eax, dword [esp + 0x118]
movzx ecx, byte [eax + 0x28]
test cl, cl
je 0x616926
nop
mov byte [esp + 0x27], 0
mov byte [esp + 0x27], 1
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x616a6e
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x61706c
mov ecx, dword [esp + 0x90]
inc ecx
test ecx, ecx
jg 0x616847
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
movzx ecx, byte [esp + 0x98]
test cl, cl
je 0x6168a8
mov ecx, dword [esp + 0x90]
inc ecx
lea edx, [esp + 0x84]
cmp dword [edx + 0x10], ecx
jge 0x6168a8
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
jmp 0x616a6e
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x8c]
cmp ecx, ebx
jae 0x616901
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x3c]
movzx esi, byte [esp + 0x27]
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x8c], ebp
jmp 0x616a6e
nop
mov byte [esp + 0x26], 0
mov byte [esp + 0x26], 0
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x616a6e
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x617054
mov ecx, dword [esp + 0x90]
inc ecx
test ecx, ecx
jg 0x616997
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
movzx ecx, byte [esp + 0x98]
test cl, cl
je 0x6169f5
mov ecx, dword [esp + 0x90]
inc ecx
lea edx, [esp + 0x84]
cmp dword [edx + 0x10], ecx
jge 0x6169f5
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea edx, [0x6f6df8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
jmp 0x616a6e
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x8c]
cmp ecx, ebx
jae 0x616a4e
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x3c]
movzx esi, byte [esp + 0x26]
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x8c], ebp
movzx ecx, byte [eax + 0xc]
test cl, cl
je 0x616bca
nop
mov byte [esp + 0x25], 0
mov byte [esp + 0x25], 1
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x616d12
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x61703c
mov ecx, dword [esp + 0x90]
inc ecx
test ecx, ecx
jg 0x616aeb
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea ecx, [0x6f6df8]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
movzx ecx, byte [esp + 0x98]
test cl, cl
je 0x616b4c
mov ecx, dword [esp + 0x90]
inc ecx
lea edx, [esp + 0x84]
cmp dword [edx + 0x10], ecx
jge 0x616b4c
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea ecx, [0x6f6df8]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
jmp 0x616d12
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x8c]
cmp ecx, ebx
jae 0x616ba5
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x3c]
movzx esi, byte [esp + 0x25]
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x8c], ebp
jmp 0x616d12
nop
mov byte [esp + 0x24], 0
mov byte [esp + 0x24], 0
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x616d12
mov ecx, dword [esp + 0x9c]
test ecx, ecx
jne 0x617024
mov ecx, dword [esp + 0x90]
inc ecx
test ecx, ecx
jg 0x616c3b
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1b
lea ecx, [0x69a60d]
mov dword [eax], ecx
lea ecx, [0x6f6df8]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
movzx ecx, byte [esp + 0x98]
test cl, cl
je 0x616c99
mov ecx, dword [esp + 0x90]
inc ecx
lea edx, [esp + 0x84]
cmp dword [edx + 0x10], ecx
jge 0x616c99
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x36
lea ecx, [0x6a3f48]
mov dword [eax], ecx
lea ecx, [0x6f6df8]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x118]
jmp 0x616d12
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x8c]
cmp ecx, ebx
jae 0x616cf2
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x660420]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x3c]
movzx esi, byte [esp + 0x24]
xchg esi, eax
mov byte [ebp + edx], al
xchg esi, eax
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x8c], ebp
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x44], edx
lea ebx, [0x6593c0]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ebx, edx
xor ebp, ebp
xor esi, esi
jmp 0x616d5f
mov dword [eax + edx*4 - 0xc], ecx
inc ebp
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
cmp ebp, ebx
jge 0x616dfb
mov edi, dword [ecx + ebp*4]
inc esi
mov ecx, dword [edi]
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
cmp edx, esi
jae 0x616dcb
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0xb0], ecx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6593c0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x2c], edx
lea edx, [esi + esi*2]
mov dword [eax + edx*4 - 8], ebx
mov dword [eax + edx*4 - 4], edi
mov ebx, dword [0x899508]
test ebx, ebx
je 0x616d4e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [eax + edx*4 - 0xc]
mov dword [edi + 4], ebx
jmp 0x616d4e
mov dword [esp + 0x40], eax
lea edi, [esp + 0x48]
xor eax, eax
call fcn.0046f011
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0x118]
mov edx, dword [ecx + 0x44]
mov ebx, dword [ecx + 0x48]
mov ebp, dword [ecx + 0x4c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebp
mov edx, dword [ecx + 0x50]
mov ebx, dword [ecx + 0x54]
mov ebp, dword [ecx + 0x58]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
lea edi, [esp + 0xc4]
call fcn.0046f010
lea ecx, [sym.crypto_tls._SessionState_.Bytes.marshalCertificate.func5]
mov dword [esp + 0xc4], ecx
lea edi, [esp + 0xc8]
lea esi, [esp + 0x48]
call fcn.0046f49a
lea ecx, [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], 3
mov byte [esp + 8], 0
lea ecx, [esp + 0xc4]
mov dword [esp + 0xc], ecx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [sym.crypto_tls._SessionState_.Bytes.func3]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xc0], ecx
lea edx, [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], 3
mov byte [esp + 8], 0
lea edx, [esp + 0xbc]
mov dword [esp + 0xc], edx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov ecx, dword [esp + 0x118]
movzx edx, byte [ecx + 0xc]
test dl, dl
je 0x616f5a
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
lea eax, [sym.crypto_tls._SessionState_.Bytes.func4]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
lea eax, [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], 1
mov byte [esp + 8], 0
lea eax, [esp + 0xb4]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov ecx, dword [esp + 0x118]
movzx edx, byte [ecx + 0x10]
test dl, dl
je 0x616fa4
cmp word [ecx + 0xe], 0x304
jb 0x616fa4
mov eax, dword [ecx + 0x70]
mov edx, dword [ecx + 0x74]
lea ebx, [esp + 0x84]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.crypto_tls.addUint64
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x78]
lea ecx, [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.AddUint32
mov edx, dword [esp + 0x84]
test edx, edx
je 0x616fbe
mov eax, dword [esp + 0x88]
xor esi, esi
xor ecx, ecx
xor ebx, ebx
jmp 0x616ff5
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0xa0]
cmp eax, ecx
ja 0x61701f
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x94]
sub ebp, eax
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
sub ecx, eax
add ebx, ebp
xor edx, edx
xor eax, eax
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], edx
mov dword [esp + 0x12c], eax
add esp, 0x114
ret
call sym.runtime.panicSliceB
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._SessionState_.Bytes