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

Disassembly:
mov ecx, dword [0x8c8664]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xcc]
cmp eax, dword [ecx + 8]
jbe 0x5cfb35
sub esp, 0x14c
mov eax, dword [esp + 0x150]
mov ecx, dword [eax]
mov dword [esp + 0xb8], ecx
mov dword [esp], ecx
lea edx, [0x713d20]
mov dword [esp + 4], edx
lea ebx, [eax + 0x18]
mov dword [esp + 0xd8], ebx
mov dword [esp + 8], ebx
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5cfaf7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x67fea0]
cmp eax, edx
jne 0x5ceb33
mov ebx, ecx
jmp 0x5ceb3a
mov ebx, ecx
mov ecx, 0
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x64], eax
jne 0x5cfa35
mov ebp, dword [ecx + 0x10]
test ebp, ebp
je 0x5cfa35
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
lea ecx, [0x713d20]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5cfa1c
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
lea ebp, [0x67ff00]
cmp edx, ebp
jne 0x5ceba3
mov eax, ebx
jmp 0x5cebaa
mov eax, ebx
mov ebx, 0
jne 0x5cec8a
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 0xc]
movzx ecx, byte [ecx + 0x2b]
test cl, cl
je 0x5cec3a
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov ebx, dword [ebx + 0xc]
mov ebp, dword [esp + 0xb8]
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x40], edx
mov ecx, dword [0x8c87a0]
test ecx, ecx
je 0x5cebef
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [ebp + 0x38]
mov dword [edi + 4], ecx
mov dword [ebp + 0x38], ebx
mov dword [esp], ebp
lea eax, [0x713d20]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xd8]
mov dword [esp + 8], ecx
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5cec21
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
jmp 0x5cec8c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x32
lea ecx, [0x6bdd64]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov ebx, eax
mov dword [esp + 0x64], edx
mov dword [esp + 0x90], ebx
mov ebp, dword [esp + 0xb8]
mov esi, dword [ebp + 0x30]
test esi, esi
je 0x5ced47
mov esi, dword [ebp + 0x54]
test esi, esi
jbe 0x5cfb2b
mov esi, dword [esp + 0xb4]
mov edi, dword [esi + 0x10]
test edi, edi
jbe 0x5cfb22
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov esi, dword [esi + 0xc]
cmp dword [esi + 4], ecx
jne 0x5cecfe
mov eax, dword [eax]
mov edx, dword [esi]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5ced77
mov ebp, dword [esp + 0xb8]
mov dword [esp], ebp
mov byte [esp + 4], 0x2a
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x67ca80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x33
lea ecx, [0x6be11d]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call sym.crypto_tls._Conn_.verifyServerCertificate
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cfa03
mov eax, dword [esp + 0x150]
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx]
mov ebx, dword [esp + 0xb8]
movzx ebp, word [ebx + 0x28]
mov word [esp], bp
call ecx
mov eax, dword [esp + 0x64]
lea ecx, [0x67ff60]
cmp eax, ecx
jne 0x5cedae
mov ecx, dword [esp + 0x90]
jmp 0x5cedb3
mov ecx, 0
mov edx, dword [esp + 4]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x94], ebx
jne 0x5ceeb9
mov ebp, dword [esp + 0xb8]
mov esi, dword [ebp + 0x54]
test esi, esi
jbe 0x5cfb19
mov eax, dword [edx + 0x1c]
mov esi, dword [ebp + 0x2c]
mov edi, dword [esp + 0x150]
mov edx, dword [edi + 0x10]
mov edi, dword [edi + 0xc]
mov ebp, dword [ebp + 0x50]
mov ebp, dword [ebp]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
call eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x5cee76
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
lea ecx, [0x713d20]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5cee5d
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov eax, edx
mov ecx, ebx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x94]
jmp 0x5ceec0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x74]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov ecx, dword [esp + 0x90]
lea ebp, [0x67ffc0]
cmp eax, ebp
jne 0x5ceece
mov esi, ecx
jmp 0x5ceed5
mov esi, ecx
mov ecx, 0
mov dword [esp + 0xb0], ecx
je 0x5ceef0
mov edi, eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, edi
jmp 0x5cefa5
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x150]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov ebp, dword [esp + 0xb8]
movzx esi, word [ebp + 0x28]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov word [esp + 8], si
mov dword [esp + 0xc], ecx
call sym.crypto_tls.certificateRequestInfoFromMsg
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.crypto_tls._Conn_.getClientCertificate
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x5cf9c0
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
lea ecx, [0x713d20]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5cf9a7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x94]
lea ebp, [0x67ffc0]
mov edi, dword [esp + 0x7c]
mov esi, ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x90], esi
lea ebx, [0x680020]
cmp eax, ebx
je 0x5cefbb
mov esi, 0
jne 0x5cf8da
cmp edi, ebp
jne 0x5cf04f
lea eax, [0x683320]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebx
mov edx, dword [0x8c87a0]
test edx, edx
je 0x5cf001
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [eax + 0xc], ebp
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx]
mov dword [esp], edx
lea edx, [0x714600]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x713d20]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x5cf8c1
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 0x54]
test ebp, ebp
jbe 0x5cfb10
mov eax, dword [edx + 0x10]
mov ecx, dword [ebx + 0x2c]
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 0x10]
mov esi, dword [ebx + 0x50]
mov esi, dword [esi]
mov edi, dword [esp + 0x94]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x5cf87e
mov dword [esp + 0x60], ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5cf10c
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx]
mov dword [esp], edx
lea edx, [0x714678]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x713d20]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x5cf865
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0x150]
mov ebp, dword [eax + 0xc]
movzx esi, byte [ebp + 0x3c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5cf1e3
mov eax, dword [esp + 0xb8]
mov byte [eax + 0x34], 1
lea edi, [esp + 0x110]
mov esi, dword [esp + 0xd8]
call fcn.0046cd2e
lea edi, [esp]
lea esi, [esp + 0x110]
call fcn.0046cd2e
call sym.crypto_tls.finishedHash.Sum
mov eax, dword [esp + 0xb8]
movzx ecx, word [eax + 0x28]
mov edx, dword [esp + 0x150]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov word [esp], cx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
call sym.crypto_tls.extMasterFromPreMasterSecret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], ecx
mov eax, dword [0x8c87a0]
test eax, eax
je 0x5cf1db
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [ebx + 0x4c]
mov dword [edi + 4], eax
mov dword [ebx + 0x4c], edx
jmp 0x5cf292
mov esi, dword [esp + 0xb8]
movzx edi, word [esi + 0x28]
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0xd0], ebx
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xcc], eax
mov eax, dword [ebp + 0x14]
mov ebp, dword [ebp + 0x18]
mov word [esp], di
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebp
call sym.crypto_tls.masterFromPreMasterSecret
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], ecx
mov eax, dword [0x8c87a0]
test eax, eax
je 0x5cf28f
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [ebx + 0x4c]
mov dword [edi + 4], eax
mov dword [ebx + 0x4c], edx
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebx + 0x10]
mov ebp, dword [edx + 0x10]
mov esi, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov edi, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x50]
mov ebx, dword [ebx + 0x54]
mov dword [esp], ecx
lea ecx, [0x6af016]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebx
call sym.crypto_tls._Config_.writeKeyLog
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5cf797
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x5cf749
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5cf749
lea eax, [0x68d880]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 4]
mov dword [esp + 0xac], edx
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x98], ebx
test ecx, ecx
je 0x5cf365
lea eax, [0x882ff0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.typeAssert
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x98]
test ecx, ecx
je 0x5cf6b6
mov dword [esp + 0xd4], ecx
mov ebp, dword [esp + 0xb8]
movzx esi, word [ebp + 0x28]
cmp si, 0x303
jb 0x5cf46c
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x1c]
mov word [esp], si
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call sym.crypto_tls.selectSignatureScheme
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x5cf429
movzx eax, word [esp + 0x14]
mov word [esp + 0x4a], ax
mov word [esp], ax
call sym.crypto_tls.typeAndHashFromSignatureScheme
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x5cf3f8
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xac]
mov byte [edx + 0xc], 1
movzx ebx, word [esp + 0x4a]
mov word [edx + 0xe], bx
jmp 0x5cf49d
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov eax, dword [ecx + 0x10]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.crypto_tls.legacyTypeAndHashFromPublicKey
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5cf673
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
mov byte [esp + 0x49], al
mov dword [esp + 0x58], ecx
lea edi, [esp + 0xdc]
mov esi, dword [esp + 0xd8]
call fcn.0046cd2e
lea edi, [esp]
lea esi, [esp + 0xdc]
call fcn.0046cd2e
mov byte [esp + 0x34], al
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x38], ecx
call sym.crypto_tls.finishedHash.hashForClientCertificate
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
call sym.runtime.convT32
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x49]
cmp cl, 0xe2
je 0x5cf515
lea ecx, [0x713cf8]
jmp 0x5cf53a
lea eax, [0x684be0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
lea ecx, [0x713d0c]
mov edx, dword [esp + 0xb8]
mov ebx, dword [edx + 0x2c]
mov ebp, dword [ebx]
test ebp, ebp
je 0x5cf54f
mov ebx, dword [ebx + 4]
jmp 0x5cf55b
mov ebp, dword [0x8889a8]
mov ebx, dword [0x8889ac]
mov edx, dword [esp + 0xd4]
mov edx, dword [edx + 0x14]
mov esi, dword [esp + 0x98]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call edx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0xac]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ecx
mov eax, dword [0x8c87a0]
test eax, eax
je 0x5cf5d4
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov eax, dword [esi + 0x10]
mov dword [edi + 4], eax
mov dword [esi + 0x10], ebx
test edx, edx
jne 0x5cf634
mov eax, dword [esp + 0x150]
mov ecx, dword [eax]
mov dword [esp], ecx
lea ecx, [0x714540]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
lea ecx, [0x713d20]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x10], ecx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5cf749
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x74]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x74]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
lea eax, [0x6c0ff9]
mov dword [esp], eax
mov dword [esp + 4], 0x4f
lea eax, [esp + 0x144]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
nop
mov eax, dword [esp + 0x150]
mov dword [eax + 0x3c], 0
mov dword [eax + 0x40], 0
mov ecx, dword [0x8c87a0]
test ecx, ecx
je 0x5cf773
mov ecx, dword [eax + 0x38]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 0x38], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x14c
ret
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6b7d18]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], 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 + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x5cf83a
mov ecx, dword [esp + 0x80]
jmp 0x5cf848
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x74]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov dword [esp + 0x88], esi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc0], eax
lea eax, [0x680020]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc8], eax
lea eax, [0x6c0bd7]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x74]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x158], eax
add esp, 0x14c
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc0], eax
lea eax, [0x67fea0]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc8], eax
lea eax, [0x6c0bd7]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x14c
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._clientHandshakeState_.doFullHandshake