Function at 0x4039c0
Capabilities:
Get common file path
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8f8
push esi
push edi
mov dword [esp + 0x28], 0x7fee41d2
mov dword [esp + 0x74], 0x3d845d18
mov dword [esp + 0x4c], 0x66f5f3ad
mov dword [esp + 0xe8], 0x5ff74e60
mov dword [esp + 0x60], 0xe9a2f5b
mov dword [esp + 0x50], 0x566f1e2e
mov dword [esp + 0xf8], 0x2aec6a72
mov dword [esp + 0xa8], 0x497c37a9
mov dword [esp + 0x20], 0x5b0c7c41
mov dword [esp + 0x24], 0x1ffa4db5
mov dword [esp + 0xe0], 0x43af14de
mov dword [esp + 0x48], 0x745db771
mov dword [esp + 0x1c], 0x22eba7cc
mov dword [esp + 0xdc], 0x6cfe3fed
mov dword [esp + 0x6c], 0x5fa05310
mov dword [esp + 0xa4], 0x20f303c2
mov dword [esp + 0xf0], 0x3df351c4
mov dword [esp + 0xa0], 0x51e12cf9
mov dword [esp + 0x8c], 0x93d2da0
mov dword [esp + 0x7c], 0x626971e8
mov dword [esp + 0xac], 0x29d1fc34
mov dword [esp + 0x44], 0x2b0dea3b
mov dword [esp + 0x54], 0x2561c5fc
mov dword [esp + 0xc4], 0x7710113e
mov dword [esp + 0xf4], 0x26d5490d
mov dword [esp + 0x40], 0x161a509
mov dword [esp + 0xd4], 0x560388b7
mov dword [esp + 0xe4], 0x48ff4ea3
mov dword [esp + 0x78], 0x86423b3
mov dword [esp + 0xb0], 0x6e1e2f51
mov dword [esp + 0x84], 0x713fc1e1
mov dword [esp + 0x3c], 0x36057d00
mov dword [esp + 0x9c], 0x2d824e14
mov dword [esp + 0xbc], 0x59ae2c7a
mov dword [esp + 0x98], 0x52dcd7a6
mov dword [esp + 0x70], 0x51c7eea1
mov dword [esp + 0x38], 0x447d7631
mov dword [esp + 0xb4], 0x1de2f4df
mov dword [esp + 0x90], 0x3674b23
mov dword [esp + 0xd8], 0x7030aa6a
mov dword [esp + 0x64], 0x49543fa5
mov dword [esp + 0xec], 0x5996c52d
mov dword [esp + 0x88], 0x1983ec1c
mov dword [esp + 0x34], 0x4e043eaa
mov dword [esp + 0xd0], 0x2b0a3490
mov dword [esp + 0x68], 0x27e49ca
mov dword [esp + 0xb8], 0x62e4441c
mov dword [esp + 0xcc], 0x7f4d9ff0
mov dword [esp + 0xc8], 0x7fb41963
mov dword [esp + 0x80], 0x7ff9ab74
mov dword [esp + 0x5c], 0x4b7dd5c5
mov dword [esp + 0x58], 0x8ed63b0
mov dword [esp + 0x30], 0x672ce3e1
mov dword [esp + 0x2c], 0x440c74a6
mov dword [esp + 0x94], 0x15a06d1d
mov dword [esp + 0xfc], 0x16bd6919
mov dword [esp + 0xc0], 0x3b86e6bf
sub dword [esp + 0x28], 0x26be08a9
add dword [esp + 0x74], 0xe1ad238
mov eax, 0x6cf6fcef
mul dword [esp + 0x74]
mov eax, dword [esp + 0x74]
add dword [esp + 0x74], 0x44820f6d
sub dword [esp + 0x28], 0x15114ccb
sub dword [esp + 0x74], 0x473d4853
sub dword [esp + 0x74], 0x347f202
add dword [esp + 0xe8], 0x34379613
sub dword [esp + 0xf8], 0x5647aacd
sub dword [esp + 0x50], 0x4232ce22
sub dword [esp + 0x20], 0x870af73
sub dword [esp + 0x60], 0x3d473a21
mov eax, 0x7cb9b5bc
mul dword [esp + 0xf8]
mov eax, dword [esp + 0xf8]
mov eax, 0x3592fbc5
mul dword [esp + 0x60]
mov eax, dword [esp + 0x60]
sub dword [esp + 0x24], 0x6f94186
sub dword [esp + 0x1c], 0x66d49e15
add dword [esp + 0x4c], 0x76d5f694
sub dword [esp + 0xf8], 0x27f63c31
sub dword [esp + 0x20], 0x4952080b
sub dword [esp + 0xe8], 0x40910970
sub dword [esp + 0xf0], 0x2c2035c8
mov eax, 0x6d619e25
mul dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
add dword [esp + 0x74], 0x539571ba
add dword [esp + 0xa0], 0x274239ab
mov eax, 0x5f27aac0
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
add dword [esp + 0x50], 0x1a88ebd
add dword [esp + 0x8c], 0x25c6d79c
mov eax, 0xe5f80d3
mul dword [esp + 0xa4]
mov eax, dword [esp + 0xa4]
add dword [esp + 0x8c], 0x2d610ded
mov eax, 0x7d68278b
mul dword [esp + 0x28]
mov eax, dword [esp + 0x28]
sub dword [esp + 0xc4], 0x301643f
add dword [esp + 0x44], 0x393b87d
sub dword [esp + 0xa8], 0x62d3c8da
add dword [esp + 0x8c], 0x2ce58e48
add dword [esp + 0x7c], 0x27820c9b
sub dword [esp + 0xb0], 0x3ae84a21
mov eax, 0x6d82b35b
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub dword [esp + 0xa4], 0x1eb4ed3d
sub dword [esp + 0xbc], 0x4328cf28
add dword [esp + 0xa4], 0x59419f0e
sub dword [esp + 0x54], 0x29133492
mov eax, 0x687c9eaa
mul dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
sub dword [esp + 0x48], 0xe7fb270
mov eax, 0x73a4e74e
mul dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
add dword [esp + 0x74], 0x4a97012d
sub dword [esp + 0xa8], 0x673e9871
sub dword [esp + 0x9c], 0x1b61fe33
mov eax, 0xa699d2e
mul dword [esp + 0x70]
mov eax, dword [esp + 0x70]
mov eax, 0x3aa6545
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, 0xacaade3
mul dword [esp + 0x20]
mov eax, dword [esp + 0x20]
sub dword [esp + 0x50], 0x5f4d8b00
add dword [esp + 0xf8], 0x71953834
add dword [esp + 0x78], 0x324c0a11
add dword [esp + 0xdc], 0x6836154e
add dword [esp + 0x7c], 0x3e88ba30
add dword [esp + 0xdc], 0x1d1a5f79
sub dword [esp + 0xc4], 0x5d5e105d
mov eax, 0x58499408
mul dword [esp + 0x54]
mov eax, dword [esp + 0x54]
add dword [esp + 0x60], 0x74bcdf8
mov eax, 0x1f0a483c
mul dword [esp + 0x74]
mov eax, dword [esp + 0x74]
sub dword [esp + 0xa0], 0x5f67f275
sub dword [esp + 0x9c], 0x5d2328b
sub dword [esp + 0xdc], 0x326befba
sub dword [esp + 0x9c], 0x4d7b5791
add dword [esp + 0xa4], 0x1250b212
add dword [esp + 0xf0], 0x20e5e736
mov eax, 0xc4c097f
mul dword [esp + 0xa4]
mov eax, dword [esp + 0xa4]
add dword [esp + 0x90], 0x5fe13be4
add dword [esp + 0xe0], 0x13bf561
add dword [esp + 0x50], 0x5830cd60
mov eax, 0x10b64724
mul dword [esp + 0x88]
mov eax, dword [esp + 0x88]
add dword [esp + 0x44], 0x47090c7e
mov eax, 0x5bff5bd5
mul dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
sub dword [esp + 0x64], 0x19ac1dd5
sub dword [esp + 0x98], 0xcfeb005
sub dword [esp + 0x50], 0x4fd8688d
add dword [esp + 0x50], 0x2dcd382c
mov eax, 0x6b514848
mul dword [esp + 0x78]
mov eax, dword [esp + 0x78]
sub dword [esp + 0xd4], 0x3f6c2fab
sub dword [esp + 0x50], 0x58e1c445
mov eax, 0x26e6e96e
mul dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov eax, 0x5701c1c3
mul dword [esp + 0x84]
mov eax, dword [esp + 0x84]
mov eax, 0x10de31fe
mul dword [esp + 0xd8]
mov eax, dword [esp + 0xd8]
sub dword [esp + 0x74], 0x474c8218
sub dword [esp + 0xe4], 0x747c8dea
add dword [esp + 0x64], 0x128fb25
sub dword [esp + 0x48], 0x25048b21
sub dword [esp + 0xd4], 0x32c8852e
add dword [esp + 0x54], 0x33725e89
add dword [esp + 0xb0], 0x3e55156d
mov eax, 0x3e1111b5
mul dword [esp + 0x50]
mov eax, dword [esp + 0x50]
mov eax, 0x22045029
mul dword [esp + 0xd4]
mov eax, dword [esp + 0xd4]
mov eax, 0x234f9a6
mul dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp dword [0x45aaf4], 0x400
jne 0x40406d
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_GlobalFree]
push esi
lea eax, [esp + 0x104]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_DefineDosDeviceA]
push esi
call fcn.00404beb
add esp, 4
push esi
push esi
call fcn.00405185
push esi
push esi
push esi
call fcn.0040542a
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.004048e0
fstp st(0)
add esp, 0x10
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
call edi
cmp esi, 0x12e8a06
jg 0x404088
inc esi
cmp esi, 0x2187f5
jl 0x404075
mov edi, dword [sym.imp.GDI32.dll_GetCharWidthI]
xor esi, esi
cmp esi, 0xa16
jge 0x4040a4
push 0
push 0
push 0
push 0
push 0
call edi
cmp esi, 0x166c480
jg 0x4040b5
inc esi
cmp esi, 0x37e3fd1
jl 0x404090
mov ecx, dword [0x44eebc]
mov dword [0x45aaf4], ecx
call fcn.00403650
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, 0x2ec37
cmp dword [0x45aaf4], 0x51f
jne 0x4040e9
lea edx, [esp + 0x100]
push edx
push 0
call esi
sub edi, 1
jne 0x4040d1
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10