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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1b4]
cmp eax, dword [ecx + 8]
jbe 0x51d7d8
sub esp, 0x234
xor eax, eax
lea edi, [esp + 0x180]
call fcn.0044c049
mov eax, dword [esp + 0x238]
mov ecx, dword [eax]
mov dword [esp + 0x130], ecx
mov dword [esp], ecx
call dbg.crypto/tls.(*Conn).readHandshake
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x51d73e
lea eax, [0x61b1e0]
cmp eax, ebx
jne 0x51d732
mov ecx, edx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x150], ecx
mov dword [esp + 0xcc], ebx
jne 0x51d6d2
mov ebp, dword [edx + 0x10]
test ebp, ebp
je 0x51d6d2
mov dword [esp], edx
call dbg.crypto/tls.(*certificateMsg).marshal
mov eax, dword [esp + 0x238]
lea ecx, [eax + 0x10]
mov dword [esp + 0x14c], ecx
mov dword [esp], ecx
call dbg.crypto/tls.(*finishedHash).Write
mov eax, dword [esp + 0x130]
mov ecx, dword [eax + 0x2c]
test ecx, ecx
jne 0x51d5e9
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x10]
lea edx, [0x6368a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x124], edx
mov ebx, dword [esp + 0x12c]
mov ebp, dword [ebx + 0x10]
mov dword [esp + 0xa0], ebp
mov esi, dword [ebx + 0xc]
xor edi, edi
jmp 0x51bdb9
mov eax, dword [esp + 0x148]
lea esi, [eax + 0xc]
lea edi, [ecx + 1]
mov eax, dword [esp + 0x98]
mov ecx, ebx
mov edx, ebp
mov ebx, dword [esp + 0x12c]
mov ebp, dword [esp + 0xa0]
cmp edi, ebp
jge 0x51bf34
mov dword [esp + 0x8c], edi
mov dword [esp + 0x148], esi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call dbg.crypto/x509.ParseCertificate
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x51be51
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x94]
cmp ecx, ebx
jae 0x51d7d1
mov ebp, dword [esp + 0x124]
lea esi, [ebp + ecx*4]
mov edi, dword [0x79b700]
test edi, edi
jne 0x51be2b
mov dword [ebp + ecx*4], eax
jmp 0x51bd93
mov dword [esp], esi
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x124]
jmp 0x51bd93
mov dword [esp + 0x114], ecx
mov dword [esp + 0x100], edx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0x100]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x653511]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call dbg.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
lea edx, [0x60f6c0]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x51bf11
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
lea ecx, [0x757cf0]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp + 0x144], eax
mov dword [esp], eax
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x144]
jmp 0x51bef6
mov ebp, dword [esp + 0x130]
mov esi, dword [ebp + 0x24]
movzx edi, byte [esi + 0x4c]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x51d5e2
mov dword [esp], esi
call dbg.crypto/tls.(*Config).time
lea esi, [esp + 4]
lea edi, [esp + 0x16c]
call fcn.0044c52e
lea eax, [0x606ca0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dbg.runtime.makemap
mov eax, dword [esp + 0x14]
mov dword [esp + 0x140], eax
lea ecx, [0x606ca0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call dbg.runtime.makemap
mov eax, dword [esp + 0x14]
mov dword [esp + 0x13c], eax
lea ecx, [0x61d760]
mov dword [esp], ecx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xb0], eax
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x51d5c3
mov ecx, dword [esp + 0x140]
mov dword [eax], ecx
test byte [eax], al
mov ecx, dword [0x79b700]
lea edx, [eax + 4]
test ecx, ecx
jne 0x51d5a4
mov ecx, dword [esp + 0x13c]
mov dword [eax + 4], ecx
lea edi, [esp + 0x19c]
xor eax, eax
call fcn.0044c044
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x1a8], edx
lea edi, [esp + 0x1ac]
lea esi, [esp + 0x16c]
call fcn.0044c52e
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx + 0x24]
mov ebx, dword [edx + 0x40]
mov edx, dword [edx + 0x3c]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ebx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1a4], edx
xor edx, edx
mov ebx, dword [esp + 0x124]
jmp 0x51c095
add ebx, 4
inc edx
xor eax, eax
mov ebp, dword [esp + 0x94]
cmp edx, ebp
jge 0x51c0e5
mov eax, dword [ebx]
test edx, edx
je 0x51c08f
mov dword [esp + 0x88], edx
mov dword [esp + 0x138], ebx
mov ecx, dword [esp + 0x1a4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.crypto/x509.(*CertPool).AddCert
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x138]
mov ebp, dword [esp + 0x94]
jmp 0x51c08f
test ebp, ebp
jbe 0x51d7ca
mov eax, dword [esp + 0x124]
mov ecx, dword [eax]
mov dword [esp], ecx
lea edi, [esp + 4]
lea esi, [esp + 0x19c]
call fcn.0044c4e8
call dbg.crypto/x509.(*Certificate).Verify
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xf0], ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x130]
mov dword [eax + 0x5c], ebx
mov dword [eax + 0x60], edx
mov edx, dword [0x79b700]
lea ebx, [eax + 0x58]
test edx, edx
jne 0x51d57e
mov dword [eax + 0x58], ebp
test ecx, ecx
jne 0x51d54e
mov ecx, dword [eax + 0x24]
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x51d4bd
mov ecx, dword [esp + 0x94]
test ecx, ecx
jbe 0x51d7c3
mov edx, dword [esp + 0x124]
mov ebx, dword [edx]
mov ebx, dword [ebx + 0x50]
test ebx, ebx
je 0x51d424
mov ebp, dword [ebx + 8]
cmp ebp, 0x2fd00e80
jne 0x51d4b2
lea esi, [0x62b800]
cmp esi, ebx
jne 0x51d40e
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0x54], ecx
mov ecx, dword [0x79b700]
lea ebx, [eax + 0x4c]
test ecx, ecx
jne 0x51d3f0
mov dword [eax + 0x4c], edx
mov ecx, dword [esp + 0x238]
mov edx, dword [ecx + 4]
movzx edx, byte [edx + 0x38]
test dl, dl
jne CloseHandle
mov dword [esp], eax
call dbg.crypto/tls.(*Conn).readHandshake
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x51d2a1
mov dword [esp + 0xd0], edx
mov dword [esp + 0xcc], ebx
mov eax, dword [esp + 0x238]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x130]
movzx ebx, word [ecx + 0x20]
mov word [esp], bx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea ebx, [0x61b760]
mov ebp, dword [esp + 0xcc]
cmp ebx, ebp
jne 0x51d297
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe0], ecx
jne 0x51d289
mov dword [esp + 0xdc], edx
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
mov esi, dword [edx + 4]
test ebx, ebx
je SetConsoleCtrlHandler
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call dbg.crypto/tls.(*finishedHash).Write
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x130]
mov ebx, dword [edx + 0x24]
mov ebp, dword [esp + 0x238]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 4]
mov ebp, dword [edx + 0x50]
mov eax, dword [edx + 0x4c]
test ebp, ebp
jbe 0x51d799
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x51d133
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call dbg.crypto/tls.(*Conn).readHandshake
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x51d11e
lea eax, [0x61b260]
cmp eax, ebx
jne reloc.kernel32.dll_SetWaitableTimer
mov eax, edx
mov dword [esp + 0x128], edx
je 0x51d033
xor ecx, ecx
xor ebp, ebp
lea esi, [0x61b660]
cmp esi, ebx
jne 0x51d027
mov edi, eax
jne 0x51cfb2
mov dword [esp + 0x120], ebp
mov byte [esp + 0x5e], cl
lea eax, [0x604e20]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x51d792
mov byte [edx], 0xe
mov ebx, dword [esp + 0x14c]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dbg.crypto/tls.(*finishedHash).Write
movzx eax, byte [esp + 0x5e]
test al, al
jne 0x51cee5
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x130]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x238]
mov ebp, dword [ebx + 8]
mov esi, dword [ecx + 0x50]
mov edi, dword [ecx + 0x4c]
test esi, esi
jbe 0x51d78b
mov ecx, dword [edi]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test ecx, ecx
jne 0x51cea0
mov dword [esp + 0x80], edx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x84], ebp
test esi, esi
je 0x51c4be
mov dword [esp + 0xd8], esi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test edi, edi
je 0x51cd8b
mov edx, dword [esp + 0x14c]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dbg.crypto/tls.(*finishedHash).Write
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
test ecx, ecx
je 0x51cc7b
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call dbg.crypto/tls.(*Conn).writeRecord
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x51cc66
mov ecx, dword [esp + 0x120]
test ecx, ecx
je 0x51c4d4
mov edx, dword [ecx + 4]
test edx, edx
jg 0x51c734
mov eax, dword [esp + 0x238]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x130]
movzx ebp, word [ebx + 0x20]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0xa0], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov word [esp], bp
mov dword [esp + 4], esi
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], eax
call dbg.crypto/tls.masterFromPreMasterSecret
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x238]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], edx
mov ecx, dword [0x79b700]
lea edx, [ebx + 0x44]
test ecx, ecx
jne 0x51c70e
mov dword [ebx + 0x44], eax
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x130]
mov ebp, dword [edx + 0x24]
mov esi, dword [ecx + 0x10]
mov edi, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ebx + 0x48]
mov ebx, dword [ebx + 0x4c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
call dbg.crypto/tls.(*Config).writeKeyLog
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x51c62b
mov eax, dword [esp + 0x14c]
test byte [eax], al
mov eax, dword [esp + 0x238]
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov ecx, dword [0x79b700]
lea edx, [eax + 0x30]
test ecx, ecx
jne 0x51c619
mov dword [eax + 0x30], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x240], 0
add esp, 0x234
ret
mov dword [esp], edx
mov dword [esp + 4], 0
call dbg.runtime.writebarrierptr
jmp 0x51c5fc
mov dword [esp + 0xfc], eax
mov dword [esp + 0x104], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xfc]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x104]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x64ffac]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call dbg.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x60f6c0]
mov dword [esp], edx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x51c6eb
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
lea ecx, [0x757cf0]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp + 0x144], eax
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x144]
jmp 0x51c6d0
mov dword [esp + 0x134], eax
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x238]
jmp 0x51c582
lea edi, [esp + 0x180]
xor eax, eax
call fcn.0044c049
mov ecx, dword [esp + 0x130]
movzx edx, word [ecx + 0x20]
cmp dx, 0x303
setae dl
mov byte [esp + 0x18c], dl
mov edx, dword [esp + 0x120]
mov ebx, dword [edx + 0xc]
mov ebp, dword [edx + 0x10]
lea esi, [0x6107c0]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call dbg.runtime.assertE2I2
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
test cl, cl
je 0x51cbd3
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ebx
mov eax, dword [edx + 0x14]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
test eax, eax
je 0x51cb38
mov ecx, dword [eax + 8]
cmp ecx, 0x2fd00e80
jne 0x51cb1c
lea edx, [0x62b800]
cmp edx, eax
jne 0x51cb1c
mov eax, 3
lea edi, [esp + 0x200]
mov esi, dword [esp + 0x14c]
call fcn.0044c4de
mov ecx, dword [esp + 0x128]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ecx
mov edi, esp
lea esi, [esp + 0x200]
call fcn.0044c4de
mov byte [esp + 0x40], al
call dbg.crypto/tls.finishedHash.selectClientCertSignatureAlgorithm
movzx eax, byte [esp + 0x45]
movzx ecx, byte [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov byte [esp + 0x18d], cl
mov byte [esp + 0x18e], al
test edx, edx
jne 0x51cad7
lea edi, [esp + 0x1cc]
mov esi, dword [esp + 0x14c]
call fcn.0044c4de
movzx eax, byte [esp + 0x18e]
movzx ecx, byte [esp + 0x18d]
mov byte [esp + 0x5f], cl
mov edx, dword [esp + 0x238]
mov ebx, dword [edx + 0x44]
mov ebp, dword [edx + 0x48]
mov edx, dword [edx + 0x4c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], edx
mov edi, esp
lea esi, [esp + 0x1cc]
call fcn.0044c4de
movzx ecx, byte [esp + 0x5f]
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], al
call dbg.crypto/tls.finishedHash.hashForClientCertificate
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x54]
mov esi, ebx
mov ebx, dword [esp + 0x58]
test ebp, ebp
jne 0x51ca92
mov dword [esp + 0x118], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0xa0], esi
mov ebx, dword [esp + 0x130]
mov ebp, dword [ebx + 0x24]
mov edi, dword [ebp]
mov ebp, dword [ebp + 4]
test edi, edi
je 0x51ca81
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x9c], eax
lea ecx, [0x758350]
mov dword [esp], ecx
lea ecx, [esp + 0xa4]
mov dword [esp + 4], ecx
call dbg.runtime.convT2I32
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
call eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
mov dword [esp + 0x190], eax
test ebx, ebx
jne 0x51ca3c
lea eax, [esp + 0x180]
mov dword [esp], eax
call dbg.crypto/tls.(*certificateVerifyMsg).marshal
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
call dbg.crypto/tls.(*finishedHash).Write
lea eax, [esp + 0x180]
mov dword [esp], eax
call dbg.crypto/tls.(*certificateVerifyMsg).marshal
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x130]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call dbg.crypto/tls.(*Conn).writeRecord
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x51c4d4
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], ecx
add esp, 0x234
ret
mov dword [esp + 0xf8], ebx
mov dword [esp + 0x108], ebp
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov edi, dword [0x788840]
mov ebp, dword [0x788844]
jmp 0x51c8f8
mov dword [esp + 0xf8], ebp
mov dword [esp + 0x108], ebx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp + 0xf0], edx
mov dword [esp + 0x10c], ebx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
cmp ecx, 0xcc456746
jne 0x51cb38
lea ecx, [0x5ebda0]
cmp ecx, eax
jne 0x51cb38
mov eax, 1
jmp 0x51c7d8
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x51cb5a
mov eax, dword [eax + 4]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x160], eax
lea eax, [0x656bfd]
mov dword [esp], eax
mov dword [esp + 4], 0x5e
lea eax, [esp + 0x15c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call dbg.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], ecx
add esp, 0x234
ret
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
lea eax, [0x65674b]
mov dword [esp], eax
mov dword [esp + 4], 0x4f
lea eax, [esp + 0x164]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call dbg.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], ecx
add esp, 0x234
ret
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], ecx
add esp, 0x234
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xa0], ecx
lea edx, [0x604e20]
mov dword [esp], edx
lea edx, [ecx + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call dbg.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jbe 0x51d768
mov byte [eax], 0x10
cmp ecx, 1
jbe 0x51d761
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp ecx, 2
jbe 0x51d75a
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp ecx, 3
jbe 0x51d753
mov dword [esp + 0xb8], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], edx
mov byte [eax + 3], bl
lea ebx, [edx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, eax
lea ebp, [ecx - 4]
mov esi, dword [esp + 0xd8]
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
cmp ebp, eax
jle 0x51cd87
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
call dbg.runtime.memmove
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xd8]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x6c]
mov dword [ecx + 8], edx
mov ebx, dword [0x79b700]
test ebx, ebx
jne 0x51cd63
mov ebx, dword [esp + 0xb8]
mov dword [ecx], ebx
mov ecx, ebx
mov edx, eax
mov ebx, dword [esp + 0x6c]
jmp 0x51c48e
mov dword [esp], ecx
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0xb8]
jmp 0x51cd56
mov eax, ebp
jmp 0x51cd1e
mov eax, dword [esi + 0x10]
mov dword [esp + 0xa0], eax
lea ecx, [0x604e20]
mov dword [esp], ecx
lea edx, [eax + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x51d784
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x51d77d
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x51d776
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x51d76f
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0xb4], edx
mov byte [edx + 3], bl
lea ebx, [eax - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, edx
lea ebp, [ecx - 4]
mov esi, dword [esp + 0xd8]
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
cmp ebp, edx
jle 0x51ce9c
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call dbg.runtime.memmove
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xd8]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x70]
mov dword [ecx + 8], edx
mov ebx, dword [0x79b700]
test ebx, ebx
jne 0x51ce71
mov ebx, dword [esp + 0xb4]
mov dword [ecx], ebx
mov eax, edx
mov ecx, dword [esp + 0x60]
mov edi, ebx
jmp 0x51c45c
mov dword [esp], ecx
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0xb4]
jmp 0x51ce64
mov edx, ebp
jmp 0x51ce2c
mov dword [esp + 0x10c], eax
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
lea eax, [0x614c20]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x12c], eax
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], edx
mov edx, dword [0x79b700]
lea ebx, [eax + 0xc]
test edx, edx
jne 0x51cf9a
mov dword [eax + 0xc], ebp
mov dword [esp], eax
call dbg.crypto/tls.(*certificateMsg).marshal
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
call dbg.crypto/tls.(*finishedHash).Write
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call dbg.crypto/tls.(*certificateMsg).marshal
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x130]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call dbg.crypto/tls.(*Conn).writeRecord
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x51c3c6
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x12c]
jmp 0x51cf23
mov dword [esp + 0xd4], eax
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x150], edi
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
lea eax, [0x61b660]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc], eax
call dbg.crypto/tls.unexpectedMessageError
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov edi, eax
mov eax, 0
jmp 0x51c358
mov dword [esp], edx
call dbg.crypto/tls.(*certificateRequestMsg).marshal
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
call dbg.crypto/tls.(*finishedHash).Write
mov eax, dword [esp + 0x238]
mov dword [esp], eax
mov ecx, dword [esp + 0x128]
mov dword [esp + 4], ecx
call dbg.crypto/tls.(*clientHandshakeState).getCertificate
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test ecx, ecx
jne 0x51d0cd
mov dword [esp + 0x120], edx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call dbg.crypto/tls.(*Conn).readHandshake
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x51d0b8
mov eax, edx
mov ecx, 1
mov ebp, dword [esp + 0x120]
mov edx, dword [esp + 0x128]
jmp 0x51c348
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp + 0x10c], eax
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov eax, edx
mov edx, 0
jmp 0x51c337
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp + 0x10c], eax
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0xa0], eax
lea ecx, [0x604e20]
mov dword [esp], ecx
lea ebx, [eax + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call dbg.runtime.makeslice
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jbe 0x51d7b5
mov byte [ecx], 0xc
cmp eax, 1
jbe 0x51d7ae
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [ecx + 1], bl
cmp eax, 2
jbe GetQueuedCompletionStatus
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [ecx + 2], al
xchg ebp, eax
cmp eax, 3
jbe 0x51d7a0
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x74], edx
mov byte [ecx + 3], bl
lea ebx, [edx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, ecx
lea ebp, [eax - 4]
mov esi, dword [esp + 0xdc]
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
cmp ebp, ecx
jle 0x51d285
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
call dbg.runtime.memmove
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xdc]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x74]
mov dword [ecx + 8], edx
mov ebx, dword [0x79b700]
test ebx, ebx
jne FreeEnvironmentStringsW
mov ebx, dword [esp + 0xbc]
mov dword [ecx], ebx
mov esi, eax
mov ebp, edx
jmp 0x51c27d
mov dword [esp], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xbc]
jmp 0x51d251
mov ecx, ebp
jmp GetEnvironmentStringsW
mov edx, dword [esp + 0xd0]
mov ebx, ebp
jmp 0x51c327
mov edx, 0
jmp 0x51c252
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp], eax
call dbg.crypto/tls.(*Conn).readHandshake
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x51d3db
lea eax, [0x61b2e0]
cmp eax, ebx
jne 0x51d3cf
mov ecx, edx
mov dword [esp + 0x11c], edx
jne 0x51d361
mov dword [esp], edx
call dbg.crypto/tls.(*certificateStatusMsg).marshal
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
call dbg.crypto/tls.(*finishedHash).Write
mov eax, dword [esp + 0x11c]
movzx ecx, byte [eax + 0xc]
cmp cl, 1
jne 0x51d358
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0x130]
mov dword [ebx + 0x38], edx
mov dword [ebx + 0x3c], ecx
mov ecx, dword [0x79b700]
lea edx, [ebx + 0x34]
test ecx, ecx
jne 0x51d343
mov dword [ebx + 0x34], eax
mov eax, ebx
jmp 0x51c1e0
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ebx, dword [esp + 0x130]
jmp 0x51d33c
mov ebx, dword [esp + 0x130]
jmp 0x51d33c
mov dword [esp + 0x150], ecx
mov dword [esp + 0xcc], ebx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
lea eax, [0x61b2e0]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc], eax
call dbg.crypto/tls.unexpectedMessageError
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov ecx, edx
mov edx, 0
jmp 0x51d2e6
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp], ebx
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x130]
lea esi, [0x62b800]
jmp 0x51c1ca
cmp ebp, 0xcc456746
jne 0x51d424
lea ebp, [0x5ebda0]
cmp ebp, ebx
je 0x51c1a9
mov dword [esp], eax
mov byte [esp + 4], 0x2b
call dbg.crypto/tls.(*Conn).sendAlert
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
mov ecx, dword [eax + 0x50]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
lea eax, [0x656458]
mov dword [esp], eax
mov dword [esp + 4], 0x48
lea eax, [esp + 0x154]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call dbg.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], ecx
add esp, 0x234
ret
lea esi, [0x62b800]
jmp 0x51d40e
mov ecx, dword [esp + 0x12c]
mov ebx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov esi, dword [eax + 0x60]
mov edi, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x51d509
mov eax, dword [esp + 0x130]
jmp 0x51c169
mov dword [esp + 0x110], eax
mov dword [esp + 0xf4], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call dbg.crypto/tls.(*Conn).sendAlert
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x23c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0xf0]
mov esi, dword [esp + 0x10c]
jmp 0x51c153
mov dword [esp], edx
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xb0]
jmp 0x51c023
mov dword [esp], eax
mov ecx, dword [esp + 0x140]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0xb0]
jmp 0x51c006
mov eax, ebp
jmp 0x51c15b
mov ecx, dword [eax + 0x50]
mov edx, dword [eax + 0x4c]
test ecx, ecx
jbe 0x51d7bc
mov ecx, dword [edx]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
mov ebp, dword [esp + 0x12c]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xc]
test esi, esi
jbe 0x51d7bc
mov eax, dword [ebp + 4]
mov esi, dword [ebp]
mov ebp, dword [ebp + 8]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call dbg.bytes.Equal
movzx eax, byte [esp + 0x18]
test al, al
je 0x51d656
mov eax, dword [esp + 0x130]
lea esi, [0x62b800]
jmp 0x51c1ca
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call dbg.crypto/tls.(*Conn).sendAlert
lea eax, [0x60f6c0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x33
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x51d6b0
lea ecx, [0x654539]
mov dword [eax], ecx
lea ecx, [0x757cf0]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov dword [esp + 0x144], eax
mov dword [esp], eax
lea ecx, [0x654539]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x144]
jmp 0x51d695
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.crypto/tls.(*Conn).sendAlert
lea eax, [0x61b1e0]
mov dword [esp], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc], eax
call dbg.crypto/tls.unexpectedMessageError
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
mov ecx, edx
mov edx, 0
jmp 0x51bce1
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
add esp, 0x234
ret
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicindex
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.(*clientHandshakeState).doFullHandshake