Function at 0x41908c
Capabilities:
Accept command line arguments
Get common file path
Get startup folder
Persist via lnk shortcut
Set current directory
Terminate process
Write file on windows
Write file to startup folder

Disassembly:
mov eax, 0x41dfa8
call fcn.0041d980
sub esp, 0x364
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
call dword [sym.imp.ole32.dll_OleInitialize]
call dword [sym.imp.KERNEL32.DLL_GetCommandLineA]
mov edi, eax
lea eax, [ebp - 0x14]
call fcn.00401828
mov esi, dword [ebp - 0x14]
lea eax, [esi - 0x10]
mov edi, 0x428668
cmp eax, edi
jne 0x4190d6
or eax, 0xffffffff
jmp 0x4190e9
push str.__paused
push esi
call fcn.00405b40
pop ecx
pop ecx
cmp eax, ebx
je 0x4190d1
sub eax, esi
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
lea eax, [ebp - 0x14]
mov dword [0x429404], ecx
call fcn.0040107f
push 0x104
lea eax, [ebp - 0x26c]
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
mov esi, 0x429770
lea ebx, [ebp - 0x26c]
mov eax, esi
call fcn.00401313
mov eax, esi
mov esi, 0x429994
mov ecx, esi
call fcn.004010ff
mov eax, dword [0x429994]
lea ecx, [eax - 0x10]
cmp ecx, edi
je 0x419156
mov ecx, dword [eax - 0xc]
lea edx, [ecx + eax - 1]
mov edi, ecx
lea eax, [ecx - 1]
mov cl, byte [edx]
dec edx
cmp cl, 0x5c
je 0x419159
dec eax
dec edi
jne 0x41914a
or eax, 0xffffffff
lea edi, [eax + 1]
xor ebx, ebx
push ebx
mov eax, edi
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.004018b8
mov ecx, 0x429764
mov dword [ebp - 4], ebx
call fcn.004010ff
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1c]
call fcn.0040107f
mov eax, dword [0x429994]
mov eax, dword [eax - 0xc]
sub eax, edi
push edi
lea edx, [ebp - 0x1c]
mov ecx, esi
call fcn.004018b8
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.004010ff
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1c]
call fcn.0040107f
mov ecx, dword [0x429764]
lea eax, [ecx - 0x10]
sub eax, 0x428668
neg eax
sbb eax, eax
and eax, ecx
push eax
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryA]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
call fcn.00419922
mov dword [eax + 0xc], ebx
mov dword [eax + 8], ebx
mov byte [eax], bl
mov byte [eax + 0x20], 1
mov eax, dword [ebp + 8]
mov dword [0x4293d4], eax
mov dword [ebp - 0x48], 0x423dec
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
lea esi, [ebp - 0x48]
mov dword [ebp - 4], 2
call fcn.0041a7d6
mov eax, esi
push eax
call fcn.0041a620
push eax
call fcn.0041a9a2
lea eax, [ebp - 0x5c]
call fcn.0041a388
mov eax, str.MoreGames.ico
lea esi, [ebp - 0x5c]
mov byte [ebp - 4], 3
call fcn.0041a844
test al, al
je 0x4193e2
lea eax, [ebp - 0x168]
push eax
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetTempPathA]
lea edi, [ebp - 0x168]
lea eax, [ebp - 0x24]
call fcn.00401828
push str.FG.ico
lea ecx, [ebp + 8]
push ecx
push eax
mov byte [ebp - 4], 4
call fcn.00401921
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 6
call fcn.0040107f
mov ecx, dword [ebp + 8]
lea eax, [ecx - 0x10]
mov esi, 0x428668
sub eax, esi
neg eax
sbb eax, eax
and eax, ecx
push 0x422ac8
push eax
mov dword [ebp - 0x1c], ebx
call fcn.00405cba
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x4193da
mov ecx, dword [ebp - 0x54]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, eax
push edi
call fcn.00404d72
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4192f5
push edi
push eax
lea ecx, [ebp - 0x5c]
call fcn.0041a2f0
push dword [ebp - 0x18]
push edi
push 1
push dword [ebp - 0x14]
call fcn.00405484
add esp, 0x10
cmp eax, edi
jne 0x4192ec
mov dword [ebp - 0x1c], 1
push dword [ebp - 0x14]
call fcn.00404e59
pop ecx
push dword [ebp - 0x18]
call fcn.00405d48
pop ecx
cmp dword [ebp - 0x1c], ebx
je 0x4193da
push ebx
push ebx
lea eax, [ebp - 0x370]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edi, [ebp - 0x168]
lea eax, [ebp - 0x18]
call fcn.00401828
push str.FG.url
lea ecx, [ebp - 0x14]
push ecx
push eax
mov byte [ebp - 4], 7
call fcn.00401921
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 9
call fcn.0040107f
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x14]
lea eax, [ecx - 0x10]
sub eax, esi
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [edx - 0x10]
sub ecx, esi
neg ecx
sbb ecx, ecx
and ecx, edx
push eax
push ecx
call fcn.004167df
test eax, eax
jl 0x4193d2
lea edi, [ebp - 0x370]
lea eax, [ebp - 0x24]
call fcn.00401828
push str.Fenomen_Games.lnk
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov byte [ebp - 4], 0xa
call fcn.00401921
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0xc
call fcn.0040107f
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
lea eax, [ecx - 0x10]
sub eax, esi
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [edx - 0x10]
sub ecx, esi
neg ecx
sbb ecx, ecx
and ecx, edx
lea edx, [edi - 0x10]
sub edx, esi
neg edx
push eax
sbb edx, edx
and edx, edi
push ecx
push edx
call fcn.004166e5
lea eax, [ebp - 0x1c]
call fcn.0040107f
lea eax, [ebp - 0x14]
call fcn.0040107f
lea eax, [ebp + 8]
call fcn.0040107f
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 2
call fcn.0040202f
mov byte [ebp - 4], 0xd
call fcn.00419025
call fcn.004171b5
call fcn.00416c3c
call fcn.004168db
push ebx
push 0x64
push 1
push dword [0x4293d8]
call dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
jne 0x41943a
lea eax, [ebp - 0x30]
push str.Can_t_create_timer__WM_TIMER_
push eax
call fcn.0041c36b
pop ecx
pop ecx
push 0x424c04
lea eax, [ebp - 0x30]
push eax
call fcn.00407632
call fcn.004168bb
fstp qword [ebp - 0x20]
push ebx
push ebx
push ebx
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jle 0x41951e
call fcn.004168bb
fst qword [ebp - 0x28]
fsub qword [ebp - 0x20]
fcomp qword [0x423fc0]
fnstsw ax
test ah, 0x41
jne 0x41947a
call fcn.00418607
fld qword [ebp - 0x28]
fstp qword [ebp - 0x20]
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x419442
push 1
push dword [0x4293d8]
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [ebp - 4], 2
cmp dword [0x429430], ebx
je 0x419572
push ebx
push ebx
push 0x401
push dword [0x429400]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x40
push str.Game_Downloader
push str.Your_download_has_been_added_to_the_download_queue._r_n_r_nClick_on_the_text_like_1_game_to_download_to_check_out.
push dword [0x429400]
call dword [sym.imp.USER32.dll_MessageBoxA]
push dword [0x429400]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x4293d8]
cmp eax, ebx
je 0x419588
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [0x4293d8], ebx
call fcn.00419922
mov esi, eax
call fcn.00419892
push ebx
call dword [sym.imp.KERNEL32.DLL_ExitProcess]