Function at 0x401357
Capabilities:
Get common file path
Get program files directory
Get startup folder

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x894
mov eax, dword [0x40e010]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x890], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x894], eax
mov ecx, 0x3c7e
mov eax, ecx
mov word [ebp - 0x20c], ax
add eax, 0xffffff8d
mov word [ebp - 0x20a], ax
lea eax, [ecx - 0x75]
mov edx, eax
mov word [ebp - 0x208], dx
add edx, 0xb
mov word [ebp - 0x202], ax
mov word [ebp - 0x206], dx
lea edx, [ecx - 0x62]
mov word [ebp - 0x204], dx
add edx, 0xfffffffe
mov eax, edx
mov word [ebp - 0x200], ax
lea edi, [ecx - 0x68]
mov eax, edi
mov word [ebp - 0x1fe], ax
add eax, 7
mov word [ebp - 0x1fc], ax
lea eax, [ecx - 0x6c]
mov word [ebp - 0x1fa], ax
add eax, 5
mov word [ebp - 0x1f8], ax
lea eax, [ecx - 0x60]
mov word [ebp - 0x1f6], ax
lea esi, [ecx - 0x76]
mov eax, esi
mov word [ebp - 0x1f4], ax
mov eax, ecx
mov word [ebp - 0x1f2], ax
add eax, 0xffffffdd
mov ebx, eax
mov word [ebp - 0x1f0], bx
mov word [ebp - 0x1ee], bx
mov word [ebp - 0x1ec], bx
mov word [ebp - 0x1ea], bx
mov word [ebp - 0x1e8], bx
mov word [ebp - 0x1e6], bx
mov word [ebp - 0x1e4], bx
mov word [ebp - 0x1e2], bx
mov word [ebp - 0x1e0], bx
mov word [ebp - 0x1de], bx
mov word [ebp - 0x1dc], bx
mov word [ebp - 0x1da], bx
mov word [ebp - 0x1d8], bx
mov word [ebp - 0x1d6], bx
mov word [ebp - 0x1d4], bx
mov word [ebp - 0x1d2], bx
mov word [ebp - 0x1d0], bx
mov word [ebp - 0x1ce], bx
mov word [ebp - 0x1cc], bx
mov word [ebp - 0x1ca], bx
mov word [ebp - 0x1c8], bx
mov word [ebp - 0x1c6], bx
mov word [ebp - 0x1c4], bx
mov word [ebp - 0x1c2], bx
mov word [ebp - 0x1c0], bx
mov word [ebp - 0x1be], bx
mov word [ebp - 0x1bc], bx
mov word [ebp - 0x1ba], bx
mov word [ebp - 0x1b8], bx
mov word [ebp - 0x1b6], bx
mov word [ebp - 0x1b4], bx
mov word [ebp - 0x1b2], bx
mov word [ebp - 0x1b0], bx
mov word [ebp - 0x1ae], bx
mov word [ebp - 0x1ac], bx
mov word [ebp - 0x1aa], bx
xor ebx, ebx
mov word [ebp - 0x1a8], bx
mov ebx, ecx
mov word [ebp - 0x13c], bx
mov ebx, esi
mov word [ebp - 0x13a], bx
add ebx, 0xfffffffa
mov word [ebp - 0x138], bx
mov ebx, esi
mov word [ebp - 0x136], bx
add ebx, 7
mov word [ebp - 0x134], bx
lea ebx, [ecx - 0x60]
mov word [ebp - 0x132], bx
mov ebx, edi
mov word [ebp - 0x130], bx
mov ebx, ecx
mov word [ebp - 0x12e], bx
mov ebx, eax
mov word [ebp - 0x12c], bx
mov word [ebp - 0x12a], bx
mov word [ebp - 0x128], bx
mov word [ebp - 0x126], bx
mov word [ebp - 0x124], bx
mov word [ebp - 0x122], bx
mov word [ebp - 0x120], bx
mov word [ebp - 0x11e], bx
mov word [ebp - 0x11c], bx
mov word [ebp - 0x11a], bx
mov word [ebp - 0x118], bx
mov word [ebp - 0x116], bx
mov word [ebp - 0x114], bx
mov word [ebp - 0x112], bx
mov word [ebp - 0x110], bx
mov word [ebp - 0x10e], bx
mov word [ebp - 0x10c], bx
mov word [ebp - 0x10a], bx
mov word [ebp - 0x108], bx
mov word [ebp - 0x106], bx
mov word [ebp - 0x104], bx
mov word [ebp - 0x102], bx
mov word [ebp - 0x100], bx
mov word [ebp - 0xfe], bx
mov word [ebp - 0xfc], bx
mov word [ebp - 0xfa], bx
mov word [ebp - 0xf8], bx
mov word [ebp - 0xf6], bx
mov word [ebp - 0xf4], bx
mov word [ebp - 0xf2], bx
mov word [ebp - 0xf0], bx
mov word [ebp - 0xee], bx
mov word [ebp - 0xec], bx
mov word [ebp - 0xea], bx
mov word [ebp - 0xe8], bx
mov word [ebp - 0xe6], bx
mov word [ebp - 0xe4], bx
mov word [ebp - 0xe2], bx
mov word [ebp - 0xe0], bx
mov word [ebp - 0xde], bx
mov word [ebp - 0xdc], bx
mov word [ebp - 0xda], bx
xor ebx, ebx
mov word [ebp - 0xd8], bx
mov ebx, ecx
mov word [ebp - 0x1a4], bx
add ebx, 0xffffff9a
mov word [ebp - 0x1a2], bx
lea ebx, [ecx - 0x6a]
mov word [ebp - 0x1a0], bx
mov ebx, edi
mov word [ebp - 0x19e], bx
mov word [ebp - 0x19c], bx
add ebx, 0xfffffffe
mov word [ebp - 0x19a], bx
lea ebx, [ecx - 0x69]
mov word [ebp - 0x198], bx
mov ebx, edx
mov word [ebp - 0x196], bx
lea ebx, [ecx - 0x73]
mov word [ebp - 0x194], bx
mov word [ebp - 0x192], bx
add ebx, 0x14
mov word [ebp - 0x190], bx
mov ebx, edx
mov word [ebp - 0x18e], bx
lea ebx, [ecx - 0x6f]
mov word [ebp - 0x18c], bx
mov ebx, edx
mov word [ebp - 0x18a], bx
mov ebx, ecx
mov word [ebp - 0x188], bx
mov ebx, eax
mov word [ebp - 0x186], bx
mov word [ebp - 0x184], bx
mov word [ebp - 0x182], bx
mov word [ebp - 0x180], bx
mov word [ebp - 0x17e], bx
mov word [ebp - 0x17c], bx
mov word [ebp - 0x17a], bx
mov word [ebp - 0x178], bx
mov word [ebp - 0x176], bx
mov word [ebp - 0x174], bx
mov word [ebp - 0x172], bx
mov word [ebp - 0x170], bx
mov word [ebp - 0x16e], bx
mov word [ebp - 0x16c], bx
mov word [ebp - 0x16a], bx
mov word [ebp - 0x168], bx
mov word [ebp - 0x166], bx
mov word [ebp - 0x164], bx
mov word [ebp - 0x162], bx
mov word [ebp - 0x160], bx
mov word [ebp - 0x15e], bx
mov word [ebp - 0x15c], bx
mov word [ebp - 0x15a], bx
mov word [ebp - 0x158], bx
mov word [ebp - 0x156], bx
mov word [ebp - 0x154], bx
mov word [ebp - 0x152], bx
mov word [ebp - 0x150], bx
mov word [ebp - 0x14e], bx
mov word [ebp - 0x14c], bx
mov word [ebp - 0x14a], bx
mov word [ebp - 0x148], bx
mov word [ebp - 0x146], bx
mov word [ebp - 0x144], bx
mov word [ebp - 0x142], bx
xor ebx, ebx
mov word [ebp - 0x140], bx
mov ebx, ecx
mov word [ebp - 0x6c], bx
add ebx, 0xffffff8e
mov word [ebp - 0x6a], bx
lea ebx, [ecx - 0x6c]
mov word [ebp - 0x68], bx
add ebx, 3
mov word [ebp - 0x66], bx
lea ebx, [ecx - 0x5f]
mov word [ebp - 0x64], bx
add ebx, 0xfffffff5
mov word [ebp - 0x62], bx
lea ebx, [ecx - 0x72]
mov word [ebp - 0x60], bx
mov ebx, esi
mov word [ebp - 0x5e], bx
mov ebx, ecx
mov word [ebp - 0x5c], bx
mov ebx, eax
mov word [ebp - 0x5a], bx
mov word [ebp - 0x58], bx
mov word [ebp - 0x56], bx
mov word [ebp - 0x54], bx
mov word [ebp - 0x52], bx
mov word [ebp - 0x50], bx
mov word [ebp - 0x4e], bx
mov word [ebp - 0x4c], bx
mov word [ebp - 0x4a], bx
mov word [ebp - 0x48], bx
mov word [ebp - 0x46], bx
mov word [ebp - 0x44], bx
mov word [ebp - 0x42], bx
mov word [ebp - 0x40], bx
mov word [ebp - 0x3e], bx
mov word [ebp - 0x3c], bx
mov word [ebp - 0x3a], bx
mov word [ebp - 0x38], bx
mov word [ebp - 0x36], bx
mov word [ebp - 0x34], bx
mov word [ebp - 0x32], bx
mov word [ebp - 0x30], bx
mov word [ebp - 0x2e], bx
mov word [ebp - 0x2c], bx
mov word [ebp - 0x2a], bx
mov word [ebp - 0x28], bx
mov word [ebp - 0x26], bx
mov word [ebp - 0x24], bx
mov word [ebp - 0x22], bx
mov word [ebp - 0x20], bx
mov word [ebp - 0x1e], bx
mov word [ebp - 0x1c], bx
mov word [ebp - 0x1a], bx
mov word [ebp - 0x18], bx
mov word [ebp - 0x16], bx
mov word [ebp - 0x14], bx
mov word [ebp - 0x12], bx
mov word [ebp - 0x10], bx
mov word [ebp - 0xe], bx
mov word [ebp - 0xc], bx
mov word [ebp - 0xa], bx
xor ebx, ebx
mov word [ebp - 8], bx
mov ebx, ecx
mov word [ebp - 0xd4], bx
add ebx, 0xffffff90
mov word [ebp - 0xd2], bx
mov ebx, esi
mov word [ebp - 0xd0], bx
add ebx, 0x16
mov word [ebp - 0xce], bx
lea ebx, [ecx - 0x75]
mov word [ebp - 0xcc], bx
mov ebx, edx
mov word [ebp - 0xca], bx
lea ebx, [ecx - 0x73]
mov word [ebp - 0xc8], bx
mov word [ebp - 0xc6], bx
add ebx, 0x14
mov word [ebp - 0xc4], bx
mov ebx, edx
mov word [ebp - 0xbe], dx
mov edx, ecx
mov word [ebp - 0xc2], bx
mov word [ebp - 0xbc], dx
mov edx, eax
lea ebx, [ecx - 0x6f]
mov word [ebp - 0xc0], bx
mov word [ebp - 0xba], dx
mov word [ebp - 0xb8], dx
mov word [ebp - 0xb6], dx
mov word [ebp - 0xb4], dx
mov word [ebp - 0xb2], dx
mov word [ebp - 0xb0], dx
mov word [ebp - 0xae], dx
mov word [ebp - 0xac], dx
mov word [ebp - 0xaa], dx
mov word [ebp - 0xa8], dx
mov word [ebp - 0xa6], dx
mov word [ebp - 0xa4], dx
mov word [ebp - 0xa2], dx
mov word [ebp - 0xa0], dx
mov word [ebp - 0x9e], dx
mov word [ebp - 0x9c], dx
mov word [ebp - 0x9a], dx
mov word [ebp - 0x98], dx
mov word [ebp - 0x96], dx
mov word [ebp - 0x94], dx
mov word [ebp - 0x92], dx
mov word [ebp - 0x90], dx
mov word [ebp - 0x8e], dx
mov word [ebp - 0x8c], dx
mov word [ebp - 0x8a], dx
mov word [ebp - 0x88], dx
mov word [ebp - 0x86], dx
mov word [ebp - 0x84], dx
mov word [ebp - 0x82], dx
mov word [ebp - 0x80], dx
mov word [ebp - 0x7e], dx
mov word [ebp - 0x7c], dx
mov word [ebp - 0x7a], dx
mov word [ebp - 0x78], dx
mov word [ebp - 0x76], dx
mov word [ebp - 0x74], dx
mov word [ebp - 0x72], dx
xor edx, edx
mov word [ebp - 0x70], dx
mov edx, ecx
mov word [ebp - 0x274], dx
mov edx, edi
mov word [ebp - 0x272], dx
add edx, 0xffffffec
mov word [ebp - 0x270], dx
lea edx, [ecx - 0x5f]
mov word [ebp - 0x26e], dx
add edx, 0xfffffff5
mov word [ebp - 0x26c], dx
lea edx, [ecx - 0x66]
mov word [ebp - 0x26a], dx
add edx, 0xfffffff6
mov word [ebp - 0x268], dx
lea edx, [ecx - 0x60]
mov word [ebp - 0x25c], cx
mov ecx, eax
mov word [ebp - 0x212], ax
mov word [ebp - 0x264], dx
xor eax, eax
mov word [ebp - 0x266], di
add edx, 0xfffffff7
mov word [ebp - 0x210], ax
xor edi, edi
mov word [ebp - 0x262], dx
lea eax, [ebp - 0x20c]
mov edx, ebx
push edi
push eax
mov word [ebp - 0x260], dx
mov word [ebp - 0x25e], si
mov word [ebp - 0x25a], cx
mov word [ebp - 0x258], cx
mov word [ebp - 0x256], cx
mov word [ebp - 0x254], cx
mov word [ebp - 0x252], cx
mov word [ebp - 0x250], cx
mov word [ebp - 0x24e], cx
mov word [ebp - 0x24c], cx
mov word [ebp - 0x24a], cx
mov word [ebp - 0x248], cx
mov word [ebp - 0x246], cx
mov word [ebp - 0x244], cx
mov word [ebp - 0x242], cx
mov word [ebp - 0x240], cx
mov word [ebp - 0x23e], cx
mov word [ebp - 0x23c], cx
mov word [ebp - 0x23a], cx
mov word [ebp - 0x238], cx
mov word [ebp - 0x236], cx
mov word [ebp - 0x234], cx
mov word [ebp - 0x232], cx
mov word [ebp - 0x230], cx
mov word [ebp - 0x22e], cx
mov word [ebp - 0x22c], cx
mov word [ebp - 0x22a], cx
mov word [ebp - 0x228], cx
mov word [ebp - 0x226], cx
mov word [ebp - 0x224], cx
mov word [ebp - 0x222], cx
mov word [ebp - 0x220], cx
mov word [ebp - 0x21e], cx
mov word [ebp - 0x21c], cx
mov word [ebp - 0x21a], cx
mov word [ebp - 0x218], cx
mov word [ebp - 0x216], cx
mov word [ebp - 0x214], cx
call fcn.00401159
lea eax, [ebp - 0x6c]
push edi
push eax
call fcn.00401159
push edi
lea eax, [ebp - 0xd4]
push eax
call fcn.00401159
lea eax, [ebp - 0x1a4]
push edi
push eax
call fcn.00401159
lea eax, [ebp - 0x13c]
push edi
push eax
call fcn.00401159
lea eax, [ebp - 0x274]
push edi
push eax
call fcn.00401159
mov esi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
add esp, 0x30
xor ebx, ebx
inc ebx
push ebx
push 0x23
lea eax, [ebp - 0x47c]
push eax
push edi
call esi
lea eax, [ebp - 0x684]
push eax
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x1a4]
push eax
push dword [ebp - 0x890]
call fcn.004012e9
add esp, 0x10
push ebx
push 5
lea eax, [ebp - 0x47c]
push eax
push edi
call esi
lea eax, [ebp - 0x88c]
push eax
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x684]
push eax
call fcn.004012e9
add esp, 0x10
push ebx
push 0x1a
lea eax, [ebp - 0x47c]
push eax
push edi
call esi
lea eax, [ebp - 0x684]
push eax
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.004012e9
add esp, 0x10
push ebx
push 0x24
lea eax, [ebp - 0x47c]
push eax
push edi
call esi
lea eax, [ebp - 0x88c]
push eax
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x684]
push eax
call fcn.004012e9
add esp, 0x10
push ebx
push 0x25
lea eax, [ebp - 0x47c]
push eax
push edi
call esi
lea eax, [ebp - 0x684]
push eax
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x88c]
push eax
call fcn.004012e9
add esp, 0x10
push ebx
push 0x26
lea eax, [ebp - 0x47c]
push eax
push edi
call esi
push dword [ebp - 0x894]
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x684]
push eax
call fcn.004012e9
mov ecx, dword [ebp - 4]
add esp, 0x10
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040484c
leave
ret