Function at 0x67ca40
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x911770]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x67daa3
sub esp, 0xa8
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0x80]
mov edx, dword [eax + 0x84]
test edx, edx
setg bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebp, esi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x67cad4
mov ebx, dword [0x8f14c8]
mov ebp, dword [0x8f14cc]
mov esi, dword [eax + 0x7c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x7576ec]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call sym.io.CopyN
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x67da55
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], 2
call sym.github.com_gorilla_websocket._Conn_.read
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x67da31
mov ebx, dword [esp + 0xc]
test ebx, ebx
jbe 0x67da99
mov ebp, dword [esp + 8]
movzx esi, byte [ebp]
cmp ebx, 1
jbe 0x67da8d
movzx eax, byte [ebp + 1]
xor ecx, ecx
test cl, cl
je 0x67cb22
mov ebx, eax
mov ebp, dword [esp + 0xac]
jmp 0x67cb3e
mov ebx, eax
and eax, 0x7f
mov ebp, dword [esp + 0xac]
mov dword [ebp + 0x80], eax
mov dword [ebp + 0x84], 0
xchg esi, eax
mov byte [esp + 0x33], al
xchg esi, eax
mov byte [esp + 0x32], bl
mov byte [ebp + 0xb8], 0
xchg esi, eax
test al, 0x40
xchg esi, eax
je 0x67cbe9
mov eax, dword [ebp + 0xbc]
test eax, eax
je 0x67cb73
mov byte [ebp + 0xb8], 1
xor eax, eax
xor edx, edx
xor edi, edi
jmp 0x67cbef
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], 8
mov edx, dword [0x911a40]
test edx, edx
je 0x67cbc3
mov ebx, dword [eax]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x6e964d]
mov dword [eax], ebx
movzx ebx, byte [esp + 0x32]
mov ebp, dword [esp + 0xac]
movzx esi, byte [esp + 0x33]
mov edx, 1
mov edi, eax
mov eax, ecx
xor ecx, ecx
jmp 0x67cbef
xor eax, eax
xor edi, edi
xor edx, edx
xchg esi, eax
test al, 0x20
xchg esi, eax
je 0x67cc74
inc edx
cmp eax, edx
jae 0x67cc3c
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
movzx ebx, byte [esp + 0x32]
mov ebp, dword [esp + 0xac]
movzx esi, byte [esp + 0x33]
lea ecx, [edi + edx*8 - 4]
mov dword [ecx], 8
mov ecx, dword [0x911a40]
lea ebx, [edi + edx*8 - 8]
test ecx, ecx
je 0x67cc65
mov dword [esp + 0x78], edi
mov ecx, dword [ebx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov edi, dword [esp + 0x78]
lea ecx, [0x6e9655]
mov dword [ebx], ecx
xor ecx, ecx
movzx ebx, byte [esp + 0x32]
xchg esi, eax
test al, 0x10
xchg esi, eax
je 0x67cd03
inc edx
cmp eax, edx
jae 0x67ccc5
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
xor ecx, ecx
movzx ebx, byte [esp + 0x32]
mov ebp, dword [esp + 0xac]
movzx esi, byte [esp + 0x33]
lea ecx, [edi + edx*8 - 4]
mov dword [ecx], 8
mov ecx, dword [0x911a40]
lea ebx, [edi + edx*8 - 8]
test ecx, ecx
je 0x67ccf4
mov dword [esp + 0xa4], edi
mov ecx, dword [ebx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov edi, dword [esp + 0xa4]
lea ecx, [0x6e965d]
mov dword [ebx], ecx
xor ecx, ecx
movzx ebx, byte [esp + 0x32]
and esi, 0xf
mov dword [esp + 0x60], esi
movzx ecx, byte [esp + 0x33]
test cl, 0x80
setne bl
mov byte [esp + 0x31], bl
test esi, esi
jne 0x67cdc1
movzx ecx, byte [ebp + 0x88]
test cl, cl
je 0x67cdb6
lea ecx, [edx + 1]
cmp eax, ecx
jae 0x67cd75
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x31]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x60]
lea edx, [edi + ecx*8 - 4]
mov dword [edx], 0x16
mov edx, dword [0x911a40]
lea esi, [edi + ecx*8 - 8]
test edx, edx
je 0x67cda4
mov dword [esp + 0xa0], edi
mov edx, dword [esi]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0xa0]
mov edx, ebx
lea ebx, [0x6eed90]
mov dword [esi], ebx
mov ebx, edx
mov esi, dword [esp + 0x60]
mov edx, ecx
mov byte [ebp + 0x88], bl
jmp 0x67d080
cmp esi, 2
jg 0x67ce6a
movzx ecx, byte [ebp + 0x88]
test cl, cl
jne 0x67ce5f
lea ecx, [edx + 1]
cmp eax, ecx
jae 0x67ce1e
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x31]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x60]
lea edx, [edi + ecx*8 - 4]
mov dword [edx], 0xf
mov edx, dword [0x911a40]
lea esi, [edi + ecx*8 - 8]
test edx, edx
je 0x67ce4d
mov dword [esp + 0xa0], edi
mov edx, dword [esi]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0xa0]
mov edx, ebx
lea ebx, [0x6eba9f]
mov dword [esi], ebx
mov ebx, edx
mov esi, dword [esp + 0x60]
mov edx, ecx
mov byte [ebp + 0x88], bl
jmp 0x67d080
lea ebx, [esi - 8]
cmp ebx, 2
ja 0x67cf93
mov ebx, dword [ebp + 0x84]
cmp dword [ebp + 0x80], 0x7d
xchg esi, ebx
seta bl
xchg esi, ebx
test ebx, ebx
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and esi, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x67cf12
lea ebx, [edx + 1]
cmp eax, ebx
jae 0x67ceda
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x33]
lea ebp, [edi + ebx*8 - 4]
mov dword [ebp], 0x15
mov ebp, dword [0x911a40]
lea esi, [edi + ebx*8 - 8]
test ebp, ebp
jne 0x67cef8
test cl, 0x80
jmp 0x67cf08
mov ebp, dword [esi]
mov edx, edi
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
test cl, 0x80
mov edi, edx
lea ecx, [0x6ee5ce]
mov dword [esi], ecx
jmp 0x67cf17
test cl, 0x80
mov ebx, edx
je 0x67cf1d
mov ecx, ebx
jmp 0x67cf81
lea ecx, [ebx + 1]
cmp eax, ecx
jae 0x67cf52
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
lea ebx, [edi + ecx*8 - 4]
mov dword [ebx], 0x16
mov ebx, dword [0x911a40]
lea ebp, [edi + ecx*8 - 8]
test ebx, ebx
je 0x67cf78
mov ebx, dword [ebp]
mov edx, edi
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov edi, edx
lea esi, [0x6eed7a]
mov dword [ebp], esi
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x60]
mov edx, ecx
jmp 0x67d080
mov dword [esp + 0xa0], edi
mov dword [esp + 0x64], eax
lea eax, [edx + 1]
mov dword [esp + 0x70], eax
mov ecx, esi
sar esi, 0x1f
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], 0xa
call sym.strconv.FormatInt
mov dword [esp], 0
lea eax, [0x6ea376]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
jb 0x67cff9
mov edi, dword [esp + 0xa0]
jmp 0x67d048
mov dword [esp + 0x70], ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, eax
mov edx, ecx
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x70]
lea ebp, [edi + ebx*8 - 4]
mov dword [ebp], ecx
mov ecx, dword [0x911a40]
lea ebp, [edi + ebx*8 - 8]
test ecx, ecx
je 0x67d06e
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebp]
mov dword [edi + 4], esi
mov edi, ecx
mov dword [ebp], eax
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x60]
mov eax, edx
mov edx, ebx
movzx ecx, byte [esp + 0x32]
test cl, 0x80
setne bl
cmp byte [ebp + 8], bl
je 0x67d11a
lea ebx, [edx + 1]
cmp eax, ebx
jae 0x67d0d9
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a6280]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x32]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x60]
lea edx, [edi + ebx*8 - 4]
mov dword [edx], 8
mov edx, dword [0x911a40]
lea esi, [edi + ebx*8 - 8]
test edx, edx
je 0x67d108
mov dword [esp + 0x98], edi
mov edx, dword [esi]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x98]
mov edx, ecx
lea ecx, [0x6e9665]
mov dword [esi], ecx
mov ecx, edx
mov esi, dword [esp + 0x60]
mov edx, ebx
test edx, edx
jne 0x67d9c8
mov eax, dword [ebp + 0x80]
mov ebx, dword [ebp + 0x84]
test ebx, ebx
sete bl
cmp eax, 0x7e
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x67d267
cmp eax, 0x7f
sete al
and eax, ebx
test al, al
jne 0x67d15d
test cl, 0x80
jmp 0x67d2e8
mov dword [esp], ebp
mov dword [esp + 4], 8
call sym.github.com_gorilla_websocket._Conn_.read
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x67d243
mov ecx, dword [esp + 0xc]
cmp ecx, 7
jbe 0x67da83
mov eax, dword [esp + 8]
movzx ecx, byte [eax + 7]
movzx ebx, byte [eax + 6]
mov ebp, ebx
shl ebx, 8
or ecx, ebx
shr ebp, 0x18
movzx ebx, byte [eax + 5]
mov esi, ebx
shr ebx, 0x10
or ebp, ebx
shl esi, 0x10
or esi, ecx
movzx ecx, byte [eax + 4]
mov ebx, ecx
shr ecx, 8
or ecx, ebp
shl ebx, 0x18
movzx ebp, byte [eax + 3]
or ebp, ecx
movzx ecx, byte [eax + 2]
shl ecx, 8
or ebp, ecx
movzx ecx, byte [eax + 1]
shl ecx, 0x10
or ecx, ebp
movzx eax, byte [eax]
shl eax, 0x18
or eax, ecx
or esi, ebx
test eax, eax
jge 0x67d1f5
mov eax, dword [0x8ea340]
mov ecx, dword [0x8ea344]
mov ebx, dword [esp + 0xac]
jmp 0x67d20c
mov ebx, dword [esp + 0xac]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x67d223
movzx eax, byte [esp + 0x32]
test al, 0x80
mov ebp, ebx
mov esi, dword [esp + 0x60]
jmp 0x67d2e8
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov dword [esp], ebp
mov dword [esp + 4], 2
call sym.github.com_gorilla_websocket._Conn_.read
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x67d9a4
mov ecx, dword [esp + 0xc]
cmp ecx, 1
jbe 0x67da79
xor eax, eax
test al, al
je 0x67d2ab
mov eax, dword [0x8ea340]
mov ecx, dword [0x8ea344]
mov ebp, dword [esp + 0xac]
jmp 0x67d2d4
mov ebx, dword [esp + 8]
movzx ebx, word [ebx]
rol bx, 8
movzx ebx, bx
mov ebp, dword [esp + 0xac]
mov dword [ebp + 0x80], ebx
mov dword [ebp + 0x84], 0
xor eax, eax
xor ecx, ecx
test eax, eax
jne 0x67d984
movzx eax, byte [esp + 0x32]
test al, 0x80
mov esi, dword [esp + 0x60]
jne 0x67d2ee
test esi, esi
jmp 0x67d360
mov dword [ebp + 0x9c], 0
mov dword [esp], ebp
mov dword [esp + 4], 4
call sym.github.com_gorilla_websocket._Conn_.read
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x67d960
mov eax, dword [esp + 0xc]
cmp eax, 4
jl 0x67d322
mov eax, 4
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0xac]
lea ebp, [ebx + 0xa0]
cmp ecx, ebp
je 0x67d356
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
test eax, eax
mov ebx, dword [esp + 0xac]
jmp 0x67d35c
mov eax, dword [esp + 0x60]
test eax, eax
mov ebp, ebx
mov esi, eax
je 0x67d370
cmp esi, 1
je 0x67d370
cmp esi, 2
jne 0x67d529
mov eax, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x90]
mov edx, dword [ebp + 0x80]
mov ebx, dword [ebp + 0x84]
add eax, edx
mov dword [ebp + 0x8c], eax
adc ecx, ebx
mov dword [ebp + 0x90], ecx
test ecx, ecx
jl 0x67d4fd
mov edx, dword [ebp + 0x94]
mov ebx, dword [ebp + 0x98]
test ebx, ebx
xchg edi, ebx
setg bl
xchg edi, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, ebp
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x67d4d5
cmp ebx, ecx
setl cl
sete bl
cmp eax, edx
seta al
and ebx, eax
or ecx, ebx
test cl, cl
je 0x67d4d5
lea eax, [0x6a6300]
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
nop
mov word [eax], 0xf103
test eax, eax
je 0x67d41f
call sym.time.Now
lea edi, [esp + 0x80]
lea esi, [esp]
call fcn.004723fe
lea edi, [esp]
lea esi, [esp + 0x80]
call fcn.004723fe
mov dword [esp + 0x14], 0x3b9aca00
mov dword [esp + 0x18], 0
call sym.time.Time.Add
lea edi, [esp + 0x80]
lea esi, [esp + 0x1c]
call fcn.004723fe
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], 8
mov eax, dword [esp + 0x94]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
lea edi, [esp + 0x14]
lea esi, [esp + 0x80]
call fcn.004723fe
call sym.github.com_gorilla_websocket._Conn_.WriteControl
mov eax, dword [0x8ea340]
mov ecx, dword [0x8ea344]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
add esp, 0xa8
ret
mov eax, dword [0x8ea340]
mov ecx, dword [0x8ea344]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov eax, dword [ebp + 0x80]
mov ecx, dword [ebp + 0x84]
test ecx, ecx
sete cl
setg bl
test eax, eax
xchg edi, ebx
seta bl
xchg edi, ebx
and ecx, edi
or ebx, ecx
test bl, bl
jne 0x67d559
xor edx, edx
xor ecx, ecx
xor ebx, ebx
jmp 0x67d5ec
mov dword [esp], ebp
mov dword [esp + 4], eax
call sym.github.com_gorilla_websocket._Conn_.read
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
nop
mov esi, dword [esp + 0xac]
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
test eax, eax
jne 0x67d940
movzx eax, byte [esi + 8]
test al, al
je 0x67d5e6
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0x74], ecx
mov eax, dword [esi + 0xa0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call sym.github.com_gorilla_websocket.maskBytes
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0xac]
mov ebp, esi
mov esi, dword [esp + 0x60]
cmp esi, 8
jne 0x67d844
cmp edx, 2
jge 0x67d608
xor eax, eax
mov ecx, 0x3ed
xor edx, edx
jmp 0x67d6cb
mov dword [esp + 0x74], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ebx
movzx eax, word [ecx]
rol ax, 8
movzx eax, ax
mov dword [esp + 0x5c], eax
mov edx, dword [0x8f12e4]
lea ebx, [0x6a9640]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.mapaccess1_fast32
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
test al, al
jne 0x67d65f
mov eax, dword [esp + 0x5c]
lea ecx, [eax - 0xbb8]
cmp ecx, 0x7cf
ja 0x67d7c6
mov dword [esp], 0
mov eax, dword [esp + 0x58]
add eax, 0xfffffffe
neg eax
sar eax, 0x1f
and eax, 2
mov ecx, dword [esp + 0x74]
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
add eax, 0xfffffffe
mov dword [esp + 8], eax
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.unicode_utf8.ValidString
movzx eax, byte [esp + 8]
test al, al
je 0x67d77d
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x68], edx
mov ebx, dword [ebp + 0xac]
mov ebp, dword [ebx]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov edx, ebx
call ebp
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x67d759
lea eax, [0x6ba120]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [0x911a40]
test ecx, ecx
jne 0x67d725
mov ecx, dword [esp + 0x7c]
jmp 0x67d730
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0xb0], 0xffffffff
lea ecx, [0x757a60]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0xa8
ret
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov eax, dword [esp + 0xac]
mov dword [esp], eax
lea eax, [0x6f548b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x23
call sym.github.com_gorilla_websocket._Conn_.handleProtocolError
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov ecx, eax
sar eax, 0x1f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call sym.strconv.FormatInt
lea eax, [esp + 0x34]
mov dword [esp], eax
lea eax, [0x6ebaae]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xf
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.github.com_gorilla_websocket._Conn_.handleProtocolError
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
cmp esi, 9
je 0x67d8b8
cmp esi, 0xa
jne 0x67d8f8
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xac]
mov edx, dword [eax + 0xa4]
mov eax, dword [edx]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
test eax, eax
jne 0x67d894
mov esi, dword [esp + 0x60]
jmp 0x67d8f8
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xac]
mov edx, dword [eax + 0xa8]
mov eax, dword [edx]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
test eax, eax
jne 0x67d91c
mov esi, dword [esp + 0x60]
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
add esp, 0xa8
ret
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ebp
add esp, 0xa8
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
lea eax, [0x6e883a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call sym.strings.Join
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xac]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.github.com_gorilla_websocket._Conn_.handleProtocolError
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xb0], 0xffffffff
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], ecx
add esp, 0xa8
ret
mov eax, 1
call sym.runtime.panicIndex
mov eax, 7
call sym.runtime.panicIndex
mov eax, 1
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.github.com_gorilla_websocket._Conn_.advanceFrame