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

Disassembly:
sub esp, 0x24c
mov eax, dword [0x43d504]
xor eax, esp
mov dword [esp + 0x248], eax
push ebp
push esi
mov ebp, ecx
xor esi, esi
cmp dword [ebp + 0x70], esi
jne 0x40c99a
push ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
mov eax, 0x51eb851f
mul esi
shr edx, 5
imul edx, edx, 0x64
mov eax, esi
sub eax, edx
mov ebx, esi
je 0x40c8bf
call edi
mov esi, eax
mov ecx, esi
sub ecx, ebx
cmp ecx, 0x1388
ja 0x40c8bf
mov eax, 0x51eb851f
mul esi
shr edx, 5
imul edx, edx, 0x64
mov eax, esi
sub eax, edx
je 0x40c8bf
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
call edi
mov esi, eax
mov ecx, esi
sub ecx, ebx
cmp ecx, 0x1388
jbe 0x40c894
lea edx, [esp + 0x10]
xor edi, edi
push edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
call fcn.0041a333
mov ecx, dword [esp + 0x18]
mov eax, 0x10624dd3
mul esi
shr edx, 6
imul edx, edx, 0x3e8
add esp, 4
push edi
mov eax, esi
sub eax, edx
mov edx, dword [esp + 0x14]
push 0x3e8
mov ebx, eax
push ecx
xor eax, eax
push edx
mov dword [esp + 0x28], eax
call fcn.0041a450
add ebx, eax
mov eax, dword [esp + 0x18]
adc eax, edx
xor ecx, ecx
push ecx
sub ebx, esi
push 0x3e8
sbb eax, ecx
push eax
push ebx
call fcn.0041a3a0
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x14], edx
lea edx, [esp + 0x10]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
push edx
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x28], edi
call fcn.0041a06e
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x48]
push ecx
add edx, 1
push edx
add eax, 0x76c
push eax
lea ecx, [ebp + 0x5c]
push str._04d_02d_02d_02d_02d_02d
push ecx
call fcn.004023b3
add esp, 0x28
pop edi
xor esi, esi
pop ebx
cmp dword [ebp + 0x8c], esi
jne 0x40ca74
lea edx, [esp + 0x14]
push edx
push 0x20019
push esi
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], 4
mov dword [esp + 0x24], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x40c9fc
mov edx, dword [esp + 0x14]
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x14]
push ecx
push esi
push esi
push str.InstallDate
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x10]
xor eax, eax
lea edx, [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
push edx
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x20], esi
call fcn.0041a06e
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
push ecx
add edx, 1
push edx
add eax, 0x76c
push eax
lea ecx, [ebp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push ecx
call fcn.004023b3
add esp, 0x28
cmp dword [ebp + 0xa8], esi
jne 0x40caf0
push 0x208
lea edx, [esp + 0x4a]
push esi
push edx
mov word [esp + 0x50], si
call fcn.00419b60
add esp, 0xc
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x48]
push ecx
mov dword [esp + 0x10], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
lea eax, [esp + 0x44]
mov word [esp + 0x24a], si
lea edx, [eax + 2]
jmp 0x40cac0
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x40cac0
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x48]
lea esi, [ebp + 0x94]
push edx
mov ecx, esi
call fcn.00401a4b
push str.__r_t_n
push esi
call fcn.004022b4
add esp, 8
mov ecx, dword [esp + 0x250]
pop esi
pop ebp
xor ecx, esp
call fcn.00419b4f
add esp, 0x24c
ret