Function at 0x4fe590
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 0x4febd9
sub esp, 0x88
mov ecx, dword [esp + 0x90]
cmp ecx, 1
jle 0x4fe5e2
cmp ecx, 2
jle 0x4fe5da
lea ebx, [ecx - 2]
mov dword [esp + 0x48], ebx
mov ebp, dword [esp + 0x8c]
xor eax, eax
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x4fea99
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x4fe5e9
add esp, 0x88
ret
test al, al
jne 0x4fe604
mov eax, dword [esp + 0x8c]
lea ebx, [eax + ecx*8 - 8]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
xor ebx, ebx
jmp 0x4fea62
mov dword [esp + 0x3c], edx
mov dword [esp + 0x74], ebx
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x68a60c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call sym.strings.Cut
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x27], al
test al, al
jne 0x4fe666
mov ebx, dword [esp + 0x8c]
mov ecx, dword [ebx + 4]
cmp ecx, 2
jb 0x4fea57
mov ebp, dword [ebx]
lea esi, [ecx - 2]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add esi, ebp
xor edx, edx
jmp 0x4fe89e
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test edx, edx
jle 0x4fe6b9
lea ebp, [edx - 1]
cmp edx, ebp
jb 0x4fe88f
mov dword [esp + 0x30], edx
mov dword [esp + 0x78], ebx
lea eax, [ebx + edx - 1]
mov dword [esp], eax
lea eax, [0x68b520]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x78]
mov ecx, eax
movzx eax, byte [esp + 0x27]
jmp 0x4fe6bb
xor ecx, ecx
test cl, cl
je 0x4fe6cb
lea ecx, [edx - 1]
cmp edx, ecx
jae 0x4fe6cd
jmp 0x4fe88a
mov ecx, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
lea ebp, [edx + eax*8 - 8]
mov dword [esp + 0x84], ebp
mov esi, dword [ebp]
mov dword [esp + 0x7c], esi
mov edi, dword [ebp + 4]
mov dword [esp + 0x34], edi
mov dword [esp], esi
mov dword [esp + 4], edi
lea ebp, [0x63d9b4]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
call sym.strings.Cut
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
xor edx, edx
jmp 0x4fe728
inc edx
cmp edx, eax
jge 0x4fe74b
lea ebx, [edx + ecx]
cmp byte [ebx], 0x20
jbe 0x4fe727
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
xor eax, eax
jmp 0x4fe83f
movzx eax, byte [esp + 0x27]
test al, al
je 0x4fe761
mov eax, 3
lea ecx, [0x63db67]
jmp 0x4fe76c
mov eax, 2
lea ecx, [0x63d9b4]
mov dword [esp], 0
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
lea edx, [ecx + eax*8 - 4]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov dword [edx], ebx
mov edx, dword [0x80b220]
test edx, edx
jne 0x4fe7bf
mov edx, dword [esp + 0x84]
jmp 0x4fe7d2
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [esp + 0x84]
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], ebp
mov edx, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x4fe7dd
inc ebx
cmp eax, ebx
jle 0x4fe82e
lea ebp, [ecx + ebx*8]
test ebx, ebx
jle 0x4fe7dc
mov esi, dword [ebp + 4]
test esi, esi
je 0x4fe7dc
cmp edx, esi
ja 0x4fe835
mov edi, dword [ebp]
lea ecx, [ecx + ebx*8 + 4]
sub esi, edx
mov dword [ecx], esi
mov ecx, dword [0x80b220]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
add esi, edi
test ecx, ecx
je 0x4fe822
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ecx, dword [ebp]
mov dword [edi + 4], ecx
mov dword [ebp], esi
mov ecx, dword [esp + 0x8c]
jmp 0x4fe7dc
add esp, 0x88
ret
mov eax, edx
mov ecx, esi
call sym.runtime.panicSliceB
inc eax
cmp eax, edx
jge 0x4fe86c
cmp eax, ebx
jge 0x4fe86a
movzx edi, byte [eax + esi]
lea ecx, [eax + ebp]
xchg edi, eax
cmp byte [ecx], al
xchg edi, eax
jne 0x4fe866
xchg edi, eax
cmp al, 0x20
xchg edi, eax
jbe 0x4fe83e
xchg edi, eax
cmp al, 0x2a
xchg edi, eax
je 0x4fe83e
cmp eax, edx
jmp 0x4fe86c
cmp eax, edx
jmp 0x4fe86c
cmp eax, edx
ja 0x4fe883
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [esp + 0x90]
jmp 0x4fe7d8
mov ecx, eax
call sym.runtime.panicSliceAlen
call sym.runtime.panicSliceAlen
mov eax, ebp
mov ecx, edx
call sym.runtime.panicSliceB
inc edx
movzx eax, byte [esp + 0x27]
cmp edx, edi
jge 0x4fe8e1
lea eax, [edx + esi]
cmp byte [eax], 0x20
jbe 0x4fe898
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], ebp
lea eax, [0x601dc0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x44]
mov ebx, 2
jmp 0x4fe94e
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x74]
mov ecx, edx
xor esi, esi
jmp 0x4fe8f7
inc esi
movzx eax, byte [esp + 0x27]
mov edx, edi
cmp esi, 3
jge 0x4fe915
test edx, edx
jle 0x4fe915
lea edi, [edx - 1]
cmp ecx, edi
jbe 0x4fe93f
lea eax, [edx + ebp - 1]
cmp byte [eax], 0x20
je 0x4fe8ef
movzx eax, byte [esp + 0x27]
cmp edx, ecx
jne 0x4fe927
test edx, edx
jle 0x4fe927
lea esi, [edx + ebp - 1]
cmp byte [esi], 9
jne 0x4fe927
dec edx
cmp edx, ecx
ja 0x4fe934
mov ecx, edx
mov ebx, ebp
jmp 0x4fe6cd
mov eax, ecx
mov ecx, edx
mov edx, eax
call sym.runtime.panicSliceAlen
mov eax, edi
call sym.runtime.panicIndex
xchg ebp, ecx
mov byte [eax + ebx], cl
xchg ebp, ecx
inc ebx
cmp ebx, edx
jge 0x4fe95d
movzx ebp, byte [ebx + ecx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
jbe 0x4fe946
cmp ebx, 2
jle 0x4fe985
cmp edx, 2
jbe 0x4fea4b
cmp byte [eax + 2], 9
jne 0x4fe981
cmp ebx, edx
ja 0x4fea44
add ebx, 0xfffffffe
add eax, 2
jmp 0x4fe992
cmp ebx, edx
jmp 0x4fe987
cmp ebx, edx
mov word [eax], 0x2020
ja 0x4fea3d
lea ecx, [esp + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jl 0x4fea02
mov edx, ecx
sub ecx, eax
cmp edx, ecx
jb 0x4fea34
mov ebx, edx
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x74]
add ebx, esi
cmp eax, ebp
je 0x4fe9d5
xor ecx, ecx
jmp 0x4fea0a
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x74]
mov ecx, eax
mov eax, dword [esp + 0x28]
jmp 0x4fea0a
mov edx, ecx
mov esi, dword [esp + 0x74]
xor ecx, ecx
test cl, cl
je 0x4fea18
mov ecx, edx
sub ecx, eax
cmp edx, ecx
jae 0x4fea1a
jmp 0x4fea2f
mov ecx, edx
movzx eax, byte [esp + 0x27]
mov ebx, dword [esp + 0x8c]
mov ebp, esi
mov edx, ecx
jmp 0x4fe92b
call sym.runtime.panicSliceAlen
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, ebx
call sym.runtime.panicSliceAcap
mov ecx, ebx
call sym.runtime.panicSliceAcap
mov eax, 2
mov ecx, edx
call sym.runtime.panicIndex
mov eax, 2
call sym.runtime.panicSliceB
inc ebx
cmp ebx, edx
jge 0x4fea7a
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jbe 0x4fea61
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
je 0x4fea61
cmp ebx, edx
ja 0x4fea85
mov edx, ebx
mov ebx, ebp
jmp 0x4fe604
mov ecx, ebx
call sym.runtime.panicSliceAlen
inc eax
mov edi, dword [esp + 0x48]
mov edi, esi
mov esi, ebx
mov ebx, dword [esp + 0x48]
cmp eax, ebx
jge 0x4feb35
mov dword [esp + 0x2c], esi
mov dword [esp + 0x74], edi
lea ebx, [ebp + eax*8 + 8]
mov dword [esp + 0x84], ebx
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
nop
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x4c]
jmp 0x4feb53
test dl, dl
je 0x4feadf
mov edx, edi
mov ebx, esi
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x74]
jmp 0x4feae3
mov edx, edi
mov ebx, esi
mov dword [esp + 0x40], eax
xor ebp, ebp
jmp 0x4feb7c
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x4feb69
lea ebx, [ebp + eax*8 + 0xc]
mov dword [ebx], 0
mov ebx, dword [0x80b220]
test ebx, ebx
jne 0x4feb12
mov ebx, dword [esp + 0x84]
jmp 0x4feb22
mov ebx, dword [esp + 0x84]
mov esi, dword [ebx]
call sym.runtime.gcWriteBarrier1
mov dword [edi], esi
mov dword [ebx], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x74]
jmp 0x4fea8c
mov eax, edx
mov edx, esi
mov ebx, edi
jmp 0x4fe5e9
inc ebx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x84]
mov ebx, dword [esp + 0x38]
cmp ebx, edi
jge 0x4feaee
lea ebp, [ebx + esi]
cmp byte [ebp], 0x20
jbe 0x4feb40
jmp 0x4feacd
mov eax, ebx
call sym.runtime.panicIndex
inc ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
cmp ebp, edi
jge 0x4febba
cmp ebp, edx
jge 0x4febb8
movzx ecx, byte [esi + ebp]
lea eax, [ebp + ebx]
cmp byte [eax], cl
jne 0x4feba9
cmp cl, 0x20
jbe 0x4feb70
cmp cl, 0x2a
je 0x4feb70
cmp ebp, edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
jmp 0x4febba
cmp ebp, edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
jmp 0x4febba
cmp ebp, edi
ja 0x4febcf
mov edx, 1
mov ebx, ebp
mov ebp, dword [esp + 0x8c]
jmp 0x4fea8c
mov ecx, ebp
mov edx, edi
call sym.runtime.panicSliceAlen
nop
call sym.runtime.morestack_noctxt
jmp sym.go_printer.stripCommonPrefix