Function at 0x407277
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x46a5f7
mov eax, dword fs:[0]
push eax
sub esp, 0x7e4
mov eax, dword [0x489e34]
xor eax, esp
mov dword [esp + 0x7e0], eax
push esi
push edi
mov eax, dword [0x489e34]
xor eax, esp
push eax
lea eax, [esp + 0x7f0]
mov dword fs:[0], eax
push 0x68
mov esi, ecx
mov dword [0x48b7d8], 0
call fcn.00447677
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0x7f8], 0
je 0x40721b
mov ecx, eax
call fcn.0040d430
jmp 0x40721d
xor eax, eax
push 0x224
mov dword [esp + 0x7fc], 0xffffffff
mov dword [0x48b7d8], eax
call fcn.00447677
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0x7f8], 1
je 0x407256
mov ecx, eax
call fcn.00410a40
jmp 0x407258
xor eax, eax
mov ecx, eax
mov dword [esp + 0x7f8], 0xffffffff
mov dword [0x48b7ec], eax
call fcn.00410ac0
mov edi, dword [esi + 0x48]
push 0x46f64c
push 5
push 0x48b620
call fcn.004565a4
push str._file
push edi
call fcn.004567b0
add esp, 0x14
test eax, eax
je 0x4072b9
mov ecx, dword [0x48b7d8]
push 0x48b620
push str._file_s
push eax
mov dword [ecx + 0x44], 1
call fcn.0045689e
push str..txt
jmp 0x4072ed
push str._html
push edi
call fcn.004567b0
add esp, 8
test eax, eax
je 0x4072ff
mov edx, dword [0x48b7d8]
push 0x48b620
push str._html_s
push eax
mov dword [edx + 0x44], 1
call fcn.0045689e
push str..htm
push 0x100
push 0x48b620
call fcn.00456687
add esp, 0x18
push 1
mov ecx, 0x48b720
call fcn.0045191d
push 0x9c
lea eax, [esp + 0x754]
push 0
push eax
call fcn.004568e0
add esp, 0xc
lea ecx, [esp + 0x750]
push ecx
mov dword [esp + 0x754], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [esp + 0x760]
sub eax, 1
push 0x48b420
push 0x200
je 0x407359
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
jmp 0x40735f
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov edx, dword [0x48b7d8]
mov ecx, dword [edx + 0xc]
push 1
push 0x46f64c
push 0x46f64c
push 0x48b420
call fcn.00427c60
test eax, eax
mov eax, dword [0x48b7d8]
jne 0x4073b1
cmp dword [eax + 0x44], 0
jne 0x4073a1
push 0x30
push 0x46f604
push 0x46f5a0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [0x48b7d8]
mov ecx, dword [ecx + 0xc]
call fcn.00427eb0
jmp 0x407426
mov ecx, dword [eax + 0xc]
lea edx, [esp + 0x10]
push edx
call fcn.00427ef0
test eax, eax
je 0x407426
mov edx, dword [0x48b7d8]
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [edx + 0xc]
call fcn.00428020
cmp dword [esp + 0xc], 0x121
je 0x407418
push 0x30
push 0x46f604
push 0x46f564
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [0x48b7d8]
mov ecx, dword [eax + 0xc]
call fcn.00427fb0
mov ecx, dword [0x48b7d8]
mov ecx, dword [ecx + 0xc]
call fcn.00427eb0
mov eax, 1
jmp 0x407595
mov edx, dword [0x48b7d8]
mov ecx, dword [edx + 0xc]
call fcn.00427fb0
mov ecx, dword [0x48b7d8]
call fcn.0040d850
test eax, eax
je 0x407593
mov eax, dword [0x48b7d8]
cmp dword [eax + 0x44], 0
je 0x4074ca
push str..txt
push 0x48b620
call fcn.004567b0
add esp, 8
test eax, eax
je 0x40749d
push 0x46e8f8
push 0x48b620
call fcn.00456591
add esp, 8
test eax, eax
mov dword [0x48b7e0], eax
je 0x4074c0
mov ecx, dword [0x48b7d8]
call fcn.0040dcd0
mov ecx, dword [0x48b7e0]
push ecx
call fcn.00456451
add esp, 4
mov eax, 1
jmp 0x407595
push 0x48b620
call fcn.0040f280
add esp, 4
test eax, eax
je 0x4074c0
push 0x48b620
call fcn.0040fe20
add esp, 4
call fcn.0040f3b0
mov eax, 1
jmp 0x407595
push 0
lea ecx, [esp + 0x18]
call fcn.00407bd0
lea edx, [esp + 0x14]
mov dword [esi + 0x20], edx
mov eax, dword [0x48b7ec]
mov edi, dword [sym.imp.GDI32.dll_CreateFontA]
lea ecx, [eax + 0x104]
push ecx
push 0x20
mov eax, dword [eax + 0x208]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push eax
mov dword [esp + 0x830], 2
call edi
push eax
lea ecx, [esi + 0xa4]
call fcn.00448b68
mov eax, dword [0x48b7ec]
lea ecx, [eax + 4]
push ecx
push 0x20
mov eax, dword [eax + 0x204]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
push 0
push eax
call edi
push eax
lea ecx, [esi + 0xac]
call fcn.00448b68
mov eax, dword [0x48b7ec]
mov ecx, dword [eax + 0x21c]
mov edx, dword [0x48b7d8]
mov dword [edx + 0x48], ecx
lea ecx, [esp + 0x14]
call fcn.0044f82b
lea ecx, [esp + 0x14]
mov dword [esp + 0x7f8], 0xffffffff
call fcn.004070a0
xor eax, eax
mov ecx, dword [esp + 0x7f0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x7e0]
xor ecx, esp
call fcn.004563cf
add esp, 0x7f0
ret