Function at 0x459800
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d2c74
mov eax, dword fs:[0]
push eax
sub esp, 0x558
mov eax, dword [0x50e008]
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 eax, dword [ebp + 8]
lea ecx, [ebp - 0x47c]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
push eax
call fcn.00402770
mov dword [ebp - 4], 0
mov edx, 0x4ed194
lea ecx, [ebp - 0x47c]
call fcn.004125f0
mov edx, 0x4ed194
lea ecx, [ebp - 0x47c]
call fcn.00412670
lea ecx, [ebp - 0x464]
call fcn.00402750
mov byte [ebp - 4], 1
push ecx
push 0x5c
lea ecx, [ebp - 0x47c]
call fcn.00408ad0
cmp eax, 0xffffffff
jne 0x459935
push ecx
push 0x2f
lea ecx, [ebp - 0x47c]
call fcn.00408ad0
cmp eax, 0xffffffff
jne 0x459935
lea ecx, [ebp - 0x464]
call fcn.00402850
mov dword [ebp - 0x434], 0
cmp dword [eax + 0x14], 8
mov dword [eax + 0x10], 0
jb 0x4598cb
mov eax, dword [eax]
lea ecx, [ebp - 0x434]
push ecx
push eax
call fcn.00402a20
push 0x412
lea eax, [ebp - 0x42c]
push 0
push eax
call fcn.004a2d80
add esp, 0x14
lea eax, [ebp - 0x42c]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x459969
cmp eax, 0x208
jae 0x459969
xor eax, eax
mov word [ebp - 0x1c], ax
lea eax, [ebp - 0x42c]
push eax
call fcn.00402a80
add esp, 4
lea ecx, [ebp - 0x464]
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.00402870
jmp 0x459969
push eax
push 0
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x47c]
call fcn.004088a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x464]
push eax
call fcn.004026c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x494]
call fcn.00402290
lea ecx, [ebp - 0x464]
call fcn.00402650
test al, al
jne 0x459d05
mov ecx, esi
call fcn.00402650
test al, al
jne 0x459d05
mov ecx, ebx
call fcn.00402650
test al, al
jne 0x459d05
push esi
lea ecx, [ebp - 0x4c4]
call fcn.00402770
mov byte [ebp - 4], 3
mov edx, 0x4ed194
lea ecx, [ebp - 0x4c4]
call fcn.004125f0
mov edx, 0x4ed194
lea ecx, [ebp - 0x4c4]
call fcn.00412670
mov edx, 0x10
lea ecx, [ebp - 0x464]
call fcn.0040a060
push 4
mov dword [ebp - 0x434], 0
call fcn.004a101b
add esp, 4
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 4
mov dword [eax], 0
mov dword [eax], 0xffffffff
mov byte [ebp - 4], 3
mov dword [ebp - 0x434], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x544]
call fcn.00413b00
mov byte [ebp - 4], 6
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x47c]
push eax
lea ecx, [ebp - 0x434]
call fcn.00413f10
mov edi, dword [ebp - 0x434]
test al, al
je 0x459cae
nop dword [eax + eax]
lea ecx, [ebp - 0x44c]
call fcn.00402750
mov byte [ebp - 4], 8
lea eax, [ebp - 0x51c]
push eax
lea edx, [ebp - 0x464]
lea ecx, [ebp - 0x560]
call fcn.00408ca0
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x44c]
push eax
call fcn.004026c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x560]
call fcn.00402290
mov edx, 0x10
lea ecx, [ebp - 0x44c]
call fcn.0040a060
push 4
mov dword [ebp - 0x430], 0
call fcn.004a101b
add esp, 4
mov dword [ebp - 0x548], eax
mov byte [ebp - 4], 0xa
mov dword [eax], 0
mov dword [eax], 0xffffffff
mov byte [ebp - 4], 8
mov dword [ebp - 0x430], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x504]
call fcn.00413b00
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x4c4]
push eax
lea edx, [ebp - 0x44c]
lea ecx, [ebp - 0x494]
call fcn.00408ca0
add esp, 4
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x504]
push eax
lea eax, [ebp - 0x494]
push eax
lea ecx, [ebp - 0x430]
call fcn.00413f10
test al, al
je 0x459c72
mov esi, dword [ebp - 0x430]
nop word [eax + eax]
lea eax, [ebp - 0x4dc]
push eax
lea edx, [ebp - 0x44c]
lea ecx, [ebp - 0x4ac]
call fcn.00408ca0
add esp, 4
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x4ac]
push ebx
push eax
call fcn.004596f0
test al, al
jne 0x459c23
lea eax, [ebp - 0x504]
mov ecx, esi
push eax
call fcn.00413c50
test al, al
je 0x459b97
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4ac]
call fcn.00402290
jmp 0x459b40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4ac]
call fcn.00402290
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x494]
call fcn.00402290
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4dc]
call fcn.00402290
mov byte [ebp - 4], 8
test esi, esi
je 0x459bef
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x459be4
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x459be4
mov dword [esi], 0xffffffff
push 4
push esi
call fcn.004a12e5
add esp, 8
lea eax, [ebp - 0x544]
mov dword [ebp - 0x430], 0
push eax
mov ecx, edi
call fcn.00413c50
test al, al
je 0x459c9f
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44c]
call fcn.00402290
jmp 0x459a50
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4ac]
call fcn.00402290
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x494]
call fcn.00402290
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4dc]
call fcn.00402290
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x430]
call fcn.00413ea0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44c]
call fcn.00402290
mov bl, 1
jmp 0x459cb0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x494]
call fcn.00402290
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4dc]
call fcn.00402290
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x430]
call fcn.00413ea0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44c]
call fcn.00402290
xor bl, bl
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x51c]
call fcn.00402290
mov byte [ebp - 4], 3
test edi, edi
je 0x459cea
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x459cdf
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
test eax, eax
je 0x459cdf
mov dword [edi], 0xffffffff
push 4
push edi
call fcn.004a12e5
add esp, 8
mov dword [ebp - 0x434], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c4]
call fcn.00402290
jmp 0x459d07
xor bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x464]
call fcn.00402290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x47c]
call fcn.00402290
mov al, bl
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.004a100a
mov esp, ebp
pop ebp
ret 0xc