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

Disassembly:
mov ecx, dword [0x84d0e8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e8f8a
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call sym.path_filepath.Base
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x74]
cmp ecx, eax
je 0x4e8b5d
mov eax, dword [esp + 0x70]
jmp 0x4e8bbe
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4e8b88
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jmp 0x4e8bbe
mov dword [esp], 0
lea eax, [0x650e50]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov dword [esp + 0x2c], ecx
call sym.os_exec.pathExt
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx - 1]
mov ebx, dword [esp + 0x50]
jmp 0x4e8bdd
dec edx
test edx, edx
jl 0x4e8c18
cmp edx, ecx
jae 0x4e8f82
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
je 0x4e8c18
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
je 0x4e8c18
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x4e8bdc
mov ebp, ecx
sub ecx, edx
mov esi, ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
lea ecx, [ebx + edx]
mov edx, ecx
mov ecx, ebp
jmp 0x4e8c1c
xor esi, esi
xor edx, edx
mov dword [esp + 0x38], eax
mov ebp, dword [esp]
mov dword [esp + 0x58], ebp
mov edi, dword [esp + 4]
mov dword [esp + 0x34], edi
test esi, esi
je 0x4e8c4a
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x4e8f1b
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x4e8ead
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.path_filepath.VolumeName
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4e8e51
mov eax, dword [esp + 0x2c]
cmp eax, 1
jle 0x4e8cdc
mov ecx, dword [esp + 0x50]
movzx edx, byte [ecx]
cmp dl, 0x5c
je 0x4e8c88
cmp dl, 0x2f
jne 0x4e8ce0
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
call sym.os_exec.lookPath
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
add esp, 0x6c
ret
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
lea edx, [esp + 0x5c]
mov dword [esp], edx
mov dword [esp + 4], 2
mov dword [esp + 8], 2
call sym.path_filepath.join
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
call sym.os_exec.lookPath
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4e8e25
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
nop
mov eax, dword [esp + 0x24]
cmp eax, ecx
jle 0x4e8d89
xor ebx, ebx
jmp 0x4e8db8
mov dword [esp + 0x30], ecx
mov dword [esp + 0x54], edx
mov dword [esp], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
mov ebx, eax
mov eax, dword [esp + 0x24]
test bl, bl
je 0x4e8dd1
cmp eax, ecx
ja 0x4e8ef5
sub ecx, eax
mov ebx, ecx
neg ebx
sar ebx, 0x1f
and eax, ebx
add edx, eax
mov dword [esp], 0
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x6c
ret
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x6c
ret
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
call sym.os_exec.lookPath
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
add esp, 0x6c
ret
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
call sym.os_exec.lookPath
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebx
add esp, 0x6c
ret
call sym.runtime.panicSliceB
mov eax, dword [esp + 0x44]
inc eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
cmp eax, edi
jge 0x4e8f79
lea ecx, [ebp + eax*8]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call sym.strings.EqualFold
movzx eax, byte [esp + 0x10]
test al, al
je 0x4e8efa
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x6c
ret
mov eax, dword [esp + 0x38]
jmp 0x4e8c4a
mov eax, edx
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.os_exec.lookExtensions