Function at 0x466522
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
sub esp, 0x420
lea ebp, [esp - 4]
mov eax, dword [0x4d5784]
xor eax, ebp
mov dword [ebp + 0x420], eax
push 0x58
mov eax, 0x4af2db
call fcn.004303ac
push dword [ebp + 0x430]
mov esi, dword [ebp + 0x42c]
push esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x1c], esi
call fcn.00466363
xor ebx, ebx
cmp eax, ebx
je 0x46673b
cmp eax, 5
je 0x46673b
mov ecx, dword [ebp - 0x14]
call fcn.00465da1
push esi
call fcn.0042f8e7
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042f8d1
mov edi, eax
xor eax, eax
push 0x3fe
mov word [ebp + 0x20], ax
lea eax, [ebp + 0x22]
push ebx
push eax
mov dword [ebp - 0x18], edi
call fcn.00430560
push esi
call fcn.0042f8e7
lea eax, [eax + eax + 2]
push eax
push esi
push edi
call fcn.004335c0
add esp, 0x24
lea eax, [ebp + 0x20]
push eax
push 0x200
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
cmp eax, ebx
jne 0x4665e2
push edi
call fcn.00430546
pop ecx
jmp 0x46673b
push 0x5c
push edi
call fcn.004a8aea
pop ecx
mov esi, eax
pop ecx
push edi
cmp esi, ebx
je 0x4665d7
mov edi, dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
xor eax, eax
mov word [esi], ax
call edi
push 0x5c
test eax, eax
pop eax
mov word [esi], ax
jne 0x46660f
push dword [ebp - 0x18]
jmp 0x4665d7
lea eax, [ebp - 0x2c]
push eax
add esi, 2
call dword [sym.imp.KERNEL32.DLL_GetLocalTime]
lea ecx, [ebp]
call fcn.0044fba4
movzx eax, word [ebp - 0x20]
push eax
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x26]
push eax
movzx eax, word [ebp - 0x2a]
push eax
movzx eax, word [ebp - 0x2c]
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push esi
mov dword [ebp - 4], ebx
call fcn.00408320
lea eax, [ebp - 0x48]
push eax
call fcn.00450cc9
add esp, 0x20
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 1
jb 0x46666e
mov eax, dword [eax + 4]
jmp 0x466671
add eax, 4
push eax
lea eax, [ebp]
push str._s._d_d_d_d_d_d
push eax
call fcn.00450046
add esp, 0x24
push ebx
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.004045c0
lea ecx, [ebp]
call fcn.0044f474
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.00408320
lea eax, [ebp - 0x64]
push eax
call fcn.00450cc9
add esp, 0x20
cmp dword [eax + 0x18], 0x10
mov byte [ebp - 4], 2
jb 0x4666c2
mov eax, dword [eax + 4]
jmp 0x4666c5
add eax, 4
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x10], esp
push esi
call fcn.00408320
lea eax, [ebp - 0x48]
push eax
call fcn.00450cc9
add esp, 0x20
cmp dword [eax + 0x18], 0x10
jb 0x4666eb
mov eax, dword [eax + 4]
jmp 0x4666ee
add eax, 4
push eax
call fcn.004a8b16
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.004045c0
push ebx
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.004045c0
lea eax, [ebp + 0x20]
push eax
call edi
push dword [ebp - 0x18]
call fcn.00430546
pop ecx
push dword [ebp + 0x430]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x1c]
call fcn.00466363
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp]
call fcn.0044f980
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x420]
xor ecx, ebp
call fcn.0043039d
add ebp, 0x424
leave
ret 8