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

Disassembly:
mov ecx, dword [0x647d6c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x4de370
sub esp, 0x9c
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
lea eax, [0x568d60]
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 + 0x10]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x48], edx
lea ebx, [0x5269a0]
mov dword [esp], ebx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
call sym.runtime.makemap_small
mov eax, dword [esp]
mov dword [esp + 0x5c], eax
lea edi, [esp + 0x80]
xor eax, eax
call fcn.00465a49
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x8c], ebx
lea ebp, [0x546250]
mov dword [esp + 0x98], ebp
mov eax, dword [eax + 8]
test eax, eax
je 0x4ddc6e
mov dword [esp + 0x98], 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 dword [esp + 0x34], ecx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
xor esi, esi
xor edi, edi
jmp 0x4ddcbe
mov eax, dword [esp + 0x58]
add eax, 0xc
mov ecx, dword [esp + 0x30]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
cmp esi, ecx
jge 0x4de079
mov dword [esp + 0x30], esi
mov dword [esp + 0x58], eax
mov ecx, dword [eax + 8]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
cmp ecx, 2
jg 0x4dde2d
cmp ecx, 1
jne 0x4ddd3f
cmp eax, ebp
ja 0x4de366
cmp esi, eax
ja 0x4de35d
lea ecx, [esp + 0x80]
mov dword [esp], ecx
sub ebp, esi
mov dword [esp + 0x40], ebp
sub eax, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl esi, 3
sar ebp, 0x1f
and esi, ebp
lea ebp, [ebx + esi]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call sym.go_doc_comment._parseDoc_.code
mov eax, dword [esp + 0x10]
lea ecx, [0x56a0d8]
jmp 0x4ddfcc
cmp ecx, 2
jne 0x4de315
cmp esi, edx
jae 0x4de354
lea esi, [ebx + esi*8]
mov edi, dword [esi + 4]
cmp edi, 1
jb 0x4de348
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 + 0x7c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
lea edx, [0x522da0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
lea ecx, [0x51e2a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x56a060]
mov edx, dword [esp + 0x74]
mov dword [edx], ecx
mov ebx, dword [0x647e70]
test ebx, ebx
je 0x4dddf3
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edx + 4], eax
mov ebx, dword [esp + 0x78]
mov dword [ebx + 4], 1
mov dword [ebx + 8], 1
mov ebp, dword [0x647e70]
test ebp, ebp
je 0x4dde1e
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], edx
lea ecx, [0x56a0c4]
mov eax, ebx
jmp 0x4ddfcc
cmp ecx, 3
jne 0x4dde9a
cmp eax, ebp
ja 0x4de33f
cmp esi, eax
ja 0x4de336
mov dword [esp + 0x40], esi
lea ecx, [esp + 0x80]
mov dword [esp], ecx
sub ebp, esi
mov dword [esp + 0x3c], ebp
sub eax, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl esi, 3
sar ebp, 0x1f
and esi, ebp
lea ebp, [ebx + esi]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
cmp edi, eax
setl al
mov byte [esp + 0x10], al
call sym.go_doc_comment._parseDoc_.list
mov eax, dword [esp + 0x14]
lea ecx, [0x56a0ec]
jmp 0x4ddfcc
cmp ecx, 4
jne 0x4ddf6d
cmp esi, edx
jae 0x4de32d
lea eax, [ebx + esi*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 + 0x7c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
lea edx, [0x522da0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
lea ecx, [0x51e2a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x56a060]
mov edx, dword [esp + 0x70]
mov dword [edx], ecx
mov ebx, dword [0x647e70]
test ebx, ebx
je 0x4ddf36
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 4]
mov dword [edi + 4], ebx
mov dword [edx + 4], eax
mov ebx, dword [esp + 0x78]
mov dword [ebx + 4], 1
mov dword [ebx + 8], 1
mov ebp, dword [0x647e70]
test ebp, ebp
je 0x4ddf61
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], edx
lea ecx, [0x56a0c4]
mov eax, ebx
jmp 0x4ddfcc
cmp ecx, 5
jne 0x4de315
cmp eax, ebp
ja 0x4de30c
cmp esi, eax
ja 0x4de303
lea ecx, [esp + 0x80]
mov dword [esp], ecx
sub ebp, esi
mov dword [esp + 0x40], ebp
sub eax, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl esi, 3
sar ebp, 0x1f
and esi, ebp
lea ebp, [ebx + esi]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
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 0x4ddc9c
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 4]
inc esi
mov edi, dword [ebx]
cmp ebp, esi
jae 0x4de04d
mov dword [esp + 0x60], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x2c], ecx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x521cc0]
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 + 0x60]
mov dword [ebx + 8], eax
mov eax, dword [0x647e70]
test eax, eax
je 0x4de03f
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 + 0x54]
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 [0x647e70]
lea ebp, [edi + esi*8 - 4]
test ebx, ebx
je 0x4de071
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], eax
jmp 0x4ddc9c
mov edx, dword [esp + 0x84]
mov ebx, dword [edx]
mov dword [esp + 0x6c], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x34], edx
xor eax, eax
jmp 0x4de094
inc eax
mov ebx, ecx
cmp eax, edx
jge 0x4de18a
lea ebp, [ebx + eax*8]
mov esi, dword [ebp]
test esi, esi
je 0x4de177
mov dword [esp + 0x30], eax
mov ebp, dword [ebp + 4]
lea edi, [0x56a0b0]
cmp esi, edi
jne 0x4de14b
mov esi, dword [ebp + 4]
test esi, esi
jbe 0x4de2fa
mov ecx, dword [ebp]
mov esi, dword [ecx]
lea edi, [0x56a060]
cmp esi, edi
jne 0x4de2de
mov dword [esp + 0x50], ebp
mov eax, dword [ecx + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x80]
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 + 0x50]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x647e70]
test eax, eax
je 0x4de12c
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 + 0x30]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x34]
lea ebx, [0x56a0ec]
lea edi, [0x56a0b0]
jmp 0x4de091
mov ecx, ebx
lea ebx, [0x56a0ec]
cmp esi, ebx
jne 0x4de091
mov esi, dword [ebp]
mov dword [esp + 0x68], esi
mov ebp, dword [ebp + 4]
mov dword [esp + 0x44], ebp
xor ebx, ebx
mov dword [esp + 0x40], ebx
lea ebx, [0x56a0ec]
jmp 0x4de1b8
mov ecx, ebx
lea ebx, [0x56a0ec]
lea edi, [0x56a0b0]
jmp 0x4de091
mov eax, dword [esp + 0x84]
mov dword [esp + 0xac], eax
add esp, 0x9c
ret
lea ecx, [ebx + 1]
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
lea ebx, [0x56a0ec]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
cmp ebx, ebp
jge 0x4de1df
mov ecx, dword [esi + ebx*4]
mov edx, dword [ecx + 8]
mov dword [esp + 0x64], edx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3c], ecx
xor edi, edi
mov dword [esp + 0x38], edi
lea edi, [0x56a0b0]
jmp 0x4de213
lea ebx, [0x56a0ec]
jmp 0x4de091
mov dword [ebx], edx
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
lea edi, [0x56a0b0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
cmp esi, ecx
jge 0x4de19f
lea eax, [edx + esi*8]
mov ebp, dword [eax]
cmp ebp, edi
jne 0x4de2c2
mov ebp, dword [eax + 4]
mov eax, dword [ebp + 4]
test eax, eax
jbe 0x4de2b9
mov eax, dword [ebp]
mov ebx, dword [eax]
lea edi, [0x56a060]
cmp ebx, edi
jne 0x4de29d
mov dword [esp + 0x4c], ebp
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [esp + 0x80]
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 + 0x4c]
mov dword [ebx + 4], eax
mov dword [ebx + 8], ecx
mov eax, dword [0x647e70]
test eax, eax
je 0x4de1ea
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
jmp 0x4de1ea
mov eax, dword [0x56a064]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea eax, [0x521c60]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, dword [0x56a0b4]
mov dword [esp], ebp
mov dword [esp + 4], eax
lea eax, [0x521cc0]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
mov eax, dword [0x56a064]
mov dword [esp], esi
mov dword [esp + 4], eax
lea eax, [0x521c60]
mov dword [esp + 8], eax
call sym.runtime.panicdottypeI
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov ecx, eax
mov eax, esi
call sym.runtime.panicSliceB
mov ecx, eax
mov edx, ebp
call sym.runtime.panicSliceAcap
lea eax, [0x51e740]
mov dword [esp], eax
lea eax, [0x569d90]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, esi
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, eax
mov eax, esi
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, esi
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, eax
mov eax, esi
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