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

Disassembly:
mov ecx, dword [0x673268]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x507d8a
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 0x50795d
mov eax, dword [esp + 0x70]
jmp 0x5079be
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 0x507988
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
jmp 0x5079be
mov dword [esp], 0
lea eax, [0x543017]
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 0x5079dd
dec edx
test edx, edx
jl 0x507a18
cmp edx, ecx
jae 0x507d82
movzx ebp, byte [ebx + edx]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
je 0x507a18
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
je 0x507a18
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x5079dc
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 0x507a1c
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 0x507a4a
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x44], eax
jmp 0x507d1b
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x507cad
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.path_filepath.VolumeName
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x507c51
mov eax, dword [esp + 0x2c]
cmp eax, 1
jle 0x507adc
mov ecx, dword [esp + 0x50]
movzx edx, byte [ecx]
cmp dl, 0x5c
je 0x507a88
cmp dl, 0x2f
jne 0x507ae0
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 0x507c25
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
nop
mov eax, dword [esp + 0x24]
cmp eax, ecx
jle 0x507b89
xor ebx, ebx
jmp 0x507bb8
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 0x507bd1
cmp eax, ecx
ja 0x507cf5
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 0x507d79
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 0x507cfa
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 0x507a4a
mov eax, edx
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.os_exec.lookExtensions