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

Disassembly:
mov ecx, dword [0x8c8664]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x5d34b0
sub esp, 0xe8
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x1c]
mov ebx, dword [eax]
mov dword [esp + 0xa8], ebx
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0xec]
mov ebp, dword [ebx + 0x40]
mov esi, dword [ebx + 0x44]
mov ebp, dword [ebp + 0x14]
mov dword [esp], esi
call ebp
lea eax, [0x66ef60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0xfe
mov word [eax + 1], 0
mov ecx, dword [esp + 0x4c]
mov byte [eax + 3], cl
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 0x40]
mov ebp, dword [edx + 0x44]
mov ebx, dword [ebx + 0x20]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call ebx
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x20]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
test ecx, ecx
je 0x5d272e
mov dword [esp + 0xc0], edx
mov eax, dword [ecx + 4]
lea ecx, [0x883020]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xc0]
mov ebx, dword [eax + 0xc]
lea ebp, [0x7145b8]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call sym.crypto_tls.transcriptMsg
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5d287b
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0xc]
movzx ebx, word [ecx + 0x84]
test bx, bx
jne 0x5d27c4
mov ebx, dword [ecx + 0x78]
test ebx, ebx
jne 0x5d27c4
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
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], 0x39
lea ecx, [0x6bf2f9]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov ebx, dword [ecx + 0x78]
test ebx, ebx
je 0x5d2803
mov ebp, dword [ecx + 0x7c]
mov ecx, dword [ecx + 0x80]
mov edx, dword [eax + 0x10]
mov dword [edx + 0xc0], ebp
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
je 0x5d27fd
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [edx + 0xbc]
mov dword [edi + 4], ecx
mov dword [edx + 0xbc], ebx
mov ecx, dword [eax + 0xc]
movzx ebx, word [ecx + 0x58]
test bx, bx
jne 0x5d282b
movzx ecx, word [ecx + 0x84]
test cx, cx
je 0x5d2894
mov edx, dword [eax + 0x10]
mov ebx, dword [edx + 0x4c]
mov edx, dword [edx + 0x50]
xor ebp, ebp
jmp 0x5d3004
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x32
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], 0x2b
lea ecx, [0x6bbbb9]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov ecx, dword [eax + 0x10]
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov ebx, dword [0x8c87a0]
test ebx, ebx
je 0x5d28b8
mov ebx, dword [ecx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [ecx], 0
mov ecx, dword [eax + 0x10]
mov ebx, dword [ecx + 0xe8]
test ebx, ebx
je 0x5d28e5
mov ebx, dword [eax + 0x18]
movzx ebx, word [ebx + 0x12]
mov ebp, dword [0x882bf0]
mov edx, dword [0x882bf4]
xor esi, esi
jmp 0x5d2c01
mov ecx, dword [eax + 0x10]
movzx edx, byte [ecx + 0xd4]
test dl, dl
je 0x5d29d9
mov byte [ecx + 0xd4], 0
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 0x10]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
inc ebp
nop
mov esi, dword [edx]
cmp ebx, ebp
jae 0x5d2981
mov dword [esp + 0xbc], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x68d700]
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 + 0xbc]
mov dword [ebx + 8], eax
mov eax, dword [0x8c87a0]
test eax, eax
je 0x5d296b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0xec]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0xa8]
mov edx, ebx
mov dword [edx + 4], ebp
mov edx, dword [0x8c87a0]
lea ebx, [ebp + ebp*2]
lea edi, [esi + ebx*8 - 0x18]
test edx, edx
je 0x5d29ce
mov dword [esp + 0xb8], edi
lea eax, [0x68d700]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [0x714708]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0xb8]
lea esi, [0x714708]
call fcn.0046cd74
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
test ecx, ecx
je 0x5d2a11
mov dword [esp + 0xc0], edx
mov eax, dword [ecx + 4]
lea ecx, [0x883040]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xc0]
mov ebx, dword [eax]
mov ebp, dword [eax + 0x10]
mov dword [esp], ebx
lea ebx, [0x7145a0]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call sym.crypto_tls._Conn_.writeHandshakeRecord
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x5d2be7
mov eax, dword [esp + 0xa8]
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 0x5d2bce
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x67fba0]
cmp eax, edx
jne 0x5d2a81
mov ebx, ecx
jmp 0x5d2a88
mov ebx, ecx
mov ecx, 0
jne 0x5d2afa
mov eax, dword [0x8c87a0]
test eax, eax
jne 0x5d2a9d
mov eax, dword [esp + 0xec]
jmp 0x5d2ab1
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0xc]
mov dword [edi + 4], edx
mov dword [eax + 0xc], ecx
mov dword [esp], eax
call sym.crypto_tls._clientHandshakeStateTLS13_.checkServerHelloOrHRR
mov eax, dword [esp + 4]
test eax, eax
je 0x5d2add
mov ecx, dword [esp + 8]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
add esp, 0xe8
ret
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc8], eax
lea eax, [0x67fba0]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xd0], eax
lea eax, [0x6c0bd7]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0xc4]
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 + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
inc esi
cmp esi, edx
jge 0x5d2c10
mov edi, dword [ebp + esi*4]
cmp word [edi], bx
jne 0x5d2c00
jmp 0x5d2c12
xor edi, edi
test edi, edi
je 0x5d2fc9
mov ebx, dword [edi + 0xc]
mov ebp, dword [eax + 0x3c]
cmp dword [ebp + 0xc], ebx
jne 0x5d2f57
mov ecx, dword [esp + 0xa8]
mov ebx, dword [ecx + 0x2c]
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x5d2c40
lea ebx, [0x6c6f60]
mov eax, dword [ebx]
mov edx, ebx
call eax
lea edi, [esp + 0xd4]
lea esi, [esp]
call fcn.0046cd7e
lea edi, [esp + 0x7c]
lea esi, [esp + 0xd4]
call fcn.0046cd7e
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x18]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x5c], ecx
mov ebp, dword [0x881c18]
nop
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0046c89b
mov dword [esp + 0x6c], 0
add ebx, 0x7791f700
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x5c]
adc eax, 0xe
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebp
lea edi, [esp]
lea esi, [esp + 0x7c]
call fcn.0046cd7e
lea edi, [esp + 0x14]
lea esi, [esp + 0x68]
call fcn.0046cd7e
call sym.time.Time.Sub
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xf4240
mov dword [esp + 0xc], 0
call sym.runtime.int64div
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x10]
mov ebx, dword [ecx + 0xe8]
mov ebp, dword [esp + 0x10]
mov esi, dword [eax + 0x18]
add ebp, dword [esi + 0x78]
test ebx, ebx
jbe 0x5d2ffa
mov ecx, dword [ecx + 0xe4]
mov dword [ecx + 0xc], ebp
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + 0xc]
mov dword [esp], ecx
call sym.crypto.Hash.New
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], ecx
lea edx, [0x66ef60]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov byte [eax], 0xfe
mov word [eax + 1], 0
mov ecx, dword [esp + 0x4c]
mov byte [eax + 3], cl
mov edx, dword [esp + 0x40]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x94]
mov dword [esp], edx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5d2dd2
mov ecx, dword [eax + 4]
lea edx, [0x883030]
mov dword [esp], edx
mov dword [esp + 4], ecx
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0xc]
lea ebx, [0x7145b8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
call sym.crypto_tls.transcriptMsg
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5d2f3e
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
call sym.crypto_tls._clientHelloMsg_.marshalWithoutBinders
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5d2f25
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x94]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
mov ebp, dword [eax + 0x30]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x14], ecx
call sym.crypto_tls._cipherSuiteTLS13_.finishedHash
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb4], edx
lea ebx, [0x66fc20]
mov dword [esp], ebx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x5d2ec2
mov ecx, dword [esp + 0xb4]
jmp 0x5d2ed0
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xb4]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 0x10]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call sym.crypto_tls._clientHelloMsg_.updateBinders
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5d2f0c
mov eax, dword [esp + 0xec]
jmp 0x5d28e5
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
mov dword [ecx + 0xe8], 0
mov dword [ecx + 0xec], 0
mov edx, dword [0x8c87a0]
test edx, edx
je 0x5d2f82
mov edx, dword [ecx + 0xe4]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xe4], 0
mov ecx, dword [eax + 0x10]
mov dword [ecx + 0xf4], 0
mov dword [ecx + 0xf8], 0
mov edx, dword [0x8c87a0]
test edx, edx
je 0x5d2fba
mov edx, dword [ecx + 0xf0]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0xf0], 0
jmp 0x5d28e5
mov eax, dword [esp + 0xa8]
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 + 0xf0], eax
mov dword [esp + 0xf4], ecx
add esp, 0xe8
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
inc ebp
cmp ebp, edx
jge 0x5d3460
lea esi, [ebx + ebp*2]
cmp word [esi], cx
jne 0x5d3003
mov word [esp + 0x32], cx
mov edx, dword [eax + 0x14]
mov ebx, dword [edx]
mov dword [esp + 0x38], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x64], edx
lea ebp, [0x714d70]
cmp ebx, ebp
jne 0x5d307c
mov eax, dword [0x881dfc]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5d3068
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, 0x1d
jmp 0x5d3169
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
lea ebp, [0x714d94]
cmp ebx, ebp
jne 0x5d30cf
mov eax, dword [0x881df0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5d30bb
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, 0x17
jmp 0x5d3169
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
lea ebp, [0x714db8]
cmp ebx, ebp
jne 0x5d311f
mov eax, dword [0x881df4]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5d310b
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, 0x18
jmp 0x5d3169
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x38]
lea ebp, [0x714ddc]
cmp ebx, ebp
jne 0x5d3167
mov eax, dword [0x881df8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x5d315b
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
mov edx, 0x19
jmp 0x5d3169
mov eax, dword [esp + 0xec]
movzx ecx, word [esp + 0x32]
xor edx, edx
cmp dx, cx
je 0x5d3410
nop
cmp cx, 0x18
ja 0x5d318a
cmp cx, 0x17
je 0x5d319a
cmp cx, 0x18
je 0x5d319a
jmp 0x5d33c0
cmp cx, 0x19
je 0x5d319a
cmp cx, 0x1d
jne 0x5d33c0
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 0x2c]
mov ebp, dword [ebx]
test ebp, ebp
je 0x5d31af
mov ebx, dword [ebx + 4]
jmp 0x5d31bb
mov ebp, dword [0x8889a8]
mov ebx, dword [0x8889ac]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov word [esp + 8], cx
call sym.crypto_tls.generateECDHEKey
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5d337d
mov eax, dword [0x8c87a0]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x5d31ef
mov eax, dword [esp + 0xec]
jmp 0x5d3203
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 0x14]
mov dword [edi + 4], edx
mov dword [esp + 0x9c], ecx
mov dword [eax + 0x14], ecx
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea edx, [sym.crypto_tls._clientHandshakeStateTLS13_.processHelloRetryRequest._PrivateKey_.PublicKey.func1]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ecx
test byte [ecx], al
lea edx, [ecx + 0x1c]
mov dword [esp], edx
lea edx, [esp + 0xac]
mov dword [esp + 4], edx
call sym.sync._Once_.Do
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x90], eax
lea ecx, [0x66fbe0]
mov dword [esp], ecx
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 0x5d3290
mov ebx, ecx
mov ebp, 0x85
jmp 0x5d32d6
mov dword [esp + 0x58], ecx
mov dword [esp + 0xb4], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x85
mov dword [esp + 0xc], ecx
lea eax, [0x672500]
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 + 0x58]
mov ebp, eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], ecx
mov dword [esp + 0x60], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.memmove
lea eax, [0x66fca0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
movzx ecx, word [esp + 0x32]
mov word [eax], cx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x8c87a0]
test ecx, ecx
jne 0x5d332a
mov ecx, dword [esp + 0x60]
jmp 0x5d3335
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xec]
mov ebx, dword [ecx + 0x10]
mov dword [ebx + 0xcc], 1
mov dword [ebx + 0xd0], 1
mov ebp, dword [0x8c87a0]
test ebp, ebp
je 0x5d3370
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + 0xc8]
mov dword [edi + 4], ebp
mov dword [ebx + 0xc8], eax
mov eax, ecx
jmp 0x5d2894
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 0x48]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x50
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], 0x30
lea ecx, [0x6bd43f]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
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], 0x3b
lea ecx, [0x6bf5ec]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
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], 0x26
lea ecx, [0x6b9ee8]
mov dword [eax], ecx
lea ecx, [0x713830]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
add esp, 0xe8
ret
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._clientHandshakeStateTLS13_.processHelloRetryRequest