Function at 0x413c1f
Capabilities:
Get common file path

Disassembly:
push 0x270
mov eax, 0x49f05f
call fcn.00454d67
mov eax, dword [ebp + 8]
push 0x25
pop esi
push 1
mov dword [ebp - 0x270], eax
xor ebx, ebx
push ebx
lea eax, [ebp - 0x26c]
push eax
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x26c], esi
call fcn.0041598c
cmp eax, 0xffffffff
je 0x413ec9
mov dword [ebp - 0x278], esi
mov dword [ebp - 0x26c], esi
mov ecx, dword [ebp - 0x268]
lea esi, [eax + 1]
push 1
push esi
lea eax, [ebp - 0x278]
push eax
mov dword [ebp - 0x274], esi
call fcn.0041598c
mov edi, eax
mov dword [ebp - 0x27c], edi
cmp edi, 0xffffffff
je 0x413eab
mov ecx, dword [ebp - 0x268]
sub eax, esi
push eax
push esi
lea eax, [ebp - 0x234]
push eax
call fcn.004156f9
push 0x4ae354
lea esi, [ebp - 0x234]
mov dword [ebp - 4], ebx
call fcn.00408357
pop ecx
test al, al
je 0x413cdc
lea eax, [ebp - 0x218]
push eax
push ebx
push ebx
push 0x801a
jmp 0x413e21
push 0x4ae374
lea esi, [ebp - 0x234]
call fcn.00408357
pop ecx
test al, al
je 0x413dfa
push 1
call fcn.0043b5c2
pop ecx
test al, al
je 0x413dbd
lea eax, [ebp - 0x254]
push eax
push ebx
mov esi, 0x8000
push esi
push 0x4a9a98
mov dword [ebp - 0x254], ebx
call sub.SHELL32.dll_SHGetKnownFolderPath
cmp eax, ebx
jl 0x413d52
push dword [ebp - 0x254]
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.00450bf8
add esp, 0xc
push dword [ebp - 0x254]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x413e30
push 0x4b00ec
push ebx
push eax
mov eax, dword [ebp - 0x270]
push dword [eax + 0x10c]
call fcn.00418e71
lea eax, [ebp - 0x254]
push eax
push ebx
push esi
push 0x4a9a88
call sub.SHELL32.dll_SHGetKnownFolderPath
cmp eax, ebx
jge 0x413d27
push 0x4b0114
push ebx
push eax
mov eax, dword [ebp - 0x270]
push dword [eax + 0x10c]
call fcn.00418e71
lea ecx, [ebp - 0x264]
call fcn.0045066b
mov dword [ebp - 0x264], 0x4b1354
mov dword [ebp - 0x258], 0x80047e44
jmp 0x413ef0
lea eax, [ebp - 0x218]
push eax
push ebx
push ebx
push 0x802e
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, ebx
jge 0x413e30
lea ecx, [ebp - 0x264]
call fcn.0045066b
mov dword [ebp - 0x264], 0x4b1354
mov dword [ebp - 0x258], 0x80047e45
jmp 0x413ef0
push 0x4ae364
lea esi, [ebp - 0x234]
call fcn.00408357
pop ecx
test al, al
je 0x413e96
lea eax, [ebp - 0x218]
push eax
push ebx
push ebx
push 0x8000
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp eax, ebx
jl 0x413ed1
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x250]
call fcn.0040b362
lea ecx, [ebp - 0x250]
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 1
call fcn.0041683e
test al, al
jne 0x413f01
cmp dword [ebp - 0x23c], ebx
je 0x413e88
lea eax, [ebp - 0x250]
push eax
mov eax, dword [ebp - 0x274]
inc edi
push edi
mov edi, dword [ebp - 0x268]
dec eax
call fcn.0040da5d
mov edi, dword [ebp - 0x27c]
push ebx
push 1
lea ecx, [ebp - 0x250]
call fcn.00407ab4
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp - 0x234]
lea esi, [edi + 1]
call fcn.00407ab4
mov ecx, dword [ebp - 0x268]
push 1
push esi
lea eax, [ebp - 0x26c]
push eax
call fcn.0041598c
cmp eax, 0xffffffff
jne 0x413c6c
call fcn.00454dea
ret 4
lea ecx, [ebp - 0x264]
call fcn.0045066b
mov dword [ebp - 0x264], 0x4b1354
mov dword [ebp - 0x258], 0x80047e42
push 0x4ba2ec
lea eax, [ebp - 0x264]
push eax
call fcn.004548cc
lea ecx, [ebp - 0x264]
call fcn.0045066b
mov dword [ebp - 0x264], 0x4b1354
mov dword [ebp - 0x258], 0x80047e47
jmp 0x413ef0