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

Disassembly:
mov ecx, dword [0x911770]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x5f5981
sub esp, 0x98
mov edx, dword [esp + 0x9c]
movzx ebx, byte [edx + 8]
test bl, bl
je 0x5f5532
mov ebx, dword [edx + 0x2c]
movzx ebp, byte [ebx + 0x61]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5f5515
mov ebx, dword [ebx + 0x84]
test ebx, ebx
je 0x5f5515
mov ebx, dword [esp + 0xa0]
mov eax, dword [ebx]
test eax, eax
je 0x5f54f8
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 0x5f54af
mov ebp, dword [ecx + 0x10]
test ebp, ebp
je 0x5f5484
mov ebp, dword [ebx + 0x20]
test ebp, ebp
je 0x5f5484
cmp ebp, 0xffffffff
je 0x5f5484
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x6b2a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2b
lea ecx, [0x6f87e8]
mov dword [eax], ecx
lea ecx, [0x75790c]
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 [0x8ebbe8]
mov edi, dword [0x8ebbec]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x40]
jmp 0x5f558a
mov dword [esp], ecx
mov byte [esp + 4], 0x2f
call sym.crypto_tls._Conn_.sendAlert
lea eax, [0x6b2a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x34
lea ecx, [0x6fb220]
mov dword [eax], ecx
lea ecx, [0x75790c]
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, [0x6b2a20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x6f97cf]
mov dword [eax], ecx
lea ecx, [0x75790c]
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 0x5f55a2
mov eax, dword [esi + edx*4]
cmp word [eax], bp
jne 0x5f557b
mov edx, eax
mov eax, dword [esp + 0x3c]
jmp 0x5f55a4
xor edx, edx
test edx, edx
je 0x5f5935
mov ebp, dword [ecx + 0x88]
test ebp, ebp
je 0x5f5935
mov esi, dword [edx + 0xc]
lea edi, [esi - 1]
cmp edi, 0x13
jae 0x5f5968
mov edi, dword [0x8eb8ac]
cmp edi, esi
jbe 0x5f595f
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 [0x8eb8a8]
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, [0x6e9e8f]
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 [0x911a40]
test ecx, ecx
jne 0x5f5685
mov ecx, dword [esp + 0x6c]
jmp 0x5f5696
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 0x5f56b4
lea ebx, [0x704848]
mov eax, dword [ebx]
mov edx, ebx
call eax
lea edi, [esp + 0x7c]
lea esi, [esp]
call fcn.004723fe
lea edi, [esp]
lea esi, [esp + 0x7c]
call fcn.004723fe
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.004723fe
lea edi, [esp + 0x54]
lea esi, [esp + 0x7c]
call fcn.004723fe
mov eax, dword [esp + 0x58]
nop
test eax, 0x80000000
je 0x5f5733
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 0x5f573b
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 0x5f5776
cmp dword [edx + 0x20], 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
jmp 0x5f5778
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 [0x911a40]
test ebp, ebp
je 0x5f57a9
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 0x5f58a8
movzx edx, byte [edx + 0x120]
test dl, dl
je 0x5f58a8
nop
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.00471f19
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 0x5f584c
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, [0x6cb460]
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 [0x911a40]
test eax, eax
je 0x5f5844
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 [0x911a40]
imul ecx, ebx, 0x1c
lea edi, [ecx + ebp - 0x1c]
test eax, eax
je 0x5f5882
mov dword [esp + 0x74], edi
lea eax, [0x6cb460]
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.004723ea
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
add esp, 0x98
ret
lea eax, [0x6b25a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [0x911a40]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5f58ca
mov eax, dword [esp + 0x68]
jmp 0x5f58d5
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 0x5f5918
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, [0x6a6280]
mov dword [esp], eax
lea eax, [0x756e68]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_tls._Conn_.handleNewSessionTicket