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

Disassembly:
mov eax, 0x4c9c80
call fcn.00496c6c
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.00420982
xor ebx, ebx
cmp eax, ebx
jne 0x421831
mov ecx, edi
call fcn.00420a13
jmp 0x421ff7
cmp eax, 0xfffffffe
jne 0x42188e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421877
dec edx
je 0x421863
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421f75
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421f75
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
jmp 0x421f75
or esi, 0xffffffff
cmp eax, esi
jne 0x4218c3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4218bc
dec edx
je 0x4218b5
push ebx
push 0x3e9
push 0x3e8
jmp 0x4218f8
push 9
push 0xe
push ebx
jmp 0x42190c
push ebx
push 4
push 0x62
jmp 0x421923
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x421931
push eax
mov ecx, edi
call fcn.0042bade
test eax, eax
je 0x421931
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42191a
dec edx
je 0x421906
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421ea2
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421ea2
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
jmp 0x421ea2
push 0x50890c
lea ecx, [ebp - 0x14]
call fcn.004b1e4a
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.00421434
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.0042162a
cmp eax, ebx
je 0x4219da
cmp eax, 0xfffffffe
jne 0x4219e2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4219ad
dec edx
je 0x42199c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x4219c6
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x4219c6
push 0x28
push 4
push 0x8a
jmp 0x4219bd
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041f954
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1dd6
mov dword [ebp - 4], esi
jmp 0x421e9a
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x421a09
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4219b8
dec edx
je 0x421a02
push ebx
push 0x3e9
push 0x3e8
jmp 0x421991
push 9
push 0xe
push ebx
jmp 0x4219a2
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042226f
cmp eax, ebx
je 0x421a51
cmp eax, 0xfffffffe
jne 0x421a28
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x421f28
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421a4b
dec edx
je 0x421a41
push ebx
jmp 0x421ebf
push 9
push 0xe
push ebx
jmp 0x421edd
push ebx
jmp 0x421eea
cmp word [edi + 0x70], 2
jne 0x421fd8
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.00420f36
cmp eax, 0xfffffffe
jne 0x421ab6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421aab
dec edx
je 0x421aa0
push 0x15
push 0x3e9
push 0x3fd
jmp 0x421e59
push 0x1e
push 0xe
push 0x15
jmp 0x421e6a
push 0x15
push 4
push 0x77
jmp 0x421e7e
or esi, 0xffffffff
cmp eax, esi
jne 0x421b15
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421afe
dec edx
je 0x421aea
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421e8a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421e8a
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
jmp 0x421e8a
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 0x421d2d
dec edx
je 0x421c33
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041fb27
test eax, eax
je 0x421ba3
call esi
xor edx, edx
div ebx
dec edx
je 0x421b7f
dec edx
je 0x421b6e
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421b91
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421b91
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4e4348
push eax
call fcn.004982cc
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x421e21
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 0x421bd8
cmp edx, ebx
je 0x421e21
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421c0f
dec edx
je 0x421bfe
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421c21
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421c21
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4e4348
push eax
call fcn.004982cc
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041f6c3
test eax, eax
je 0x421c9e
call esi
xor edx, edx
div ebx
dec edx
je 0x421c7a
dec edx
je 0x421c69
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421c8c
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421c8c
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4e4348
push eax
call fcn.004982cc
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x421e21
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 0x421cd2
cmp edx, ebx
je 0x421e21
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421d09
dec edx
je 0x421cf8
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421d1b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421d1b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4e4348
push eax
call fcn.004982cc
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041f806
test eax, eax
je 0x421d98
call esi
xor edx, edx
div ebx
dec edx
je 0x421d74
dec edx
je 0x421d63
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421d86
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421d86
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4e4348
push eax
call fcn.004982cc
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x421e21
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 0x421dc6
cmp edx, ebx
je 0x421e21
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421dfd
dec edx
je 0x421dec
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421e0f
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421e0f
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4e4348
push eax
call fcn.004982cc
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x421ef0
mov ecx, edi
call fcn.0042203f
cmp eax, 0xfffffffe
jne 0x421ea9
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421e75
dec edx
je 0x421e64
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421e87
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421e87
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1dd6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b1dd6
mov eax, esi
jmp 0x421ff9
cmp eax, 0xffffffff
jne 0x421ef0
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421ee8
dec edx
je 0x421ed7
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041fa5f
jmp 0x421f5d
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041f64a
jmp 0x421f5d
push 0
push 4
push 0x62
jmp 0x421f54
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x421fd8
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 0x421f26
cmp edx, ebx
je 0x421fd8
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421f4b
dec edx
je 0x421f43
push 0x28
push 0x3e9
push 0x410
jmp 0x421ec9
push 0x31
push 0xe
push 0x28
jmp 0x421edd
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041f954
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1dd6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b1dd6
or eax, 0xffffffff
jmp 0x421ff9
mov ecx, edi
call fcn.00420a13
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b1dd6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b1dd6
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 0x421802