Function at 0x4053a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8b8
push esi
push edi
mov dword [esp + 0x54], 0x52f1c098
mov dword [esp + 0x80], 0x5c2faf57
mov dword [esp + 0xa4], 0x321fa474
mov dword [esp + 0xa8], 0x42c7b6b3
mov dword [esp + 0x64], 0x36837cba
mov dword [esp + 0xa0], 0x66d3efc0
mov dword [esp + 0x40], 0x647d4722
mov dword [esp + 0x24], 0x12f3e93b
mov dword [esp + 0x3c], 0x779db4e0
mov dword [esp + 0x8c], 0x688016d0
mov dword [esp + 0x2c], 0x726ef21b
mov dword [esp + 0xb4], 0x3c6b3ec9
mov dword [esp + 0x38], 0x13b48da8
mov dword [esp + 0x98], 0x4cf40ed1
mov dword [esp + 0x7c], 0x70321cd9
mov dword [esp + 0x4c], 0x5e2cf2f3
mov dword [esp + 0x30], 0x1ec4451a
mov dword [esp + 0x60], 0x183a62d8
mov dword [esp + 0x84], 0x57202bb9
mov dword [esp + 0xac], 0x2bc7fae2
mov dword [esp + 0x74], 0x29ff116a
mov dword [esp + 0x28], 0x7ab7fa9d
mov dword [esp + 0x9c], 0x562020eb
mov dword [esp + 0x34], 0x92341c
mov dword [esp + 0x44], 0x75eaa9ed
mov dword [esp + 0x6c], 0x3029fd79
mov dword [esp + 0x88], 0x730f317a
mov dword [esp + 0x78], 0x1ed6c2b7
mov dword [esp + 0x94], 0x762e1bb5
mov dword [esp + 0xb8], 0x6ff6c07f
mov dword [esp + 0x70], 0x11aa8265
mov dword [esp + 0x48], 0x16e41b35
mov dword [esp + 0x5c], 0x3671417d
mov dword [esp + 0xbc], 0x3b0136d3
mov dword [esp + 0x68], 0x573c2eb1
mov dword [esp + 0x90], 0x74559bbd
mov dword [esp + 0x58], 0x72c3cdcb
mov dword [esp + 0xb0], 0x44bd0f69
mov dword [esp + 0x50], 0xdfa0a34
add dword [esp + 0x54], 0x6a518bff
sub dword [esp + 0x54], 0x67cdcd26
add dword [esp + 0x54], 0x12ec6f9
mov eax, 0x5f94d868
mul dword [esp + 0xa4]
mov eax, dword [esp + 0xa4]
sub dword [esp + 0x80], 0x30f0ed4c
sub dword [esp + 0x54], 0x2c0bc53a
add dword [esp + 0xa4], 0x45f167e
sub dword [esp + 0x80], 0x6ba20582
mov eax, 0x4158faac
mul dword [esp + 0x64]
mov eax, dword [esp + 0x64]
add dword [esp + 0x64], 0x73d166b5
mov eax, 0x276bbea0
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
sub dword [esp + 0xa8], 0x418eb9bc
add dword [esp + 0x40], 0x1eca53e5
sub dword [esp + 0xa4], 0x5c841e6
mov eax, 0x5cce78ad
mul dword [esp + 0x40]
mov eax, dword [esp + 0x40]
sub dword [esp + 0x24], 0x17278f01
mov eax, 0x55d34951
mul dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
add dword [esp + 0x40], 0x167e75fe
add dword [esp + 0x54], 0x419916dd
sub dword [esp + 0x40], 0x4cf126d0
mov eax, 0x3819ab39
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov eax, 0x24a9511f
mul dword [esp + 0x40]
mov eax, dword [esp + 0x40]
sub dword [esp + 0xa0], 0x5cebaad5
sub dword [esp + 0xa8], 0x4eaf65a
sub dword [esp + 0x54], 0x1a1aca3e
mov eax, 0x35a46441
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, 0x1c5479a3
mul dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
mov eax, 0x3cbf25ec
mul dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, 0x7ab00ee7
mul dword [esp + 0x54]
mov eax, dword [esp + 0x54]
add dword [esp + 0x24], 0x66f4acce
mov eax, 0x25b3decc
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
add dword [esp + 0xa8], 0x23773365
sub dword [esp + 0x64], 0x564f36ac
add dword [esp + 0x80], 0x3003c8a1
add dword [esp + 0xa8], 0x21e0494a
sub dword [esp + 0xa4], 0x3ba62620
mov eax, 0xdbff2cb
mul dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, 0x1fb78507
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
add dword [esp + 0x3c], 0xceabfc7
add dword [esp + 0xa4], 0x41171290
sub dword [esp + 0x40], 0x23eff9b3
mov eax, 0x7a2a9bfc
mul dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
add dword [esp + 0x98], 0x79de31c7
add dword [esp + 0x38], 0x44d4c763
add dword [esp + 0x30], 0x5ae9942c
add dword [esp + 0x2c], 0x24261cf7
sub dword [esp + 0x24], 0x218e33f0
add dword [esp + 0x54], 0x3a22a8ff
mov eax, 0x5d1bf0c3
mul dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
add dword [esp + 0x24], 0x7abd7124
mov eax, 0x62cac6c1
mul dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, 0x473058bd
mul dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, 0x3e56f9e4
mul dword [esp + 0x64]
mov eax, dword [esp + 0x64]
add dword [esp + 0x80], 0x7e8f58a3
add dword [esp + 0x80], 0x34986b9a
sub dword [esp + 0x80], 0x197de994
add dword [esp + 0x8c], 0xf14f9b9
mov eax, 0x1636fdc9
mul dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
sub dword [esp + 0xb4], 0x73e5a416
sub dword [esp + 0x30], 0x461e1367
sub dword [esp + 0x64], 0x76fc0b3a
sub dword [esp + 0x7c], 0x14db4c2b
add dword [esp + 0x54], 0x3b7537a6
mov eax, 0x2c047275
mul dword [esp + 0x98]
mov eax, dword [esp + 0x98]
sub dword [esp + 0x54], 0x38f1f11d
add dword [esp + 0x74], 0x73485f3d
add dword [esp + 0x7c], 0x66bd9fdd
mov eax, 0xbce2ce
mul dword [esp + 0x40]
mov eax, dword [esp + 0x40]
add dword [esp + 0x30], 0x50f121fb
sub dword [esp + 0x40], 0x7df86b43
mov eax, 0x5f8aa5d4
mul dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
sub dword [esp + 0x84], 0x699d661d
add dword [esp + 0x30], 0x2f72d5b0
mov eax, 0x737ca6f
mul dword [esp + 0x28]
mov eax, dword [esp + 0x28]
sub dword [esp + 0x64], 0x202de16d
mov eax, 0x32af5080
mul dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, 0x298337e7
mul dword [esp + 0x74]
mov eax, dword [esp + 0x74]
add dword [esp + 0x4c], 0x4eb63b81
mov eax, 0x3081f349
mul dword [esp + 0x40]
mov eax, dword [esp + 0x40]
sub dword [esp + 0x8c], 0x549b6155
sub dword [esp + 0x44], 0x37ee01
sub dword [esp + 0x8c], 0xd9e50f6
sub dword [esp + 0x64], 0x25f3409b
sub dword [esp + 0xa0], 0x7057a984
mov eax, 0x70f90880
mul dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov eax, 0x240b1e0a
mul dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, 0x89526d8
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub dword [esp + 0xa8], 0x56971a1e
sub dword [esp + 0x7c], 0x6ddded32
add dword [esp + 0x28], 0x6bffabc0
mov eax, 0x67e34f8b
mul dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
sub dword [esp + 0x38], 0x220571f7
add dword [esp + 0x7c], 0x3c0c1c02
sub dword [esp + 0x7c], 0x28bd11f3
sub dword [esp + 0x7c], 0x6f79d375
add dword [esp + 0xb8], 0x4e6cde74
add dword [esp + 0x44], 0x294dcdf8
sub dword [esp + 0x60], 0x65e7fb21
mov eax, 0x30f4b071
mul dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov eax, 0x38167089
mul dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, 0x2083e3c2
mul dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
sub dword [esp + 0x5c], 0x37aaa14a
mov eax, 0x6bd0dc90
mul dword [esp + 0x38]
mov eax, dword [esp + 0x38]
add dword [esp + 0x70], 0xa8b849e
sub dword [esp + 0x74], 0x184fa54e
sub dword [esp + 0x54], 0xeeaa49a
mov eax, 0x6ed29fd1
mul dword [esp + 0xb4]
mov eax, dword [esp + 0xb4]
sub dword [esp + 0x84], 0x3866e8a
sub dword [esp + 0xa0], 0x6a36158f
mov eax, 0x55b9e19f
mul dword [esp + 0x38]
mov eax, dword [esp + 0x38]
sub dword [esp + 0x64], 0x27fbf125
cmp dword [0x45cafc], 0x400
jne 0x405a65
xor esi, esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll__hread]
push esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoW]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalCompact]
push esi
lea eax, [esp + 0xc4]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceA]
push esi
call fcn.004066fb
add esp, 4
push esi
push esi
call fcn.00406c77
push esi
push esi
push esi
call fcn.00406f1c
add esp, 0xc
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
sub esp, 8
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.004063f0
fstp st(0)
add esp, 0x10
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
lea ecx, [ecx]
call edi
cmp esi, 0x12e8a06
jg 0x405a83
inc esi
cmp esi, 0x2187f5
jl 0x405a70
mov edi, dword [sym.imp.GDI32.dll_GetCharWidthI]
xor esi, esi
jmp 0x405a90
cmp esi, 0xa16
jge 0x405aa4
push 0
push 0
push 0
push 0
push 0
call edi
cmp esi, 0x166c480
jg 0x405ab5
inc esi
cmp esi, 0x37e3fd1
jl 0x405a90
mov ecx, dword [0x450ebc]
mov dword [0x45cafc], ecx
call fcn.00405040
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, 0x2ec37
cmp dword [0x45cafc], 0x51f
jne 0x405ae9
lea edx, [esp + 0xc0]
push edx
push 0
call esi
sub edi, 1
jne 0x405ad1
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10