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

Disassembly:
mov ecx, dword [0x71d934]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x5293f2
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 0x528c27
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
lea eax, [0x5c1292]
mov dword [esp], eax
mov dword [esp + 4], 0x1b
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x591ae0]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
lea eax, [0x5fa568]
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]
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 0x528d5d
inc dword [ecx + 0x90]
lea edi, [esp + 0x48]
mov edx, eax
xor eax, eax
call fcn.0046f59a
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + 0x7c], 0x3a
je 0x528cc2
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 0x528ce3
cmp ebx, 0x3a
jne 0x528cd6
xor eax, eax
jmp 0x529339
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x528f51
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, [0x59afa0]
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 [0x71da68]
test edx, edx
jne 0x528d3f
mov edx, dword [esp + 0x68]
jmp 0x528d50
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 0x528e54
mov eax, dword [ecx + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5b9686]
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, [0x59b000]
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, [0x5a48c0]
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 [0x71da68]
test ecx, ecx
jne 0x528de5
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x64]
jmp 0x528dfa
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, [0x5fbc3c]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x14], ecx
lea ecx, [0x5fb9e4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x528e47
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 0x528f42
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 0x528f31
cmp ecx, 1
jne 0x528e9f
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
jmp 0x528e4e
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 0x528ec2
mov ebp, dword [esp + 0x60]
jmp 0x528f0a
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, [0x59afa0]
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 [0x71da68]
lea esi, [ebp + eax*8 - 4]
test ecx, ecx
je 0x528f2a
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [esi]
mov dword [edi + 4], ecx
mov dword [esi], edx
jmp 0x528e4e
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x60]
jmp 0x528e4e
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 0x529157
cmp ecx, 2
jne 0x529060
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x528ffb
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5c4e0e]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x26
call sym.go_parser._parser_.error
lea eax, [0x59b000]
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, [0x5fbc3c]
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 0x529060
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x5c49d8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x25
call sym.go_parser._parser_.error
lea eax, [0x59b000]
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, [0x5fbc3c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
mov eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [0x5aa7e0]
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 [0x71da68]
test ecx, ecx
jne 0x52908e
mov ecx, dword [esp + 0x94]
jmp 0x52909c
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 [0x71da68]
test ecx, ecx
je 0x5290c2
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 [0x71da68]
test ecx, ecx
je 0x5290e1
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 [0x71da68]
test ecx, ecx
jne 0x529102
mov ecx, dword [esp + 0x2c]
cmp ecx, 2
jmp 0x529110
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, [0x5fbc9c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x529150
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 0x52928d
cmp ecx, 1
jne 0x5291dd
lea eax, [0x5a48c0]
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 [0x71da68]
test ecx, ecx
jne 0x529196
mov ecx, dword [esp + 0x94]
jmp 0x5291a4
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 [0x71da68]
test ebx, ebx
je 0x5291cb
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, [0x5fb9e4]
jmp 0x52925c
lea eax, [0x5a4940]
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 [0x71da68]
test ecx, ecx
jne 0x52920b
mov ecx, dword [esp + 0x94]
jmp 0x529219
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 [0x71da68]
test ecx, ecx
jne 0x529241
mov ecx, dword [esp + 0x60]
jmp 0x52924c
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, [0x5fb9fc]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x529286
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, [0x5a48c0]
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 [0x71da68]
test ecx, ecx
jne 0x5292bb
mov ecx, dword [esp + 0x94]
jmp 0x5292c9
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 [0x71da68]
test ecx, ecx
je 0x5292ef
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, [0x5fb9e4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x22]
test al, 1
je 0x529329
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 0x5293d0
cmp eax, 2
jge 0x5293d0
jae 0x5293db
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 0x5293c5
cmp ecx, 0x37
je 0x5293c5
cmp ecx, 1
je 0x5293c5
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 0x529330
mov edx, dword [esp + 0x2c]
mov ebx, eax
jmp 0x529330
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x528f51
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