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

Disassembly:
mov ecx, dword [0x647d6c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x4d03ee
sub esp, 0x8c
mov eax, 0
mov dword [esp + 0x88], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0x90]
movzx ecx, byte [eax + 0x50]
mov byte [esp + 0x22], cl
test cl, cl
je 0x4cfc01
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea eax, [0x53f8d8]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x51e740]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
lea eax, [0x569ab8]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
lea ecx, [esp + 0x60]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call sym.go_parser._parser_.printTrace
mov eax, dword [esp + 0x90]
inc dword [eax + 0x54]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea ecx, [sym.go_parser._parser_.parseIndexOrSliceOrInstance.func1]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x88], ecx
mov byte [esp + 0x23], 1
mov dword [esp], eax
mov dword [esp + 4], 0x32
call sym.go_parser._parser_.expect
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0x7c], 0x37
je 0x4cfd37
inc dword [ecx + 0x90]
lea edi, [esp + 0x70]
mov edx, eax
xor eax, eax
call fcn.00465a4a
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0x7c], 0x3a
je 0x4cfc9c
movzx eax, byte [ecx + 0x94]
mov byte [esp + 0x21], al
mov byte [ecx + 0x94], 1
mov dword [esp], ecx
call sym.go_parser._parser_.parseExpr
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x21]
mov ebx, dword [esp + 0x90]
mov byte [ebx + 0x94], dl
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov ecx, ebx
mov edx, dword [esp + 0x30]
mov ebx, dword [ecx + 0x7c]
cmp ebx, 0x34
je 0x4cfcbd
cmp ebx, 0x3a
jne 0x4cfcb0
xor eax, eax
jmp 0x4d0332
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4cff3b
mov eax, dword [esp + 0x70]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x54], ecx
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea edx, [0x524840]
mov dword [esp + 0x10], edx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov edx, dword [0x647e70]
test edx, edx
jne 0x4cfd19
mov edx, dword [esp + 0x54]
jmp 0x4cfd2a
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x54]
mov dword [edi], edx
mov ebx, dword [eax + 4]
mov dword [edi + 4], ebx
mov dword [eax + 4], edx
mov edx, 1
jmp 0x4cfe3e
mov eax, dword [ecx + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x539f51]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call sym.go_parser._parser_.errorExpected
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x28], ecx
mov dword [esp], eax
call sym.go_parser._parser_.next
lea eax, [0x5248a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], ecx
lea edx, [0x52c140]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4cfdbb
mov ecx, dword [esp + 0x98]
jmp 0x4cfdc9
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
lea ecx, [0x56ac64]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4cfdec
mov ecx, dword [esp + 0x50]
jmp 0x4cfdf7
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x50]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x14], ecx
lea ecx, [0x56a9fc]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4cfe31
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov ecx, ebx
mov edx, eax
mov eax, ebp
mov ebx, dword [esp + 0x90]
cmp dword [ebx + 0x7c], 0x34
jne 0x4cff2c
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], eax
mov dword [esp], ebx
call sym.go_parser._parser_.next
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x7c]
cmp ecx, 0x37
je 0x4cff1b
cmp ecx, 1
jne 0x4cfe89
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x48]
jmp 0x4cfe38
mov dword [esp], eax
call sym.go_parser._parser_.parseType
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x38]
cmp ebx, eax
jb 0x4cfeac
mov ebp, dword [esp + 0x48]
jmp 0x4cfef4
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], edx
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x524840]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, eax
mov ebx, edx
mov edx, dword [esp + 0x4c]
mov eax, ecx
mov ecx, dword [esp + 0x54]
lea esi, [ebp + eax*8 - 8]
mov dword [esi], edx
mov edx, dword [0x647e70]
lea esi, [ebp + eax*8 - 4]
test edx, edx
je 0x4cff14
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [esi]
mov dword [edi + 4], edx
mov dword [esi], ecx
jmp 0x4cfe38
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 0x48]
jmp 0x4cfe38
mov ebx, edx
mov ebp, eax
mov esi, ecx
mov ecx, dword [esp + 0x90]
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], ebp
dec dword [ecx + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], 0x37
call sym.go_parser._parser_.expect
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4d0150
cmp ecx, 2
jne 0x4d0053
mov edx, dword [esp + 0x78]
test edx, edx
jne 0x4cffe5
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x54278c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x26
call sym.go_parser._parser_.error
lea eax, [0x5248a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
lea ecx, [0x56ac64]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x80]
test edx, edx
jne 0x4d0053
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5424a5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x25
call sym.go_parser._parser_.error
lea eax, [0x5248a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
lea edx, [0x56ac64]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [0x52fc20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4d0081
mov ecx, dword [esp + 0x98]
jmp 0x4d008f
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
je 0x4d00b5
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
je 0x4d00d4
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x18], ebx
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4d00fb
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jmp 0x4d0109
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
mov dword [eax + 0x20], ebx
sete cl
mov byte [eax + 0x24], cl
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x28], ecx
lea ecx, [0x56acd4]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d0149
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4d0286
cmp ecx, 1
jne 0x4d01d6
lea eax, [0x52c140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4d018f
mov ecx, dword [esp + 0x98]
jmp 0x4d019d
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ebx
mov ebx, dword [0x647e70]
test ebx, ebx
je 0x4d01c4
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x14], ecx
lea ecx, [0x56a9fc]
jmp 0x4d0255
lea eax, [0x52c1c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4d0204
mov ecx, dword [esp + 0x98]
jmp 0x4d0212
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4d023a
mov ecx, dword [esp + 0x48]
jmp 0x4d0245
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x48]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x18], ecx
lea ecx, [0x56aa18]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d027f
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
lea eax, [0x52c140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
jne 0x4d02b4
mov ecx, dword [esp + 0x98]
jmp 0x4d02c2
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x98]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x647e70]
test ecx, ecx
je 0x4d02e8
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x14], ecx
lea ecx, [0x56a9fc]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d0322
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
add esp, 0x8c
ret
lea eax, [edx + 1]
mov ecx, ebx
mov edx, dword [esp + 0x30]
cmp dword [ecx + 0x7c], 0x3a
jne 0x4d03cc
cmp eax, 2
jge 0x4d03cc
jae 0x4d03d7
mov dword [esp + 0x2c], eax
mov edx, dword [ecx + 0x78]
mov dword [esp + eax*4 + 0x40], edx
mov dword [esp], ecx
call sym.go_parser._parser_.next
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x7c]
cmp ecx, 0x3a
je 0x4d03c1
cmp ecx, 0x37
je 0x4d03c1
cmp ecx, 1
je 0x4d03c1
movzx ecx, byte [eax + 0x94]
mov byte [esp + 0x20], cl
mov byte [eax + 0x94], 1
mov dword [esp], eax
call sym.go_parser._parser_.parseExpr
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x20]
mov ebx, dword [esp + 0x90]
mov byte [ebx + 0x94], dl
mov edx, dword [esp + 0x2c]
lea ebp, [esp + edx*8 + 0x78]
mov dword [ebp], eax
lea eax, [esp + edx*8 + 0x7c]
mov dword [eax], ecx
jmp 0x4d0329
mov edx, dword [esp + 0x2c]
mov ebx, eax
jmp 0x4d0329
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4cff3b
mov ecx, 2
call sym.runtime.panicIndex
nop
call sym.runtime.deferreturn
add esp, 0x8c
ret
call sym.runtime.morestack_noctxt
jmp sym.go_parser._parser_.parseIndexOrSliceOrInstance