Function at 0x40829a
Capabilities:
Get common file path

Disassembly:
push 0x418
mov eax, 0x436b1b
call fcn.00421173
mov edi, ecx
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x424], ebx
call fcn.0040d199
test eax, eax
je 0x408496
push 0x53
pop eax
push 0x68
mov word [ebp - 0x28], ax
pop eax
push 0x65
mov word [ebp - 0x26], ax
pop eax
push 0x6c
pop ecx
push 0x33
mov word [ebp - 0x24], ax
pop eax
push 0x32
mov word [ebp - 0x1e], ax
pop eax
push 0x2e
mov word [ebp - 0x1c], ax
pop eax
mov word [ebp - 0x1a], ax
push 0x64
pop eax
mov word [ebp - 0x18], ax
xor eax, eax
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x28]
push eax
mov word [ebp - 0x22], cx
mov word [ebp - 0x20], cx
mov word [ebp - 0x16], cx
mov word [ebp - 0x14], cx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x408], eax
test eax, eax
je 0x4085ad
movdqa xmm0, xmmword [0x4397a0]
lea ecx, [ebp - 0x40]
push ecx
push eax
movdqu xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0x68746150
mov byte [ebp - 0x2c], bl
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x5a4], eax
test eax, eax
je 0x408485
lea ecx, [ebp - 0x404]
push ecx
push ebx
push ebx
push 0x439ce0
call eax
test eax, eax
js 0x408485
push 0xb0
lea eax, [ebp - 0x400]
push ebx
push eax
call fcn.0041f3b0
add esp, 0xc
lea ecx, [ebp - 0x400]
push 1
push 3
call fcn.00402acb
movdqa xmm0, xmmword [0x439630]
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x404]
movdqu xmmword [ebp - 0x98], xmm0
lea eax, [ebp - 0x3f0]
mov dword [ebp - 4], ebx
movdqa xmm0, xmmword [0x439620]
push eax
movdqu xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0x39334338
mov dword [ebp - 0x74], 0x7d314132
mov byte [ebp - 0x70], bl
call fcn.00401576
pop ecx
pop ecx
push eax
call fcn.00401331
pop ecx
pop ecx
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x400]
call fcn.00415f17
cmp dword [eax + 0x14], 8
jb 0x408402
mov eax, dword [eax]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
test eax, eax
je 0x40841b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40841d
mov bl, 1
push 0
push 1
lea ecx, [ebp - 0x420]
call fcn.00413939
test bl, bl
je 0x40846e
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x400]
call fcn.00415f17
push eax
push esi
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.00406a87
push 0
push 1
lea ecx, [ebp - 0x420]
call fcn.00413939
lea ecx, [ebp - 0x400]
call fcn.00403c09
jmp 0x4085bb
push dword [ebp - 0x404]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
lea ecx, [ebp - 0x400]
call fcn.00403c09
push dword [ebp - 0x408]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4085ad
lea eax, [ebp - 0x2a0]
push eax
push ebx
push ebx
push 0x1c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x4085ad
push 0xb0
lea eax, [ebp - 0x350]
push ebx
push eax
call fcn.0041f3b0
add esp, 0xc
lea ecx, [ebp - 0x350]
push 1
push 3
call fcn.00402acb
movdqa xmm0, xmmword [0x439630]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2a0]
mov dword [ebp - 4], 2
push eax
movdqu xmmword [ebp - 0x6c], xmm0
lea eax, [ebp - 0x340]
mov dword [ebp - 0x4c], 0x39334338
movdqa xmm0, xmmword [0x439620]
push eax
movdqu xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x48], 0x7d314132
mov byte [ebp - 0x44], bl
call fcn.00401576
pop ecx
pop ecx
push eax
call fcn.00401331
pop ecx
pop ecx
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp - 0x350]
call fcn.00415f17
cmp dword [eax + 0x14], 8
jb 0x408541
mov eax, dword [eax]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
test eax, eax
je 0x40855a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40855c
mov bl, 1
push 0
push 1
lea ecx, [ebp - 0x420]
call fcn.00413939
lea ecx, [ebp - 0x350]
test bl, bl
je 0x4085a8
lea eax, [ebp - 0x420]
push eax
call fcn.00415f17
push eax
push esi
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00406a87
push 0
push 1
lea ecx, [ebp - 0x420]
call fcn.00413939
lea ecx, [ebp - 0x350]
jmp 0x408464
call fcn.00403c09
and dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov eax, esi
call fcn.00421122
ret 4