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

Disassembly:
mov ecx, dword [0x80b088]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5d2d32
add esp, 0xffffff80
mov eax, 0
mov dword [esp + 0x7c], eax
mov byte [esp + 0x22], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov byte [esp + 0x94], 0
mov eax, dword [esp + 0x84]
movzx ecx, byte [eax + 0x50]
mov byte [esp + 0x23], cl
test cl, cl
je 0x5d2331
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x63e5aa]
mov dword [esp], eax
mov dword [esp + 4], 7
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
lea eax, [0x68b650]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
lea edx, [esp + 0x6c]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call sym.github.com_goplus_gop_parser._parser_.printTrace
mov eax, dword [esp + 0x84]
inc dword [eax + 0x58]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
lea ecx, [sym.github.com_goplus_gop_parser._parser_.parseOperand.func1]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x7c], ecx
mov byte [esp + 0x22], 1
movzx ecx, byte [esp + 0x23]
mov edx, dword [eax + 0x74]
cmp edx, 0x3d
jg 0x5d27f5
cmp edx, 0xa
jle 0x5d25f7
cmp edx, 0x31
jne 0x5d2591
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x34], ecx
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.next
movzx eax, byte [esp + 0x89]
test al, al
je 0x5d23de
mov ecx, dword [esp + 0x84]
cmp dword [ecx + 0x74], 0x36
jne 0x5d23e5
mov dword [esp], ecx
call sym.github.com_goplus_gop_parser._parser_.next
lea eax, [0x62ad60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x70]
mov dword [eax + 0x1c], ecx
lea ecx, [0x68e0b8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], 1
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d23da
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov ecx, dword [esp + 0x84]
inc dword [ecx + 0x9c]
mov dword [esp], ecx
mov byte [esp + 4], 0
call sym.github.com_goplus_gop_parser._parser_.parseRHSOrTypeEx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
movzx eax, byte [esp + 0x89]
test al, al
je 0x5d2489
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x74]
cmp ecx, 0x34
je 0x5d242e
cmp ecx, 0x30
jne 0x5d2490
lea eax, [0x610ae0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 2
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov dword [eax], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x5d2477
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [eax + 4], edx
mov ecx, 2
mov edx, 1
jmp 0x5d2b9a
mov eax, dword [esp + 0x84]
dec dword [eax + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], 0x36
call sym.github.com_goplus_gop_parser._parser_.expect
movzx eax, byte [0x80af3e]
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
test al, al
je 0x5d2514
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x5d24d7
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
lea eax, [0x6439c3]
mov dword [esp], eax
mov dword [esp + 4], 0x15
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.github.com_qiniu_x_log.Printf
lea eax, [0x619b00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov dword [eax + 4], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
je 0x5d254e
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
lea ecx, [0x68db24]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d258d
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
cmp edx, 0x33
jne 0x5d25e9
movzx edx, byte [esp + 0x88]
test dl, dl
jne 0x5d2970
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.parseLiteralValueOrMapComprehension
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d25e5
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
cmp edx, 0x3d
je 0x5d2acb
jmp 0x5d2970
cmp edx, 3
je 0x5d260e
cmp edx, 4
je 0x5d278f
cmp edx, 5
jl 0x5d2970
lea eax, [0x61fee0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x70]
mov dword [eax], edx
mov edx, dword [ecx + 0x74]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x78]
mov dword [eax + 0xc], edx
mov edx, dword [0x80b220]
test edx, edx
je 0x5d264c
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov dword [eax + 8], ebx
cmp dword [ecx + 0x74], 9
jne 0x5d26aa
mov edx, dword [ecx + 0x7c]
cmp edx, 1
jle 0x5d26aa
mov dword [esp + 0x54], eax
mov eax, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym.github.com_goplus_gop_parser._parser_.stringLit
mov eax, dword [0x80b220]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5d268f
mov eax, dword [esp + 0x54]
jmp 0x5d26a0
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x84]
lea edx, [0x68dd70]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
movzx eax, byte [0x80af3e]
test al, al
je 0x5d276a
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov eax, dword [ecx + 0x74]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x625040]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x7c]
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea eax, [0x648966]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.github.com_qiniu_x_log.Printf
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
call sym.github.com_goplus_gop_parser._parser_.next
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d278b
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.parseIdent
mov eax, dword [esp + 4]
lea ecx, [0x68dad0]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
movzx edx, byte [esp + 0x88]
test dl, dl
jne 0x5d27d8
nop
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call sym.github.com_goplus_gop_parser._parser_.tryResolve
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d27f1
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
cmp edx, 0x47
jg 0x5d2858
cmp edx, 0x41
je 0x5d2acb
cmp edx, 0x45
je 0x5d2acb
cmp edx, 0x47
jne 0x5d2970
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.parseFuncTypeOrLit
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d2854
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
cmp edx, 0x49
je 0x5d2acb
cmp edx, 0x4d
je 0x5d28b4
cmp edx, 0x5a
jne 0x5d2970
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.parseEnvExpr
mov eax, dword [esp + 4]
lea ecx, [0x68e048]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d28b0
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0x78]
mov dword [esp + 0x4c], edx
mov ebx, dword [eax + 0x7c]
mov dword [esp + 0x30], ebx
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.next
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x74]
mov ebx, dword [eax + 0x7c]
nop
mov ebp, dword [eax + 0x78]
mov dword [eax + 0x80], ecx
mov dword [eax + 0x84], edx
mov dword [eax + 0x8c], ebx
mov ebx, dword [0x80b220]
test ebx, ebx
je 0x5d2911
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [eax + 0x88]
mov dword [edi + 4], ebx
mov dword [eax + 0x88], ebp
mov ebx, dword [esp + 0x2c]
mov dword [eax + 0x70], ebx
mov dword [eax + 0x74], 0x4d
mov ebp, dword [esp + 0x30]
mov dword [eax + 0x7c], ebp
mov ebp, dword [0x80b220]
test ebp, ebp
jne 0x5d293c
mov ebp, dword [esp + 0x4c]
jmp 0x5d294d
call sym.runtime.gcWriteBarrier2
mov ebp, dword [esp + 0x4c]
mov dword [edi], ebp
mov esi, dword [eax + 0x78]
mov dword [edi + 4], esi
mov dword [eax + 0x78], ebp
cmp edx, 0x32
jne 0x5d2acb
movzx edx, byte [esp + 0x8a]
test dl, dl
je 0x5d2970
lea edx, [ebx + 3]
cmp ecx, edx
jne 0x5d2acb
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.github.com_goplus_gop_parser._parser_.tryIdentOrType
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, 0x1c
je 0x5d29d6
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d29d2
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5d2a20
nop
lea eax, [0x68dad0]
cmp ecx, eax
je 0x5d2b38
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d2a1c
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x28], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x63e5b1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
mov dword [esp + 0x10], 2
call sym.github.com_goplus_gop_parser._parser_.errorExpected
mov eax, dword [0x7e5444]
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.github.com_goplus_gop_parser._parser_.advance
lea eax, [0x610b40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x70]
mov dword [eax + 4], ecx
lea ecx, [0x68e080]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], 0
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d2ac7
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov dword [eax + 0x74], 4
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.parseIdent
mov eax, dword [esp + 4]
lea ecx, [0x68dad0]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
movzx edx, byte [esp + 0x88]
test dl, dl
jne 0x5d2b1b
nop
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call sym.github.com_goplus_gop_parser._parser_.tryResolve
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d2b34
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov dword [esp], 0
lea eax, [0x645773]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1a
lea eax, [0x64506a]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x19
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esi], eax
mov ecx, edx
mov eax, ebp
mov edx, ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x84]
cmp dword [ebx + 0x74], 0x34
jne 0x5d2c65
mov dword [esp], ebx
call sym.github.com_goplus_gop_parser._parser_.next
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov byte [esp + 4], 0
call sym.github.com_goplus_gop_parser._parser_.parseRHSOrTypeEx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
cmp edx, ebx
jb 0x5d2bf6
mov ebp, dword [esp + 0x50]
jmp 0x5d2c3c
mov dword [esp + 0x58], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x610ae0]
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 ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
lea esi, [ebp + ebx*8 - 8]
mov dword [esi], ecx
mov ecx, dword [0x80b220]
lea esi, [ebp + ebx*8 - 4]
test ecx, ecx
je 0x5d2b92
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [esi]
mov dword [edi + 4], ecx
jmp 0x5d2b92
lea eax, [0x62ad60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5d2c9c
mov ecx, dword [esp + 0x50]
jmp 0x5d2ca7
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x50]
mov dword [edi], ecx
mov dword [esp + 0x48], eax
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0x70]
mov dword [eax + 0x1c], edx
cmp dword [ecx + 0x74], 0x30
jne 0x5d2cd6
mov edx, dword [ecx + 0x70]
mov dword [eax + 0x18], edx
mov dword [esp], ecx
call sym.github.com_goplus_gop_parser._parser_.next
mov ecx, dword [esp + 0x84]
dec dword [ecx + 0x9c]
mov dword [esp], ecx
mov dword [esp + 4], 0x36
call sym.github.com_goplus_gop_parser._parser_.expect
lea eax, [0x68e0b8]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov byte [esp + 0x94], 1
movzx eax, byte [esp + 0x23]
test al, 1
je 0x5d2d25
and eax, 0xfffffffe
mov byte [esp + 0x22], al
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
call sym.runtime.morestack_noctxt
jmp sym.github.com_goplus_gop_parser._parser_.parseOperand