Function at 0x6907b8
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x59
push 0
push 0
dec ecx
jne 0x6907c0
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x298]
mov edx, dword [0x41be0c]
call fcn.0040ae44
xor eax, eax
push ebp
push 0x690c5e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6e33a0]
mov dword [ebp - 0x20], eax
mov eax, dword [0x6e3398]
add eax, eax
add eax, 0x87bed5
mov dword [ebp - 0x20], eax
mov edx, 0x690c78
mov eax, dword [ebp - 0x20]
call fcn.0069071c
mov byte [ebp - 0x21], al
cmp byte [ebp - 0x21], 0
je 0x69084a
mov al, byte [0x6e3394]
mov byte [0x6e3395], al
mov eax, dword [ebp - 0x20]
cdq
mov dword [0x6e33a0], eax
mov dword [0x6e33a4], edx
mov eax, dword [ebp - 0x20]
inc eax
cdq
mov dword [0x6e3398], eax
mov dword [0x6e339c], edx
jmp 0x690c12
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x48]
lea eax, [ebp - 0xc]
call fcn.0040e584
push eax
call sub.shell32.dll_SHGetMalloc
lea eax, [ebp - 0x10]
push eax
push 0
push 0x16fbe0
push 0
push 0x16fbe0
call fcn.00683710
push eax
push 0
push 0x1ce6b6
push 0
push 0x1ce6b6
call fcn.00683710
push eax
push 0x1a
push 0xffffffffffffffff
push 0xffe60299
push 0
push 0x19fd67
call fcn.00683710
push eax
call sub.shell32.dll_SHGetFolderLocation
mov eax, 0x104
call fcn.00406f00
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.shell32.dll_SHGetPathFromIDListW
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
call fcn.0040a4ec
mov eax, dword [ebp - 0x14]
call fcn.00406f1c
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [eax]
call dword [eax + 0x14]
push 0xffffffffffffffff
push 0xffe7c4ab
push 0
push 0x183b55
call fcn.00683710
push edx
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00409dbc
cdq
cmp edx, dword [esp + 4]
jne 0x69090e
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x69097e
jmp 0x690912
pop edx
pop eax
jle 0x69097e
mov eax, dword [ebp - 0x1c]
call fcn.00409dbc
mov edx, dword [ebp - 0x1c]
mov dx, word [edx + eax*2 - 2]
lea eax, [ebp - 0x29c]
call fcn.0040a4ac
mov eax, dword [ebp - 0x29c]
push eax
push 0
push 0x1e8270
lea edx, [ebp - 0x2a0]
mov eax, 0x690cbc
call fcn.00683764
mov edx, dword [ebp - 0x2a0]
pop eax
call fcn.0040a828
je 0x69097e
push 0
push 0x124c51
lea edx, [ebp - 0x2a4]
mov eax, 0x690d04
call fcn.00683764
mov edx, dword [ebp - 0x2a4]
lea eax, [ebp - 0x1c]
call fcn.0040a698
push 0
push 0x1ba672
lea edx, [ebp - 0x2a8]
mov eax, 0x690d38
call fcn.00683764
mov edx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x1c]
call fcn.0040a698
push 0
push 0x1d2bb9
lea edx, [ebp - 0x2ac]
mov eax, 0x690da0
call fcn.00683764
mov ecx, dword [ebp - 0x2ac]
lea eax, [ebp - 8]
mov edx, dword [ebp - 0x1c]
call fcn.0040a6f0
xor eax, eax
push ebp
push 0x690bf9
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [ebp - 8]
call fcn.00424730
test al, al
je 0x690bef
push 0
push 0x1abfdd
lea edx, [ebp - 0x2b4]
mov eax, 0x690de4
call fcn.00683764
mov ecx, dword [ebp - 0x2b4]
lea eax, [ebp - 0x2b0]
mov edx, dword [ebp - 8]
call fcn.0040a6f0
mov eax, dword [ebp - 0x2b0]
lea ecx, [ebp - 0x298]
mov edx, 0x10
call fcn.004249a4
cdq
push edx
push eax
push 0xffffffffffffffff
push 0xffe73df5
push 0
push 0x18c20b
call fcn.00683710
cmp edx, dword [esp + 4]
jne 0x690a4b
cmp eax, dword [esp]
pop edx
pop eax
jne 0x690be4
push dword [ebp - 8]
push 0
push 0x1ccbb2
lea edx, [ebp - 0x2b8]
mov eax, 0x690e1c
call fcn.00683764
push dword [ebp - 0x2b8]
push dword [ebp - 0x284]
push 0
push 0x172c1d
lea edx, [ebp - 0x2bc]
mov eax, 0x690e60
call fcn.00683764
push dword [ebp - 0x2bc]
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040a778
push 0
push 0x1a78e7
lea edx, [ebp - 0x2c0]
mov eax, 0x690eb0
call fcn.00683764
mov eax, dword [ebp - 0x2c0]
mov ecx, 1
mov edx, dword [ebp - 0x284]
call fcn.0040aa70
cdq
push edx
push eax
push 0
push 0x1a82c1
push 0
push 0x1a82c0
call fcn.00683710
cmp edx, dword [esp + 4]
jne 0x690aef
cmp eax, dword [esp]
pop edx
pop eax
je 0x690bb2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
jmp 0x690bb2
push dword [ebp - 8]
push 0
push 0x15d3f2
lea edx, [ebp - 0x2c4]
mov eax, 0x690ef0
call fcn.00683764
push dword [ebp - 0x2c4]
push dword [ebp - 0x284]
push 0
push 0xf4f74
lea edx, [ebp - 0x2c8]
mov eax, 0x690f2c
call fcn.00683764
push dword [ebp - 0x2c8]
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.0040a778
push 0
push 0x1ba05d
lea edx, [ebp - 0x2cc]
mov eax, 0x690f60
call fcn.00683764
mov eax, dword [ebp - 0x2cc]
mov ecx, 1
mov edx, dword [ebp - 0x284]
call fcn.0040aa70
cdq
push edx
push eax
push 0
push 0x1180ab
push 0
push 0x1180aa
call fcn.00683710
cmp edx, dword [esp + 4]
jne 0x690ba3
cmp eax, dword [esp]
pop edx
pop eax
je 0x690bb2
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
push 0xffffffffffffffff
push 0xffe9cb03
push 0
push 0x1634fd
call fcn.00683710
push edx
push eax
lea eax, [ebp - 0x298]
call fcn.004249f4
cdq
cmp edx, dword [esp + 4]
jne 0x690bdc
cmp eax, dword [esp]
pop edx
pop eax
je 0x690b07
lea eax, [ebp - 0x298]
call fcn.00424a18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x690c12
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x690c65
lea eax, [ebp - 0x2cc]
mov edx, 0xd
call fcn.0040992c
lea eax, [ebp - 0x298]
mov edx, dword [0x41be0c]
call fcn.0040b1f8
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0040992c
lea eax, [ebp - 0xc]
call fcn.0040e584
lea eax, [ebp - 8]
call fcn.004098cc
ret