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

Disassembly:
mov ecx, dword [0x80b088]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x5d8b9e
sub esp, 0xa4
mov eax, 0
mov dword [esp + 0xa0], eax
mov byte [esp + 0x2a], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov byte [esp + 0xbc], 0
mov eax, dword [esp + 0xa8]
movzx ecx, byte [eax + 0x50]
mov byte [esp + 0x2b], cl
test cl, cl
je 0x5d8248
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
lea eax, [0x63f43e]
mov dword [esp], eax
mov dword [esp + 4], 0xa
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
lea eax, [0x68b650]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
lea ecx, [esp + 0x90]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call sym.github.com_goplus_gop_parser._parser_.printTrace
mov eax, dword [esp + 0xa8]
inc dword [eax + 0x58]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
lea ecx, [sym.github.com_goplus_gop_parser._parser_.parseSimpleStmtEx.func1]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x88]
mov dword [esp + 0xa0], ecx
mov byte [esp + 0x2a], 1
movzx ecx, byte [esp + 0x2b]
movzx edx, byte [esp + 0xb1]
test dl, dl
je 0x5d830f
cmp dword [eax + 0x74], 0x3a
jne 0x5d830f
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov byte [esp + 0xc], 0
mov byte [esp + 0xd], 0
call sym.github.com_goplus_gop_parser._parser_.parseRangeExpr
mov eax, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
lea edx, [0x60aea0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5d82c2
mov ecx, dword [esp + 0x6c]
jmp 0x5d82cd
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [eax + 4], ecx
lea ecx, [0x68dd38]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 1
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d8308
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov dword [esp], eax
movzx ecx, byte [esp + 0xb0]
mov byte [esp + 4], cl
call sym.github.com_goplus_gop_parser._parser_.parseLHSList
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x5c], ebp
cmp ecx, 0x24
jg 0x5d83c6
lea esi, [ecx - 0x17]
cmp esi, 0xa
jbe 0x5d83d4
cmp ecx, 0x24
jne 0x5d85fc
mov esi, dword [esp + 0xac]
cmp esi, 2
jne 0x5d8603
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call sym.github.com_goplus_gop_parser._parser_.parseForPhraseStmtPart
mov eax, dword [esp + 0x10]
lea ecx, [0x68de88]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 1
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d83bf
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
cmp ecx, 0x2a
je 0x5d83d4
cmp ecx, 0x2f
jne 0x5d85fc
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x40], ecx
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.next
mov eax, dword [esp + 0xac]
cmp eax, 2
jne 0x5d84e9
mov eax, dword [esp + 0xa8]
cmp dword [eax + 0x74], 0x4f
jne 0x5d84f0
mov ecx, dword [esp + 0x50]
cmp ecx, 0x2f
je 0x5d8416
cmp ecx, 0x2a
jne 0x5d84f0
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x3c], ecx
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.next
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 1
call sym.github.com_goplus_gop_parser._parser_.parseRHSEx
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x619f00]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax], ecx
mov dword [eax + 4], 0x4f
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5d848b
mov ecx, dword [esp + 0x80]
jmp 0x5d8499
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [esp + 0x7c], eax
mov dword [eax + 0xc], ecx
lea ecx, [0x600580]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x68dc3c]
mov dword [eax], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5d84ca
mov ecx, dword [esp + 0x7c]
jmp 0x5d84d5
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x7c]
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov edx, 1
mov ecx, 1
mov ebx, 1
jmp 0x5d8506
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.parseRHSList
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
xor ebx, ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x58], eax
mov byte [esp + 0x29], bl
lea ebp, [0x620260]
mov dword [esp], ebp
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 8], edx
mov ebx, dword [0x80b220]
test ebx, ebx
jne 0x5d8546
mov ebx, dword [esp + 0x5c]
jmp 0x5d8551
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x5c]
mov dword [edi], ebx
mov dword [eax], ebx
mov ebp, dword [esp + 0x40]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x50]
mov dword [eax + 0x10], ebp
mov esi, dword [esp + 0x2c]
mov dword [eax + 0x18], esi
mov esi, dword [esp + 0x30]
mov dword [eax + 0x1c], esi
mov esi, dword [0x80b220]
test esi, esi
jne 0x5d857f
mov esi, dword [esp + 0x58]
jmp 0x5d858a
call sym.runtime.gcWriteBarrier1
mov esi, dword [esp + 0x58]
mov dword [edi], esi
mov dword [eax + 0x14], esi
cmp ebp, 0x2f
jne 0x5d85b9
mov dword [esp + 0x74], eax
mov ebp, dword [esp + 0xa8]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call sym.github.com_goplus_gop_parser._parser_.shortVarDecl
mov eax, dword [esp + 0x74]
lea ecx, [0x68dd00]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 0x29]
mov byte [esp + 0xbc], al
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d85f5
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov esi, dword [esp + 0xac]
cmp ebx, 1
jle 0x5d8655
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
lea ecx, [0x63ffc0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xc
mov dword [esp + 0x10], 2
call sym.github.com_goplus_gop_parser._parser_.errorExpected
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xac]
mov edx, dword [eax + 0x74]
cmp edx, 0x24
je 0x5d8a82
lea edi, [edx - 0x25]
cmp edi, 1
jbe 0x5d89e3
cmp edx, 0x3a
jne 0x5d8967
movzx edx, byte [esp + 0xb1]
test dl, dl
je 0x5d8739
test ebx, ebx
jbe 0x5d8b88
mov ecx, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
mov byte [esp + 0xd], 0
call sym.github.com_goplus_gop_parser._parser_.parseRangeExpr
mov eax, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
lea edx, [0x60aea0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5d86ec
mov ecx, dword [esp + 0x68]
jmp 0x5d86f7
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax + 4], ecx
lea ecx, [0x68dd38]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 1
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d8732
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.next
mov eax, dword [esp + 0x34]
test eax, eax
jbe 0x5d8b7f
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
lea edx, [0x68dad0]
cmp ecx, edx
jne 0x5d8769
mov ebx, dword [eax + 4]
jmp 0x5d876b
xor ebx, ebx
mov ebp, dword [esp + 0xac]
cmp ebp, 1
jne 0x5d88c6
cmp ecx, edx
jne 0x5d88c6
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
movzx ecx, byte [esp + 0xb0]
mov byte [esp + 4], cl
call sym.github.com_goplus_gop_parser._parser_.parseStmt
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x80], ecx
lea edx, [0x61a780]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [0x80b220]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5d87da
mov eax, dword [esp + 0x70]
jmp 0x5d87e5
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0x70]
mov dword [edi], eax
mov dword [ecx], eax
mov edx, dword [esp + 0x44]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x80]
mov dword [ecx + 8], edx
mov edx, dword [0x80b220]
test edx, edx
jne 0x5d880b
mov edx, dword [esp + 0x84]
jmp 0x5d8819
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x84]
mov dword [edi], edx
mov dword [esp + 0x60], ecx
mov dword [ecx + 0xc], edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa8]
mov edx, dword [eax + 0xc4]
mov dword [esp], eax
lea eax, [0x61a800]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 6
lea eax, [esp + 0x78]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 1
call sym.github.com_goplus_gop_parser._parser_.declare
lea eax, [0x68df4c]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d88bf
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
lea ecx, [0x645083]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x19
call sym.github.com_goplus_gop_parser._parser_.error
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ecx + 0x14]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x4c], eax
lea ecx, [0x610d80]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [eax + 4], ecx
lea ecx, [0x68e09c]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d8960
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
lea eax, [0x60aea0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x34]
test eax, eax
jbe 0x5d8b76
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], ebx
mov ebx, dword [0x80b220]
test ebx, ebx
je 0x5d89a1
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 4], ecx
lea ecx, [0x68dd38]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d89dc
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
lea eax, [0x61aa00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x34]
test eax, eax
jbe 0x5d8b6d
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], edx
mov edx, dword [0x80b220]
test edx, edx
je 0x5d8a1d
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [esp + 0x64], eax
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 0x70]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x74]
mov dword [eax + 0xc], edx
mov dword [esp], ecx
call sym.github.com_goplus_gop_parser._parser_.next
lea eax, [0x68dea4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d8a7b
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
mov ecx, dword [eax + 0x70]
mov dword [esp + 0x48], ecx
mov dword [esp], eax
call sym.github.com_goplus_gop_parser._parser_.next
nop
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov byte [esp + 4], 0
call sym.github.com_goplus_gop_parser._parser_.parseRHSEx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
lea edx, [0x61a900]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 0x34]
test eax, eax
jbe 0x5d8b64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax], ebx
mov ebx, dword [0x80b220]
test ebx, ebx
je 0x5d8af3
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x80b220]
test ecx, ecx
jne 0x5d8b17
mov ecx, dword [esp + 0x54]
jmp 0x5d8b22
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x54]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
lea ecx, [0x68df30]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], 0
movzx eax, byte [esp + 0x2b]
test al, 1
je 0x5d8b5d
and eax, 0xfffffffe
mov byte [esp + 0x2a], al
mov edx, dword [esp + 0xa0]
mov eax, dword [edx]
call eax
add esp, 0xa4
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.deferreturn
add esp, 0xa4
ret
call sym.runtime.morestack_noctxt
jmp sym.github.com_goplus_gop_parser._parser_.parseSimpleStmtEx