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

Disassembly:
mov ecx, dword [0x80b088]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x5880b5
sub esp, 0x88
mov ecx, dword [esp + 0x90]
test byte [ecx], al
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x587e60
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x587e60
mov ebx, dword [ecx + 0x10]
test ebx, ebx
je 0x587e62
mov edx, ecx
lea edi, [esp + 0x70]
xor eax, eax
call fcn.004673da
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
mov ebp, dword [edx + 8]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebp
mov dword [esp + 0x70], ecx
mov ecx, dword [edx + 0xc]
mov ebx, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x70]
xor eax, eax
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x587eb2
mov ecx, dword [esp + 0x54]
add ecx, 0xc
inc eax
cmp eax, 2
jge 0x587ed8
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], ecx
mov esi, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
jmp 0x587f2f
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
lea eax, str._nX__t_e
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call sym.strings.Join
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
add esp, 0x88
ret
mov ecx, dword [esp + 0x50]
lea esi, [ecx + 0x18]
mov ecx, dword [esp + 0x34]
inc ecx
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x54]
mov ecx, dword [esp + 0x34]
cmp ecx, edi
jge 0x587eaa
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], esi
lea edi, [esp + 0x58]
call fcn.004678b4
cmp dword [esp + 0x68], 2
jge 0x587f5f
xor ecx, ecx
jmp 0x587f94
mov eax, dword [esp + 0x64]
mov dword [esp], eax
lea eax, [0x63d93e]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x587f17
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
cmp ecx, 2
jge 0x587fad
xor edi, edi
jmp 0x587fee
mov dword [esp + 0x44], esi
mov dword [esp + 0x20], ecx
mov dword [esp], esi
lea eax, [0x63d93e]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov edi, eax
mov eax, dword [esp + 0x38]
xchg edi, eax
test al, al
xchg edi, eax
je 0x588010
cmp ecx, 2
jb 0x5880aa
add ecx, 0xfffffffe
mov edi, ecx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 2
add esi, edi
mov dword [esp], esi
mov dword [esp + 4], ecx
call sym.strings.TrimSpace
mov eax, dword [esp + 0x24]
inc eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
cmp ebx, eax
jb 0x588037
mov ebp, dword [esp + 0x48]
jmp 0x58807b
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x601a80]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov ebx, edx
mov edx, dword [esp + 0x30]
lea esi, [ebp + eax*8 - 4]
mov dword [esi], edx
mov edx, dword [0x80b220]
lea esi, [ebp + eax*8 - 8]
test edx, edx
je 0x58809b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [esi]
mov dword [edi + 4], edx
mov dword [esi], ecx
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0x38]
jmp 0x587f17
mov eax, 2
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.golang.org_x_mod_modfile.parseDirectiveComment