Function at 0x4174cd
Capabilities:
Create directory
Get common file path
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x658
push ebx
xor ebx, ebx
mov dword [esp + 0x10], 0xa
push esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], ebx
call fcn.00406ca5
lea ecx, [esp + 0x78]
call fcn.004154ca
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.00401028
mov dword [esp], 0x104
lea eax, [esp + 0x104]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0xc]
mov dword [esp + 0xc], ebx
lea ecx, [esp + 0x100]
call fcn.00415e27
mov edx, dword [esp + 0xc]
test edx, edx
je 0x417739
lea ecx, [esp + 8]
mov dword [esp + 8], ebx
push ecx
push 0x215a
mov ecx, eax
call fcn.00415b64
push 0x20
pop esi
push esi
call fcn.00401000
mov edx, eax
add esp, 0xc
mov ecx, edx
mov byte [ecx], bl
inc ecx
sub esi, 1
jne 0x417562
mov eax, dword [esp + 8]
push edx
push ebx
push ebx
push ebx
mov dword [edx], eax
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x41e8c8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x417739
cmp dword [0x41e8c8], ebx
je 0x417739
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x14]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings
push closesocket
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [esp + 0x14]
push 4
push eax
push 4
push ebx
push str.MaxConnectionsPer1_0Server
push dword [esp + 0x24]
call esi
push 4
lea eax, [esp + 0x18]
push eax
push 4
push ebx
push str.MaxConnectionsPerServer
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esp + 0x20]
call fcn.00406aa8
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x7c]
call fcn.0041529e
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x418]
call fcn.00405ef2
push 0x208
lea eax, [esp + 0x20c]
push ebx
push eax
call fcn.00401293
add esp, 0xc
lea eax, [esp + 0x208]
push eax
push ebx
push ebx
push 0x1c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
push str.Microsoft_Vision_
lea eax, [esp + 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push ebx
lea eax, [esp + 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp dword [esp + 0x64], ebx
je 0x417697
call fcn.00413893
cmp eax, 1
je 0x417697
call fcn.004131f8
cmp eax, 0xa
jb 0x417692
call fcn.00415974
jmp 0x417697
call fcn.004158f7
cmp dword [esp + 0x68], ebx
je 0x4176b7
call fcn.00413893
cmp eax, 1
jne 0x4176b7
call fcn.00417083
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x9c], ebx
jne 0x417716
push dword [esp + 0x6c]
lea ecx, [esp + 0x7c]
push dword [esp + 0x4c]
push dword [esp + 0x48]
call fcn.00414eef
cmp dword [esp + 0x40], ebx
je 0x417716
lea eax, [esp + 0x98]
mov dword [esp + 0xc], ebx
push eax
lea ecx, [esp + 0xc]
call fcn.00404656
push ecx
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
call fcn.004149a8
mov ecx, dword [esp + 8]
call fcn.00406f1d
xor ecx, ecx
call fcn.00406f1d
jmp 0x41772d
cmp dword [esp + 0x60], ebx
je 0x417721
call fcn.00415f21
lea ecx, [esp + 0x410]
call fcn.00405e61
lea ecx, [esp + 0x410]
call fcn.00405b78
lea ecx, [esp + 0x78]
call fcn.00414e90
lea ecx, [esp + 0x20]
call fcn.00406ccd
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8