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

Disassembly:
mov ecx, dword [0x674284]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x4d7f02
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 0x4d7737
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x54a41c]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x527f00]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
lea eax, [0x576598]
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 0x4d786d
inc dword [ecx + 0x90]
lea edi, [esp + 0x48]
mov edx, eax
xor eax, eax
call fcn.004695ea
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 0x7c], 0x3a
je 0x4d77d2
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 0x4d77f3
cmp ebx, 0x3a
jne 0x4d77e6
xor eax, eax
jmp 0x4d7e49
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4d7a61
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, [0x52e1a0]
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 [0x674338]
test edx, edx
jne 0x4d784f
mov edx, dword [esp + 0x68]
jmp 0x4d7860
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 0x4d7964
mov eax, dword [ecx + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5448da]
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, [0x52e200]
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, [0x535ce0]
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 [0x674338]
test ecx, ecx
jne 0x4d78f5
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x64]
jmp 0x4d790a
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, [0x5777c8]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x14], ecx
lea ecx, [0x577560]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d7957
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 0x4d7a52
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 0x4d7a41
cmp ecx, 1
jne 0x4d79af
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
jmp 0x4d795e
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 0x4d79d2
mov ebp, dword [esp + 0x60]
jmp 0x4d7a1a
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, [0x52e1a0]
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 [0x674338]
lea esi, [ebp + eax*8 - 4]
test ecx, ecx
je 0x4d7a3a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], edx
jmp 0x4d795e
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
jmp 0x4d795e
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 0x4d7c67
cmp ecx, 2
jne 0x4d7b70
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x4d7b0b
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x54d35e]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x26
call sym.go_parser._parser_.error
lea eax, [0x52e200]
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, [0x5777c8]
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 0x4d7b70
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x54d077]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x25
call sym.go_parser._parser_.error
lea eax, [0x52e200]
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, [0x5777c8]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [0x539d80]
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 [0x674338]
test ecx, ecx
jne 0x4d7b9e
mov ecx, dword [esp + 0x94]
jmp 0x4d7bac
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 [0x674338]
test ecx, ecx
je 0x4d7bd2
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 [0x674338]
test ecx, ecx
je 0x4d7bf1
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 [0x674338]
test ecx, ecx
jne 0x4d7c12
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jmp 0x4d7c20
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, [0x577838]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d7c60
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 0x4d7d9d
cmp ecx, 1
jne 0x4d7ced
lea eax, [0x535ce0]
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 [0x674338]
test ecx, ecx
jne 0x4d7ca6
mov ecx, dword [esp + 0x94]
jmp 0x4d7cb4
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 [0x674338]
test ebx, ebx
je 0x4d7cdb
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, [0x577560]
jmp 0x4d7d6c
lea eax, [0x535d60]
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 [0x674338]
test ecx, ecx
jne 0x4d7d1b
mov ecx, dword [esp + 0x94]
jmp 0x4d7d29
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 [0x674338]
test ecx, ecx
jne 0x4d7d51
mov ecx, dword [esp + 0x60]
jmp 0x4d7d5c
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, [0x57757c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d7d96
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, [0x535ce0]
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 [0x674338]
test ecx, ecx
jne 0x4d7dcb
mov ecx, dword [esp + 0x94]
jmp 0x4d7dd9
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 [0x674338]
test ecx, ecx
je 0x4d7dff
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, [0x577560]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x4d7e39
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 0x4d7ee0
cmp eax, 2
jge 0x4d7ee0
jae 0x4d7eeb
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 0x4d7ed5
cmp ecx, 0x37
je 0x4d7ed5
cmp ecx, 1
je 0x4d7ed5
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 0x4d7e40
mov edx, dword [esp + 0x2c]
mov ebx, eax
jmp 0x4d7e40
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4d7a61
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