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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x48c74c]
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 0x41e29d
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 0x41e1e8
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
ja 0x41e1e8
mov eax, 0x51eb851f
mov ecx, ebx
mul ebx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
je 0x41e1e8
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
jbe 0x41e1c0
lea eax, [esp + 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x1c], xmm0
call fcn.0044dd2a
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.00451f00
add edi, eax
push 0
adc esi, edx
sub edi, ebx
push 0x3e8
sbb esi, 0
push esi
push edi
call fcn.0045be40
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.0044e889
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.0040f400
add esp, 0x28
cmp dword [ebp + 0x78], 0
jne 0x41e36d
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 0x41e306
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.0044e889
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.0040f400
add esp, 0x28
cmp dword [ebp + 0x90], 0
jne 0x41e404
xor eax, eax
push 0x208
push eax
mov word [esp + 0x58], ax
lea eax, [esp + 0x5a]
push eax
call fcn.00451ce0
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 0x41e3d3
lea eax, [esp + 0x50]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41e3c4
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [ebp + 0x80]
call fcn.00403b80
mov edx, str.__r_t_n
lea ecx, [ebp + 0x80]
call fcn.0040f130
mov edx, str.__r_t_n
lea ecx, [ebp + 0x80]
call fcn.0040f1a0
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0044b7e1
add esp, 0x25c
ret