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

Disassembly:
sub esp, 0x25c
mov eax, dword [0x5e173c]
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 0x4d582d
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 0x4d5778
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
ja 0x4d5778
mov eax, 0x51eb851f
mov ecx, ebx
mul ebx
shr edx, 5
imul eax, edx, 0x64
sub ecx, eax
je 0x4d5778
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call esi
mov ebx, eax
sub eax, edi
cmp eax, 0x1388
jbe 0x4d5750
lea eax, [esp + 0x18]
xorps xmm0, xmm0
push eax
movlpd qword [esp + 0x1c], xmm0
call fcn.005690e1
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.0056d1d0
add edi, eax
push 0
adc esi, edx
sub edi, ebx
push 0x3e8
sbb esi, 0
push esi
push edi
call fcn.00577ed0
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.00568672
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 0x5bc67c
push eax
call fcn.004b0200
add esp, 0x28
cmp dword [ebp + 0x78], 0
jne 0x4d58fd
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0x20019
push 0
push 0x5bc6b0
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 0x4d5896
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x24]
push eax
push 0
push 0
push 0x5bc660
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.00568672
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 0x5bc67c
push eax
call fcn.004b0200
add esp, 0x28
cmp dword [ebp + 0x90], 0
jne 0x4d5994
xor eax, eax
push 0x208
push eax
mov word [esp + 0x58], ax
lea eax, [esp + 0x5a]
push eax
call fcn.0056cbb0
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 0x4d5963
lea eax, [esp + 0x50]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4d5954
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [ebp + 0x80]
call fcn.00404a80
mov edx, 0x5a8430
lea ecx, [ebp + 0x80]
call fcn.004afdd0
mov edx, 0x5a8430
lea ecx, [ebp + 0x80]
call fcn.004afe40
mov ecx, dword [esp + 0x264]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00564de8
add esp, 0x25c
ret