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

Disassembly:
mov eax, 0x56bd14
call fcn.004f85f0
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0042909e
xor ebx, ebx
cmp eax, ebx
jne 0x429f4d
mov ecx, edi
call fcn.0042912f
jmp 0x42a713
cmp eax, 0xfffffffe
jne 0x429faa
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429f93
dec edx
je 0x429f7f
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a691
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a691
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
jmp 0x42a691
or esi, 0xffffffff
cmp eax, esi
jne 0x429fdf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429fd8
dec edx
je 0x429fd1
push ebx
push 0x3e9
push 0x3e8
jmp 0x42a014
push 9
push 0xe
push ebx
jmp 0x42a028
push ebx
push 4
push 0x62
jmp 0x42a03f
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x42a04d
push eax
mov ecx, edi
call fcn.00425a17
test eax, eax
je 0x42a04d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a036
dec edx
je 0x42a022
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a5be
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a5be
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
jmp 0x42a5be
push 0x6524d4
lea ecx, [ebp - 0x14]
call fcn.0054f6b8
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.00429b50
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.00429d46
cmp eax, ebx
je 0x42a0f6
cmp eax, 0xfffffffe
jne 0x42a0fe
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a0c9
dec edx
je 0x42a0b8
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a0e2
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a0e2
push 0x28
push 4
push 0x8a
jmp 0x42a0d9
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.004280b7
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0054f644
mov dword [ebp - 4], esi
jmp 0x42a5b6
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x42a125
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a0d4
dec edx
je 0x42a11e
push ebx
push 0x3e9
push 0x3e8
jmp 0x42a0ad
push 9
push 0xe
push ebx
jmp 0x42a0be
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042a98b
cmp eax, ebx
je 0x42a16d
cmp eax, 0xfffffffe
jne 0x42a144
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x42a644
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a167
dec edx
je 0x42a15d
push ebx
jmp 0x42a5db
push 9
push 0xe
push ebx
jmp 0x42a5f9
push ebx
jmp 0x42a606
cmp word [edi + 0x70], 2
jne 0x42a6f4
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.00429652
cmp eax, 0xfffffffe
jne 0x42a1d2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a1c7
dec edx
je 0x42a1bc
push 0x15
push 0x3e9
push 0x3fd
jmp 0x42a575
push 0x1e
push 0xe
push 0x15
jmp 0x42a586
push 0x15
push 4
push 0x77
jmp 0x42a59a
or esi, 0xffffffff
cmp eax, esi
jne 0x42a231
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a21a
dec edx
je 0x42a206
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a5a6
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a5a6
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
jmp 0x42a5a6
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 0x42a449
dec edx
je 0x42a34f
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00428262
test eax, eax
je 0x42a2bf
call esi
xor edx, edx
div ebx
dec edx
je 0x42a29b
dec edx
je 0x42a28a
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a2ad
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a2ad
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x59f090
push eax
call fcn.004f9d77
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x42a53d
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 0x42a2f4
cmp edx, ebx
je 0x42a53d
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a32b
dec edx
je 0x42a31a
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a33d
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a33d
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x59f090
push eax
call fcn.004f9d77
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00427db5
test eax, eax
je 0x42a3ba
call esi
xor edx, edx
div ebx
dec edx
je 0x42a396
dec edx
je 0x42a385
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a3a8
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a3a8
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x59f090
push eax
call fcn.004f9d77
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x42a53d
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 0x42a3ee
cmp edx, ebx
je 0x42a53d
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a425
dec edx
je 0x42a414
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a437
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a437
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x59f090
push eax
call fcn.004f9d77
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00427f19
test eax, eax
je 0x42a4b4
call esi
xor edx, edx
div ebx
dec edx
je 0x42a490
dec edx
je 0x42a47f
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a4a2
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a4a2
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x59f090
push eax
call fcn.004f9d77
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x42a53d
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 0x42a4e2
cmp edx, ebx
je 0x42a53d
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a519
dec edx
je 0x42a508
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a52b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a52b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x59f090
push eax
call fcn.004f9d77
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x42a60c
mov ecx, edi
call fcn.0042a75b
cmp eax, 0xfffffffe
jne 0x42a5c5
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a591
dec edx
je 0x42a580
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a5a3
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a5a3
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0054f644
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0054f644
mov eax, esi
jmp 0x42a715
cmp eax, 0xffffffff
jne 0x42a60c
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a604
dec edx
je 0x42a5f3
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.004281e3
jmp 0x42a679
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.00427d3c
jmp 0x42a679
push 0
push 4
push 0x62
jmp 0x42a670
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x42a6f4
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 0x42a642
cmp edx, ebx
je 0x42a6f4
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42a667
dec edx
je 0x42a65f
push 0x28
push 0x3e9
push 0x410
jmp 0x42a5e5
push 0x31
push 0xe
push 0x28
jmp 0x42a5f9
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.004280b7
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0054f644
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0054f644
or eax, 0xffffffff
jmp 0x42a715
mov ecx, edi
call fcn.0042912f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.0054f644
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0054f644
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 0x429f1e