Function at 0x4c0fc0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [ebx + 0x100]
movzx ecx, word [edi]
cmp ecx, 0x5c
jne 0x4c1038
movzx eax, word [edi + 2]
cmp eax, ecx
jne 0x4c1042
cmp word [edi + 4], 0x3f
jne 0x4c0fef
cmp word [edi + 6], cx
je 0x4c102f
cmp eax, 0x5c
jne 0x4c1042
cmp word [edi + 4], 0x2e
jne 0x4c1042
cmp word [edi + 6], ax
jne 0x4c1042
movzx eax, word [edi + 8]
cmp eax, 0x61
jb 0x4c100f
cmp eax, 0x7a
jbe 0x4c1018
add eax, 0xffffffbf
cmp ax, 0x19
ja 0x4c1042
cmp word [edi + 0xa], 0x3a
jne 0x4c1042
cmp word [edi + 0xc], 0x5c
jne 0x4c1042
mov eax, 0x3f
mov word [edi + 4], ax
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x61
jb 0x4c1042
cmp ecx, 0x7a
jbe 0x4c104b
lea eax, [ecx - 0x41]
cmp ax, 0x19
ja 0x4c10c8
cmp word [edi + 2], 0x3a
jne 0x4c10c8
cmp word [edi + 4], 0x5c
jne 0x4c10c8
push edi
call fcn.00517d80
mov edi, eax
add esp, 4
test edi, edi
je 0x4c11ed
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c1071
sub ecx, edx
lea esi, [ebx + 0x104]
sar ecx, 1
lea eax, [ecx + 5]
push eax
push esi
call fcn.004c6450
mov eax, dword [esi]
push 4
push 0x54f51c
push esi
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x108], 0
call fcn.004c6470
push edi
push esi
call fcn.004c61b0
push edi
call fcn.0050bae2
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x5c
jne 0x4c11b7
cmp word [edi + 2], cx
jne 0x4c11b7
movzx eax, word [edi + 4]
lea ecx, [edi + 4]
cmp eax, 0x5c
je 0x4c11b7
mov edx, eax
nop dword [eax]
movzx esi, dx
test dx, dx
je 0x4c1108
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
mov esi, eax
cmp eax, 0x5c
jne 0x4c10f0
cmp si, 0x5c
jne 0x4c102f
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, ecx
mov esi, eax
mov dword [ebp + 8], edx
cmp eax, 0x5c
je 0x4c1142
mov edx, eax
movzx esi, dx
test dx, dx
je 0x4c113f
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
mov esi, eax
cmp eax, 0x5c
jne 0x4c1127
mov edx, dword [ebp + 8]
cmp si, 0x5c
jne 0x4c102f
cmp ecx, edx
je 0x4c102f
push edi
call fcn.00517d80
mov edi, eax
add esp, 4
test edi, edi
je 0x4c11ed
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c1170
sub ecx, edx
lea esi, [ebx + 0x104]
sar ecx, 1
lea eax, [ecx + 9]
push eax
push esi
call fcn.004c6450
mov eax, dword [esi]
push 8
push str._UNC_
push esi
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x108], 0
call fcn.004c6470
lea eax, [edi + 4]
push eax
jmp 0x4c10b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, eax
test esi, esi
je 0x4c11ed
lea ecx, [esi + esi]
push ecx
call fcn.0050bafd
add esp, 4
mov ebx, eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov dword [ebp - 4], eax
test eax, eax
jne 0x4c11f7
push ebx
call fcn.0050bae2
add esp, 4
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
movzx esi, word [edi]
push edi
call fcn.00517d80
add esp, 4
mov edi, eax
mov dword [ebp - 8], edi
cmp esi, 0x5c
jne 0x4c1282
test edi, edi
je 0x4c11ed
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c1216
mov esi, dword [ebp + 8]
sub ecx, edx
sar ecx, 1
add esi, 0x104
lea eax, [ecx + 7]
push eax
push esi
call fcn.004c6450
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push 4
push 0x54f51c
push esi
mov dword [ecx + 0x100], eax
mov dword [ecx + 0x108], 0
call fcn.004c6470
push 2
push ebx
push esi
call fcn.004c6470
push edi
push esi
call fcn.004c61b0
push ebx
call fcn.0050bae2
push edi
call fcn.0050bae2
add esp, 0x30
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x4c11ed
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c1290
mov edi, dword [ebp - 4]
sub ecx, edx
mov esi, dword [ebp + 8]
sar ecx, 1
add esi, 0x104
lea eax, [edi + 6]
add eax, ecx
push eax
push esi
call fcn.004c6450
mov ecx, dword [ebp + 8]
add esp, 8
mov eax, dword [esi]
mov dword [ecx + 0x100], eax
cmp edi, 3
jbe 0x4c12f1
cmp word [ebx], 0x5c
jne 0x4c12f1
cmp word [ebx + 2], 0x5c
jne 0x4c12f1
cmp word [ebx + 4], 0x3f
jne 0x4c12f1
cmp word [ebx + 6], 0x5c
jne 0x4c12f1
mov dword [ecx + 0x108], 0
jmp 0x4c1346
cmp edi, 2
jbe 0x4c132c
cmp word [ebx], 0x5c
jne 0x4c132c
cmp word [ebx + 2], 0x5c
jne 0x4c132c
cmp word [ebx + 4], 0x5c
je 0x4c132c
push 8
push str._UNC_
push esi
mov dword [ecx + 0x108], 0
call fcn.004c6470
add esp, 0xc
lea eax, [ebx + 4]
add edi, 0xfffffffe
jmp 0x4c1348
push 4
push 0x54f51c
push esi
mov dword [ecx + 0x108], 0
call fcn.004c6470
add esp, 0xc
mov eax, ebx
push edi
push eax
push esi
call fcn.004c6470
push 1
push 0x53d5e4
push esi
call fcn.004c6470
mov edi, dword [ebp - 8]
push edi
push esi
call fcn.004c61b0
mov edx, dword [ebp + 8]
mov eax, dword [esi]
push ebx
mov dword [edx + 0x100], eax
call fcn.0050bae2
push edi
call fcn.0050bae2
add esp, 0x28
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret