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

Disassembly:
mov ecx, dword [0x8e25d4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x5dd3be
sub esp, 0xb8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 0x44]
test edx, edx
jne 0x5dc519
movzx edx, byte [ecx + 0x50]
test dl, dl
jne 0x5dc519
lea eax, [0x6916c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x50
lea ecx, [0x6d7d04]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x739240]
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 0x5dc52a
inc ebp
lea esi, [esi + edi + 1]
cmp ebp, edx
jge 0x5dc592
lea edi, [ebx + ebp*8]
mov edi, dword [edi + 4]
test edi, edi
je 0x5dc540
cmp edi, 0xff
jle 0x5dc525
lea eax, [0x6916c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1d
lea ecx, [0x6cc550]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x739240]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
cmp esi, 0xffff
jg 0x5dc9c1
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 0x5dc96f
mov dword [esp + 0x48], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x4c], edx
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 0x5dc5f5
xor eax, eax
jmp 0x5dc5fc
mov eax, dword [esp + 8]
movzx eax, word [eax]
cmp ax, 0x303
jbe 0x5dc607
mov eax, 0x303
mov word [esp + 0x2a], ax
lea ecx, [0x686a60]
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 + 0x5c], ebx
test ecx, ecx
jne 0x5dc686
mov ebp, dword [0x8b3510]
mov ecx, dword [0x8b3514]
mov esi, dword [0x8b3518]
jmp 0x5dc692
mov esi, dword [eax + 0xa0]
mov ebp, dword [eax + 0x98]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x78], ebp
lea eax, [0x6b7c60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
movzx ecx, word [esp + 0x2a]
mov word [eax + 0xc], cx
lea ecx, [0x6828c0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x38], 1
mov dword [ecx + 0x3c], 1
mov edx, dword [0x8e2900]
test edx, edx
je 0x5dc6fe
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x34]
mov dword [edi + 4], edx
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x14], 0x20
mov dword [ecx + 0x18], 0x20
mov eax, dword [0x8e2900]
test eax, eax
jne 0x5dc722
mov eax, dword [esp + 0xac]
jmp 0x5dc736
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0xac]
mov dword [edi], eax
mov edx, dword [ecx + 0x10]
mov dword [edi + 4], edx
mov dword [ecx + 0x10], eax
mov byte [ecx + 0x9c], 1
mov byte [ecx + 0x48], 1
mov byte [ecx + 0xac], 1
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x44], eax
mov eax, dword [0x8e2900]
test eax, eax
jne 0x5dc765
mov eax, dword [esp + 0xa8]
jmp 0x5dc779
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov edx, dword [ecx + 0x40]
mov dword [edi + 4], edx
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x54], eax
mov eax, dword [0x8e2900]
test eax, eax
jne 0x5dc79a
mov eax, dword [esp + 0x78]
jmp 0x5dc7ab
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x78]
mov dword [edi], eax
mov edx, dword [ecx + 0x4c]
mov dword [edi + 4], edx
mov dword [ecx + 0x4c], eax
lea eax, [0x6828c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x5c], 1
mov dword [ecx + 0x60], 1
mov edx, dword [0x8e2900]
test edx, edx
je 0x5dc7ec
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 [0x8e2900]
test edx, edx
je 0x5dc82c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + 0xa0]
mov dword [edi + 4], edx
mov dword [ecx + 0xa0], ebp
mov edx, dword [esp + 0x48]
mov dword [ecx + 0xb4], edx
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0xb8], edx
mov edx, dword [0x8e2900]
test edx, edx
jne 0x5dc859
mov edx, dword [esp + 0x84]
jmp 0x5dc870
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x84]
mov dword [edi], edx
mov ebx, dword [ecx + 0xb0]
mov dword [edi + 4], ebx
mov dword [ecx + 0xb0], edx
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x30]
test ebx, ebx
jle 0x5dc8be
mov dword [ecx + 0x94], 0xc
mov dword [ecx + 0x98], 0xc
mov ebx, dword [0x8e2900]
lea ebp, [edx + 0xa9]
test ebx, ebx
je 0x5dc8b8
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 [0x8e2490]
mov ebp, dword [0x8b3490]
mov esi, dword [0x8b3494]
test bl, bl
jne 0x5dc8e1
mov ebp, dword [0x8b34a0]
mov esi, dword [0x8b34a4]
mov dword [esp + 0x50], esi
mov dword [esp + 0x88], ebp
mov ebx, dword [eax + 0x54]
test ebx, ebx
je 0x5dc8f8
mov edi, dword [eax + 0x58]
jmp 0x5dc904
mov ebx, dword [0x8bc4c8]
mov edi, dword [0x8bc4cc]
mov dword [esp + 0x30], edi
mov dword [esp + 0x74], ebx
lea eax, [0x686ba0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edi
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x2c], 0
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x30], edx
mov ebx, dword [0x8e2900]
test ebx, ebx
je 0x5dc956
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 + 0x50]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x74]
xor esi, esi
jmp 0x5dca1b
lea eax, [0x6916c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x6d6392]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x739240]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
lea eax, [0x6916c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x6cdb52]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x739240]
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 0x5dcb05
movzx edi, word [ebx + esi*2]
mov word [esp + 0x26], di
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
jmp 0x5dd365
mov ebx, dword [0x8b3470]
mov ebp, dword [0x8b3474]
mov word [esp + 0x60], ax
xor eax, eax
mov dword [esp + 0x5c], eax
movzx eax, word [esp + 0x60]
jmp 0x5dd390
xor ebx, ebx
test ebx, ebx
je 0x5dca13
cmp word [ecx + 0xc], 0x303
jae 0x5dca79
mov ebx, dword [ebx + 0x14]
test ebx, 4
jne 0x5dca13
mov ebx, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov edx, dword [ecx + 0x28]
cmp ebx, ebp
jae 0x5dcaf0
mov dword [esp + 0x5c], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x686ba0]
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 + 0x98]
mov dword [ebx + 0x30], eax
mov eax, dword [0x8e2900]
test eax, eax
je 0x5dcada
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 + 0x50]
mov esi, dword [esp + 0x5c]
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 + 0x30]
mov ebp, dword [esp + 0x74]
jmp 0x5dca13
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5dcb17
mov ebx, dword [eax + 4]
jmp 0x5dcb23
mov edx, dword [0x8bc3d0]
mov ebx, dword [0x8bc3d4]
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 0x5dd287
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x10]
test ebx, ebx
jne 0x5dcc13
lea eax, [0x686a60]
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 + 0x98]
mov dword [ecx + 0x20], 0x20
mov dword [ecx + 0x24], 0x20
mov edx, dword [0x8e2900]
test edx, edx
je 0x5dcbb4
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 0x5dcbc9
mov ebx, dword [eax + 4]
jmp 0x5dcbd5
mov edx, dword [0x8bc3d0]
mov ebx, dword [0x8bc3d4]
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 0x5dd1d6
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x98]
cmp word [ebx + 0xc], 0x303
jb 0x5dcc58
mov ebp, dword [0x8b34e4]
mov esi, dword [0x8b34e8]
mov edi, dword [0x8b34e0]
mov dword [ebx + 0x78], ebp
mov dword [ebx + 0x7c], esi
mov ebp, dword [0x8e2900]
test ebp, ebp
je 0x5dcc55
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 [0x8bc4d8]
test ebp, ebp
je 0x5dcc8e
mov esi, dword [0x8bc4dc]
mov edi, dword [0x8bc4e0]
mov dword [ebx + 0x78], esi
mov dword [ebx + 0x7c], edi
mov esi, dword [0x8e2900]
test esi, esi
je 0x5dcc8b
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 0x5dd34a
mov eax, dword [ebx + 0xb0]
cmp word [eax], 0x304
jne 0x5dd104
cmp ebp, 1
jne 0x5dccdb
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov eax, dword [0x8e2900]
test eax, eax
je 0x5dccd4
mov eax, dword [ebx + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
mov dword [ebx + 0x28], 0
movzx eax, byte [0x8e2490]
test al, al
je 0x5dcdab
mov eax, dword [0x8b34c4]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5dcd03
mov eax, ebp
jmp 0x5dcd35
mov dword [esp + 0x58], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea eax, [0x686ba0]
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 + 0x58]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0xa4], esi
mov edx, dword [0x8b34c4]
sub eax, edx
mov ebx, dword [0x8b34c0]
lea eax, [esi + eax*2]
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 + 0x5c]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x58]
mov dword [ecx + 0x30], eax
mov eax, dword [0x8e2900]
test eax, eax
jne 0x5dcd8f
mov edx, dword [esp + 0xa4]
jmp 0x5dcda3
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 0x5dce67
mov eax, dword [0x8b34d4]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5dcdc4
mov eax, ebp
jmp 0x5dcdf6
mov dword [esp + 0x58], ebp
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
lea eax, [0x686ba0]
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 + 0x58]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0xa4], esi
mov edx, dword [0x8b34d4]
sub eax, edx
mov ebx, dword [0x8b34d0]
lea eax, [esi + eax*2]
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 + 0x58]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0x30], eax
mov eax, dword [0x8e2900]
test eax, eax
jne 0x5dce50
mov edx, dword [esp + 0xa4]
jmp 0x5dce64
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 0x5dce86
mov ebp, dword [0x8b3510]
mov ebx, dword [0x8b3514]
jmp 0x5dce8c
mov ebp, dword [edx + 0x98]
test ebx, ebx
jbe 0x5dd341
movzx eax, word [ebp]
nop
cmp ax, 0x18
ja 0x5dceb0
cmp ax, 0x17
je 0x5dcec0
cmp ax, 0x18
je 0x5dcec0
jmp 0x5dd0b2
cmp ax, 0x19
je 0x5dcec0
cmp ax, 0x1d
jne 0x5dd0b2
mov ebx, dword [edx]
test ebx, ebx
je 0x5dcecb
mov edx, dword [edx + 4]
jmp 0x5dced7
mov ebx, dword [0x8bc3d0]
mov edx, dword [0x8bc3d4]
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 0x5dd07f
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], 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 + 0x94]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x90], ecx
lea edx, [0x6844e0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 4]
mov eax, dword [eax + 8]
cmp ecx, 0x85
ja 0x5dcf87
mov ebx, ecx
mov ebp, 0x85
jmp 0x5dcfcd
mov dword [esp + 0x54], 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, [0x686a60]
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 + 0x54]
mov ebp, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x70], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.memmove
lea eax, [0x6845a0]
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 + 0x38]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x8e2900]
test ecx, ecx
jne 0x5dd021
mov ecx, dword [esp + 0x70]
jmp 0x5dd02c
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x70]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0xcc], 1
mov dword [ecx + 0xd0], 1
mov edx, dword [0x8e2900]
test edx, edx
je 0x5dd064
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0xc8]
mov dword [edi + 4], edx
mov dword [ecx + 0xc8], eax
mov edx, dword [esp + 0xbc]
mov ebx, ecx
mov eax, dword [esp + 0x94]
jmp 0x5dd106
mov eax, dword [esp + 0x10]
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, [0x6916c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x6d3ddf]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x739240]
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 0x5dd178
mov dword [esp + 0x8c], eax
mov dword [esp], edx
call sym.crypto_tls._Conn_.quicGetTransportParameters
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5dd1a3
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5dd13e
xor edx, edx
xor ecx, ecx
lea eax, [0x8e2480]
mov ebx, dword [esp + 0x98]
mov dword [ebx + 0x100], ecx
mov dword [ebx + 0x104], edx
mov ecx, dword [0x8e2900]
test ecx, ecx
je 0x5dd16b
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 eax, dword [esp + 0x10]
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, [0x6cb26f]
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 + 0x7c], ecx
lea edx, [0x6916c0]
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 [0x8e2900]
test ecx, ecx
jne 0x5dd249
mov ecx, dword [esp + 0x7c]
jmp 0x5dd254
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, [0x739240]
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, [0x6cb26f]
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 + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
lea edx, [0x6916c0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [0x8e2900]
test ecx, ecx
jne 0x5dd300
mov ecx, dword [esp + 0x80]
jmp 0x5dd30e
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, [0x739240]
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 + 0x5c], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x5c]
cmp ebx, edx
jge 0x5dca60
movzx eax, word [ebp + ebx*2]
cmp ax, di
jne 0x5dd353
jmp 0x5dca3f
lea edx, [edi + 1]
movzx edi, word [esp + 0x26]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x5c]
cmp edi, ebp
jge 0x5dd3a8
mov edx, dword [ebx + edi*4]
cmp word [edx], ax
jne 0x5dd380
mov eax, edx
mov edx, dword [esp + 0x30]
jmp 0x5dd3aa
xor eax, eax
mov ebp, dword [esp + 0x74]
movzx edi, word [esp + 0x26]
mov ebx, eax
mov eax, dword [esp + 0x50]
jmp 0x5dca62
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._Conn_.makeClientHello