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

Disassembly:
mov ecx, dword [0x621238]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x4e677a
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call sym.path_filepath.volumeNameLen
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jb 0x4e6774
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0xb4]
lea esi, [ebp + ecx]
test ebx, ebx
je 0x4e5eee
mov dword [esp + 0x28], eax
movzx ecx, byte [ebp + ecx]
cmp cl, 0x5c
jne 0x4e5dc0
mov ecx, 1
jmp 0x4e5dc6
cmp cl, 0x2f
sete cl
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], esi
mov byte [esp + 0x26], cl
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.004669b7
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0xa8], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xac], ecx
lea edi, [esp + 0x68]
mov eax, esi
lea esi, [esp + 0x8c]
call fcn.00466e76
movzx ecx, byte [esp + 0x26]
test cl, cl
je 0x4e5ee5
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4e5ec2
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4e5e59
jbe 0x4e676b
mov esi, dword [esp + 0x68]
add esi, edx
cmp byte [esi], 0x5c
jne 0x4e5e59
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4e5ede
mov dword [esp + 0x3c], ebp
lea eax, [0x5037c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4e6764
cmp ebx, ecx
jl 0x4e5e9d
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e5eb5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4e675b
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, 1
jmp 0x4e5ee7
xor edx, edx
mov ebp, edx
jmp 0x4e5fa8
cmp eax, 1
jle 0x4e5f65
movzx eax, byte [ebp]
cmp al, 0x5c
je 0x4e5f01
cmp al, 0x2f
jne 0x4e5f65
movzx eax, byte [ebp + 1]
cmp al, 0x5c
je 0x4e5f0f
cmp al, 0x2f
jne 0x4e5f65
nop
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x51e258]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x54c58c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call sym.strings.Replace
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov dword [esp], 0
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
lea eax, [0x54c4fc]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
cmp edx, ebx
jge 0x4e63ad
jae 0x4e6752
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4e5fc8
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x4e5fcb
inc edx
jmp 0x4e5fa8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4e62b1
lea edi, [edx + 1]
cmp ebx, edi
je 0x4e5ffc
jbe 0x4e6749
movzx eax, byte [edx + eax + 1]
cmp al, 0x5c
jne 0x4e5ff3
mov eax, dword [esp + 0x64]
jmp 0x4e5ffc
cmp al, 0x2f
jne 0x4e6000
mov eax, dword [esp + 0x64]
mov edx, edi
jmp 0x4e5fa8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4e62a9
cmp ebx, edi
jbe 0x4e6740
mov esi, dword [esp + 0x64]
lea edi, [edx + esi + 1]
cmp byte [edi], 0x2e
jne 0x4e62a5
lea eax, [edx + 2]
cmp ebx, eax
je 0x4e6048
jbe 0x4e6739
movzx edi, byte [edx + esi + 2]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4e6048
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4e62a1
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x4e605a
dec edx
mov dword [esp + 0x7c], edx
jmp 0x4e66df
test cl, cl
jne 0x4e668f
mov dword [esp + 0x38], eax
test edx, edx
jle 0x4e6120
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4e6104
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4e6097
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x5c
jne 0x4e6097
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4e6120
mov dword [esp + 0x3c], ebp
lea eax, [0x5037c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4e66d3
cmp ebx, ecx
jl 0x4e60db
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e60f3
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4e66ca
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x5c
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4e61c0
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp edx, ebp
jge 0x4e6153
jae 0x4e66c1
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x4e6153
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4e61dc
mov dword [esp + 0x3c], ebp
lea eax, [0x5037c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4e66ba
cmp ebx, ecx
jl 0x4e6197
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e61af
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp edx, ebp
jbe 0x4e66b1
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4e627c
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x6c]
cmp ebp, edx
jle 0x4e620f
jbe 0x4e66a8
mov edi, dword [esp + 0x68]
add edi, edx
cmp byte [edi], 0x2e
jne 0x4e620f
inc edx
mov dword [esp + 0x7c], edx
jmp 0x4e6298
mov dword [esp + 0x3c], ebp
lea eax, [0x5037c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4e66a1
cmp ebx, ecx
jl 0x4e6253
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e626b
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov eax, dword [esp + 0x38]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x64]
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jae 0x4e6698
mov edx, dword [esp + 0x70]
mov byte [edx + ebp], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x4e668f
test cl, cl
jmp 0x4e62b5
test cl, cl
jmp 0x4e62b5
test cl, cl
mov esi, dword [esp + 0x64]
jmp 0x4e62b5
test cl, cl
mov esi, eax
mov dword [esp + 0x30], ebp
je 0x4e62ca
cmp dword [esp + 0x7c], 1
jne 0x4e62d6
test cl, cl
jne 0x4e656d
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x4e656d
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4e6385
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
cmp eax, edi
jge 0x4e6314
jae 0x4e6688
mov ecx, dword [esp + 0x68]
add ecx, eax
cmp byte [ecx], 0x5c
jne 0x4e6314
lea edi, [eax + 1]
mov dword [esp + 0x7c], edi
movzx ecx, byte [esp + 0x26]
jmp 0x4e656d
mov dword [esp + 0x3c], edi
lea eax, [0x5037c0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4e6681
cmp ebx, ecx
jl 0x4e6358
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e6370
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, edi
jae 0x4e667a
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0x5c
inc dword [esp + 0x7c]
jmp 0x4e656d
mov eax, esi
jmp 0x4e5fa8
mov edx, dword [esp + 0x7c]
test edx, edx
jne 0x4e6454
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x4e6438
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x4e63dc
mov ecx, dword [esp + 0x68]
cmp byte [ecx], 0x2e
jne 0x4e63dc
mov dword [esp + 0x7c], 1
jmp 0x4e6454
mov dword [esp + 0x40], eax
lea ecx, [0x5037c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4e6560
cmp ebx, ecx
jl 0x4e6420
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e6438
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4e655b
mov ecx, dword [esp + 0x70]
mov byte [ecx + eax], 0x2e
inc dword [esp + 0x7c]
lea eax, [esp + 0x68]
mov dword [esp], eax
call sym.path_filepath.postClean
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4e64d7
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
cmp ecx, edx
ja 0x4e6556
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4e654f
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x64], ecx
lea edx, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.slicebytetostring
mov dword [esp], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4e64f4
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x4e654a
mov eax, dword [esp + 0x80]
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x51e258]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x54c58c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call sym.strings.Replace
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
call sym.runtime.panicSliceAlen
mov ecx, ebx
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAlen
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
inc edx
movzx ecx, byte [esp + 0x26]
cmp edx, ebx
jge 0x4e63a6
movzx edi, byte [edx + esi]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4e63a6
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4e63a6
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x4e6643
mov dword [esp + 0x34], edx
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jle 0x4e65d1
jbe 0x4e6675
mov ebp, dword [esp + 0x68]
add ebp, eax
xchg edi, eax
cmp byte [ebp], al
xchg edi, eax
jne 0x4e65d1
lea ebp, [eax + 1]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x30]
jmp 0x4e6567
mov dword [esp + 0x3c], ecx
lea eax, [0x5037c0]
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 + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x7c]
cmp edx, ebx
jb 0x4e666e
cmp ebx, ecx
jl 0x4e6611
mov ebx, ecx
mov edx, dword [esp + 0x68]
cmp edx, eax
je 0x4e6629
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x64]
movzx edi, byte [esp + 0x27]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
cmp eax, ecx
jbe 0x4e6663
mov eax, dword [esp + 0x70]
xchg edi, ebx
mov byte [eax + ecx], bl
xchg edi, ebx
inc dword [esp + 0x7c]
jmp 0x4e6567
mov edx, eax
mov eax, ecx
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
call sym.runtime.panicIndex
mov ecx, edi
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
mov ecx, edi
call sym.runtime.panicIndex
mov edx, eax
mov eax, esi
jmp 0x4e5fa8
mov eax, ebp
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
mov eax, edx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
mov eax, edx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
dec edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
cmp ebp, edx
jge 0x4e668f
mov edi, dword [esp + 0x70]
test edi, edi
je 0x4e6702
mov ecx, dword [esp + 0x74]
cmp ecx, edx
jbe 0x4e6732
movzx edi, byte [edi + edx]
movzx ecx, byte [esp + 0x26]
jmp 0x4e6712
mov edi, dword [esp + 0x6c]
cmp edi, edx
jbe 0x4e6729
mov edi, dword [esp + 0x68]
movzx edi, byte [edi + edx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4e668f
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4e66da
jmp 0x4e668f
mov eax, edx
mov ecx, edi
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, edi
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, edi
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, edx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceAlen
mov eax, edx
mov ecx, ebp
call sym.runtime.panicIndex
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.path_filepath.Clean