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

Disassembly:
mov ecx, dword [0x71d934]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x50b7c2
sub esp, 0xa0
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
lea eax, [0x5f9144]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call sym.strings.genSplit
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.go_doc_comment.unindent
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x24], edx
lea ebx, [0x59caa0]
mov dword [esp], ebx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
call sym.runtime.makemap_small
mov eax, dword [esp]
mov dword [esp + 0x60], eax
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0046f599
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x74], ebx
lea ebp, [0x5c98f0]
mov dword [esp + 0x80], ebp
mov eax, dword [eax + 8]
test eax, eax
je 0x50b0a9
mov dword [esp + 0x80], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.go_doc_comment.parseSpans
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x28]
xor esi, esi
jmp 0x50b0f2
mov edi, dword [esp + 0x9c]
lea eax, [edi + 0xc]
mov edi, dword [esp + 0x4c]
lea ecx, [edi - 1]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x48]
test ecx, ecx
jle 0x50b4bb
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x9c], eax
mov edi, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
cmp edi, 2
jg 0x50b26d
cmp edi, 1
jne 0x50b172
cmp eax, ebp
ja 0x50b7b8
cmp ecx, eax
ja 0x50b7ad
lea edx, [esp + 0x68]
mov dword [esp], edx
sub ebp, ecx
mov dword [esp + 0x44], ebp
sub eax, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl ecx, 3
sar ebp, 0x1f
and ecx, ebp
add ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call sym.go_doc_comment._parseDoc_.code
mov eax, dword [esp + 0x10]
lea ecx, [0x5fb0a0]
jmp 0x50b411
cmp edi, 2
jne 0x50b763
cmp ecx, edx
jae 0x50b7a4
lea esi, [ebx + ecx*8]
mov edi, dword [esi + 4]
cmp edi, 1
jb 0x50b798
mov eax, dword [esi]
lea ecx, [edi - 1]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.strings.TrimSpace
mov eax, dword [esp + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
lea edx, [0x597d40]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
lea ecx, [0x591080]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5fb050]
mov edx, dword [esp + 0x90]
mov dword [edx], ecx
mov ebx, dword [0x71da68]
test ebx, ebx
jne 0x50b231
mov ebx, dword [esp + 0x94]
jmp 0x50b24d
call sym.runtime.gcWriteBarrier4
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edi + 8], edx
mov ebx, dword [esp + 0x94]
mov ebp, dword [ebx]
mov dword [edi + 0xc], ebp
mov dword [edx + 4], eax
mov dword [ebx + 4], 1
mov dword [ebx + 8], 1
mov dword [ebx], edx
lea ecx, [0x5fb090]
mov eax, ebx
jmp 0x50b411
cmp edi, 3
jne 0x50b2d6
cmp eax, ebp
ja 0x50b78f
cmp ecx, eax
ja 0x50b784
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x68]
mov dword [esp], edx
sub ebp, ecx
mov dword [esp + 0x40], ebp
sub eax, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl ecx, 3
sar ebp, 0x1f
and ecx, ebp
add ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
cmp esi, eax
setl al
mov byte [esp + 0x10], al
call sym.go_doc_comment._parseDoc_.list
mov eax, dword [esp + 0x14]
lea ecx, [0x5fb0b0]
jmp 0x50b411
cmp edi, 4
jne 0x50b3b6
cmp ecx, edx
jae 0x50b77b
lea eax, [ebx + ecx*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.strings.TrimSpace
mov eax, dword [esp + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
lea edx, [0x597d40]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
lea ecx, [0x591080]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5fb050]
mov edx, dword [esp + 0x90]
mov dword [edx], ecx
mov ebx, dword [0x71da68]
test ebx, ebx
jne 0x50b37d
mov ebx, dword [esp + 0x94]
jmp 0x50b399
call sym.runtime.gcWriteBarrier4
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edi + 8], edx
mov ebx, dword [esp + 0x94]
mov ebp, dword [ebx]
mov dword [edi + 0xc], ebp
mov dword [edx + 4], eax
mov dword [ebx + 4], 1
mov dword [ebx + 8], 1
mov dword [ebx], edx
lea ecx, [0x5fb090]
mov eax, ebx
jmp 0x50b411
cmp edi, 5
jne 0x50b763
cmp eax, ebp
ja 0x50b75a
cmp ecx, eax
ja 0x50b74f
lea edx, [esp + 0x68]
mov dword [esp], edx
sub ebp, ecx
mov dword [esp + 0x44], ebp
sub eax, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl ecx, 3
sar ebp, 0x1f
and ecx, ebp
add ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
call sym.go_doc_comment._parseDoc_.paragraph
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, ecx
mov ecx, eax
mov eax, edx
test ecx, ecx
je 0x50b0d1
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
inc esi
mov edi, dword [ebx]
cmp ebp, esi
jae 0x50b48f
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x64], ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x596a00]
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 + 0x64]
mov dword [ebx + 8], eax
mov eax, dword [0x71da68]
test eax, eax
je 0x50b481
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, dword [esp + 0x5c]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebx + 4], esi
lea ebx, [edi + esi*8 - 8]
mov dword [ebx], ecx
mov ebx, dword [0x71da68]
lea ebp, [edi + esi*8 - 4]
test ebx, ebx
je 0x50b4b3
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], eax
jmp 0x50b0d1
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx]
mov dword [esp + 0x8c], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x4c], edx
xor eax, eax
jmp 0x50b4d4
inc eax
cmp eax, edx
jge 0x50b5e0
lea ebp, [ebx + eax*8]
mov esi, dword [ebp]
test esi, esi
je 0x50b5d5
mov dword [esp + 0x48], eax
mov edi, dword [esi + 8]
mov ebp, dword [ebp + 4]
cmp edi, 0x75d58ed2
jne 0x50b59f
lea edi, [0x5faf30]
cmp esi, edi
jne 0x50b594
mov esi, dword [ebp + 4]
test esi, esi
jbe 0x50b746
mov ecx, dword [ebp]
mov esi, dword [ecx]
lea edi, [0x5fb050]
cmp esi, edi
jne 0x50b72a
mov dword [esp + 0x58], ebp
mov eax, dword [ecx + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.go_doc_comment._parseDoc_.parseLinkedText
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x58]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x71da68]
test eax, eax
je 0x50b578
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x8c]
lea edi, [0x5fb0b0]
jmp 0x50b4d3
lea edi, [0x5fb0b0]
jmp 0x50b4d3
cmp edi, 0xf9a28666
jne 0x50b5ca
lea edi, [0x5fb0b0]
cmp esi, edi
jne 0x50b4d3
mov esi, dword [ebp]
mov dword [esp + 0x88], esi
mov ebp, dword [ebp + 4]
mov dword [esp + 0x44], ebp
xor ecx, ecx
jmp 0x50b604
lea edi, [0x5fb0b0]
jmp 0x50b4d3
lea edi, [0x5fb0b0]
jmp 0x50b4d3
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb0], eax
add esp, 0xa0
ret
inc ecx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x8c]
lea edi, [0x5fb0b0]
cmp ecx, ebp
jge 0x50b4d3
mov dword [esp + 0x40], ecx
mov edi, dword [esi + ecx*4]
mov ebx, dword [edi + 8]
mov dword [esp + 0x84], ebx
mov edi, dword [edi + 0xc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
jmp 0x50b661
mov dword [ebx], edx
mov eax, dword [esp + 0x38]
inc eax
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x88]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
cmp edx, edi
jge 0x50b5f2
lea eax, [ebx + edx*8]
mov esi, dword [eax]
lea ebp, [0x5faf30]
cmp esi, ebp
jne 0x50b70e
mov esi, dword [eax + 4]
mov eax, dword [esi + 4]
test eax, eax
jbe 0x50b705
mov eax, dword [esi]
mov ecx, dword [eax]
lea ebp, [0x5fb050]
cmp ecx, ebp
jne 0x50b6e9
mov dword [esp + 0x54], esi
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x68]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.go_doc_comment._parseDoc_.parseLinkedText
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x54]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x71da68]
test eax, eax
je 0x50b634
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
jmp 0x50b634
mov eax, dword [0x5fb054]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5969a0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, dword [0x5faf34]
mov dword [esp], esi
mov dword [esp + 4], eax
lea eax, [0x596a00]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
mov eax, dword [0x5fb054]
mov dword [esp], esi
mov dword [esp + 4], eax
lea eax, [0x5969a0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov edx, eax
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, eax
mov edx, ebp
call sym.runtime.panicSliceAcap
lea eax, [0x591ae0]
mov dword [esp], eax
lea eax, [0x5fa9f8]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, ecx
mov ecx, edx
call sym.runtime.panicIndex
mov edx, eax
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, eax
mov edx, ebp
call sym.runtime.panicSliceAcap
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
mov eax, ecx
mov ecx, edx
call sym.runtime.panicIndex
mov edx, eax
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, eax
mov edx, ebp
call sym.runtime.panicSliceAcap
nop
call sym.runtime.morestack_noctxt
jmp sym.go_doc_comment._Parser_.Parse