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

Disassembly:
sub esp, 0x1e0
push ebx
mov ebx, ecx
mov ecx, dword [0x40bbbc]
push ebp
mov dword [esp + 0xe4], ecx
mov ecx, dword [0x40bbb0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x40bba4]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x40bb98]
mov dword [esp + 0x30], ecx
mov ecx, dword [str.pgegfkv_pge]
mov dword [esp + 0x44], ecx
mov ecx, dword [str.xkrpcp_gZg]
mov dword [esp + 8], ecx
mov cl, byte [0x40bb86]
mov byte [esp + 0x12], cl
mov cx, word [0x40bb78]
push esi
push edi
mov word [esp + 0x24], cx
mov ecx, 9
mov esi, str.Okapmqmdv_MddkagMddkagUKLUMPF_gzg
lea edi, [esp + 0x180]
rep movsd dword es:[edi], dword [esi]
mov ecx, 9
mov esi, str.Okapmqmdv_MddkagMddkag33UKLUMPF_gzg
lea edi, [esp + 0x1c8]
mov eax, dword [str.qtajmqv_gZg]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 8
mov esi, str.Okapmqmdv_MddkagMddkagGZAGN_gzg
lea edi, [esp + 0x138]
mov edx, dword [0x40bbc0]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xe8], eax
mov eax, dword [str.cleng_Xkr]
mov dword [esp + 0xf0], edx
mov dx, word [0x40bbb4]
movsw word es:[edi], word [esi]
mov dword [esp + 0x70], eax
mov eax, dword [str.cleng_gZg]
mov ecx, 9
mov esi, str.Okapmqmdv_MddkagMddkag33GZAGN_gzg
lea edi, [esp + 0x1a4]
mov word [esp + 0x78], dx
mov dx, word [0x40bba8]
mov dword [esp + 0x58], eax
mov eax, dword [str.oqoqeq_gZg]
mov word [esp + 0x60], dx
mov dx, word [0x40bb9c]
mov dword [esp + 0x34], eax
mov al, byte [0x40bb9e]
mov word [esp + 0x3c], dx
mov edx, dword [0x40bb8c]
mov byte [esp + 0x3e], al
mov eax, dword [0x40bb90]
mov dword [esp + 0x50], edx
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x40bb80]
mov ecx, 8
mov esi, str.Uklfmuq_Ogfkc_Rncgpuorncgp_gzg
lea edi, [esp + 0x15c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x40baac]
mov dword [esp + 0x54], eax
mov ax, word [0x40bb84]
mov dword [esp + 0x14], edx
mov edx, dword [str.dkzgf_gZg]
mov word [esp + 0x18], ax
mov eax, dword [0x40bb74]
mov dword [esp + 0x1c], edx
mov edx, dword [str.uklcoruklcor_gzg]
mov dword [esp + 0x20], eax
mov eax, dword [0x40baa8]
mov dword [esp + 0xd4], edx
mov edx, dword [0x40bab0]
mov dword [esp + 0xd8], eax
movsw word es:[edi], word [esi]
mov dword [esp + 0xdc], ecx
mov ecx, 7
mov esi, str.Klvgplgv_Gzrnmpgpkgzrnmpg_gzg
lea edi, [esp + 0x118]
mov ax, word [0x40bab4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov ecx, 5
mov esi, str.Ogqqglegpoqoqeq_gzg
lea edi, [esp + 0x100]
mov dword [esp + 0xe0], edx
mov edx, dword [0x40ba60]
mov word [esp + 0xe4], ax
mov eax, dword [0x40ba64]
mov dword [esp + 0x80], edx
mov edx, dword [str.ukcqjgzv_fnn]
mov dword [esp + 0x84], eax
mov eax, dword [0x40ba50]
mov dword [esp + 0x8c], edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [str.ukccaoep_gzg]
mov dl, byte [0x40ba58]
mov dword [esp + 0x7c], ecx
mov cl, byte [0x40ba68]
mov byte [esp + 0x88], cl
mov ecx, dword [0x40ba54]
mov dword [esp + 0x90], eax
mov eax, dword [str.qtajmqv_gzg]
mov dword [esp + 0x94], ecx
mov ecx, dword [0x40ba44]
mov byte [esp + 0x98], dl
mov edx, dword [0x40ba48]
mov dword [esp + 0xf4], eax
mov eax, dword [str.umpf_gZg]
mov dword [esp + 0xf8], ecx
mov ecx, dword [0x40ba38]
mov dword [esp + 0xfc], edx
mov dl, byte [0x40ba3c]
mov dword [esp + 0x40], eax
mov eax, dword [str.gzagn_gZg]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x40ba2c]
mov byte [esp + 0x48], dl
mov dx, word [0x40ba30]
mov dword [esp + 0x64], eax
mov eax, dword [str.uorncgp_gZg]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x40ba1c]
mov word [esp + 0x6c], dx
mov edx, dword [0x40ba20]
mov dword [esp + 0x9c], eax
mov al, byte [0x40ba24]
mov dword [esp + 0xa0], ecx
mov ecx, dword [str.uklcor_gZg]
mov dword [esp + 0xa4], edx
mov edx, dword [0x40ba10]
mov byte [esp + 0xa8], al
mov ax, word [0x40ba14]
mov dword [esp + 0x28], ecx
mov cl, byte [0x40ba16]
mov dword [esp + 0x2c], edx
mov edx, dword [str.kgzrnmpg_gZg]
mov word [esp + 0x30], ax
mov eax, dword [0x40ba00]
mov byte [esp + 0x32], cl
mov ecx, dword [0x40ba04]
mov dword [esp + 0xac], edx
mov dl, byte [0x40ba08]
mov dword [esp + 0xb0], eax
mov eax, dword [str.hre_gZg]
mov dword [esp + 0xb4], ecx
mov ecx, dword [0x40b9f8]
mov byte [esp + 0xb8], dl
mov edx, dword [str.ogqqglegp_gZg]
mov dword [esp + 0xbc], eax
mov eax, dword [0x40b9e8]
mov dword [esp + 0xc0], ecx
mov ecx, dword [0x40b9ec]
movsb byte es:[edi], byte [esi]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], eax
mov dx, word [0x40b9f0]
lea eax, [esp + 0xe8]
mov dword [esp + 0xcc], ecx
push eax
mov ecx, ebx
mov word [esp + 0xd4], dx
call fcn.00406200
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [ebx + 4]
lea eax, [ebx + 0xa24]
push edi
push eax
call esi
add esp, 8
lea ecx, [esp + 0x70]
push ecx
mov ecx, ebx
call fcn.00406200
lea eax, [ebx + 0xe24]
push edi
push eax
call esi
add esp, 8
lea edx, [esp + 0x58]
mov ecx, ebx
push edx
call fcn.00406200
lea eax, [ebx + 0xc24]
push edi
push eax
call esi
add esp, 8
lea eax, [ebx + 0x920]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebx + 0x40c]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebx + 0x308]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ebp, [ebx + 0x204]
push 0
push 0x26
push ebp
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebx + 0x510]
push 0
push 0x18
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebx + 0x614]
push 0
push 0x36
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebx + 0x718]
push 0
push 0x35
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebx + 0xa24]
lea ecx, [ebx + 0x1424]
push eax
lea eax, [ebx + 0x40c]
push eax
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x34]
mov ecx, ebx
push edx
call fcn.00406200
lea eax, [ebx + 0x510]
push edi
push eax
lea eax, [ebx + 0x1624]
push 0x40b12c
push eax
call esi
lea eax, [ebx + 0xa24]
lea ecx, [ebx + 0x1824]
push eax
lea eax, [ebx + 0x614]
push eax
push 0x40b12c
push ecx
call esi
lea eax, [ebx + 0xa24]
lea edx, [ebx + 0x1a24]
push eax
lea eax, [ebx + 0x718]
push eax
push 0x40b12c
push edx
call esi
lea eax, [ebx + 0xc24]
push eax
lea eax, [ebx + 0x718]
push eax
lea eax, [ebx + 0x1024]
push 0x40b12c
push eax
call esi
add esp, 0x40
lea eax, [ebx + 0xe24]
lea ecx, [ebx + 0x1224]
push eax
lea eax, [ebx + 0x718]
push eax
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x4c]
mov ecx, ebx
push edx
call fcn.00406200
lea eax, [esp + 0x4c]
lea ecx, [ebx + 0x1c24]
push eax
lea eax, [ebx + 0x40c]
push eax
push 0x40b12c
push ecx
call esi
lea eax, [ebx + 0xc24]
lea edx, [ebx + 0x1e24]
push eax
lea eax, [ebx + 0x308]
push eax
push 0x40b12c
push edx
call esi
add esp, 0x20
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
call fcn.00406200
lea ecx, [esp + 0x10]
lea eax, [ebx + 0x40c]
push ecx
push eax
lea edx, [ebx + 0x2224]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
call fcn.00406200
lea ecx, [esp + 0x1c]
lea eax, [ebx + 0x40c]
push ecx
push eax
lea edx, [ebx + 0x2024]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x180]
mov ecx, ebx
push eax
call fcn.00406200
push edi
push ebp
lea ecx, [ebx + 0x2424]
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x1c8]
mov ecx, ebx
push edx
call fcn.00406200
push edi
push ebp
lea eax, [ebx + 0x2624]
push 0x40b12c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x138]
push ecx
mov ecx, ebx
call fcn.00406200
push edi
push ebp
lea edx, [ebx + 0x2824]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x1a4]
mov ecx, ebx
push eax
call fcn.00406200
push edi
push ebp
lea ecx, [ebx + 0x2a24]
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x15c]
mov ecx, ebx
push edx
call fcn.00406200
push edi
push ebp
lea eax, [ebx + 0x2c24]
push 0x40b12c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0xd4]
push ecx
mov ecx, ebx
call fcn.00406200
push edi
push ebp
lea edx, [ebx + 0x3024]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x118]
mov ecx, ebx
push eax
call fcn.00406200
push edi
push ebp
push 0x40b12c
lea ecx, [ebx + 0x3224]
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x100]
mov ecx, ebx
push edx
call fcn.00406200
push edi
push ebp
lea eax, [ebx + 0x3424]
push 0x40b12c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebx
call fcn.00406200
lea ebp, [ebx + 0x308]
push edi
push ebp
lea edx, [ebx + 0x2e24]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x8c]
mov ecx, ebx
push eax
call fcn.00406200
push edi
push ebp
lea ecx, [ebx + 0x3624]
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0xf4]
mov ecx, ebx
push edx
call fcn.00406200
push edi
push ebp
lea eax, [ebx + 0x3824]
push 0x40b12c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebx
call fcn.00406200
lea ebp, [ebx + 0x614]
push edi
push ebp
lea edx, [ebx + 0x3a24]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0x64]
mov ecx, ebx
push eax
call fcn.00406200
push edi
push ebp
lea ecx, [ebx + 0x3c24]
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0x9c]
mov ecx, ebx
push edx
call fcn.00406200
push edi
push ebp
lea eax, [ebx + 0x3e24]
push 0x40b12c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebx
call fcn.00406200
push edi
push ebp
lea edx, [ebx + 0x4224]
push 0x40b12c
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xac]
mov ecx, ebx
push eax
call fcn.00406200
push edi
push ebp
lea ecx, [ebx + 0x4424]
push 0x40b12c
push ecx
call esi
add esp, 0x10
lea edx, [esp + 0xbc]
mov ecx, ebx
push edx
call fcn.00406200
push edi
push ebp
lea eax, [ebx + 0x4024]
push 0x40b12c
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0xc4]
push ecx
mov ecx, ebx
call fcn.00406200
push edi
push ebp
add ebx, 0x4624
push 0x40b12c
push ebx
call esi
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1e0
ret