Function at 0x4d5910
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 0x4d5e31
sub esp, 0x34
mov eax, 0
mov dword [esp + 0x30], eax
mov byte [esp + 0x17], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x38]
movzx ecx, byte [eax + 0x50]
mov byte [esp + 0x16], cl
test cl, cl
je 0x4d5a12
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
lea eax, [0x640a92]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x601a80]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
lea eax, [0x68b650]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
lea ecx, [esp + 0x20]
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 + 0x38]
inc dword [eax + 0x54]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
lea ecx, [sym.go_parser._parser_.parseParamDecl.func1]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], ecx
mov byte [esp + 0x17], 1
movzx ecx, byte [esp + 0x16]
mov ebx, dword [eax + 0x7c]
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x4d5a2b
mov dword [eax + 0x7c], 4
movzx esi, byte [esp + 0x40]
jmp 0x4d5aa0
movzx esi, byte [esp + 0x40]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d5aa0
cmp ebx, 0x58
jne 0x4d5aa0
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.go_parser._parser_.embeddedElem
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
movzx eax, byte [esp + 0x16]
test al, 1
je 0x4d5a9c
and eax, 0xfffffffe
mov byte [esp + 0x17], al
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
mov edi, dword [eax + 0x7c]
cmp edi, 0x30
jg 0x4d5d43
cmp edi, 0xe
jg 0x4d5cfe
cmp edi, 4
jne 0x4d5cf4
test ebp, ebp
je 0x4d5acb
mov dword [esp + 0x44], ebp
mov dword [eax + 0x7c], ebx
jmp 0x4d5ae9
mov dword [esp], eax
call sym.go_parser._parser_.parseIdent
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x16]
movzx esi, byte [esp + 0x40]
mov ebx, dword [eax + 0x7c]
cmp ebx, 0x31
jg 0x4d5bc1
cmp ebx, 0x12
jg 0x4d5b6e
cmp ebx, 4
je 0x4d5c71
cmp ebx, 0xe
je 0x4d5c71
cmp ebx, 0x12
jne 0x4d5dd3
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d5dd3
mov ecx, dword [esp + 0x44]
mov dword [esp], eax
lea eax, [0x68d440]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.go_parser._parser_.embeddedElem
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], 0
movzx eax, byte [esp + 0x16]
test al, 1
je 0x4d5b6a
and eax, 0xfffffffe
mov byte [esp + 0x17], al
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
cmp ebx, 0x24
je 0x4d5c71
cmp ebx, 0x30
je 0x4d5b8a
cmp ebx, 0x31
je 0x4d5c71
jmp 0x4d5dd3
mov dword [esp], eax
call sym.go_parser._parser_.parseDotsType
mov eax, dword [esp + 4]
lea ecx, [0x68d948]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x16]
test al, 1
je 0x4d5bbd
and eax, 0xfffffffe
mov byte [esp + 0x17], al
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
cmp ebx, 0x3f
jg 0x4d5c58
cmp ebx, 0x32
je 0x4d5c1d
cmp ebx, 0x35
je 0x4d5be2
cmp ebx, 0x3f
je 0x4d5c71
jmp 0x4d5dd3
mov ecx, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.go_parser._parser_.parseQualifiedIdent
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x16]
movzx esi, byte [esp + 0x40]
jmp 0x4d5dd3
mov ecx, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.go_parser._parser_.parseArrayFieldOrTypeInstance
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x16]
movzx esi, byte [esp + 0x40]
jmp 0x4d5dd3
cmp ebx, 0x4d
jg 0x4d5c6c
cmp ebx, 0x47
je 0x4d5c71
cmp ebx, 0x4c
jge 0x4d5c71
jmp 0x4d5dd3
cmp ebx, 0x52
jne 0x4d5c9c
mov dword [esp], eax
call sym.go_parser._parser_.parseType
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x16]
movzx esi, byte [esp + 0x40]
jmp 0x4d5dd3
cmp ebx, 0x58
jne 0x4d5dd3
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d5dd3
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym.go_parser._parser_.embeddedElem
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
movzx eax, byte [esp + 0x16]
test al, 1
je 0x4d5cf0
and eax, 0xfffffffe
mov byte [esp + 0x17], al
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
cmp edi, 0xe
je 0x4d5d66
jmp 0x4d5d8e
cmp edi, 0x24
je 0x4d5d66
cmp edi, 0x30
jne 0x4d5d8e
mov dword [esp], eax
call sym.go_parser._parser_.parseDotsType
mov eax, dword [esp + 4]
lea ecx, [0x68d948]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x16]
test al, 1
je 0x4d5d3f
and eax, 0xfffffffe
mov byte [esp + 0x17], al
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
cmp edi, 0x3f
jg 0x4d5d54
cmp edi, 0x32
jle 0x4d5d66
cmp edi, 0x3f
je 0x4d5d66
jmp 0x4d5d8e
cmp edi, 0x47
je 0x4d5d66
lea edx, [edi - 0x4c]
cmp edx, 1
jbe 0x4d5d66
cmp edi, 0x52
jne 0x4d5d8e
mov dword [esp], eax
call sym.go_parser._parser_.parseType
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x16]
movzx esi, byte [esp + 0x40]
jmp 0x4d5dd3
mov ecx, dword [eax + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea ecx, [0x63da29]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
call sym.go_parser._parser_.errorExpected
mov eax, dword [0x7e52d0]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.go_parser._parser_.advance
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x16]
movzx esi, byte [esp + 0x40]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4d5e10
cmp dword [eax + 0x7c], 0x12
jne 0x4d5e10
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4d5e10
mov ecx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.go_parser._parser_.embeddedElem
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
movzx ecx, byte [esp + 0x16]
test cl, 1
je 0x4d5e24
and ecx, 0xfffffffe
mov byte [esp + 0x17], cl
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
call eax
add esp, 0x34
ret
call sym.runtime.morestack_noctxt
jmp sym.go_parser._parser_.parseParamDecl