Function at 0x4e3e40
Capabilities:
Reference absolute stream path on windows

Disassembly:
mov ecx, dword [0x84d0e8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e40b9
sub esp, 0x20
mov eax, dword [esp + 0x28]
cmp eax, 2
jl 0x4e3e76
mov ecx, dword [esp + 0x24]
cmp byte [ecx + 1], 0x3a
jne 0x4e3e7a
mov dword [esp + 0x2c], 2
add esp, 0x20
ret
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x4e3fd6
movzx edx, byte [ecx]
cmp dl, 0x5c
je 0x4e3e93
cmp dl, 0x2f
jne 0x4e3fd6
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x652143]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
call sym.path_filepath.pathHasPrefixFold
movzx eax, byte [esp + 0x10]
test al, al
je 0x4e3ece
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, 8
xor ebx, ebx
jmp 0x4e4091
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
lea edx, [0x6510aa]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
call sym.path_filepath.pathHasPrefixFold
movzx eax, byte [esp + 0x10]
test al, al
je 0x4e3f04
mov eax, 1
jmp 0x4e3f65
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
lea edx, [0x6510a1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
call sym.path_filepath.pathHasPrefixFold
movzx eax, byte [esp + 0x10]
test al, al
je 0x4e3f3a
mov eax, 1
jmp 0x4e3f65
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
lea edx, [0x6510ad]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
call sym.path_filepath.pathHasPrefixFold
movzx eax, byte [esp + 0x10]
test al, al
je 0x4e3fa6
mov ecx, dword [esp + 0x28]
cmp ecx, 3
je 0x4e3f9a
cmp ecx, 4
jb 0x4e4086
lea edx, [ecx - 4]
mov dword [esp + 0x14], edx
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
mov ebp, dword [esp + 0x24]
add edx, ebp
mov dword [esp + 0x1c], edx
xor eax, eax
jmp 0x4e400d
mov dword [esp + 0x2c], 3
add esp, 0x20
ret
mov eax, dword [esp + 0x28]
cmp eax, 2
jl 0x4e3fca
mov ecx, dword [esp + 0x24]
movzx edx, byte [ecx + 1]
cmp dl, 0x5c
je 0x4e3fc1
cmp dl, 0x2f
jne 0x4e3fca
mov edx, 2
xor ebx, ebx
jmp 0x4e3fe3
mov dword [esp + 0x2c], 0
add esp, 0x20
ret
mov dword [esp + 0x2c], 0
add esp, 0x20
ret
inc edx
cmp eax, edx
jle 0x4e4001
movzx ebp, byte [edx + ecx]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
je 0x4e3ff9
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
jne 0x4e3fe2
cmp ebx, 1
je 0x4e4003
inc ebx
jmp 0x4e3fe2
mov edx, eax
mov dword [esp + 0x2c], edx
add esp, 0x20
ret
mov eax, ebp
cmp eax, ebx
jge 0x4e4077
movzx ebp, byte [edx + eax]
cmp ebp, 0x80
jge 0x4e4024
lea ebp, [eax + 1]
cmp eax, ebx
jmp 0x4e4052
mov dword [esp + 0x18], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call sym.runtime.decoderune
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
jae 0x4e407f
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4e4066
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x4e400b
mov edx, ecx
sub ecx, eax
sub edx, ecx
lea eax, [edx + 4]
mov dword [esp + 0x2c], eax
add esp, 0x20
ret
mov dword [esp + 0x2c], ecx
add esp, 0x20
ret
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, 4
call sym.runtime.panicSliceB
inc edx
cmp ecx, edx
jle 0x4e40af
movzx ebp, byte [eax + edx]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
je 0x4e40a7
xchg ebp, eax
cmp al, 0x2f
xchg ebp, eax
jne 0x4e4090
cmp ebx, 1
je 0x4e40b1
inc ebx
jmp 0x4e4090
mov edx, ecx
mov dword [esp + 0x2c], edx
add esp, 0x20
ret
call sym.runtime.morestack_noctxt
jmp sym.path_filepath.volumeNameLen