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

Disassembly:
mov ecx, dword [0x8c8664]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x5cbec2
sub esp, 0xb8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 0x44]
test edx, edx
jne 0x5cb059
movzx edx, byte [ecx + 0x50]
test dl, dl
jne 0x5cb059
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x50
lea ecx, [0x6c10e7]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x34]
xor ebp, ebp
xor esi, esi
jmp 0x5cb06a
inc ebp
lea esi, [esi + edi + 1]
cmp ebp, edx
jge 0x5cb0d2
lea edi, [ebx + ebp*8]
mov edi, dword [edi + 4]
test edi, edi
je 0x5cb080
cmp edi, 0xff
jle 0x5cb065
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1d
lea ecx, [0x6b6169]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
cmp esi, 0xffff
jg 0x5cb4cf
mov dword [esp + 0x9c], ecx
mov dword [esp], ecx
mov byte [esp + 4], 1
call sym.crypto_tls._Config_.supportedVersions
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x5cb47d
mov dword [esp + 0x48], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov byte [esp + 4], 1
call sym.crypto_tls._Config_.supportedVersions
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5cb135
xor eax, eax
jmp 0x5cb13c
mov eax, dword [esp + 8]
movzx eax, word [eax]
cmp ax, 0x303
jbe 0x5cb147
mov eax, 0x303
mov word [esp + 0x2a], ax
lea ecx, [0x672500]
mov dword [esp], ecx
mov dword [esp + 4], 0x20
mov dword [esp + 8], 0x20
call sym.runtime.makeslice
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xac], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym.crypto_tls.hostnameInSNI
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x9c]
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x6c], ebx
test ecx, ecx
jne 0x5cb1c6
mov ebp, dword [0x882c70]
mov ecx, dword [0x882c74]
mov esi, dword [0x882c78]
jmp 0x5cb1d2
mov esi, dword [eax + 0xa0]
mov ebp, dword [eax + 0x98]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x74], ebp
lea eax, [0x6a2980]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
movzx ecx, word [esp + 0x2a]
mov word [eax + 0xc], cx
lea ecx, [0x66e220]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x38], 1
mov dword [ecx + 0x3c], 1
mov edx, dword [0x8c87a0]
test edx, edx
jne 0x5cb23a
mov edx, dword [esp + 0xac]
jmp 0x5cb257
call sym.runtime.gcWriteBarrier4
mov dword [edi], eax
mov edx, dword [ecx + 0x34]
mov dword [edi + 4], edx
mov edx, dword [esp + 0xac]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0x10]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x14], 0x20
mov dword [ecx + 0x18], 0x20
mov dword [ecx + 0x10], edx
mov byte [ecx + 0x9c], 1
mov byte [ecx + 0x48], 1
mov byte [ecx + 0xac], 1
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x44], eax
mov eax, dword [0x8c87a0]
test eax, eax
jne 0x5cb29b
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x74]
jmp 0x5cb2bc
call sym.runtime.gcWriteBarrier4
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov edx, dword [ecx + 0x40]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x74]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0x4c]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x54], eax
mov dword [ecx + 0x4c], edx
lea eax, [0x66e220]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x5c], 1
mov dword [ecx + 0x60], 1
mov edx, dword [0x8c87a0]
test edx, edx
je 0x5cb30e
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x58]
mov dword [edi + 4], edx
mov dword [ecx + 0x58], eax
mov byte [ecx + 0x8c], 1
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0x38]
mov ebx, dword [eax + 0x3c]
mov ebp, dword [eax + 0x34]
mov dword [ecx + 0xa4], edx
mov dword [ecx + 0xa8], ebx
mov edx, dword [0x8c87a0]
test edx, edx
jne 0x5cb347
mov edx, dword [esp + 0x84]
jmp 0x5cb36a
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebp
mov edx, dword [ecx + 0xa0]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x84]
mov dword [edi + 8], edx
mov ebx, dword [ecx + 0xb0]
mov dword [edi + 0xc], ebx
mov dword [ecx + 0xa0], ebp
mov ebx, dword [esp + 0x44]
mov dword [ecx + 0xb4], ebx
mov ebx, dword [esp + 0x48]
mov dword [ecx + 0xb8], ebx
mov dword [ecx + 0xb0], edx
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x30]
test ebx, ebx
jle 0x5cb3d2
mov dword [ecx + 0x94], 0xc
mov dword [ecx + 0x98], 0xc
mov ebx, dword [0x8c87a0]
lea ebp, [edx + 0xa9]
test ebx, ebx
je 0x5cb3cc
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [ecx + 0x90]
mov dword [edi + 4], ebx
mov dword [ecx + 0x90], ebp
movzx ebx, byte [0x8c8530]
mov ebp, dword [0x882c00]
mov esi, dword [0x882c04]
test bl, bl
jne 0x5cb3f5
mov ebp, dword [0x882c10]
mov esi, dword [0x882c14]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x88], ebp
mov dword [esp], eax
call sym.crypto_tls._Config_.cipherSuites
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x98], ecx
lea edx, [0x672580]
mov dword [esp], edx
mov dword [esp + 4], 0
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x2c], 0
mov edx, dword [esp + 0x50]
mov dword [ecx + 0x30], edx
mov ebx, dword [0x8c87a0]
test ebx, ebx
je 0x5cb461
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x28]
mov dword [edi + 4], ebx
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x98]
xor esi, esi
jmp 0x5cb529
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x6bf7c7]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x6b752c]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
inc esi
mov ebx, dword [esp + 0x88]
cmp eax, esi
jle 0x5cb616
movzx edi, word [ebx + esi*2]
mov word [esp + 0x26], di
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x5c]
jmp 0x5cbe66
mov ebx, dword [0x882be0]
mov ebp, dword [0x882be4]
mov word [esp + 0x54], ax
xor eax, eax
mov dword [esp + 0x6c], eax
movzx eax, word [esp + 0x54]
jmp 0x5cbe91
xor ebx, ebx
test ebx, ebx
je 0x5cb521
cmp word [ecx + 0xc], 0x303
jae 0x5cb587
mov ebx, dword [ebx + 0x14]
test ebx, 4
jne 0x5cb521
mov ebx, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov edx, dword [ecx + 0x28]
cmp ebx, ebp
jae 0x5cb5fe
mov dword [esp + 0x6c], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x672580]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0x30], eax
mov eax, dword [0x8c87a0]
test eax, eax
je 0x5cb5e8
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x28]
mov dword [edi + 4], eax
mov dword [ebx + 0x28], ecx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x6c]
movzx edi, word [esp + 0x26]
mov ebp, edx
mov edx, ecx
mov ecx, ebx
mov dword [ecx + 0x2c], ebp
mov word [edx + ebp*2 - 2], di
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x98]
jmp 0x5cb521
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5cb628
mov ebx, dword [eax + 4]
jmp 0x5cb634
mov edx, dword [0x8889a8]
mov ebx, dword [0x8889ac]
mov eax, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x10]
mov esi, dword [ecx + 0x18]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5cbd88
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x10]
test ebx, ebx
jne 0x5cb724
lea eax, [0x672500]
mov dword [esp], eax
mov dword [esp + 4], 0x20
mov dword [esp + 8], 0x20
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x20], 0x20
mov dword [ecx + 0x24], 0x20
mov edx, dword [0x8c87a0]
test edx, edx
je 0x5cb6c5
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x1c]
mov dword [edi + 4], edx
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5cb6da
mov ebx, dword [eax + 4]
jmp 0x5cb6e6
mov edx, dword [0x8889a8]
mov ebx, dword [0x8889ac]
mov eax, dword [ecx + 0x1c]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x20
mov dword [esp + 0x10], 0x20
mov dword [esp + 0x14], 0x20
call sym.io.ReadAtLeast
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x5cbcd7
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x94]
cmp word [ebx + 0xc], 0x303
jb 0x5cb769
mov ebp, dword [0x882c44]
mov esi, dword [0x882c48]
mov edi, dword [0x882c40]
mov dword [ebx + 0x78], ebp
mov dword [ebx + 0x7c], esi
mov ebp, dword [0x8c87a0]
test ebp, ebp
je 0x5cb766
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + 0x74]
mov dword [edi + 4], ebp
mov edi, eax
mov dword [ebx + 0x74], edi
mov ebp, dword [0x888a88]
test ebp, ebp
je 0x5cb79f
mov esi, dword [0x888a8c]
mov edi, dword [0x888a90]
mov dword [ebx + 0x78], esi
mov dword [ebx + 0x7c], edi
mov esi, dword [0x8c87a0]
test esi, esi
je 0x5cb79c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov esi, dword [ebx + 0x74]
mov dword [edi + 4], esi
mov dword [ebx + 0x74], ebp
mov ebp, dword [ebx + 0xb4]
test ebp, ebp
jbe 0x5cbe4b
mov eax, dword [ebx + 0xb0]
cmp word [eax], 0x304
jne 0x5cbc09
cmp ebp, 1
jne 0x5cb7ec
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov eax, dword [0x8c87a0]
test eax, eax
je 0x5cb7e5
mov eax, dword [ebx + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
mov dword [ebx + 0x28], 0
movzx eax, byte [0x8c8530]
test al, al
je 0x5cb8bc
mov eax, dword [0x882c24]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5cb814
mov eax, ebp
jmp 0x5cb846
mov dword [esp + 0x68], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea eax, [0x672580]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xa4], esi
mov dword [esp + 0x68], ecx
mov edx, dword [0x882c24]
sub eax, edx
lea eax, [esi + eax*2]
mov ebx, dword [0x882c20]
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 1
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x68]
mov dword [ecx + 0x30], eax
mov eax, dword [0x8c87a0]
test eax, eax
jne 0x5cb8a0
mov edx, dword [esp + 0xa4]
jmp 0x5cb8b4
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0xa4]
mov dword [edi], edx
mov ebx, dword [ecx + 0x28]
mov dword [edi + 4], ebx
mov dword [ecx + 0x28], edx
jmp 0x5cb978
mov eax, dword [0x882c34]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5cb8d5
mov eax, ebp
jmp 0x5cb907
mov dword [esp + 0x68], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea eax, [0x672580]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], ebp
mov dword [esp + 0xa4], esi
mov edx, dword [0x882c34]
sub eax, edx
lea eax, [esi + eax*2]
mov ebx, dword [0x882c30]
mov dword [esp], eax
mov dword [esp + 4], ebx
shl edx, 1
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x94]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x30], eax
mov eax, dword [0x8c87a0]
test eax, eax
jne 0x5cb961
mov edx, dword [esp + 0xa4]
jmp 0x5cb975
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0xa4]
mov dword [edi], edx
mov ebx, dword [ecx + 0x28]
mov dword [edi + 4], ebx
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x9c]
mov ebx, dword [edx + 0x9c]
test ebx, ebx
jne 0x5cb997
mov ebp, dword [0x882c70]
mov ebx, dword [0x882c74]
jmp 0x5cb99d
mov ebp, dword [edx + 0x98]
test ebx, ebx
jbe 0x5cbe42
movzx eax, word [ebp]
nop
cmp ax, 0x18
ja 0x5cb9c1
cmp ax, 0x17
je 0x5cb9d1
cmp ax, 0x18
je 0x5cb9d1
jmp 0x5cbbb7
cmp ax, 0x19
je 0x5cb9d1
cmp ax, 0x1d
jne 0x5cbbb7
mov ebx, dword [edx]
test ebx, ebx
je 0x5cb9dc
mov edx, dword [edx + 4]
jmp 0x5cb9e8
mov ebx, dword [0x8889a8]
mov edx, dword [0x8889ac]
mov word [esp + 0x28], ax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov word [esp + 8], ax
call sym.crypto_tls.generateECDHEKey
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cbb88
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
lea ecx, [sym.crypto_tls._Conn_.makeClientHello._PrivateKey_.PublicKey.func1]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
test byte [eax], al
lea ecx, [eax + 0x1c]
mov dword [esp], ecx
lea ecx, [esp + 0xb0]
mov dword [esp + 4], ecx
call sym.sync._Once_.Do
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x66fbe0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 4]
mov eax, dword [eax + 8]
cmp ecx, 0x85
ja 0x5cba92
mov ebx, ecx
mov ebp, 0x85
jmp 0x5cbad8
mov dword [esp + 0x64], ecx
mov dword [esp + 0xa0], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x85
mov dword [esp + 0xc], ecx
lea eax, [0x672500]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x64]
mov ebp, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x2c], ecx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.memmove
lea eax, [0x66fca0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x28]
mov word [eax], cx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x5cbb33
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x94]
jmp 0x5cbb51
call sym.runtime.gcWriteBarrier3
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov edx, dword [esp + 0x94]
mov ebx, dword [edx + 0xc8]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [edx + 0xcc], 1
mov dword [edx + 0xd0], 1
mov dword [edx + 0xc8], eax
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
jmp 0x5cbc0b
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x6bd43f]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
xor eax, eax
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x5cbc7d
mov dword [esp + 0x8c], eax
mov dword [esp], edx
call sym.crypto_tls._Conn_.quicGetTransportParameters
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cbca8
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5cbc43
xor edx, edx
xor ecx, ecx
lea eax, [0x8c8520]
mov ebx, dword [esp + 0x94]
mov dword [ebx + 0x100], ecx
mov dword [ebx + 0x104], edx
mov ecx, dword [0x8c87a0]
test ecx, ecx
je 0x5cbc70
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebx + 0xfc]
mov dword [edi + 4], ecx
mov dword [ebx + 0xfc], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
add esp, 0xb8
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
add esp, 0xb8
ret
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6b510a]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
lea edx, [0x67ca80]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x5cbd4a
mov ecx, dword [esp + 0x7c]
jmp 0x5cbd55
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6b510a]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
lea edx, [0x67ca80]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x5cbe01
mov ecx, dword [esp + 0x80]
jmp 0x5cbe0f
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x713830]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x5cb56e
movzx eax, word [ebp + ebx*2]
cmp ax, di
jne 0x5cbe54
jmp 0x5cb54d
lea edx, [edi + 1]
movzx edi, word [esp + 0x26]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x6c]
cmp edi, ebp
jge 0x5cbea9
mov edx, dword [ebx + edi*4]
cmp word [edx], ax
jne 0x5cbe81
mov eax, edx
mov edx, dword [esp + 0x50]
jmp 0x5cbeab
xor eax, eax
mov ebp, dword [esp + 0x98]
movzx edi, word [esp + 0x26]
mov ebx, eax
mov eax, dword [esp + 0x4c]
jmp 0x5cb570
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._Conn_.makeClientHello