Function at 0x418a90
Capabilities:
Check for time delay via gettickcount
Get hostname
Query or enumerate registry value

Disassembly:
sub esp, 0x25c
mov eax, dword [0x4df5dc]
xor eax, esp
mov dword [esp + 0x254], eax
push ebx
push ebp
mov ebp, ecx
push esi
push edi
cmp dword [ebp + 0x60], 0
jne 0x418bbd
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ebx, eax
mov eax, 0x51eb851f
mul ebx
mov edi, ebx
shr edx, 5
imul ecx, edx, 0x64
mov edx, ebx
sub edx, ecx
je 0x418b08
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
ja 0x418b08
mov eax, 0x51eb851f
mov ecx, ebx
mul ebx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
je 0x418b08
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
jbe 0x418ae0
lea eax, [esp + 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x1c], xmm0
call fcn.0048fb1d
add esp, 4
mov eax, 0x10624dd3
mul ebx
xor esi, esi
mov edi, ebx
push esi
shr edx, 6
push 0x3e8
push dword [esp + 0x24]
imul eax, edx, 0x3e8
push dword [esp + 0x24]
sub edi, eax
call fcn.00493660
add edi, eax
push 0
adc esi, edx
sub edi, ebx
push 0x3e8
sbb esi, 0
push esi
push edi
call fcn.0049d220
mov dword [esp + 0x18], eax
xorps xmm0, xmm0
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], edx
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x28], 0
push eax
movdqu xmmword [esp + 0x30], xmm0
movdqu xmmword [esp + 0x40], xmm0
call fcn.0048fd0d
push dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
push dword [esp + 0x34]
inc eax
push dword [esp + 0x3c]
push dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x54]
add eax, 0x76c
push eax
lea eax, [ebp + 0x50]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00407090
add esp, 0x28
cmp dword [ebp + 0x78], 0
jne 0x418c8d
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x2c], 4
mov dword [esp + 0x34], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x418c26
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push 0
push str.InstallDate
push dword [esp + 0x28]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [esp + 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x20]
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x50], 0
push eax
mov dword [esp + 0x2c], 0
movdqu xmmword [esp + 0x30], xmm0
movdqu xmmword [esp + 0x40], xmm0
call fcn.0048fd0d
push dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
push dword [esp + 0x34]
inc eax
push dword [esp + 0x3c]
push dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x54]
add eax, 0x76c
push eax
lea eax, [ebp + 0x68]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00407090
add esp, 0x28
cmp dword [ebp + 0x90], 0
jne 0x418d24
xor eax, eax
push 0x208
push eax
mov word [esp + 0x58], ax
lea eax, [esp + 0x5a]
push eax
call fcn.00492dc0
add esp, 0xc
mov dword [esp + 0x18], 0x104
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
xor eax, eax
mov word [esp + 0x256], ax
cmp word [esp + 0x50], ax
je 0x418cf3
lea eax, [esp + 0x50]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x418ce4
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [ebp + 0x80]
call fcn.004024f0
mov edx, str.__r_t_n
lea ecx, [ebp + 0x80]
call fcn.00406cd0
mov edx, str.__r_t_n
lea ecx, [ebp + 0x80]
call fcn.00406d40
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0048d894
add esp, 0x25c
ret