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

Disassembly:
mov ecx, dword [0x8ef630]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x5f3031
sub esp, 0x98
mov edx, dword [esp + 0x9c]
movzx ebx, byte [edx + 8]
test bl, bl
je 0x5f2be2
mov ebx, dword [edx + 0x2c]
movzx ebp, byte [ebx + 0x61]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5f2bc5
mov ebx, dword [ebx + 0x84]
test ebx, ebx
je 0x5f2bc5
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx]
test eax, eax
je 0x5f2ba8
mov ebp, 0x3b9aca00
mov ecx, edx
mul ebp
cmp edx, 0x2260f
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg esi, ebx
setg bl
xchg esi, ebx
cmp eax, 0xf9290000
xchg edi, ebx
seta bl
xchg edi, ebx
and ebp, edi
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5f2b5f
mov ebp, dword [ecx + 0x10]
test ebp, ebp
je 0x5f2b34
mov ebp, dword [ebx + 0x20]
test ebp, ebp
je 0x5f2b34
cmp ebp, 0xffffffff
je 0x5f2b34
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x6a0680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2b
lea ecx, [0x6e4d6c]
mov dword [eax], ecx
lea ecx, [0x7423cc]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x98
ret
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], edx
movzx ebp, word [ecx + 0x38]
mov esi, dword [0x8c9d28]
mov edi, dword [0x8c9d2c]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
jmp 0x5f2c3a
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x6a0680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x34
lea ecx, [0x6e7691]
mov dword [eax], ecx
lea ecx, [0x7423cc]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x98
ret
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
mov dword [esp], edx
mov byte [esp + 4], 0xa
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x6a0680]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x6e5c7f]
mov dword [eax], ecx
lea ecx, [0x7423cc]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x98
ret
lea eax, [edx + 1]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x4c]
cmp edx, edi
jge 0x5f2c52
mov eax, dword [esi + edx*4]
cmp word [eax], bp
jne 0x5f2c2b
mov edx, eax
mov eax, dword [esp + 0x3c]
jmp 0x5f2c54
xor edx, edx
test edx, edx
je 0x5f2fe5
mov ebp, dword [ecx + 0x88]
test ebp, ebp
je 0x5f2fe5
mov esi, dword [edx + 0xc]
lea edi, [esi - 1]
cmp edi, 0x13
jae 0x5f3018
mov edi, dword [0x8c99ac]
cmp edi, esi
jbe 0x5f300f
mov eax, dword [ecx + 0x8c]
mov edi, dword [ecx + 0x90]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x48], ecx
mov ebx, dword [ebx + 8]
mov ecx, dword [0x8c99a8]
movzx ecx, byte [ecx + esi]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edi
lea eax, [0x6d69d9]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
call sym.crypto_tls._cipherSuiteTLS13_.expandLabel
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp], ebx
call sym.crypto_tls._Conn_.sessionState
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x24], ecx
mov ecx, dword [0x8ef900]
test ecx, ecx
jne 0x5f2d35
mov ecx, dword [esp + 0x6c]
jmp 0x5f2d46
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov ebx, dword [eax + 0x1c]
mov dword [edi + 4], ebx
mov dword [esp + 0x68], eax
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x9c]
mov ebx, dword [ecx + 0x2c]
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x5f2d64
lea ebx, [0x6f0958]
mov eax, dword [ebx]
mov edx, ebx
call eax
lea edi, [esp + 0x7c]
lea esi, [esp]
call fcn.004721de
lea edi, [esp]
lea esi, [esp + 0x7c]
call fcn.004721de
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
call sym.time.Time.Add
lea edi, [esp + 0x7c]
lea esi, [esp + 0x1c]
call fcn.004721de
lea edi, [esp + 0x54]
lea esi, [esp + 0x7c]
call fcn.004721de
mov eax, dword [esp + 0x58]
nop
test eax, 0x80000000
je 0x5f2de3
mov ecx, dword [esp + 0x54]
shl eax, 1
mov edx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, eax
mov ebx, edx
shl edx, 1
shr ebx, 0x1f
shr ecx, 0x1f
or edx, ecx
add edx, 0xd7b17f80
adc ebx, 0xd
jmp 0x5f2deb
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
add edx, 0x886e0900
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x70], edx
adc ebx, 0xfffffff1
mov dword [ecx + 0x74], ebx
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 4]
mov dword [ecx + 0x78], ebx
mov ebx, dword [esp + 0x9c]
mov ebp, dword [ebx + 0x10]
test ebp, ebp
je 0x5f2e26
cmp dword [edx + 0x20], 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x5f2e28
xor ebp, ebp
xchg ebp, eax
mov byte [ecx + 0xc], al
xchg ebp, eax
mov ebp, dword [edx + 0x18]
mov eax, dword [edx + 0x1c]
mov edx, dword [edx + 0x14]
mov dword [ecx + 0x80], ebp
mov dword [ecx + 0x84], eax
mov ebp, dword [0x8ef900]
test ebp, ebp
je 0x5f2e59
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ecx + 0x7c]
mov dword [edi + 4], ebp
mov dword [ecx + 0x7c], edx
mov edx, dword [ebx + 0x10]
test edx, edx
je 0x5f2f58
movzx edx, byte [edx + 0x120]
test dl, dl
je 0x5f2f58
nop
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.00471cf9
mov dword [esp + 0x7c], 9
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x94], ecx
mov ecx, dword [ebx + 0x10]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x5f2efc
mov dword [esp + 0x78], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6b8960]
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 + 0x78]
mov dword [ebx + 8], eax
mov eax, dword [0x8ef900]
test eax, eax
je 0x5f2ef4
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov dword [ecx + 4], ebx
mov eax, dword [0x8ef900]
imul ecx, ebx, 0x1c
lea edi, [ecx + ebp - 0x1c]
test eax, eax
je 0x5f2f32
mov dword [esp + 0x74], edi
lea eax, [0x6b8960]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
call sym.runtime.wbMove
mov edi, dword [esp + 0x74]
lea esi, [esp + 0x7c]
call fcn.004721ca
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
lea eax, [0x6a0860]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [0x8ef900]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5f2f7a
mov eax, dword [esp + 0x68]
jmp 0x5f2f85
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x68]
mov dword [edi], eax
mov dword [esp + 0x70], ecx
mov dword [ecx], eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
call sym.crypto_tls._Conn_.clientSessionCacheKey
mov eax, dword [esp + 8]
test eax, eax
je 0x5f2fc8
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + 0x84]
mov eax, dword [eax + 0x88]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
call ecx
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x50
call sym.crypto_tls._Conn_.sendAlert
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
add esp, 0x98
ret
mov eax, esi
mov ecx, edi
call sym.runtime.panicIndexU
lea eax, [0x695420]
mov dword [esp], eax
lea eax, [0x741cc0]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._Conn_.handleNewSessionTicket