Function at 0x40f4da
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov dword [ebp - 0x84], 0
mov byte [ebp - 0xc], 0
movzx eax, byte [ebp - 0xc]
test eax, eax
je 0x40f519
push 0x25bb
push 0xb36
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawEdge]
mov byte [ebp - 0xa], 0
movzx eax, byte [ebp - 0xa]
test eax, eax
je 0x40f532
push 0x2515
push 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov dword [ebp - 0x1c], 1
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
js 0x40f55e
mov ecx, dword [ebp - 0x20]
call fcn.004165d4
mov eax, dword [ebp - 0x20]
add eax, 0x18
mov dword [ebp - 0x20], eax
jmp 0x40f542
push dword [ebp + 0x10]
push 0
push 0x46aa
lea eax, [ebp - 0x9c]
push eax
push 0x4e12
push dword [ebp + 0xc]
push 0x2dae
push dword [ebp + 0x14]
call fcn.004129d6
add esp, 0x20
mov dword [ebp - 8], 0x2667
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x24], 0x2275dd36
mov dword [ebp - 0x54], 0xffffffff
mov dword [ebp - 0x70], 0x3e1fe01
mov dword [ebp - 0x7c], 0x1994
mov eax, 0xbd94543b
test eax, eax
je 0x40f5fe
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
jle 0x40f5e4
mov dword [ebp - 0x44], 1
jmp 0x40f5e8
and dword [ebp - 0x44], 0
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x44]
cmp eax, 0x13b01d91
jle 0x40f5fe
mov dword [ebp - 0x5c], 1
jmp 0x40f602
and dword [ebp - 0x5c], 0
cmp dword [ebp - 0x5c], 0xffffffff
jne 0x40f611
mov dword [ebp - 0x34], 1
jmp 0x40f615
and dword [ebp - 0x34], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x34], eax
je 0x40f626
mov dword [ebp - 0x50], 1
jmp 0x40f62a
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x50]
je 0x40f646
mov byte [ebp - 0xb], 0
movzx eax, byte [ebp - 0xb]
test eax, eax
je 0x40f644
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x40f680
mov dword [ebp - 4], 0xffffffe6
jmp 0x40f656
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x3c
jle 0x40f680
mov byte [ebp - 9], 0
movzx eax, byte [ebp - 9]
test eax, eax
je 0x40f677
push 0x124e
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov dword [ebp - 0x14], 0x3e25468d
jmp 0x40f64f
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x3c], 0
cmp dword [ebp - 0x3c], 0
je 0x40f6a2
cmp dword [ebp - 4], 0
je 0x40f6a2
mov dword [ebp - 0x58], 1
jmp 0x40f6a6
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x58]
jg 0x40f6b7
mov dword [ebp - 0x28], 1
jmp 0x40f6bb
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x28], eax
jle 0x40f6cc
mov dword [ebp - 0x60], 1
jmp 0x40f6d0
and dword [ebp - 0x60], 0
cmp dword [ebp - 0x60], 0xec73f5cf
jae 0x40f6e2
mov dword [ebp - 0x4c], 1
jmp 0x40f6e6
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 8]
cmp dword [ebp - 8], eax
jle 0x40f709
mov dword [ebp - 0x68], 1
jmp 0x40f70d
and dword [ebp - 0x68], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x64], eax
jl 0x40f72a
mov dword [ebp - 0x2c], 1
jmp 0x40f72e
and dword [ebp - 0x2c], 0
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x2c], eax
jle 0x40f73f
mov dword [ebp - 0x30], 1
jmp 0x40f743
and dword [ebp - 0x30], 0
imul eax, dword [ebp - 0x30], 0x5d90
test eax, eax
jne 0x40f75a
cmp dword [ebp - 0x24], 0
jne 0x40f75a
and dword [ebp - 0x38], 0
jmp 0x40f761
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x38], eax
jl 0x40f772
mov dword [ebp - 0x6c], 1
jmp 0x40f776
and dword [ebp - 0x6c], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x80], eax
mov eax, 0x1f1c
test eax, eax
jne 0x40f78a
xor eax, eax
inc eax
je 0x40f79a
push 0xfffffffffffffff7
pop eax
test eax, eax
je 0x40f79a
mov dword [ebp - 0x40], 1
jmp 0x40f79e
and dword [ebp - 0x40], 0
cmp dword [ebp - 0x40], 1
jae 0x40f7b1
xor eax, eax
je 0x40f7b1
mov dword [ebp - 0x48], 1
jmp 0x40f7b5
and dword [ebp - 0x48], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x70], eax
push 0x18
pop eax
imul eax, eax, 0
lea eax, [ebp + eax - 0x9c]
push eax
mov ecx, dword [ebp + 8]
call fcn.004165ae
mov dword [ebp - 0x18], 1
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x10], eax
imul eax, dword [ebp - 0x18], 0x18
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
js 0x40f807
mov eax, dword [ebp - 0x10]
sub eax, 0x18
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
call fcn.004165e5
jmp 0x40f7eb
mov eax, dword [ebp + 8]
mov esp, ebp
pop ebp
ret