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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c8]
cmp eax, dword [ecx + 8]
jbe 0x6097ac
sub esp, 0x248
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0xc]
movzx ecx, byte [ecx + 0x48]
mov edx, dword [eax]
test cl, cl
je 0x608566
mov ecx, dword [eax + 0x60]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x608566
mov ecx, dword [eax + 0x10]
mov byte [ecx + 0x2b], 1
mov dword [esp + 0xe8], edx
mov ecx, dword [eax + 0xc]
movzx ecx, byte [ecx + 0x64]
test cl, cl
je 0x608584
mov ecx, dword [edx + 0x2c]
movzx ecx, byte [ecx + 0x61]
xor ecx, 1
jmp 0x608586
xor ecx, ecx
mov edx, dword [eax + 0x10]
mov byte [edx + 0x2c], cl
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
movzx edx, word [edx]
mov word [ecx + 0x28], dx
mov ecx, dword [eax]
movzx ecx, word [ecx + 0x28]
mov edx, dword [eax + 0x14]
mov word [esp], cx
mov dword [esp + 4], edx
call sym.crypto_tls.newFinishedHash
lea edi, [esp + 0x214]
lea esi, [esp + 8]
call fcn.0046f4ae
mov eax, dword [0x899508]
mov ecx, dword [esp + 0x24c]
lea edi, [ecx + 0x20]
mov dword [esp + 0x100], edi
test eax, eax
je 0x608605
lea eax, [0x683900]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x214]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov ecx, dword [esp + 0x24c]
mov edi, dword [esp + 0x100]
lea esi, [esp + 0x214]
call fcn.0046f4ae
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x48]
test ecx, ecx
jne 0x608654
mov ecx, dword [esp + 0x24c]
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x48], 0
mov edx, dword [0x899508]
test edx, edx
je 0x60864b
mov edx, dword [ecx + 0x40]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0x40], 0
jmp 0x60865b
mov ecx, dword [esp + 0x24c]
mov eax, dword [ecx + 0xc]
lea edx, [0x6f7644]
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [0x6f7070]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 0xc], edx
call sym.crypto_tls.transcriptMsg
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x608a4c
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x6f765c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x6f7070]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x608a33
lea eax, [0x66e6e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24c]
mov edx, dword [ecx + 0x60]
mov ebx, dword [edx + 4]
mov ebp, dword [edx + 8]
mov edx, dword [edx]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [0x899508]
test ebx, ebx
je 0x60870f
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 0xc], edx
mov edx, dword [ecx]
mov dword [esp], edx
lea edx, [0x6f76a4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x6f7070]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x608a1a
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x10]
movzx ecx, byte [ecx + 0x2b]
test cl, cl
je 0x6087dc
lea eax, [0x66e740]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24c]
mov edx, dword [ecx + 0x60]
mov ebx, dword [edx + 0x24]
mov ebp, dword [edx + 0x28]
mov edx, dword [edx + 0x20]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebp
mov ebx, dword [0x899508]
test ebx, ebx
je 0x608799
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 0xc], edx
mov edx, dword [ecx]
mov dword [esp], edx
lea edx, [0x6f76bc]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x6f7070]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x608a01
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx]
mov ebx, dword [esp + 0xe8]
movzx ebp, word [ebx + 0x28]
mov word [esp], bp
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc4], ecx
mov ebx, dword [eax + 0x14]
mov ebp, dword [esp + 0xe8]
mov esi, dword [ebp + 0x2c]
mov edi, dword [esp + 0x24c]
mov edx, dword [edi + 0x60]
mov eax, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call ebx
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6089b8
mov eax, dword [esp + 0x14]
test eax, eax
je 0x608891
mov ecx, dword [esp + 0x24c]
mov edx, dword [ecx]
mov dword [esp], edx
lea edx, [0x6f76d4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x6f7070]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x60899f
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x2c]
mov ecx, dword [ecx + 0x48]
test ecx, ecx
jle 0x608998
lea eax, [0x67b620]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xe0], eax
lea ecx, [0x65db40]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov word [eax], 0x4001
mov ecx, dword [esp + 0xe0]
mov dword [ecx + 0x14], 2
mov dword [ecx + 0x18], 2
mov edx, dword [0x899508]
test edx, edx
je 0x608902
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x10]
mov dword [edi + 4], edx
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0xe8]
cmp word [eax + 0x28], 0x303
jb 0x60894a
mov byte [ecx + 0xc], 1
mov edx, dword [0x854344]
mov ebx, dword [0x854348]
mov ebp, dword [0x854340]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], ebx
mov edx, dword [0x899508]
test edx, edx
je 0x608947
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + 0x1c]
mov dword [edi + 4], edx
mov dword [ecx + 0x1c], ebp
mov edx, dword [eax + 0x2c]
mov edx, dword [edx + 0x4c]
test edx, edx
je 0x6096aa
mov dword [esp + 0xfc], edx
mov eax, dword [edx + 8]
mov dword [esp + 0x68], eax
lea ecx, [0x6593c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x68]
xor ebp, ebp
jmp 0x60971d
xor ecx, ecx
jmp 0x608a65
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], 0x28
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x94]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x254], eax
add esp, 0x248
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov dword [esp + 0xe0], ecx
mov eax, dword [esp + 0x24c]
mov edx, dword [eax]
mov dword [esp], edx
lea edx, [0x6f7704]
mov dword [esp + 4], edx
lea edx, [0x8992c0]
mov dword [esp + 8], edx
lea edx, [0x6f7070]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x10], ebx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6093cd
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call sym.crypto_tls._Conn_.flush
mov eax, dword [esp + 8]
test eax, eax
jne 0x6093b4
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
lea ecx, [0x6f7070]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x60939b
mov ecx, dword [esp + 0xe8]
mov edx, dword [ecx + 0x2c]
mov edx, dword [edx + 0x48]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test edx, edx
jle 0x608d18
lea edx, [0x66b980]
cmp ebx, edx
jne 0x608b28
mov eax, ebp
jmp 0x608b2f
mov eax, ebp
mov ebp, 0
mov dword [esp + 0xe4], ebp
jne 0x608c4c
lea edi, [esp + 0x16c]
xor eax, eax
call fcn.0046f011
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], edx
mov dword [esp + 0x174], ebx
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x16c]
call fcn.0046f49a
call sym.crypto_tls._Conn_.processCertsFromClient
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x608c33
mov edx, dword [esp + 0xe4]
mov edx, dword [edx + 0x10]
test edx, edx
je 0x608bc0
mov edx, dword [esp + 0xe8]
mov ebx, dword [edx + 0x54]
test ebx, ebx
jbe 0x6096a1
mov eax, dword [edx + 0x50]
mov eax, dword [eax]
mov ecx, dword [eax + 0x50]
mov eax, dword [eax + 0x54]
jmp 0x608bcb
mov edx, dword [esp + 0xe8]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0xa4], eax
mov dword [esp], edx
lea ebx, [0x6f7070]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x100]
mov dword [esp + 8], ebp
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x608c1a
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xa4]
jmp 0x608d1c
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov eax, dword [esp + 0x44]
mov dword [esp + 0x250], ecx
mov dword [esp + 0x254], eax
add esp, 0x248
ret
mov dword [esp + 0xf8], eax
mov dword [esp + 0x80], ebx
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x208], eax
lea eax, [0x66b980]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x210], eax
lea eax, [0x6a6435]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x204]
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 + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
xor eax, eax
xor edx, edx
mov dword [esp + 0x74], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xac], ebp
mov esi, dword [ecx + 0x2c]
mov esi, dword [esi + 0x2c]
test esi, esi
je 0x608db1
mov dword [esp], ecx
call sym.crypto_tls._Conn_.connectionStateLocked
lea edi, [esp + 0x1a8]
lea esi, [esp + 4]
call fcn.0046f44a
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [edx]
mov dword [esp + 0x9c], ecx
lea edi, [esp]
lea esi, [esp + 0x1a8]
call fcn.0046f44a
mov ecx, dword [esp + 0x9c]
call ecx
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x609352
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xac]
lea esi, [0x66bb60]
cmp ebx, esi
jne 0x608dbf
mov edi, ebp
jmp 0x608dc6
mov edi, ebp
mov ebp, 0
jne 0x60928d
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x18]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0x24c]
mov esi, dword [ebx + 0x60]
movzx edi, word [ecx + 0x28]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov word [esp + 0x10], di
call eax
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x609244
mov eax, dword [esp + 0x24c]
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 0x3c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x7c], esi
test dl, dl
je 0x608f00
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0xe8]
mov byte [eax + 0x34], 1
lea edi, [esp + 0x138]
mov esi, dword [esp + 0x100]
call fcn.0046f4ae
lea edi, [esp]
lea esi, [esp + 0x138]
call fcn.0046f4ae
call sym.crypto_tls.finishedHash.Sum
mov eax, dword [esp + 0xe8]
movzx ecx, word [eax + 0x28]
mov edx, dword [esp + 0x24c]
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 + 0xa8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x7c]
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 + 0x24c]
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], ecx
mov eax, dword [0x899508]
test eax, eax
je 0x608ef8
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [ebx + 0x54]
mov dword [edi + 4], eax
mov dword [ebx + 0x54], edx
jmp 0x608fb5
mov edx, dword [esp + 0xe8]
movzx edi, word [edx + 0x28]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov dword [esp + 0xf4], esi
mov esi, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x98], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xf0], eax
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov word [esp], di
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x98]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
call sym.crypto_tls.masterFromPreMasterSecret
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24c]
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], ecx
mov eax, dword [0x899508]
test eax, eax
je 0x608fb2
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [ebx + 0x54]
mov dword [edi + 4], eax
mov dword [ebx + 0x54], edx
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x2c]
mov edx, dword [ebx + 0xc]
mov ebp, dword [edx + 0x10]
mov esi, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov edi, dword [ebx + 0x54]
mov eax, dword [ebx + 0x58]
mov ebx, dword [ebx + 0x5c]
mov dword [esp], ecx
lea ecx, [0x694984]
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 0x6091fb
mov eax, dword [esp + 0xe8]
mov ecx, dword [eax + 0x54]
test ecx, ecx
je 0x609593
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.crypto_tls._Conn_.readHandshake
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x6091e2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x66b740]
cmp eax, edx
jne 0x60905e
mov ebx, ecx
jmp 0x609065
mov ebx, ecx
mov ecx, 0
mov dword [esp + 0xdc], ecx
jne 0x60910f
mov eax, dword [esp + 0xe8]
cmp word [eax + 0x28], 0x303
jb 0x609099
movzx edx, word [ecx + 0xe]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x1c]
mov ebx, dword [ebx + 0x20]
xor esi, esi
jmp 0x6095fb
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
call sym.crypto_tls.legacyTypeAndHashFromPublicKey
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6090c6
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
jmp 0x6093e6
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x94]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x254], eax
add esp, 0x248
ret
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x208], eax
lea eax, [0x66b740]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x210], eax
lea eax, [0x6a6435]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x204]
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 + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x254], eax
add esp, 0x248
ret
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], 0x28
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x94]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x254], eax
add esp, 0x248
ret
mov dword [esp + 0xd8], ebp
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0x204], 0
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x210], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x208], eax
lea eax, [0x66bb60]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x210], eax
lea eax, [0x6a6435]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x204]
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 + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], 0x2a
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x90]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x254], eax
add esp, 0x248
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov byte [esp + 0x67], al
mov dword [esp + 0x70], ecx
lea edi, [esp + 0x104]
mov esi, dword [esp + 0x100]
call fcn.0046f4ae
lea edi, [esp]
lea esi, [esp + 0x104]
call fcn.0046f4ae
mov byte [esp + 0x34], al
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x38], ecx
call sym.crypto_tls.finishedHash.hashForClientCertificate
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xdc]
mov ebp, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
mov edi, dword [ebx + 0x18]
movzx ebx, byte [esp + 0x67]
mov byte [esp], bl
mov ebx, dword [esp + 0x74]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
call sym.crypto_tls.verifyHandshakeSignature
mov eax, dword [esp + 0x28]
test eax, eax
je 0x60955d
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov byte [esp + 4], 0x33
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6a328f]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x32
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], ecx
lea edx, [0x669360]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], ecx
mov ecx, dword [0x899508]
test ecx, ecx
jne 0x609532
mov ecx, dword [esp + 0xa0]
jmp 0x609540
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xa0]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x6f6df8]
mov dword [esp + 0x250], ecx
mov dword [esp + 0x254], eax
add esp, 0x248
ret
lea eax, [0x6f75e4]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
lea eax, [0x6f7070]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc], eax
call sym.crypto_tls.transcriptMsg
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6095e1
nop
mov eax, dword [esp + 0x24c]
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov ecx, dword [0x899508]
test ecx, ecx
je 0x6095bd
mov ecx, dword [eax + 0x40]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 0x40], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x254], 0
add esp, 0x248
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
inc esi
cmp esi, ebx
jge 0x609658
lea edi, [ebp + esi*2]
cmp word [edi], dx
jne 0x6095fa
mov word [esp], dx
call sym.crypto_tls.typeAndHashFromSignatureScheme
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x609627
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x6093e6
mov eax, dword [esp + 0xe8]
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 + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x669360]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3d
lea ecx, [0x6a505f]
mov dword [eax], ecx
lea ecx, [0x6f6df8]
mov dword [esp + 0x250], ecx
mov dword [esp + 0x254], eax
add esp, 0x248
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, dword [esp + 0x24c]
mov edx, dword [eax]
mov dword [esp], edx
lea edx, [0x6f76ec]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea edx, [0x6f7070]
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x10], ebx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6096f2
mov ecx, dword [esp + 0xe0]
jmp 0x608a65
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], ecx
add esp, 0x248
ret
mov dword [edx + ecx*4], ebx
mov ecx, dword [esp + 0xec]
add ecx, 0x14
inc ebp
mov ebx, dword [esp + 0x68]
cmp ebp, eax
jge 0x609774
mov dword [esp + 0xec], ecx
lea edi, [esp + 0xb0]
mov esi, ecx
call fcn.0046f4fe
cmp ebp, ebx
jae 0x6097a2
lea ecx, [ebp + ebp*2]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb0]
mov dword [edx + ecx*4 + 4], esi
mov dword [edx + ecx*4 + 8], edi
mov esi, dword [0x899508]
test esi, esi
je 0x60970b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov esi, dword [edx + ecx*4]
mov dword [edi + 4], esi
jmp 0x60970b
mov eax, dword [esp + 0xe0]
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ebx
mov ecx, dword [0x899508]
test ecx, ecx
je 0x609798
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 0x28]
mov dword [edi + 4], ecx
mov dword [eax + 0x28], edx
mov ecx, eax
jmp 0x6096aa
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._serverHandshakeState_.doFullHandshake