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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xbc]
cmp eax, dword [ecx + 8]
jbe 0x5f441f
sub esp, 0x13c
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx]
test edx, edx
jne 0x5f41c8
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.0046f015
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x44]
test edx, edx
je 0x5f2312
nop
mov word [esp + 0x4a], 0
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f22bb
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4406
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2203
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f2254
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f2254
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f22bb
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f22a6
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x4a]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func1]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x134]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x48]
test dl, dl
je 0x5f2465
nop
mov word [esp + 0x48], 0
mov byte [esp + 0x49], 5
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2438
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f43ee
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2387
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f23d1
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f23d1
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 + 0x5c], edx
mov dword [esp + 0x60], eax
jmp 0x5f2438
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2423
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x48]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
nop
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [0x6aca20]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x50]
test edx, edx
je 0x5f25e8
nop
mov word [esp + 0x46], 0
mov byte [esp + 0x47], 0xa
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2591
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f43d6
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f24d9
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f252a
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f252a
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2591
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f257c
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x46]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func3]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x12c]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x5c]
test edx, edx
je 0x5f276b
nop
mov word [esp + 0x44], 0
mov byte [esp + 0x45], 0xb
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2714
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f43be
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f265c
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f26ad
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f26ad
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2714
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f26ff
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x44]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func4]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x124]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x64]
test dl, dl
je 0x5f28ef
nop
mov word [esp + 0x42], 0
mov byte [esp + 0x43], 0x23
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2898
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f43a6
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f27e0
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f2831
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f2831
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2898
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2883
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x42]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func5]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x11c]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x78]
test edx, edx
je 0x5f2a72
nop
mov word [esp + 0x40], 0
mov byte [esp + 0x41], 0xd
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2a1b
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f438e
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2963
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f29b4
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f29b4
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2a1b
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2a06
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x40]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func6]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x114]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0x84]
test edx, edx
je 0x5f2bf8
nop
mov word [esp + 0x3e], 0
mov byte [esp + 0x3f], 0x32
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2ba1
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4376
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2ae9
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f2b3a
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f2b3a
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2ba1
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2b8c
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x3e]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func7]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x10c]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x8c]
test dl, dl
je 0x5f2d81
nop
mov word [esp + 0x3c], 0
mov word [esp + 0x3c], 0x1ff
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2d2a
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f435e
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2c72
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f2cc3
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f2cc3
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2d2a
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2d15
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x3c]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func8]
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0x104]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0x9c]
test dl, dl
je 0x5f2fd1
nop
mov word [esp + 0x3a], 0
mov byte [esp + 0x3b], 0x17
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2eb3
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4346
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2df9
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f2e4c
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f2e4c
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2eb3
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2e9e
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x3a]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
nop
mov word [esp + 0x38], 0
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f2fd1
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f432e
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f2f17
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f2f6a
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f2f6a
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f2fd1
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f2fbc
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x38]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov edx, dword [ecx + 0xa4]
test edx, edx
je 0x5f3157
nop
mov word [esp + 0x36], 0
mov byte [esp + 0x37], 0x10
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f3100
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4316
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f3048
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3099
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3099
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3100
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f30eb
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x36]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func9]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xfc]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0xac]
test dl, dl
je 0x5f33a7
nop
mov word [esp + 0x34], 0
mov byte [esp + 0x35], 0x12
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f3289
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f42fe
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f31cf
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3222
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3222
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3289
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3274
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x34]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
nop
mov word [esp + 0x32], 0
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f33a7
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f42e6
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f32ed
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3340
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3340
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f33a7
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3392
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x32]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov edx, dword [ecx + 0xb4]
test edx, edx
je 0x5f352d
nop
mov word [esp + 0x30], 0
mov byte [esp + 0x31], 0x2b
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f34d6
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f42ce
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f341e
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f346f
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f346f
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f34d6
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f34c1
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x30]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func10]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xf4]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xc0]
test edx, edx
je 0x5f36b3
nop
mov word [esp + 0x2e], 0
mov byte [esp + 0x2f], 0x2c
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f365c
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f42b6
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f35a4
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f35f5
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f35f5
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f365c
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3647
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x2e]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func11]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xec]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xcc]
test edx, edx
je 0x5f3839
nop
mov word [esp + 0x2c], 0
mov byte [esp + 0x2d], 0x33
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f37e2
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f429e
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f372a
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f377b
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f377b
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f37e2
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f37cd
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x2c]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func12]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xe4]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [ecx + 0xd4]
test dl, dl
je 0x5f3a89
nop
mov word [esp + 0x2a], 0
mov byte [esp + 0x2b], 0x2a
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f396b
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4286
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f38b1
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3904
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3904
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f396b
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3956
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x2a]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
nop
mov word [esp + 0x28], 0
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f3a89
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f426e
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f39cf
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3a22
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3a22
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3a89
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3a74
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x28]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x5f3c0f
nop
mov word [esp + 0x26], 0
mov byte [esp + 0x27], 0x2d
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f3bb8
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4256
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f3b00
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3b51
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3b51
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3bb8
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3ba3
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x26]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func13]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xdc]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xfc]
test edx, edx
je 0x5f3d95
nop
mov word [esp + 0x24], 0
mov byte [esp + 0x25], 0x39
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f3d3e
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f423e
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f3c86
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 + 0x5c], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3cd7
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3cd7
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3d3e
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3d29
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x24]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func14]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xd4]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [ecx + 0xe8]
test edx, edx
je 0x5f3f1b
nop
mov word [esp + 0x22], 0
mov byte [esp + 0x23], 0x29
mov edx, dword [esp + 0x5c]
test edx, edx
jne 0x5f3ec4
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x5f4226
mov edx, dword [esp + 0x68]
add edx, 2
cmp edx, 2
jge 0x5f3e0c
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 + 0x5c], ecx
mov dword [esp + 0x60], eax
xor eax, eax
mov ecx, dword [esp + 0x140]
movzx edx, byte [esp + 0x70]
test dl, dl
je 0x5f3e5d
mov edx, dword [esp + 0x68]
add edx, 2
lea ebx, [esp + 0x5c]
cmp dword [ebx + 0x10], edx
jge 0x5f3e5d
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 + 0x5c], edx
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x140]
jmp 0x5f3ec4
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 2]
mov esi, dword [esp + 0x64]
cmp edx, ebp
jae 0x5f3eaf
mov dword [esp + 0x54], 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 + 0x140]
mov ebx, dword [esp + 0x54]
movzx edi, word [esp + 0x22]
mov word [esi + ebx], di
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], esi
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
lea eax, [sym.crypto_tls._clientHelloMsg_.marshal.func15]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
lea eax, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 0
lea eax, [esp + 0xcc]
mov dword [esp + 0xc], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
xor eax, eax
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x5f3f33
mov ebx, dword [esp + 0x60]
xor edi, edi
mov esi, ebx
xor ebp, ebp
mov ebx, edx
xor edx, edx
jmp 0x5f3f62
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x78]
cmp ebx, edx
ja 0x5f421d
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x6c]
sub esi, ebx
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
sub edx, ebx
add ebp, esi
xor ebx, ebx
xor esi, esi
test ebx, ebx
jne 0x5f4192
mov ebx, edi
lea edi, [esp + 0x8c]
call fcn.0046f015
mov ecx, dword [esp + 0xa4]
nop
mov byte [esp + 0x21], 0
mov byte [esp + 0x21], 1
test ecx, ecx
jne 0x5f4205
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], edx
movzx ecx, byte [esp + 0xa0]
test cl, cl
je 0x5f3ffb
mov ecx, dword [esp + 0x98]
inc ecx
lea esi, [esp + 0x8c]
cmp dword [esi + 0x10], ecx
jge 0x5f3ffb
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 + 0x8c], ecx
mov dword [esp + 0x90], eax
xor eax, eax
mov edx, dword [esp + 0x4c]
jmp 0x5f4075
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
lea edi, [esi + 1]
mov ebp, dword [esp + 0x94]
cmp ecx, edi
jae 0x5f4057
mov dword [esp + 0x50], esi
mov dword [esp], ebp
mov dword [esp + 4], edi
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 edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
movzx ebx, byte [esp + 0x21]
mov byte [ebp + esi], bl
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x94], ebp
lea edi, [esp + 0xb8]
call fcn.0046f01b
lea ecx, [sym.crypto_tls._clientHelloMsg_.marshal.func16]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc0], edx
lea edx, [esp + 0x8c]
mov dword [esp], edx
mov dword [esp + 4], 3
mov byte [esp + 8], 0
lea edx, [esp + 0xb8]
mov dword [esp + 0xc], edx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.addLengthPrefixed
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x5f40fe
mov eax, dword [esp + 0x90]
xor ebp, ebp
xor edx, edx
mov ebx, eax
mov eax, ecx
xor ecx, ecx
jmp 0x5f4135
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0xa8]
cmp eax, ecx
ja 0x5f4200
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x9c]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
sub ecx, eax
add edx, ebx
xor eax, eax
xor ebx, ebx
mov esi, dword [esp + 0x140]
mov dword [esi + 4], ecx
mov dword [esi + 8], ebp
mov edi, dword [0x899508]
test edi, edi
je 0x5f4166
mov dword [esp + 0x88], ebx
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [esi]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x88]
mov dword [esi], edx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], ebp
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ebx
add esp, 0x13c
ret
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], esi
add esp, 0x13c
ret
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
add esp, 0x13c
ret
call sym.runtime.panicSliceB
lea eax, [0x6603a0]
mov dword [esp], eax
lea eax, [0x6f6618]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, ebx
mov ecx, edx
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
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
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._clientHelloMsg_.marshal