Function at 0x1068e5a
Capabilities:
Get common file path

Disassembly:
mov eax, 0x12738f7
call fcn.01160118
sub esp, 0x6e0
mov eax, dword [0x12cf8c8]
push ebx
push esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x6e0], ecx
call fcn.01065969
mov esi, dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea eax, [ebp - 0x218]
push eax
xor ebx, ebx
push ebx
push ebx
push 0x800e
push ebx
call esi
cmp eax, ebx
jge 0x1068ead
lea eax, [ebp - 0x218]
push eax
push ebx
push ebx
push 0x8005
push ebx
call esi
mov dword [ebp - 0x69c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x6a0], ebx
mov byte [ebp - 4], 1
lea eax, [ebp - 0x6a0]
push eax
mov ecx, 0x12d2398
call fcn.0107d32f
mov esi, eax
cmp esi, ebx
jl 0x1068ef4
mov eax, dword [ebp - 0x6a0]
cmp eax, ebx
je 0x1068f0a
mov ecx, dword [eax]
lea edx, [ebp - 0x69c]
push edx
push eax
call dword [ecx + 0x54]
mov esi, eax
cmp esi, ebx
jge 0x1068f02
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a0]
jmp 0x1068fa3
cmp dword [ebp - 0x69c], ebx
jne 0x1068f15
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a0]
jmp 0x1068f5c
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a0]
cmp eax, ebx
je 0x1068f28
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x6a8], ebx
mov byte [ebp - 4], 2
push 0x100461c
push dword [ebp - 0x69c]
lea eax, [ebp - 0x6a8]
push eax
call fcn.010613a8
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
jne 0x1068f84
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
je 0x1068f66
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69c]
cmp eax, ebx
je 0x1068f7a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004003
jmp 0x1069772
mov ecx, dword [eax]
lea edx, [ebp - 0x6dc]
push edx
push eax
call dword [ecx + 0x90]
mov esi, eax
cmp esi, ebx
jge 0x1068fc8
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
je 0x1068fad
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69c]
cmp eax, ebx
je 0x1068fc1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x1069772
push edi
mov dword [ebp - 0x6b0], ebx
mov byte [ebp - 4], 3
cmp word [ebp - 0x6dc], bx
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
jne 0x1069010
mov eax, dword [ebp - 0x69c]
mov ecx, dword [eax]
lea edx, [ebp - 0x6b0]
push edx
push eax
call dword [ecx + 0x6c]
mov edi, eax
cmp edi, ebx
jge 0x10690ad
mov byte [ebp - 4], 2
push dword [ebp - 0x6b0]
call esi
jmp 0x1069748
lea ecx, [ebp - 0x6b4]
call fcn.01044f5e
mov byte [ebp - 4], 4
push 0xf043
lea ecx, [ebp - 0x6b4]
call fcn.01032a7e
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x6a4]
call fcn.01045e8e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x6a4]
call fcn.0104502b
lea eax, [ebp - 0x6b4]
push eax
lea ecx, [ebp - 0x6a4]
call fcn.01044d17
push dword [ebp - 0x6a4]
lea ecx, [ebp - 0x6c0]
call fcn.01257a53
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x6b0]
call fcn.01063184
mov byte [ebp - 4], 5
push dword [ebp - 0x6c0]
call esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x6a4]
call fcn.0104508a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6b4]
call fcn.0104508a
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x6bc], eax
mov byte [ebp - 4], 7
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x6c4], eax
mov byte [ebp - 4], 8
push 0xf102
lea ecx, [ebp - 0x6bc]
call fcn.01032a7e
push 0xf0e6
lea ecx, [ebp - 0x6c4]
call fcn.01032a7e
mov eax, dword [ebp - 0x6bc]
mov edi, dword [eax - 8]
push ebx
lea ecx, [ebp - 0x6bc]
call fcn.01032987
dec edi
cmp edi, ebx
mov dword [ebp - 0x6c0], eax
jl 0x1069119
cmp word [eax + edi*2], 0x7c
jne 0x1069116
mov word [eax + edi*2], bx
dec edi
jns 0x106910b
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x6cc], eax
mov byte [ebp - 4], 9
push 0xf0f2
lea ecx, [ebp - 0x6cc]
call fcn.01032a7e
push ebx
push dword [ebp - 0x6c0]
lea ecx, [ebp - 0x698]
push 0x806
push dword [ebp - 0x6b0]
push dword [ebp - 0x6cc]
push ebx
call fcn.010689fe
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x6c4]
mov dword [ebp - 0x64c], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x650], eax
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x698]
call fcn.0108fca8
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x6c0], eax
je 0x10696fd
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x6ac]
call fcn.01045e8e
mov byte [ebp - 4], 0xb
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x6b8], eax
mov byte [ebp - 4], 0xc
push 0xf0ef
lea ecx, [ebp - 0x6b8]
call fcn.01032a7e
cmp eax, ebx
jne 0x1069270
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6b8]
call fcn.0103290a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6ac]
call fcn.0104508a
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x698]
call fcn.0106735f
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6cc]
call fcn.0103290a
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6c4]
call fcn.0103290a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6bc]
call fcn.0103290a
mov byte [ebp - 4], 2
push dword [ebp - 0x6b0]
call esi
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
je 0x1069252
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69c]
cmp eax, ebx
je 0x1069266
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004005
jmp 0x1069771
push dword [ebp - 0x6b8]
lea ecx, [ebp - 0x6ac]
call fcn.010618cc
test eax, eax
jne 0x1069296
push dword [ebp - 0x6b8]
lea ecx, [ebp - 0x6ac]
call fcn.010632fa
mov eax, dword [ebp - 0x6ac]
mov edi, dword [eax - 8]
push 0x1006d4c
lea ecx, [ebp - 0x6d4]
call fcn.01039819
mov byte [ebp - 4], 0xd
push 0x1006d40
lea ecx, [ebp - 0x6d0]
call fcn.01039819
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x6c8]
call fcn.01044f5e
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x6c8]
push eax
lea ecx, [ebp - 0x6ac]
call fcn.0104782b
mov eax, dword [ebp - 0x6d4]
mov edx, dword [eax - 8]
mov eax, dword [ebp - 0x6d0]
mov ecx, dword [ebp - 0x6c8]
mov ecx, dword [ecx - 8]
mov eax, dword [eax - 8]
add ecx, eax
add ecx, edx
add edi, ecx
cmp edi, 0x104
jl 0x1069455
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x6c0], eax
mov byte [ebp - 4], 0x10
push 0xf03d
lea ecx, [ebp - 0x6c0]
call fcn.01032a7e
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x6a4], eax
mov byte [ebp - 4], 0x11
push 0xf006
lea ecx, [ebp - 0x6a4]
call fcn.01032a7e
call fcn.0115c7bb
mov ecx, dword [ebp - 0x6e0]
push eax
push dword [ebp - 0x6a4]
add ecx, 0x14
push dword [ebp - 0x6c0]
call fcn.01061408
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x6a4]
call fcn.0103290a
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x6c0]
call fcn.0103290a
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x6c8]
call fcn.0104508a
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x6d0]
call fcn.0103290a
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x6d4]
call fcn.0103290a
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6b8]
call fcn.0103290a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6ac]
call fcn.0104508a
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x698]
call fcn.0106735f
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6cc]
call fcn.0103290a
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6c4]
call fcn.0103290a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6bc]
call fcn.0103290a
mov byte [ebp - 4], 2
push dword [ebp - 0x6b0]
call esi
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
je 0x1069437
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69c]
cmp eax, ebx
je 0x106944b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80070057
jmp 0x1069771
push dword [ebp - 0x6c8]
lea ecx, [ebp - 0x6a4]
call fcn.01257a53
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x6b4], ebx
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x6d8], ebx
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x6a0], ebx
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x6d8]
push eax
mov ecx, 0x12d2398
call fcn.0107d32f
mov edi, eax
cmp edi, ebx
jl 0x10695cc
mov eax, dword [ebp - 0x6d8]
cmp eax, ebx
jne 0x10695b5
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x6a0]
cmp eax, ebx
je 0x10694c5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x6d8]
cmp eax, ebx
je 0x10694d9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x12
push dword [ebp - 0x6b4]
call esi
mov byte [ebp - 4], 0xf
push dword [ebp - 0x6a4]
call esi
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x6c8]
call fcn.0104508a
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x6d0]
call fcn.0103290a
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x6d4]
call fcn.0103290a
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6b8]
call fcn.0103290a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6ac]
call fcn.0104508a
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x698]
call fcn.0106735f
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6cc]
call fcn.0103290a
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6c4]
call fcn.0103290a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6bc]
call fcn.0103290a
mov byte [ebp - 4], 2
push dword [ebp - 0x6b0]
call esi
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
je 0x1069597
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69c]
cmp eax, ebx
je 0x10695ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80004003
jmp 0x1069771
mov ecx, dword [eax]
lea edx, [ebp - 0x6a0]
push edx
push eax
call dword [ecx + 0x54]
mov edi, eax
cmp edi, ebx
jge 0x106965c
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x6a0]
cmp eax, ebx
je 0x10695e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x6d8]
cmp eax, ebx
je 0x10695f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x12
push dword [ebp - 0x6b4]
call esi
mov byte [ebp - 4], 0xf
push dword [ebp - 0x6a4]
call esi
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x6c8]
call fcn.0104508a
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x6d0]
call fcn.0103290a
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x6d4]
call fcn.0103290a
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6b8]
call fcn.0103290a
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x6ac]
call fcn.0104508a
jmp 0x1069700
mov eax, dword [ebp - 0x6a0]
cmp eax, ebx
je 0x10694b1
mov ecx, dword [eax]
lea edx, [ebp - 0x6b4]
push edx
push eax
call dword [ecx + 0x84]
push 1
push 0x7f02
push 1
lea ecx, [ebp - 0x6ec]
call fcn.0103f069
mov byte [ebp - 4], 0x16
push dword [ebp - 0x6ac]
lea ecx, [ebp - 0x6c0]
call fcn.01257a53
mov byte [ebp - 4], 0x17
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6a0]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x60]
mov edi, eax
mov byte [ebp - 4], 0x16
push dword [ebp - 0x6c0]
call esi
cmp edi, ebx
jl 0x10696d5
mov ecx, dword [ebp - 0x6e0]
call fcn.01063ff5
mov edi, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x6ec]
call fcn.0103d56b
cmp edi, ebx
jge 0x10695cc
push edi
call fcn.0116f1dc
pop ecx
mov edi, 0x80070057
jmp 0x10695cc
xor edi, edi
inc edi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x698]
call fcn.0106735f
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6cc]
call fcn.0103290a
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x6c4]
call fcn.0103290a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6bc]
call fcn.0103290a
mov byte [ebp - 4], 2
push dword [ebp - 0x6b0]
call esi
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x6a8]
cmp eax, ebx
je 0x106975b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x69c]
cmp eax, ebx
je 0x106976f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.0115fe1a
leave
ret