Function at 0x1005f2e
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x100f7f0
push 0x10047c2
mov eax, dword fs:[0]
push eax
push ecx
push ecx
mov eax, 0x104c
call fcn.0100d0b0
mov eax, dword [0x101100c]
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], 0x1001bb8
mov ebx, 0x1001978
mov edi, ebx
push eax
call fcn.01007391
test eax, eax
jne 0x1005fc2
xor eax, eax
jmp 0x100679c
call fcn.01004c07
test eax, eax
je 0x1005fda
mov edi, 0x1001948
mov dword [ebp - 0xf60], 0x1001b98
push 1
push edi
call dword [0x1013d60]
mov dword [ebp - 0xf5c], eax
xor edi, edi
cmp eax, edi
jne 0x100601b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x1006013
mov dword [ebp - 0xf60], 0x1001bb8
push 1
push ebx
call dword [0x1013d60]
mov dword [ebp - 0xf5c], eax
cmp dword [ebp - 0xf5c], edi
je 0x1005fbb
cmp dword [ebp - 0xf64], edi
jne 0x1006029
inc dword [0x1013d20]
xor eax, eax
mov ebx, dword [0x1013d1c]
cmp ebx, edi
setne al
mov dword [ebp - 0xf68], eax
cmp eax, edi
je 0x10065d5
mov dword [ebp - 0xf60], ebx
mov dword [ebp - 0xf74], edi
cmp dword [ebp - 0xf6c], edi
je 0x100607b
push dword [ebp - 0xf6c]
push 0x1001dc0
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.01005372
add esp, 0x10
test eax, eax
jge 0x10060a7
push 0xfa
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0x10060a7
push 0x1001dbc
push 0x104
lea eax, [ebp - 0x120]
push eax
call fcn.01005223
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], 0x1001dac
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], 0x1001b58
mov eax, 0x1001b90
mov dword [ebp - 0xf8c], eax
mov edx, 0x1001b88
mov dword [ebp - 0xf88], edx
mov ecx, 0x1001b60
mov dword [ebp - 0xf84], ecx
mov dword [ebp - 0xf80], 0x1001b50
mov dword [ebp - 0xf7c], edi
mov dword [ebp - 0xfc4], eax
mov dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfbc], 0x1001b80
mov dword [ebp - 0xfb8], 0x1001b78
mov dword [ebp - 0xfb4], 0x1001b70
mov dword [ebp - 0xfb0], 0x1001b68
mov dword [ebp - 0xfac], ecx
mov dword [ebp - 0xf70], 0x1001d94
mov dword [ebp - 0xf6c], 0x1001d5c
mov dword [ebp - 0xfa8], 0x1001d44
mov dword [ebp - 0xfa4], 0x1001d14
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 0x1001cf8
lea eax, [ebp - 0x120]
push eax
mov esi, 0x1001cec
push esi
push 0x104
lea eax, [ebp - 0x328]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
push 0x1001cd0
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x530]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
push 0x1001cb4
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x738]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
push 0x1001c9c
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xb48]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
push 0x1001c84
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xf58]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
push 0x1001c70
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0x940]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
push 0x1001c54
lea eax, [ebp - 0x120]
push eax
push esi
push 0x104
lea eax, [ebp - 0xd50]
push eax
call fcn.010053ad
add esp, 0x14
test eax, eax
jl 0x100678b
test dword [ebp + 0xc], 0x2000000
je 0x10063be
mov dword [0x1013d30], 1
mov esi, 0x1000000
test dword [ebp + 0xc], esi
je 0x10063e6
test dword [0x1013d24], esi
jne 0x10063e6
push 0x1005bc6
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [0x1013d34], eax
or dword [0x1013d24], esi
call fcn.01004f9e
test eax, eax
je 0x100678b
mov eax, 0x1000
mov esi, 0x10015b0
test dword [ebp + 0xc], eax
je 0x1006442
test dword [0x1013d24], eax
jne 0x1006442
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1054]
push ecx
push 0x10015c0
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0x1044]
push ecx
push 0x10015a0
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x1000
mov eax, 0x2000
test dword [ebp + 0xc], eax
je 0x100648c
test dword [0x1013d24], eax
jne 0x100648c
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xff4]
push ecx
push 0x10015c0
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfa0]
push ecx
push 0x10015a0
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x2000
mov eax, 0x20000
test dword [ebp + 0xc], eax
je 0x10064cc
test dword [0x1013d24], eax
jne 0x10064cc
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1034]
push ecx
push 0x10015c0
lea ecx, [ebp - 0xf90]
push ecx
push esi
push edi
push edi
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x20000
push dword [ebp + 0xc]
call fcn.01005005
mov eax, 0x10000
test dword [ebp + 0xc], eax
je 0x100651e
test dword [0x1013d24], eax
jne 0x100651e
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1014]
push ecx
push 0x10015c0
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfd4]
push ecx
push 0x10015a0
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x10000
mov eax, 0x8000
test dword [ebp + 0xc], eax
je 0x100655c
test dword [0x1013d24], eax
jne 0x100655c
mov eax, dword [ebx]
push edi
push edi
push edi
lea ecx, [ebp - 0xfc4]
push ecx
push 0x10015e0
push ecx
push 0x10015f0
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x8000
mov eax, 0x80000000
test dword [ebp + 0xc], eax
je 0x1006627
test dword [0x1013d24], eax
jne 0x1006627
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xf70]
push ecx
push 0x10015d0
lea ecx, [ebp - 0xf90]
push ecx
push esi
push edi
push edi
push ebx
call dword [eax]
test eax, eax
je 0x100678b
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xfa8]
push ecx
push 0x10015d0
lea ecx, [ebp - 0xf90]
push ecx
push esi
lea ecx, [ebp - 0xfa0]
push ecx
mov esi, 0x10015a0
push esi
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x80000000
jmp 0x100662c
call fcn.01007acb
push 0x11
push 0x1011640
push dword [ebp - 0xf60]
call fcn.0100956b
mov ebx, eax
mov dword [ebp - 0xf60], ebx
cmp ebx, edi
jne 0x100604a
cmp dword [ebp - 0xf64], edi
jne 0x100660a
dec dword [0x1013d20]
push dword [ebp - 0xf5c]
call dword [0x1013d64]
push dword [ebp - 0xf5c]
call dword [0x1013d6c]
jmp 0x1005fbb
mov esi, 0x10015a0
mov eax, 0x4000
test dword [ebp + 0xc], eax
je 0x1006698
test dword [0x1013d24], eax
jne 0x1006698
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xfe4]
push ecx
push 0x10015c0
push edi
push 0x1001600
lea ecx, [ebp - 0xfa0]
push ecx
push esi
push ebx
call dword [eax]
test eax, eax
je 0x100678b
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0x1004]
push ecx
push 0x10015c0
push edi
push 0x1001600
lea ecx, [ebp - 0x1024]
push ecx
push esi
push ebx
call dword [eax]
test eax, eax
je 0x100678b
or dword [0x1013d24], 0x4000
cmp dword [ebp - 0xf68], edi
jne 0x10066d0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x1013d2c], eax
mov dword [0x1013d1c], ebx
mov esi, 0x104
push esi
push 0x1011328
push edi
call dword [0x1013d8c]
push esi
push str._unknown_
push edi
call dword [0x1013d90]
mov dword [ebp - 0xf74], 1
cmp dword [ebp - 0xf68], edi
jne 0x100673f
mov eax, dword [ebx]
push edi
lea ecx, [ebp - 0xf78]
push ecx
push 0x1001610
push ebx
call dword [eax + 8]
test eax, eax
jne 0x100673f
cmp dword [0x1011638], edi
je 0x100673f
mov esi, dword [ebp + 4]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x1001978
push 0x1001bf0
push 0x595
push edi
push 0x10014c0
push 0x90000
push 0x1001bcc
push 0x67000000
call fcn.01004045
pop ecx
pop ecx
push eax
call fcn.01005745
mov esi, 0x4000000
mov eax, dword [ebp + 0xc]
test esi, eax
je 0x100676b
test dword [0x1013d24], esi
jne 0x100676b
shr eax, 0x1b
and eax, 1
push 0x1005c18
push eax
call dword [0x1013d9c]
or dword [0x1013d24], esi
test dword [ebp + 0xc], 2
je 0x100677c
mov eax, dword [ebx]
push ebx
call dword [eax + 0x18]
jmp 0x100678b
test dword [ebp + 0xc], 4
je 0x100678b
mov eax, dword [ebx]
push ebx
call dword [eax + 0x1c]
mov dword [ebp - 4], 0xfffffffe
call fcn.010067c0
mov eax, dword [0x1013d1c]
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.010049e5
leave
ret 0xc