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

Disassembly:
mov eax, 0x56cbbc
call fcn.004f96a4
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.00428279
xor ebx, ebx
cmp eax, ebx
jne 0x429122
mov ecx, edi
call fcn.0042830a
jmp 0x4298e8
cmp eax, 0xfffffffe
jne 0x42917f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429168
dec edx
je 0x429154
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429866
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429866
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
jmp 0x429866
or esi, 0xffffffff
cmp eax, esi
jne 0x4291b4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4291ad
dec edx
je 0x4291a6
push ebx
push 0x3e9
push 0x3e8
jmp 0x4291e9
push 9
push 0xe
push ebx
jmp 0x4291fd
push ebx
push 4
push 0x62
jmp 0x429214
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x429222
push eax
mov ecx, edi
call fcn.004c9a0f
test eax, eax
je 0x429222
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42920b
dec edx
je 0x4291f7
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429793
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429793
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
jmp 0x429793
push 0x6559ac
lea ecx, [ebp - 0x14]
call fcn.00554c78
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.00428d2b
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.00428f21
cmp eax, ebx
je 0x4292cb
cmp eax, 0xfffffffe
jne 0x4292d3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42929e
dec edx
je 0x42928d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x4292b7
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x4292b7
push 0x28
push 4
push 0x8a
jmp 0x4292ae
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.00427292
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00554c04
mov dword [ebp - 4], esi
jmp 0x42978b
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x4292fa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4292a9
dec edx
je 0x4292f3
push ebx
push 0x3e9
push 0x3e8
jmp 0x429282
push 9
push 0xe
push ebx
jmp 0x429293
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.00429b5c
cmp eax, ebx
je 0x429342
cmp eax, 0xfffffffe
jne 0x429319
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x429819
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42933c
dec edx
je 0x429332
push ebx
jmp 0x4297b0
push 9
push 0xe
push ebx
jmp 0x4297ce
push ebx
jmp 0x4297db
cmp word [edi + 0x70], 2
jne 0x4298c9
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.0042882d
cmp eax, 0xfffffffe
jne 0x4293a7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42939c
dec edx
je 0x429391
push 0x15
push 0x3e9
push 0x3fd
jmp 0x42974a
push 0x1e
push 0xe
push 0x15
jmp 0x42975b
push 0x15
push 4
push 0x77
jmp 0x42976f
or esi, 0xffffffff
cmp eax, esi
jne 0x429406
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4293ef
dec edx
je 0x4293db
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x42977b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x42977b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
jmp 0x42977b
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 0x42961e
dec edx
je 0x429524
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0042743d
test eax, eax
je 0x429494
call esi
xor edx, edx
div ebx
dec edx
je 0x429470
dec edx
je 0x42945f
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429482
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429482
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x5a0918
push eax
call fcn.004fae87
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x429712
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 0x4294c9
cmp edx, ebx
je 0x429712
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429500
dec edx
je 0x4294ef
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429512
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429512
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x5a0918
push eax
call fcn.004fae87
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00426f90
test eax, eax
je 0x42958f
call esi
xor edx, edx
div ebx
dec edx
je 0x42956b
dec edx
je 0x42955a
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x42957d
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x42957d
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x5a0918
push eax
call fcn.004fae87
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x429712
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 0x4295c3
cmp edx, ebx
je 0x429712
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4295fa
dec edx
je 0x4295e9
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x42960c
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x42960c
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x5a0918
push eax
call fcn.004fae87
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.004270f4
test eax, eax
je 0x429689
call esi
xor edx, edx
div ebx
dec edx
je 0x429665
dec edx
je 0x429654
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429677
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429677
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x5a0918
push eax
call fcn.004fae87
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x429712
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 0x4296b7
cmp edx, ebx
je 0x429712
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4296ee
dec edx
je 0x4296dd
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429700
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429700
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x5a0918
push eax
call fcn.004fae87
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x4297e1
mov ecx, edi
call fcn.00436730
cmp eax, 0xfffffffe
jne 0x42979a
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429766
dec edx
je 0x429755
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004273be
jmp 0x429778
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x429778
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00554c04
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00554c04
mov eax, esi
jmp 0x4298ea
cmp eax, 0xffffffff
jne 0x4297e1
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4297d9
dec edx
je 0x4297c8
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.004273be
jmp 0x42984e
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.00426f17
jmp 0x42984e
push 0
push 4
push 0x62
jmp 0x429845
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x4298c9
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 0x429817
cmp edx, ebx
je 0x4298c9
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42983c
dec edx
je 0x429834
push 0x28
push 0x3e9
push 0x410
jmp 0x4297ba
push 0x31
push 0xe
push 0x28
jmp 0x4297ce
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00427292
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00554c04
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00554c04
or eax, 0xffffffff
jmp 0x4298ea
mov ecx, edi
call fcn.0042830a
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00554c04
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00554c04
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 0x4290f3