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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x50e74c]
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 0x49e5bd
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 0x49e508
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
ja 0x49e508
mov eax, 0x51eb851f
mov ecx, ebx
mul ebx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
je 0x49e508
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
jbe 0x49e4e0
lea eax, [esp + 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x1c], xmm0
call fcn.004c8743
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.004cbcd0
add edi, eax
push 0
adc esi, edx
sub edi, ebx
push 0x3e8
sbb esi, 0
push esi
push edi
call fcn.004d4090
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.004c7099
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.00495860
add esp, 0x28
cmp dword [ebp + 0x78], 0
jne 0x49e68d
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 0x49e626
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push 0
push 0x500084
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.004c7099
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.00495860
add esp, 0x28
cmp dword [ebp + 0x90], 0
jne 0x49e724
xor eax, eax
push 0x208
push eax
mov word [esp + 0x58], ax
lea eax, [esp + 0x5a]
push eax
call fcn.004cb700
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 0x49e6f3
lea eax, [esp + 0x50]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x49e6e4
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [ebp + 0x80]
call fcn.00403120
mov edx, str.__r_t_n
lea ecx, [ebp + 0x80]
call fcn.00495510
mov edx, str.__r_t_n
lea ecx, [ebp + 0x80]
call fcn.00495580
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c4eaf
add esp, 0x25c
ret