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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xcc]
cmp eax, dword [ecx + 8]
jbe 0x5180d2
sub esp, 0x14c
movzx eax, byte [esp + 0x154]
cmp al, 0x14
jne 0x517eed
mov ecx, dword [esp + 0x150]
movzx edx, byte [ecx + 0x28]
test dl, dl
jne 0x517e32
jmp 0x516b23
movzx eax, byte [esp + 0x154]
mov ecx, ebx
mov edx, dword [ecx + 0x170]
lea ebx, [ecx + 0x170]
mov dword [esp + 0xb0], ebx
test edx, edx
je 0x517de6
mov eax, dword [ecx + 0x170]
mov dword [esp + 0x84], eax
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
lea edx, [0x60cc40]
mov dword [esp], edx
call dbg.runtime.convI2I
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 0xc], 5
call dbg.crypto/tls.(*block).readFromUntil
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x517d3a
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jbe 0x5180cb
movzx ebx, byte [edx]
movzx ebp, byte [esp + 0x154]
xchg ebp, eax
cmp al, 0x16
xchg ebp, eax
jne 0x516bcc
cmp bl, 0x80
je 0x517c12
cmp ecx, 1
jbe 0x5180c4
movzx esi, byte [edx + 1]
cmp ecx, 2
jbe 0x5180c4
shl esi, 8
movzx edi, byte [edx + 2]
or esi, edi
cmp ecx, 3
jbe 0x5180bd
movzx edi, byte [edx + 3]
cmp ecx, 4
jbe 0x5180bd
shl edi, 8
movzx ecx, byte [edx + 4]
or edi, ecx
mov ecx, dword [esp + 0x150]
movzx edx, byte [ecx + 0x22]
test dl, dl
je 0x516c29
movzx eax, word [ecx + 0x20]
lea ebp, [ecx + 0x20]
cmp si, ax
jne 0x517a25
mov dword [esp + 0x24], edi
cmp edi, 0x4800
jg 0x51788b
mov byte [esp + 0x1f], bl
test dl, dl
je 0x51773d
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x60cc40]
mov dword [esp], eax
call dbg.runtime.convI2I
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x24]
add ecx, 5
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc], ecx
call dbg.crypto/tls.(*block).readFromUntil
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x51763e
mov eax, dword [esp + 0x150]
lea ecx, [eax + 0xa0]
mov dword [esp + 0xac], ecx
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
call dbg.crypto/tls.(*halfConn).splitBlock
mov eax, dword [esp + 0xc]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [0x79b700]
test edx, edx
jne 0x51761f
mov edx, dword [esp + 0x150]
mov dword [edx + 0x170], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.crypto/tls.(*halfConn).decrypt
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
test al, al
je 0x517538
mov eax, dword [esp + 0x88]
mov dword [eax + 0xc], ecx
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 8]
cmp ecx, ebx
ja 0x5180b6
sub ebx, ecx
sub ebp, ecx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
lea ebp, [ecx + edx]
cmp ebx, 0x4000
jg 0x517445
movzx edi, byte [esp + 0x1f]
xchg edi, eax
cmp al, 0x15
xchg edi, eax
ja 0x51728b
xchg edi, eax
cmp al, 0x14
xchg edi, eax
je 0x517148
xchg edi, eax
cmp al, 0x15
xchg edi, eax
jne 0x5170d6
cmp ebx, 2
jne 0x517064
movzx ebx, byte [edx + ecx + 1]
test bl, bl
je 0x517002
movzx ecx, byte [edx + ecx]
cmp cl, 1
jne 0x516e0f
mov ecx, dword [esp + 0xac]
test byte [ecx], al
mov ecx, dword [0x79b700]
lea edx, [eax + 0x10]
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 0xcc]
lea esi, [ebx + 0xcc]
test ecx, ecx
jne 0x516dd6
mov dword [eax + 0x10], ebp
mov dword [ebx + 0xcc], eax
jmp 0x516b19
mov dword [esp + 0xa8], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ebx, dword [esp + 0x150]
jmp 0x516b19
cmp cl, 2
jne 0x516f97
mov byte [esp + 0x1f], bl
lea eax, [0x6266c0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
mov dword [eax + 4], 0xc
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x516f79
lea ecx, [0x647a49]
mov dword [eax], ecx
lea ecx, [0x7583f0]
mov dword [eax + 0x20], ecx
mov ecx, dword [0x79b700]
movzx edx, byte [esp + 0x1f]
movzx edx, dl
lea ebx, [0x75e240]
add edx, ebx
lea ebx, [eax + 0x24]
test ecx, ecx
jne 0x516f61
mov dword [eax + 0x24], edx
mov ecx, dword [esp + 0xac]
test byte [ecx], al
lea edx, [0x757dd0]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], edx
mov edx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test edx, edx
jne 0x516f42
mov dword [ebx + 0xac], eax
mov eax, dword [esp + 0x88]
test eax, eax
je 0x516ee4
test byte [ecx], al
mov ecx, dword [0x79b700]
lea edx, [eax + 0x10]
mov ebp, dword [ebx + 0xcc]
lea esi, [ebx + 0xcc]
test ecx, ecx
jne 0x516f05
mov dword [eax + 0x10], ebp
mov dword [ebx + 0xcc], eax
mov eax, dword [ebx + 0xa8]
mov ecx, dword [ebx + 0xac]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
add esp, 0x14c
ret
mov dword [esp + 0x80], eax
mov dword [esp + 0xa0], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ebx, dword [esp + 0x150]
jmp 0x516ee4
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x516eb5
mov dword [esp], ebx
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xa4]
jmp 0x516e7f
mov dword [esp], eax
lea ecx, [0x647a49]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xa4]
jmp 0x516e52
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test ecx, ecx
jne 0x516fe6
mov dword [ebx + 0xac], edx
mov ecx, eax
jmp 0x516eb5
mov dword [esp], ebp
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x516fdf
mov ecx, dword [esp + 0xac]
test byte [ecx], al
mov edx, dword [0x788940]
mov ebx, dword [0x788944]
mov ebp, dword [esp + 0x150]
mov dword [ebp + 0xa8], edx
mov edx, dword [0x79b700]
lea esi, [ebp + 0xac]
test edx, edx
jne 0x517041
mov dword [ebp + 0xac], ebx
mov ebx, ebp
jmp 0x516ebc
mov dword [esp], esi
mov dword [esp + 4], ebx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0xac]
mov ebp, dword [esp + 0x150]
jmp 0x51703a
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test ecx, ecx
jne 0x5170ba
mov dword [ebx + 0xac], edx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x516ebc
mov dword [esp], ebp
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x5170ac
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test ecx, ecx
jne 0x51712c
mov dword [ebx + 0xac], edx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x516ebc
mov dword [esp], ebp
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x51711e
movzx ebp, byte [esp + 0x154]
xchg edi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg edi, eax
je 0x5171cc
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test ecx, ecx
jne 0x5171b0
mov dword [ebx + 0xac], edx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x516ebc
mov dword [esp], ebp
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x5171a2
cmp ebx, 1
jne 0x51715a
movzx ecx, byte [edx + ecx]
cmp cl, 1
jne 0x51715a
mov eax, dword [esp + 0xac]
mov dword [esp], eax
call dbg.crypto/tls.(*halfConn).changeCipherSpec
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
test eax, eax
je 0x51727b
lea edx, [0x7583f0]
cmp edx, eax
jne 0x518098
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x150]
mov dword [esp], ecx
mov byte [esp + 4], al
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test ecx, ecx
jne 0x51725f
mov dword [ebx + 0xac], edx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x516ebc
mov dword [esp], ebp
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x517251
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x517251
xchg edi, eax
cmp al, 0x16
xchg edi, eax
jne 0x517378
movzx ecx, byte [esp + 0x154]
xchg edi, eax
cmp al, cl
xchg edi, eax
je 0x51736c
mov ecx, dword [esp + 0x150]
movzx edx, byte [ecx + 8]
test dl, dl
je 0x5172f8
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x9c]
test edx, edx
je 0x5172f8
lea eax, [ecx + 0x178]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call dbg.bytes.(*Buffer).Write
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
mov eax, dword [esp + 0x88]
jmp 0x516ebc
mov dword [esp], ecx
mov byte [esp + 4], 0x64
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x150]
mov dword [edx + 0xa8], eax
mov ebx, dword [0x79b700]
lea ebp, [edx + 0xac]
test ebx, ebx
jne 0x51734e
mov dword [edx + 0xac], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
add esp, 0x14c
ret
mov dword [esp + 0x3c], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
jmp 0x517339
mov ecx, dword [esp + 0x150]
jmp 0x5172c4
xchg edi, eax
cmp al, 0x17
xchg edi, eax
jne 0x5170d6
movzx ecx, byte [esp + 0x154]
xchg edi, eax
cmp al, cl
xchg edi, eax
jne 0x5173d3
mov ecx, dword [0x79b700]
mov edx, dword [esp + 0x150]
lea ebx, [edx + 0x174]
test ecx, ecx
jne 0x5173be
mov dword [edx + 0x174], eax
mov ecx, dword [esp + 0xac]
mov ebx, edx
xor eax, eax
jmp 0x516ebc
mov dword [esp], ebx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x150]
jmp 0x5173ae
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x150]
mov dword [ebx + 0xa8], ecx
mov ecx, dword [0x79b700]
lea ebp, [ebx + 0xac]
test ecx, ecx
jne 0x517429
mov dword [ebx + 0xac], edx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x516ebc
mov dword [esp], ebp
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x150]
jmp 0x51741b
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xac]
test byte [eax], al
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
mov edx, dword [0x79b700]
mov ebx, dword [esp + 0x88]
lea ebp, [ebx + 0x10]
mov dword [esp + 0x9c], ebp
mov esi, dword [esp + 0x150]
mov edi, dword [esi + 0xcc]
lea ebp, [esi + 0xcc]
test edx, edx
jne 0x5174f0
mov dword [ebx + 0x10], edi
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xa8], eax
mov edx, dword [0x79b700]
lea ebx, [esi + 0xac]
test edx, edx
jne 0x5174da
mov dword [esi + 0xac], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
add esp, 0x14c
ret
mov dword [esp], ebx
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
jmp 0x5174c5
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x150]
jmp 0x5174a9
mov eax, dword [esp + 0x88]
test byte [eax], al
mov ecx, dword [esp + 0xac]
test byte [ecx], al
mov ecx, dword [0x79b700]
lea ebx, [eax + 0x10]
mov ebp, dword [esp + 0x150]
mov esi, dword [ebp + 0xcc]
lea edi, [ebp + 0xcc]
test ecx, ecx
jne 0x5175dd
mov dword [eax + 0x10], esi
mov dword [ebp + 0xcc], eax
mov dword [esp], ebp
mov byte [esp + 4], dl
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x150]
mov dword [edx + 0xa8], eax
mov ebx, dword [0x79b700]
lea ebp, [edx + 0xac]
test ebx, ebx
jne 0x5175bf
mov dword [edx + 0xac], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
add esp, 0x14c
ret
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], ecx
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
jmp 0x5175aa
mov byte [esp + 0x1e], dl
mov dword [esp + 0x94], edi
mov dword [esp], ebx
mov dword [esp + 4], esi
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
movzx edx, byte [esp + 0x1e]
mov ebp, dword [esp + 0x150]
jmp 0x517573
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x88]
jmp 0x516cf7
mov edx, dword [0x788940]
cmp eax, edx
je 0x5176f8
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x30], eax
lea edx, [0x615760]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call dbg.runtime.assertI2I2
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test al, al
jne 0x5176dd
mov eax, dword [esp + 0x150]
lea ecx, [eax + 0xa0]
test byte [ecx], al
mov ecx, dword [esp + 0x30]
mov dword [eax + 0xa8], ecx
mov edx, dword [0x79b700]
lea ebx, [eax + 0xac]
test edx, edx
jne 0x5176c3
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xac], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
add esp, 0x14c
ret
mov dword [esp], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
jmp 0x5176ae
mov eax, dword [ecx + 0x18]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 4]
test al, al
je 0x51767b
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
jmp 0x5176ae
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x788944]
mov dword [esp + 8], edx
call dbg.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x517730
mov eax, dword [0x788968]
mov ecx, dword [0x78896c]
jmp 0x51764c
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
jmp 0x51764c
cmp bl, 0x15
je 0x51787e
movzx eax, byte [esp + 0x154]
cmp bl, al
jne 0x51775d
cmp si, 0x1000
jb 0x516c45
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x653713]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], 0x2f
lea eax, [esp + 0xf4]
test byte [eax], al
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx + 0x170]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp ebx, 5
jge 0x517874
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call dbg.runtime.memmove
lea edi, [esp + 0xfc]
lea esi, [esp + 0xec]
call fcn.0044c538
lea eax, [0x7583d0]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
call dbg.runtime.convT2I
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x150]
lea ebx, [edx + 0xa0]
test byte [ebx], al
mov dword [edx + 0xa8], ecx
mov ebx, dword [0x79b700]
lea ebp, [edx + 0xac]
test ebx, ebx
jne 0x517856
mov dword [edx + 0xac], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
add esp, 0x14c
ret
mov dword [esp + 0x60], eax
mov dword [esp + 0x34], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
jmp 0x517841
mov ebx, 5
jmp 0x5177d2
movzx eax, byte [esp + 0x154]
jmp 0x517752
mov dword [esp], ecx
mov byte [esp + 4], 0x16
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
lea eax, [0x6043e0]
mov dword [esp], eax
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
call dbg.runtime.convT2E32
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
lea eax, [0x651ccf]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0xb4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call dbg.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xd4]
test byte [eax], al
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx + 0x170]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp ebx, 5
jge 0x517a1b
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call dbg.runtime.memmove
lea edi, [esp + 0x10c]
lea esi, [esp + 0xcc]
call fcn.0044c538
lea eax, [0x7583d0]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
call dbg.runtime.convT2I
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x150]
lea ebx, [edx + 0xa0]
test byte [ebx], al
mov dword [edx + 0xa8], ecx
mov ebx, dword [0x79b700]
lea ebp, [edx + 0xac]
test ebx, ebx
jne 0x5179fd
mov dword [edx + 0xac], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
add esp, 0x14c
ret
mov dword [esp + 0x54], eax
mov dword [esp + 0x38], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
jmp 0x5179e8
mov ebx, 5
jmp 0x517979
mov word [esp + 0x20], si
mov dword [esp + 0x90], ebp
mov dword [esp], ecx
mov byte [esp + 4], 0x46
call dbg.crypto/tls.(*Conn).sendAlert
movzx eax, word [esp + 0x20]
mov word [esp + 0x22], ax
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
lea eax, [0x604d60]
mov dword [esp], eax
lea ecx, [esp + 0x22]
mov dword [esp + 4], ecx
call dbg.runtime.convT2E16
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
lea eax, [0x604d60]
mov dword [esp], eax
call dbg.runtime.convT2E16
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], eax
lea eax, [0x655575]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x12c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call dbg.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xe4]
test byte [eax], al
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx + 0x170]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp edx, 5
jge 0x517c08
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call dbg.runtime.memmove
lea edi, [esp + 0x11c]
lea esi, [esp + 0xdc]
call fcn.0044c538
lea eax, [0x7583d0]
mov dword [esp], eax
lea eax, [esp + 0x11c]
mov dword [esp + 4], eax
call dbg.runtime.convT2I
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x150]
lea ebx, [edx + 0xa0]
test byte [ebx], al
mov dword [edx + 0xa8], eax
mov ebx, dword [0x79b700]
lea ebp, [edx + 0xac]
test ebx, ebx
jne 0x517bea
mov dword [edx + 0xac], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
add esp, 0x14c
ret
mov dword [esp + 0x48], eax
mov dword [esp + 0x70], ecx
mov dword [esp], ebp
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
jmp 0x517bd5
mov edx, 5
jmp 0x517b66
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0x46
call dbg.crypto/tls.(*Conn).sendAlert
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
lea eax, [0x650eca]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0x24
lea eax, [esp + 0xc4]
test byte [eax], al
mov ecx, dword [esp + 0x150]
mov edx, dword [ecx + 0x170]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp ebx, 5
jge 0x517d30
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call dbg.runtime.memmove
lea edi, [esp + 0x13c]
lea esi, [esp + 0xbc]
call fcn.0044c538
lea eax, [0x7583d0]
mov dword [esp], eax
lea eax, [esp + 0x13c]
mov dword [esp + 4], eax
call dbg.runtime.convT2I
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x150]
lea ebx, [edx + 0xa0]
test byte [ebx], al
mov dword [edx + 0xa8], ecx
mov ebx, dword [0x79b700]
lea ebp, [edx + 0xac]
test ebx, ebx
jne 0x517d12
mov dword [edx + 0xac], eax
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], eax
add esp, 0x14c
ret
mov dword [esp + 0x6c], eax
mov dword [esp + 0x50], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x50]
jmp 0x517cfd
mov ebx, 5
jmp 0x517c8e
mov dword [esp + 0x68], eax
mov dword [esp + 0x4c], ecx
lea edx, [0x615760]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dbg.runtime.assertI2I2
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test al, al
jne 0x517dcb
mov eax, dword [esp + 0x150]
lea ecx, [eax + 0xa0]
test byte [ecx], al
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xa8], ecx
mov edx, dword [0x79b700]
lea ebx, [eax + 0xac]
test edx, edx
jne 0x517db1
mov edx, dword [esp + 0x68]
mov dword [eax + 0xac], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edx
add esp, 0x14c
ret
mov dword [esp], ebx
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x68]
jmp 0x517d9c
mov eax, dword [edx + 0x18]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
test al, al
je 0x517d69
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x68]
jmp 0x517d9c
lea eax, [ecx + 0xa0]
mov dword [esp], eax
call dbg.crypto/tls.(*halfConn).newBlock
mov eax, dword [0x79b700]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x517e16
mov eax, dword [esp + 0x150]
mov dword [eax + 0x170], ecx
mov ecx, eax
jmp 0x516b3e
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x150]
jmp 0x517e0f
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
lea eax, [0x60f6c0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov dword [eax + 4], 0x43
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x517ed2
lea ecx, [0x656095]
mov dword [eax], ecx
mov ecx, dword [esp + 0x150]
lea edx, [ecx + 0xa0]
test byte [edx], al
lea edx, [0x757cf0]
mov dword [ecx + 0xa8], edx
mov ebx, dword [0x79b700]
lea ebp, [ecx + 0xac]
test ebx, ebx
jne 0x517eb7
mov dword [ecx + 0xac], eax
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], eax
add esp, 0x14c
ret
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x8c]
lea edx, [0x757cf0]
jmp 0x517ea2
mov dword [esp], eax
lea ecx, [0x656095]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x8c]
jmp 0x517e71
cmp al, 0x16
je 0x516b04
cmp al, 0x17
jne 0x517fcd
mov ecx, dword [esp + 0x150]
movzx edx, byte [ecx + 0x28]
test dl, dl
jne 0x516b23
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
lea eax, [0x60f6c0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov dword [eax + 4], 0x39
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x517fb2
lea ecx, [0x655659]
mov dword [eax], ecx
mov ecx, dword [esp + 0x150]
lea edx, [ecx + 0xa0]
test byte [edx], al
lea edx, [0x757cf0]
mov dword [ecx + 0xa8], edx
mov ebx, dword [0x79b700]
lea ebp, [ecx + 0xac]
test ebx, ebx
jne 0x517f97
mov dword [ecx + 0xac], eax
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], eax
add esp, 0x14c
ret
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x8c]
lea edx, [0x757cf0]
jmp 0x517f82
mov dword [esp], eax
lea ecx, [0x655659]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x8c]
jmp 0x517f51
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0x150]
test byte [eax], al
lea ecx, [0x60f6c0]
mov dword [esp], ecx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov dword [eax + 4], 0x22
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x51807d
lea ecx, [0x650490]
mov dword [eax], ecx
mov ecx, dword [esp + 0x150]
lea edx, [ecx + 0xa0]
test byte [edx], al
lea edx, [0x757cf0]
mov dword [ecx + 0xa8], edx
mov ebx, dword [0x79b700]
lea ebp, [ecx + 0xac]
test ebx, ebx
jne 0x518062
mov dword [ecx + 0xac], eax
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], eax
add esp, 0x14c
ret
mov dword [esp], ebp
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x8c]
lea edx, [0x757cf0]
jmp 0x51804d
mov dword [esp], eax
lea ecx, [0x650490]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x8c]
jmp 0x51801c
mov dword [esp], eax
lea eax, [0x6108e0]
mov dword [esp + 4], eax
lea eax, [0x60c9a0]
mov dword [esp + 8], eax
call dbg.runtime.panicdottypeI
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.crypto/tls.(*Conn).readRecord