Function at 0x481b70
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x540a41
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
mov eax, dword [0x595c60]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], 0
xor eax, eax
mov byte [edi], 0
mov dword [edi + 0x18], 7
mov dword [edi + 0x14], 0
mov word [edi + 4], ax
mov byte [ebp - 4], 1
mov eax, dword [0x59e598]
test al, 1
jne 0x481bf3
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 2
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x481c08
cmp byte [eax + 0x19], 6
jb 0x481c08
mov al, 1
jmp 0x481c0a
xor al, al
cmp byte [0x59e5a8], 0
jne 0x481c24
cmp byte [0x59e5a9], 0
jne 0x481c24
test al, al
je 0x481d55
sub esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc8]
call fcn.0047b550
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xc8]
call fcn.0047eed0
mov edx, str..CChangeDir.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x15
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a46c
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a8e8
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 4
cmp dword [ebp - 0x18], 0x10
jb 0x481cb2
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x481cb2
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xc8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 6
cmp dword [esi + 0x14], 0x10
jb 0x481ccf
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x481cfa
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 7
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 6
push esi
push 6
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp - 0x18], 0x10
jb 0x481d1d
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x481d1d
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 3
call fcn.0047b620
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
mov dword [ebp - 4], 1
jmp 0x481d55
cmp dword [ebp + 0x1c], 8
mov ecx, dword [ebp + 8]
jae 0x481d61
lea ecx, [ebp + 8]
mov eax, dword [ebp + 0x18]
cmp word [ecx + eax*2 - 2], 0x5c
je 0x481d7b
push 1
push 0x56a8e4
lea ecx, [ebp + 8]
call fcn.00482560
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ebx, eax
test ebx, ebx
je 0x481e44
mov ecx, dword [edi + 0x14]
lea esi, [edi + 4]
cmp ebx, ecx
ja 0x481db6
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x481dac
mov eax, dword [esi]
xor ecx, ecx
mov word [eax + ebx*2], cx
jmp 0x481dc4
mov eax, esi
xor ecx, ecx
mov word [eax + ebx*2], cx
jmp 0x481dc4
mov eax, ebx
sub eax, ecx
mov ecx, esi
push 0
push eax
call fcn.00481ab0
cmp dword [esi + 0x14], 8
jb 0x481dce
mov eax, dword [esi]
jmp 0x481dd0
mov eax, esi
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x481e44
cmp dword [esi + 0x14], 8
jb 0x481de6
mov eax, dword [esi]
jmp 0x481de8
mov eax, esi
cmp word [eax + ebx*2 - 4], 0x5c
jne 0x481e19
mov eax, dword [esi + 0x10]
dec ebx
cmp ebx, eax
ja 0x481e0b
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], ebx
jb 0x481e03
mov esi, dword [esi]
xor eax, eax
mov word [esi + ebx*2], ax
jmp 0x481e2b
push 0
sub ebx, eax
mov ecx, esi
push ebx
call fcn.00481ab0
jmp 0x481e2b
cmp dword [esi + 0x14], 8
jb 0x481e21
mov esi, dword [esi]
mov eax, 0x5c
mov word [esi + ebx*2 - 2], ax
cmp dword [ebp + 0x1c], 8
mov eax, dword [ebp + 8]
jae 0x481e37
lea eax, [ebp + 8]
push eax
call fcn.004823a0
test al, al
je 0x481e44
mov byte [edi], 1
mov eax, dword [0x59e598]
test al, 1
jne 0x481e6f
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 9
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [0x596f88]
test byte [eax + 0x1c], 2
je 0x481e84
cmp byte [eax + 0x19], 6
jb 0x481e84
mov al, 1
jmp 0x481e86
xor al, al
cmp byte [0x59e5a8], 0
jne 0x481ea0
cmp byte [0x59e5a9], 0
jne 0x481ea0
test al, al
je 0x481fc3
sub esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xc8]
call fcn.0047b550
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.004a0cb0
mov edx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc8]
call fcn.0047eed0
mov edx, str..CChangeDir.cpp
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
push 0x28
mov ecx, eax
call fcn.0047b1b0
mov edx, 0x56a378
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a498
mov ecx, eax
call fcn.0047f130
mov edx, 0x56a8e8
mov ecx, eax
call fcn.0047f130
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x18], 0x10
jb 0x481f2e
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x481f2e
push eax
call fcn.005074d4
add esp, 4
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xc8]
call fcn.0047b6a0
mov esi, eax
mov byte [ebp - 4], 0xd
cmp dword [esi + 0x14], 0x10
jb 0x481f4b
mov esi, dword [esi]
mov eax, dword [0x59e598]
test al, 1
jne 0x481f76
or eax, 1
mov dword [0x59e598], eax
mov byte [ebp - 4], 0xe
call fcn.004a08c0
push 0x54e860
call fcn.0050765d
add esp, 4
mov byte [ebp - 4], 0xd
push esi
push 6
mov ecx, 0x59e5a8
call fcn.004a0b40
cmp dword [ebp - 0x18], 0x10
jb 0x481f99
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x481f99
push eax
call fcn.005074d4
add esp, 4
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.0047b620
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x56a6f8
push eax
call fcn.0052889f
add esp, 4
jmp 0x481fc3
cmp dword [ebp + 0x1c], 8
jb 0x481fd9
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x481fd9
push ecx
call fcn.005074d4
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00506c7d
mov esp, ebp
pop ebp
ret 0x18