Function at 0x100fad6
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x1018920
push 0x100e392
mov eax, dword fs:[0]
push eax
push ecx
push ecx
mov eax, 0x104c
call fcn.0100e150
mov eax, dword [0x101c8c0]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xf6c], eax
mov eax, dword [ebp + 0xc]
and eax, 0x10000000
mov dword [ebp - 0xf64], eax
mov esi, dword [ebp + 0xc]
and esi, 1
add esi, esi
mov eax, dword [ebp + 0xc]
shr eax, 0x14
and eax, 1
lea ecx, [ebp - 0xd50]
mov dword [ebp - 0xf78], ecx
mov dword [ebp - 0xf60], 0x1006d68
mov ebx, 0x1006b28
mov edi, ebx
push eax
call fcn.01010f46
test eax, eax
jne 0x100fb6a
xor eax, eax
jmp 0x1010344
call fcn.0100e849
test eax, eax
je 0x100fb82
mov edi, 0x1006af8
mov dword [ebp - 0xf60], 0x1006d48
push 1
push edi
call dword [0x1020330]
mov dword [ebp - 0xf5c], eax
xor edi, edi
cmp eax, edi
jne 0x100fbc3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x100fbbb
mov dword [ebp - 0xf60], 0x1006d68
push 1
push ebx
call dword [0x1020330]
mov dword [ebp - 0xf5c], eax
cmp dword [ebp - 0xf5c], edi
je 0x100fb63
cmp dword [ebp - 0xf64], edi
jne 0x100fbd1
inc dword [0x10202f0]
xor eax, eax
mov ebx, dword [0x10202ec]
cmp ebx, edi
setne al
mov dword [ebp - 0xf68], eax
cmp eax, edi
je 0x101017d
mov dword [ebp - 0xf60], ebx
mov dword [ebp - 0xf74], edi
cmp dword [ebp - 0xf6c], edi
je 0x100fc23
push dword [ebp - 0xf6c]
push 0x1006f70
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.0100ef45
add esp, 0x10
test eax, eax
jge 0x100fc4f
push 0xfa
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x100fc4f
push 0x1006f6c
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.0100ee65
mov dword [ebp - 4], edi
lea eax, [ebp - 0x328]
mov dword [ebp - 0x1054], eax
mov dword [ebp - 0x1050], esi
mov dword [ebp - 0x104c], edi
mov dword [ebp - 0x1048], edi
lea eax, [ebp - 0x530]
mov dword [ebp - 0xff4], eax
mov dword [ebp - 0xff0], esi
mov dword [ebp - 0xfec], edi
mov dword [ebp - 0xfe8], edi
lea eax, [ebp - 0x940]
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x1030], esi
mov dword [ebp - 0x102c], edi
mov dword [ebp - 0x1028], edi
lea eax, [ebp - 0x738]
mov dword [ebp - 0x1064], eax
mov dword [ebp - 0x1060], esi
mov dword [ebp - 0x105c], edi
mov dword [ebp - 0x1058], edi
mov dword [ebp - 0x1014], 0x1006f5c
mov dword [ebp - 0x1010], edi
mov dword [ebp - 0x100c], edi
mov dword [ebp - 0x1008], edi
lea eax, [ebp - 0xb48]
mov dword [ebp - 0xfe4], eax
mov dword [ebp - 0xfe0], esi
mov dword [ebp - 0xfdc], edi
mov dword [ebp - 0xfd8], edi
lea eax, [ebp - 0xf58]
mov dword [ebp - 0x1004], eax
mov dword [ebp - 0x1000], esi
mov dword [ebp - 0xffc], edi
mov dword [ebp - 0xff8], edi
mov dword [ebp - 0xf90], 0x1006d08
mov eax, 0x1006d40
mov dword [ebp - 0xf8c], eax
mov edx, 0x1006d38
mov dword [ebp - 0xf88], edx
mov ecx, 0x1006d10
mov dword [ebp - 0xf84], ecx
mov dword [ebp - 0xf80], 0x1006d00
mov dword [ebp - 0xf7c], edi
mov dword [ebp - 0xfc4], eax
mov dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfbc], 0x1006d30
mov dword [ebp - 0xfb8], 0x1006d28
mov dword [ebp - 0xfb4], 0x1006d20
mov dword [ebp - 0xfb0], 0x1006d18
mov dword [ebp - 0xfac], ecx
mov dword [ebp - 0xf70], 0x1006f44
mov dword [ebp - 0xf6c], 0x1006f0c
mov dword [ebp - 0xfa8], 0x1006ef4
mov dword [ebp - 0xfa4], 0x1006ec4
mov dword [ebp - 0x1044], eax
mov edx, 0x4000000
mov dword [ebp - 0x1040], edx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1038], edi
mov dword [ebp - 0xfa0], eax
mov dword [ebp - 0xf9c], 0x2000000
mov dword [ebp - 0xf98], ecx
mov dword [ebp - 0xf94], edi
mov dword [ebp - 0x1024], eax
mov dword [ebp - 0x1020], 0x3000000
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1018], ecx
mov dword [ebp - 0xfd4], eax
mov dword [ebp - 0xfd0], edx
mov dword [ebp - 0xfcc], edi
mov dword [ebp - 0xfc8], edi
push 0x1006ea8
lea eax, [ebp - 0x120]
push eax
mov esi, 0x1006e9c
push esi
push 0x104
lea eax, [ebp - 0x328]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
push 0x1006e80
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x530]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
push 0x1006e64
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x738]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
push 0x1006e4c
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xb48]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
push 0x1006e34
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xf58]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
push 0x1006e20
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x940]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
push 0x1006e04
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xd50]
push eax
call fcn.0100c0f1
add esp, 0x14
test eax, eax
jl 0x1010333
test dword [ebp + 0xc], 0x2000000
je 0x100ff66
mov dword [0x1020300], 1
mov esi, 0x1000000
test dword [ebp + 0xc], esi
je 0x100ff8e
test dword [0x10202f4], esi
jne 0x100ff8e
push 0x100f75e
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [0x1020304], eax
or dword [0x10202f4], esi
call fcn.0100ebe0
test eax, eax
je 0x1010333
mov eax, 0x1000
mov esi, 0x1006760
test dword [ebp + 0xc], eax
je 0x100ffea
test dword [0x10202f4], eax
jne 0x100ffea
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1054]
push ecx
push 0x1006770
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0x1044]
push ecx
push 0x1006750
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x1000
mov eax, 0x2000
test dword [ebp + 0xc], eax
je 0x1010034
test dword [0x10202f4], eax
jne 0x1010034
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xff4]
push ecx
push 0x1006770
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfa0]
push ecx
push 0x1006750
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x2000
mov eax, 0x20000
test dword [ebp + 0xc], eax
je 0x1010074
test dword [0x10202f4], eax
jne 0x1010074
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1034]
push ecx
push 0x1006770
lea ecx, [ebp - 0xf90]
push ecx
push esi
push edi
push edi
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x20000
push dword [ebp + 0xc]
call fcn.0100ec47
mov eax, 0x10000
test dword [ebp + 0xc], eax
je 0x10100c6
test dword [0x10202f4], eax
jne 0x10100c6
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1014]
push ecx
push 0x1006770
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfd4]
push ecx
push 0x1006750
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x10000
mov eax, 0x8000
test dword [ebp + 0xc], eax
je 0x1010104
test dword [0x10202f4], eax
jne 0x1010104
mov eax, dword [ebx]
push edi
push edi
push edi
lea ecx, [ebp - 0xfc4]
push ecx
push 0x1006790
push ecx
push 0x10067a0
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x8000
mov eax, 0x80000000
test dword [ebp + 0xc], eax
je 0x10101cf
test dword [0x10202f4], eax
jne 0x10101cf
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xf70]
push ecx
push 0x1006780
lea ecx, [ebp - 0xf90]
push ecx
push esi
push edi
push edi
push ebx
call dword [eax]
test eax, eax
je 0x1010333
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xfa8]
push ecx
push 0x1006780
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfa0]
push ecx
mov esi, 0x1006750
push esi
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x80000000
jmp 0x10101d4
call fcn.01011715
push 0x11
push 0x101cf08
push dword [ebp - 0xf60]
call fcn.0101314a
mov ebx, eax
mov dword [ebp - 0xf60], ebx
cmp ebx, edi
jne 0x100fbf2
cmp dword [ebp - 0xf64], edi
jne 0x10101b2
dec dword [0x10202f0]
push dword [ebp - 0xf5c]
call dword [0x1020334]
push dword [ebp - 0xf5c]
call dword [0x102033c]
jmp 0x100fb63
mov esi, 0x1006750
mov eax, 0x4000
test dword [ebp + 0xc], eax
je 0x1010240
test dword [0x10202f4], eax
jne 0x1010240
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xfe4]
push ecx
push 0x1006770
push edi
push 0x10067b0
lea ecx, [ebp - 0xfa0]
push ecx
push esi
push ebx
call dword [eax]
test eax, eax
je 0x1010333
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1004]
push ecx
push 0x1006770
push edi
push 0x10067b0
lea ecx, [ebp - 0x1024]
push ecx
push esi
push ebx
call dword [eax]
test eax, eax
je 0x1010333
or dword [0x10202f4], 0x4000
cmp dword [ebp - 0xf68], edi
jne 0x1010278
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x10202fc], eax
mov dword [0x10202ec], ebx
mov esi, 0x104
push esi
push 0x101cbf0
push edi
call dword [0x102035c]
push esi
push str._unknown_
push edi
call dword [0x1020360]
mov dword [ebp - 0xf74], 1
cmp dword [ebp - 0xf68], edi
jne 0x10102e7
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xf78]
push ecx
push 0x10067c0
push ebx
call dword [eax + 8]
test eax, eax
jne 0x10102e7
cmp dword [0x101cf00], edi
je 0x10102e7
mov esi, dword [ebp + 4]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x1006b28
push 0x1006da0
push 0x595
push edi
push 0x10052e8
push 0x90000
push 0x1006d7c
push 0x67000000
call fcn.0100b725
pop ecx
pop ecx
push eax
call fcn.0100f2dd
mov esi, 0x4000000
mov eax, dword [ebp + 0xc]
test esi, eax
je 0x1010313
test dword [0x10202f4], esi
jne 0x1010313
shr eax, 0x1b
and eax, 1
push 0x100f7b0
push eax
call dword [0x102036c]
or dword [0x10202f4], esi
test dword [ebp + 0xc], 2
je 0x1010324
mov eax, dword [ebx]
push ebx
call dword [eax + 0x18]
jmp 0x1010333
test dword [ebp + 0xc], 4
je 0x1010333
mov eax, dword [ebx]
push ebx
call dword [eax + 0x1c]
mov dword [ebp - 4], 0xfffffffe
call fcn.01010368
mov eax, dword [0x10202ec]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0100e138
leave
ret 0xc