Function at 0x420f2e
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, 0x4c9504
call fcn.00459198
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0041f822
xor ebx, ebx
cmp eax, ebx
jne 0x4206d1
mov ecx, edi
call fcn.0041f8b3
jmp 0x420e97
cmp eax, 0xfffffffe
jne 0x42072e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420717
dec edx
je 0x420703
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420e15
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420e15
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
jmp 0x420e15
or esi, 0xffffffff
cmp eax, esi
jne 0x420763
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42075c
dec edx
je 0x420755
push ebx
push 0x3e9
push 0x3e8
jmp 0x420798
push 9
push 0xe
push ebx
jmp 0x4207ac
push ebx
push 4
push 0x62
jmp 0x4207c3
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x4207d1
push eax
mov ecx, edi
call fcn.0042ac6b
test eax, eax
je 0x4207d1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4207ba
dec edx
je 0x4207a6
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420d42
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420d42
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
jmp 0x420d42
push 0x507944
lea ecx, [ebp - 0x14]
call fcn.004b167a
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.004202d4
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.004204ca
cmp eax, ebx
je 0x42087a
cmp eax, 0xfffffffe
jne 0x420882
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42084d
dec edx
je 0x42083c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420866
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420866
push 0x28
push 4
push 0x8a
jmp 0x42085d
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041e83b
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1606
mov dword [ebp - 4], esi
jmp 0x420d3a
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x4208a9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420858
dec edx
je 0x4208a2
push ebx
push 0x3e9
push 0x3e8
jmp 0x420831
push 9
push 0xe
push ebx
jmp 0x420842
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042110f
cmp eax, ebx
je 0x4208f1
cmp eax, 0xfffffffe
jne 0x4208c8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x420dc8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4208eb
dec edx
je 0x4208e1
push ebx
jmp 0x420d5f
push 9
push 0xe
push ebx
jmp 0x420d7d
push ebx
jmp 0x420d8a
cmp word [edi + 0x70], 2
jne 0x420e78
mov eax, edi
mov ecx, edi
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x40], eax
lea eax, [edi + 0x7c]
mov dword [ebp - 0x44], edx
push eax
push esi
mov dword [ebp - 0x3c], edx
call fcn.0041fdd6
cmp eax, 0xfffffffe
jne 0x420956
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42094b
dec edx
je 0x420940
push 0x15
push 0x3e9
push 0x3fd
jmp 0x420cf9
push 0x1e
push 0xe
push 0x15
jmp 0x420d0a
push 0x15
push 4
push 0x77
jmp 0x420d1e
or esi, 0xffffffff
cmp eax, esi
jne 0x4209b5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42099e
dec edx
je 0x42098a
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420d2a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420d2a
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
jmp 0x420d2a
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov byte [ebp - 4], 2
call esi
push 3
xor edx, edx
pop ebx
mov ecx, ebx
div ecx
dec edx
je 0x420bcd
dec edx
je 0x420ad3
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041e9e6
test eax, eax
je 0x420a43
call esi
xor edx, edx
div ebx
dec edx
je 0x420a1f
dec edx
je 0x420a0e
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420a31
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420a31
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4e3a50
push eax
call fcn.0045a7ef
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x420cc1
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub ecx, 1
sbb ebx, 0
add eax, 1
adc edx, 0
cmp eax, ecx
jne 0x420a78
cmp edx, ebx
je 0x420cc1
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420aaf
dec edx
je 0x420a9e
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420ac1
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420ac1
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4e3a50
push eax
call fcn.0045a7ef
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041e539
test eax, eax
je 0x420b3e
call esi
xor edx, edx
div ebx
dec edx
je 0x420b1a
dec edx
je 0x420b09
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420b2c
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420b2c
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4e3a50
push eax
call fcn.0045a7ef
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x420cc1
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
sub ecx, edx
sbb ebx, 0
add eax, edx
mov edx, dword [ebp - 0x44]
adc edx, 0
cmp eax, ecx
jne 0x420b72
cmp edx, ebx
je 0x420cc1
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420ba9
dec edx
je 0x420b98
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420bbb
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420bbb
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4e3a50
push eax
call fcn.0045a7ef
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041e69d
test eax, eax
je 0x420c38
call esi
xor edx, edx
div ebx
dec edx
je 0x420c14
dec edx
je 0x420c03
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420c26
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420c26
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4e3a50
push eax
call fcn.0045a7ef
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x420cc1
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub ecx, 1
sbb ebx, 0
add eax, 1
adc edx, 0
cmp eax, ecx
jne 0x420c66
cmp edx, ebx
je 0x420cc1
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420c9d
dec edx
je 0x420c8c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420caf
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420caf
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4e3a50
push eax
call fcn.0045a7ef
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x420d90
mov ecx, edi
call fcn.00420edf
cmp eax, 0xfffffffe
jne 0x420d49
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420d15
dec edx
je 0x420d04
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420d27
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420d27
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1606
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b1606
mov eax, esi
jmp 0x420e99
cmp eax, 0xffffffff
jne 0x420d90
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420d88
dec edx
je 0x420d77
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041e967
jmp 0x420dfd
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041e4c0
jmp 0x420dfd
push 0
push 4
push 0x62
jmp 0x420df4
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x420e78
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub ecx, 1
sbb ebx, 0
add eax, 1
adc edx, 0
cmp eax, ecx
jne 0x420dc6
cmp edx, ebx
je 0x420e78
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420deb
dec edx
je 0x420de3
push 0x28
push 0x3e9
push 0x410
jmp 0x420d69
push 0x31
push 0xe
push 0x28
jmp 0x420d7d
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e83b
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1606
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b1606
or eax, 0xffffffff
jmp 0x420e99
mov ecx, edi
call fcn.0041f8b3
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1606
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b1606
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
and dword [ecx + 0x90], 0
jmp 0x4206a2