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

Disassembly:
mov eax, 0x5597ec
call fcn.004e6194
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.00427f4d
xor ebx, ebx
cmp eax, ebx
jne 0x428e10
mov ecx, edi
call fcn.00427fde
jmp 0x4295d2
cmp eax, 0xfffffffe
jne 0x428e6d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x428e56
dec edx
je 0x428e42
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429550
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429550
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
jmp 0x429550
or esi, 0xffffffff
cmp eax, esi
jne 0x428ea2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x428e9b
dec edx
je 0x428e94
push ebx
push 0x3e9
push 0x3e8
jmp 0x428ed7
push 9
push 0xe
push ebx
jmp 0x428eeb
push ebx
push 4
push 0x62
jmp 0x428f02
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x428f10
push eax
mov ecx, edi
call fcn.004360c9
test eax, eax
je 0x428f10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x428ef9
dec edx
je 0x428ee5
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429491
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429491
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
jmp 0x429491
push 0x6372dc
lea ecx, [ebp - 0x14]
call fcn.0054175b
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.00428a09
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.00428bff
cmp eax, 0xfffffffe
jne 0x428f9c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x428f76
dec edx
je 0x428f6e
push 0x28
push 0x3e9
push 0x410
jmp 0x428fc6
push 0x31
push 0xe
push 0x28
jmp 0x428fd6
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.005416e7
mov dword [ebp - 4], esi
jmp 0x429489
cmp eax, esi
je 0x428fa8
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x428fe8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x428fe1
dec edx
je 0x428fd1
push ebx
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.00427092
jmp 0x428f88
push 9
push 0xe
push ebx
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x428f88
push ebx
push 4
push 0x62
jmp 0x428f7f
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042984e
test eax, eax
je 0x429040
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429036
dec edx
je 0x429023
push ebx
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429538
push 9
push 0xe
push ebx
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429538
push ebx
push 4
push 0x62
jmp 0x42952f
cmp word [edi + 0x70], 2
jne 0x4295b3
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.00428501
cmp eax, 0xfffffffe
jne 0x4290a5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42909a
dec edx
je 0x42908f
push 0x15
push 0x3e9
push 0x3fd
jmp 0x429448
push 0x1e
push 0xe
push 0x15
jmp 0x429459
push 0x15
push 4
push 0x77
jmp 0x42946d
or esi, 0xffffffff
cmp eax, esi
jne 0x429104
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4290ed
dec edx
je 0x4290d9
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429479
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429479
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
jmp 0x429479
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 0x42931c
dec edx
je 0x429222
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00427111
test eax, eax
je 0x429192
call esi
xor edx, edx
div ebx
dec edx
je 0x42916e
dec edx
je 0x42915d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429180
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429180
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x588d58
push eax
call fcn.004e7727
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x429410
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 0x4291c7
cmp edx, ebx
je 0x429410
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4291fe
dec edx
je 0x4291ed
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429210
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429210
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x588d58
push eax
call fcn.004e7727
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00426d46
test eax, eax
je 0x42928d
call esi
xor edx, edx
div ebx
dec edx
je 0x429269
dec edx
je 0x429258
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x42927b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x42927b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x588d58
push eax
call fcn.004e7727
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x429410
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 0x4292c1
cmp edx, ebx
je 0x429410
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4292f8
dec edx
je 0x4292e7
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x42930a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x42930a
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x588d58
push eax
call fcn.004e7727
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00426eaa
test eax, eax
je 0x429387
call esi
xor edx, edx
div ebx
dec edx
je 0x429363
dec edx
je 0x429352
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429375
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429375
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x588d58
push eax
call fcn.004e7727
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x429410
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 0x4293b5
cmp edx, ebx
je 0x429410
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4293ec
dec edx
je 0x4293db
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x4293fe
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x4293fe
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x588d58
push eax
call fcn.004e7727
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x4294c5
mov ecx, edi
call fcn.004366e5
cmp eax, 0xfffffffe
jne 0x429498
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429464
dec edx
je 0x429453
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.00427092
jmp 0x429476
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00426c41
jmp 0x429476
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.005416e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.005416e7
mov eax, esi
jmp 0x4295d4
cmp eax, 0xffffffff
jne 0x4294c5
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4294be
dec edx
je 0x4294b3
push 0
jmp 0x42900b
push 9
push 0xe
push 0
jmp 0x429028
push 0
jmp 0x429037
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x4295b3
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 0x4294fb
cmp edx, ebx
je 0x4295b3
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x429526
dec edx
je 0x42951b
push 0x28
push 0x3e9
push 0x410
jmp 0x429015
push 0x31
push 0xe
push 0x28
jmp 0x429028
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.00426ff8
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.005416e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.005416e7
or eax, 0xffffffff
jmp 0x4295d4
mov ecx, edi
call fcn.00427fde
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.005416e7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.005416e7
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 0x428de1