Function at 0x48597c
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffffa0
push ebx
push esi
push edi
mov esi, edx
mov edi, eax
mov eax, 0x4a2bb8
call fcn.0048dbf8
push esi
push edi
call fcn.0048d70c
add esp, 8
test eax, eax
jne 0x4859bc
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x485c6a
xor ebx, ebx
lea eax, [ebp - 0x1060]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
xor edx, edx
mov dl, byte [ebp - 0x1060]
mov dword [ebp - 0xc4c], edx
push dword [ebp - 0xc4c]
call fcn.004916ac
pop ecx
mov dword [ebp - 0xc48], eax
xor ecx, ecx
mov cl, byte [ebp - 0x1060]
cmp ecx, 0x5c
je 0x485a70
xor eax, eax
mov al, byte [esi]
cmp eax, 0x5c
je 0x485a70
xor edx, edx
mov dl, byte [edi]
cmp edx, 0x5c
je 0x485a70
xor ecx, ecx
mov cl, byte [esi]
mov dword [ebp - 0xc54], ecx
push dword [ebp - 0xc54]
call fcn.004916ac
pop ecx
mov dword [ebp - 0xc50], eax
xor eax, eax
mov al, byte [edi]
mov dword [ebp - 0xc58], eax
push dword [ebp - 0xc58]
call fcn.004916ac
pop ecx
xor edx, edx
mov dl, byte [esi + 1]
cmp edx, 0x3a
je 0x485a56
mov ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xc50], ecx
xor edx, edx
mov dl, byte [edi + 1]
cmp edx, 0x3a
je 0x485a66
mov eax, dword [ebp - 0xc48]
cmp eax, dword [ebp - 0xc50]
je 0x485a70
mov bl, 1
xor edx, edx
mov eax, edi
call fcn.0040a0c8
test al, al
je 0x485b52
mov word [ebp - 0xc34], 8
lea eax, [ebp - 0xc20]
call fcn.00409020
inc dword [ebp - 0xc28]
mov word [ebp - 0xc34], 0x14
push 0
push 1
lea eax, [ebp - 0xc20]
xor ecx, ecx
mov edx, edi
call fcn.00409118
test al, al
je 0x485aca
lea eax, [ebp - 0xc20]
call fcn.004093cc
test al, al
jne 0x485af9
mov eax, 0xf
mov edx, 2
push eax
lea eax, [ebp - 0xc20]
dec dword [ebp - 0xc28]
call fcn.004090d0
pop eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x485c6a
mov eax, edi
call fcn.0040a8f4
test al, al
jne 0x485b33
mov eax, 0xf
mov edx, 2
push eax
lea eax, [ebp - 0xc20]
dec dword [ebp - 0xc28]
call fcn.004090d0
pop eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x485c6a
dec dword [ebp - 0xc28]
lea eax, [ebp - 0xc20]
mov edx, 2
call fcn.004090d0
mov word [ebp - 0xc34], 0
test bl, bl
jne 0x485b6e
push 0
mov ecx, edi
xor edx, edx
mov eax, esi
call fcn.0040a89c
xor ebx, ebx
mov bl, al
cmp ebx, 1
sbb ebx, ebx
neg ebx
test bl, bl
je 0x485c5b
push 0x4a2b84
push esi
call fcn.0048f700
add esp, 8
mov dword [ebp - 0xc5c], eax
test eax, eax
jne 0x485bb7
mov eax, 0x4a6984
mov ecx, esi
mov edx, dword [0x4dc07c]
call fcn.00429634
mov eax, 0xa
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x485c6a
push 0x4a2b87
push edi
call fcn.0048f700
add esp, 8
mov dword [ebp - 0xc60], eax
test eax, eax
jne 0x485bef
push dword [ebp - 0xc5c]
call fcn.0048f204
pop ecx
mov eax, 0xf
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x485c6a
or ecx, 0xffffffff
mov edx, dword [ebp - 0xc60]
mov eax, dword [ebp - 0xc5c]
call fcn.00485cbc
push dword [ebp - 0xc5c]
mov ebx, eax
call fcn.0048f204
pop ecx
push dword [ebp - 0xc60]
call fcn.0048f204
pop ecx
test eax, eax
jne 0x485c25
test ebx, ebx
je 0x485c54
mov eax, edi
call fcn.0040a8f4
test ebx, ebx
je 0x485c40
cmp ebx, 0xa
jne 0x485c3c
mov eax, 0xe
jmp 0x485c45
mov eax, ebx
jmp 0x485c45
mov eax, 0xe
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x485c6a
mov eax, esi
call fcn.0040a8f4
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret