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

Disassembly:
mov ecx, dword [0x673268]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x4d7222
sub esp, 0x88
mov eax, 0
mov dword [esp + 0x84], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x8c]
movzx ecx, byte [eax + 0x50]
mov byte [esp + 0x22], cl
test cl, cl
je 0x4d6a57
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x549352]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x526ec0]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
lea eax, [0x575330]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
lea ecx, [esp + 0x74]
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 + 0x8c]
inc dword [eax + 0x54]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea ecx, [sym.go_parser._parser_.parseIndexOrSliceOrInstance.deferwrap1]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea ecx, [esp + 0x6c]
mov dword [esp + 0x84], 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 + 0x8c]
cmp dword [ecx + 0x7c], 0x37
je 0x4d6b8d
inc dword [ecx + 0x90]
lea edi, [esp + 0x48]
mov edx, eax
xor eax, eax
call fcn.004695aa
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 0x7c], 0x3a
je 0x4d6af2
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 + 0x8c]
mov byte [ebx + 0x94], dl
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov ecx, ebx
mov edx, dword [esp + 0x30]
mov ebx, dword [ecx + 0x7c]
cmp ebx, 0x34
je 0x4d6b13
cmp ebx, 0x3a
jne 0x4d6b06
xor eax, eax
jmp 0x4d7169
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4d6d81
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
mov dword [esp], 0
mov dword [esp + 4], 1
mov dword [esp + 8], 0
mov dword [esp + 0xc], 1
lea edx, [0x52d100]
mov dword [esp + 0x10], edx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov dword [eax], edx
mov edx, dword [0x673320]
test edx, edx
jne 0x4d6b6f
mov edx, dword [esp + 0x68]
jmp 0x4d6b80
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x68]
mov dword [edi], edx
mov ebx, dword [eax + 4]
mov dword [edi + 4], ebx
mov dword [eax + 4], edx
mov edx, 1
jmp 0x4d6c84
mov eax, dword [ecx + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x543832]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call sym.go_parser._parser_.errorExpected
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x28], ecx
mov dword [esp], eax
call sym.go_parser._parser_.next
lea eax, [0x52d160]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], ecx
lea edx, [0x534c40]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d6c15
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x64]
jmp 0x4d6c2a
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov ebx, dword [esp + 0x64]
mov dword [edi + 4], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
lea ecx, [0x576568]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x14], ecx
lea ecx, [0x576300]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d6c77
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
add esp, 0x88
ret
mov ecx, ebx
mov edx, eax
mov eax, ebp
mov ebx, dword [esp + 0x8c]
cmp dword [ebx + 0x7c], 0x34
jne 0x4d6d72
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x60], eax
mov dword [esp], ebx
call sym.go_parser._parser_.next
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x7c]
cmp ecx, 0x37
je 0x4d6d61
cmp ecx, 1
jne 0x4d6ccf
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
jmp 0x4d6c7e
mov dword [esp], eax
call sym.go_parser._parser_.parseType
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
jb 0x4d6cf2
mov ebp, dword [esp + 0x60]
jmp 0x4d6d3a
mov dword [esp + 0x68], edx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x52d100]
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 + 0x68]
mov eax, ecx
mov ecx, dword [esp + 0x44]
lea esi, [ebp + eax*8 - 8]
mov dword [esi], ecx
mov ecx, dword [0x673320]
lea esi, [ebp + eax*8 - 4]
test ecx, ecx
je 0x4d6d5a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], edx
jmp 0x4d6c7e
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
jmp 0x4d6c7e
mov ebx, edx
mov ebp, eax
mov esi, ecx
mov ecx, dword [esp + 0x8c]
xor eax, eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], 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 0x4d6f87
cmp ecx, 2
jne 0x4d6e90
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x4d6e2b
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x54c294]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x26
call sym.go_parser._parser_.error
lea eax, [0x52d160]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
lea ecx, [0x576568]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x58]
test edx, edx
jne 0x4d6e90
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x54bfad]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x25
call sym.go_parser._parser_.error
lea eax, [0x52d160]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
inc ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
lea edx, [0x576568]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [0x538ce0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d6ebe
mov ecx, dword [esp + 0x94]
jmp 0x4d6ecc
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
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 [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x673320]
test ecx, ecx
je 0x4d6ef2
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x673320]
test ecx, ecx
je 0x4d6f11
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 0x18], ebx
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d6f32
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jmp 0x4d6f40
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, [0x5765d8]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d6f80
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
add esp, 0x88
ret
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4d70bd
cmp ecx, 1
jne 0x4d700d
lea eax, [0x534c40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d6fc6
mov ecx, dword [esp + 0x94]
jmp 0x4d6fd4
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x60]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 0xc], ebx
mov ebx, dword [0x673320]
test ebx, ebx
je 0x4d6ffb
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, [0x576300]
jmp 0x4d708c
lea eax, [0x534cc0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d703b
mov ecx, dword [esp + 0x94]
jmp 0x4d7049
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d7071
mov ecx, dword [esp + 0x60]
jmp 0x4d707c
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x60]
mov dword [edi], ecx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x18], ecx
lea ecx, [0x57631c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d70b6
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
add esp, 0x88
ret
lea eax, [0x534c40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x673320]
test ecx, ecx
jne 0x4d70eb
mov ecx, dword [esp + 0x94]
jmp 0x4d70f9
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x94]
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 [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x673320]
test ecx, ecx
je 0x4d711f
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, [0x576300]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d7159
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x84]
mov eax, dword [edx]
call eax
add esp, 0x88
ret
lea eax, [edx + 1]
mov ecx, ebx
mov edx, dword [esp + 0x30]
cmp dword [ecx + 0x7c], 0x3a
jne 0x4d7200
cmp eax, 2
jge 0x4d7200
jae 0x4d720b
mov dword [esp + 0x2c], eax
mov edx, dword [ecx + 0x78]
mov dword [esp + eax*4 + 0x34], edx
mov dword [esp], ecx
call sym.go_parser._parser_.next
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x7c]
cmp ecx, 0x3a
je 0x4d71f5
cmp ecx, 0x37
je 0x4d71f5
cmp ecx, 1
je 0x4d71f5
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 + 0x8c]
mov byte [ebx + 0x94], dl
mov edx, dword [esp + 0x2c]
lea ebp, [esp + edx*8 + 0x50]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
jmp 0x4d7160
mov edx, dword [esp + 0x2c]
mov ebx, eax
jmp 0x4d7160
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4d6d81
mov ecx, 2
call sym.runtime.panicIndex
nop
call sym.runtime.deferreturn
add esp, 0x88
ret
call sym.runtime.morestack_noctxt
jmp sym.go_parser._parser_.parseIndexOrSliceOrInstance