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

Disassembly:
mov ecx, dword [0x8ef630]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x670f7b
sub esp, 0x6c
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
call sym.internal_filepathlite.Base
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x74]
cmp ecx, eax
je 0x670b4d
mov eax, dword [esp + 0x70]
jmp 0x670bae
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 0x670b78
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jmp 0x670bae
mov dword [esp], 0
lea eax, [0x6d5543]
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 0x670bcd
dec edx
test edx, edx
jl 0x670c08
cmp edx, ecx
jae 0x670f73
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
je 0x670c08
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
je 0x670c08
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x670bcc
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 0x670c0c
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 0x670c3a
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x670f0c
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x670e9e
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.internal_filepathlite.VolumeName
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x670e42
mov eax, dword [esp + 0x2c]
cmp eax, 1
jle 0x670ccc
mov ecx, dword [esp + 0x50]
movzx edx, byte [ecx]
cmp dl, 0x5c
je 0x670c78
cmp dl, 0x2f
jne 0x670cd0
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 0x670e16
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
nop
nop
mov eax, dword [esp + 0x24]
cmp eax, ecx
jle 0x670d7a
xor ebx, ebx
jmp 0x670da9
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 0x670dc2
cmp eax, ecx
ja 0x670ee6
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 0x670f6a
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 0x670eeb
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 0x670c3a
mov eax, edx
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.os_exec.lookExtensions