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

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x5da47e
sub esp, 0xb8
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 0x44]
test edx, edx
jne 0x5d95d9
movzx edx, byte [ecx + 0x50]
test dl, dl
jne 0x5d95d9
lea eax, [0x68cba0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x50
lea ecx, [0x6d3d1b]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x726b8c]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
mov edx, dword [ecx + 0x34]
mov ebx, dword [ecx + 0x38]
xor ebp, ebp
xor esi, esi
jmp 0x5d95ea
inc ebp
lea esi, [esi + edi + 1]
cmp ebp, ebx
jge 0x5d9652
lea edi, [edx + ebp*8]
mov edi, dword [edi + 4]
test edi, edi
je 0x5d9600
cmp edi, 0xff
jle 0x5d95e5
lea eax, [0x68cba0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1d
lea ecx, [0x6c8e98]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x726b8c]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
cmp esi, 0xffff
jg 0x5d9a81
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 0x5d9a2f
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 0x5d96b5
xor eax, eax
jmp 0x5d96bc
mov eax, dword [esp + 8]
movzx eax, word [eax]
cmp ax, 0x303
jbe 0x5d96c7
mov eax, 0x303
mov word [esp + 0x2a], ax
lea ecx, [0x682060]
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 0x5d9746
mov ebp, dword [0x8a2898]
mov ecx, dword [0x8a289c]
mov esi, dword [0x8a28a0]
jmp 0x5d9752
mov esi, dword [eax + 0xa0]
mov ebp, dword [eax + 0x98]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ecx
lea eax, [0x6b5360]
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, [0x67e0c0]
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 [0x8d0720]
test edx, edx
je 0x5d97be
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 [0x8d0720]
test eax, eax
jne 0x5d97e2
mov eax, dword [esp + 0xac]
jmp 0x5d97f6
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 [0x8d0720]
test eax, eax
jne 0x5d9825
mov eax, dword [esp + 0xa8]
jmp 0x5d9839
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 [0x8d0720]
test eax, eax
jne 0x5d985a
mov eax, dword [esp + 0x78]
jmp 0x5d986b
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, [0x67e0c0]
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 [0x8d0720]
test edx, edx
je 0x5d98ac
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 [0x8d0720]
test edx, edx
je 0x5d98ec
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 [0x8d0720]
test edx, edx
jne 0x5d9919
mov edx, dword [esp + 0x84]
jmp 0x5d9930
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 0x5d997e
mov dword [ecx + 0x94], 0xc
mov dword [ecx + 0x98], 0xc
mov ebx, dword [0x8d0720]
lea ebp, [edx + 0xa9]
test ebx, ebx
je 0x5d9978
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 [0x8d0320]
mov ebp, dword [0x8a2818]
mov esi, dword [0x8a281c]
test bl, bl
jne 0x5d99a1
mov ebp, dword [0x8a2828]
mov esi, dword [0x8a282c]
mov dword [esp + 0x50], esi
mov dword [esp + 0x88], ebp
mov ebx, dword [eax + 0x54]
test ebx, ebx
je 0x5d99b8
mov edi, dword [eax + 0x58]
jmp 0x5d99c4
mov ebx, dword [0x8aa440]
mov edi, dword [0x8aa444]
mov dword [esp + 0x30], edi
mov dword [esp + 0x74], ebx
lea eax, [0x6821a0]
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 [0x8d0720]
test ebx, ebx
je 0x5d9a16
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 0x5d9adb
lea eax, [0x68cba0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x6d258d]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x726b8c]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0xb8
ret
lea eax, [0x68cba0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x6ca439]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x726b8c]
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 0x5d9bc5
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 0x5da425
mov ebx, dword [0x8a27f8]
mov ebp, dword [0x8a27fc]
mov word [esp + 0x60], ax
xor eax, eax
mov dword [esp + 0x5c], eax
movzx eax, word [esp + 0x60]
jmp 0x5da450
xor ebx, ebx
test ebx, ebx
je 0x5d9ad3
cmp word [ecx + 0xc], 0x303
jae 0x5d9b39
mov ebx, dword [ebx + 0x14]
test ebx, 4
jne 0x5d9ad3
mov ebx, dword [ecx + 0x30]
mov ebp, dword [ecx + 0x2c]
inc ebp
mov edx, dword [ecx + 0x28]
cmp ebx, ebp
jae 0x5d9bb0
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, [0x6821a0]
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 [0x8d0720]
test eax, eax
je 0x5d9b9a
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 0x5d9ad3
mov eax, dword [esp + 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5d9bd7
mov ebx, dword [eax + 4]
jmp 0x5d9be3
mov edx, dword [0x8aa2b8]
mov ebx, dword [0x8aa2bc]
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 0x5da347
mov edx, dword [esp + 0xbc]
mov ebx, dword [edx + 0x10]
test ebx, ebx
jne 0x5d9cd3
lea eax, [0x682060]
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 [0x8d0720]
test edx, edx
je 0x5d9c74
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 0x5d9c89
mov ebx, dword [eax + 4]
jmp 0x5d9c95
mov edx, dword [0x8aa2b8]
mov ebx, dword [0x8aa2bc]
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 0x5da296
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x98]
cmp word [ebx + 0xc], 0x303
jb 0x5d9d18
mov ebp, dword [0x8a286c]
mov esi, dword [0x8a2870]
mov edi, dword [0x8a2868]
mov dword [ebx + 0x78], ebp
mov dword [ebx + 0x7c], esi
mov ebp, dword [0x8d0720]
test ebp, ebp
je 0x5d9d15
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 [0x8aa450]
test ebp, ebp
je 0x5d9d4e
mov esi, dword [0x8aa454]
mov edi, dword [0x8aa458]
mov dword [ebx + 0x78], esi
mov dword [ebx + 0x7c], edi
mov esi, dword [0x8d0720]
test esi, esi
je 0x5d9d4b
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 0x5da40a
mov eax, dword [ebx + 0xb0]
cmp word [eax], 0x304
jne 0x5da1c4
cmp ebp, 1
jne 0x5d9d9b
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov eax, dword [0x8d0720]
test eax, eax
je 0x5d9d94
mov eax, dword [ebx + 0x28]
call sym.runtime.gcWriteBarrier1
mov dword [edi], eax
mov dword [ebx + 0x28], 0
movzx eax, byte [0x8d0320]
test al, al
je 0x5d9e6b
mov eax, dword [0x8a284c]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5d9dc3
mov eax, ebp
jmp 0x5d9df5
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, [0x6821a0]
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 [0x8a284c]
sub eax, edx
lea eax, [esi + eax*2]
mov ebx, dword [0x8a2848]
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 [0x8d0720]
test eax, eax
jne 0x5d9e4f
mov edx, dword [esp + 0xa4]
jmp 0x5d9e63
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 0x5d9f27
mov eax, dword [0x8a285c]
mov ecx, dword [ebx + 0x30]
mov ebp, dword [ebx + 0x2c]
add ebp, eax
mov esi, dword [ebx + 0x28]
cmp ecx, ebp
jb 0x5d9e84
mov eax, ebp
jmp 0x5d9eb6
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, [0x6821a0]
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 [0x8a285c]
sub eax, edx
lea eax, [esi + eax*2]
mov ebx, dword [0x8a2858]
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 [0x8d0720]
test eax, eax
jne 0x5d9f10
mov edx, dword [esp + 0xa4]
jmp 0x5d9f24
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 0x5d9f46
mov ebp, dword [0x8a2898]
mov ebx, dword [0x8a289c]
jmp 0x5d9f4c
mov ebp, dword [edx + 0x98]
test ebx, ebx
jbe 0x5da401
movzx eax, word [ebp]
nop
cmp ax, 0x18
ja 0x5d9f70
cmp ax, 0x17
je 0x5d9f80
cmp ax, 0x18
je 0x5d9f80
jmp 0x5da172
cmp ax, 0x19
je 0x5d9f80
cmp ax, 0x1d
jne 0x5da172
mov ebx, dword [edx]
test ebx, ebx
je 0x5d9f8b
mov edx, dword [edx + 4]
jmp 0x5d9f97
mov ebx, dword [0x8aa2b8]
mov edx, dword [0x8aa2bc]
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 0x5da13f
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
lea ecx, [eax + 0x1c]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
lea edx, [sym.crypto_tls._Conn_.makeClientHello._PrivateKey_.PublicKey.func1]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
test byte [eax], al
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, [0x6802c0]
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 0x5da047
mov ebx, ecx
mov ebp, 0x85
jmp 0x5da08d
mov dword [esp + 0xa0], eax
mov dword [esp + 0x54], ecx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x85
mov dword [esp + 0xc], ecx
lea eax, [0x682060]
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, [0x680380]
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 [0x8d0720]
test ecx, ecx
jne 0x5da0e1
mov ecx, dword [esp + 0x70]
jmp 0x5da0ec
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 [0x8d0720]
test edx, edx
je 0x5da124
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 0x5da1c6
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, [0x68cba0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x30
lea ecx, [0x6d0314]
mov dword [eax], ecx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x726b8c]
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 0x5da238
mov dword [esp + 0x8c], eax
mov dword [esp], edx
call sym.crypto_tls._Conn_.quicGetTransportParameters
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5da263
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5da1fe
xor edx, edx
xor ecx, ecx
lea eax, [0x8d0300]
mov ebx, dword [esp + 0x98]
mov dword [ebx + 0x100], ecx
mov dword [ebx + 0x104], edx
mov ecx, dword [0x8d0720]
test ecx, ecx
je 0x5da22b
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, [0x6c7e53]
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, [0x68cba0]
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 [0x8d0720]
test ecx, ecx
jne 0x5da309
mov ecx, dword [esp + 0x7c]
jmp 0x5da314
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, [0x726b8c]
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, [0x6c7e53]
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, [0x68cba0]
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 [0x8d0720]
test ecx, ecx
jne 0x5da3c0
mov ecx, dword [esp + 0x80]
jmp 0x5da3ce
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, [0x726b8c]
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 0x5d9b20
movzx eax, word [ebp + ebx*2]
cmp ax, di
jne 0x5da413
jmp 0x5d9aff
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 0x5da468
mov edx, dword [ebx + edi*4]
cmp word [edx], ax
jne 0x5da440
mov eax, edx
mov edx, dword [esp + 0x30]
jmp 0x5da46a
xor eax, eax
mov ebp, dword [esp + 0x74]
movzx edi, word [esp + 0x26]
mov ebx, eax
mov eax, dword [esp + 0x50]
jmp 0x5d9b22
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._Conn_.makeClientHello