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

Disassembly:
mov eax, 0x4ca300
call fcn.00497218
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.00420c60
xor ebx, ebx
cmp eax, ebx
jne 0x421b0f
mov ecx, edi
call fcn.00420cf1
jmp 0x4222d5
cmp eax, 0xfffffffe
jne 0x421b6c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421b55
dec edx
je 0x421b41
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x422253
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x422253
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
jmp 0x422253
or esi, 0xffffffff
cmp eax, esi
jne 0x421ba1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421b9a
dec edx
je 0x421b93
push ebx
push 0x3e9
push 0x3e8
jmp 0x421bd6
push 9
push 0xe
push ebx
jmp 0x421bea
push ebx
push 4
push 0x62
jmp 0x421c01
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x421c0f
push eax
mov ecx, edi
call fcn.004113da
test eax, eax
je 0x421c0f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421bf8
dec edx
je 0x421be4
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x422180
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x422180
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
jmp 0x422180
push 0x508eec
lea ecx, [ebp - 0x14]
call fcn.004b23fa
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.00421712
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.00421908
cmp eax, ebx
je 0x421cb8
cmp eax, 0xfffffffe
jne 0x421cc0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421c8b
dec edx
je 0x421c7a
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x421ca4
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x421ca4
push 0x28
push 4
push 0x8a
jmp 0x421c9b
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041fc99
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b2386
mov dword [ebp - 4], esi
jmp 0x422178
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x421ce7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421c96
dec edx
je 0x421ce0
push ebx
push 0x3e9
push 0x3e8
jmp 0x421c6f
push 9
push 0xe
push ebx
jmp 0x421c80
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042254d
cmp eax, ebx
je 0x421d2f
cmp eax, 0xfffffffe
jne 0x421d06
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x422206
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421d29
dec edx
je 0x421d1f
push ebx
jmp 0x42219d
push 9
push 0xe
push ebx
jmp 0x4221bb
push ebx
jmp 0x4221c8
cmp word [edi + 0x70], 2
jne 0x4222b6
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.00421214
cmp eax, 0xfffffffe
jne 0x421d94
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421d89
dec edx
je 0x421d7e
push 0x15
push 0x3e9
push 0x3fd
jmp 0x422137
push 0x1e
push 0xe
push 0x15
jmp 0x422148
push 0x15
push 4
push 0x77
jmp 0x42215c
or esi, 0xffffffff
cmp eax, esi
jne 0x421df3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421ddc
dec edx
je 0x421dc8
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x422168
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x422168
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
jmp 0x422168
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 0x42200b
dec edx
je 0x421f11
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041fe23
test eax, eax
je 0x421e81
call esi
xor edx, edx
div ebx
dec edx
je 0x421e5d
dec edx
je 0x421e4c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x421e6f
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x421e6f
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4e5588
push eax
call fcn.0049886c
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x4220ff
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 0x421eb6
cmp edx, ebx
je 0x4220ff
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421eed
dec edx
je 0x421edc
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x421eff
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x421eff
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4e5588
push eax
call fcn.0049886c
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041f9b8
test eax, eax
je 0x421f7c
call esi
xor edx, edx
div ebx
dec edx
je 0x421f58
dec edx
je 0x421f47
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x421f6a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x421f6a
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4e5588
push eax
call fcn.0049886c
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x4220ff
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 0x421fb0
cmp edx, ebx
je 0x4220ff
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421fe7
dec edx
je 0x421fd6
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x421ff9
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x421ff9
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4e5588
push eax
call fcn.0049886c
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041fafb
test eax, eax
je 0x422076
call esi
xor edx, edx
div ebx
dec edx
je 0x422052
dec edx
je 0x422041
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x422064
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x422064
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4e5588
push eax
call fcn.0049886c
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x4220ff
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 0x4220a4
cmp edx, ebx
je 0x4220ff
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4220db
dec edx
je 0x4220ca
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x4220ed
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x4220ed
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4e5588
push eax
call fcn.0049886c
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x4221ce
mov ecx, edi
call fcn.0042231d
cmp eax, 0xfffffffe
jne 0x422187
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x422153
dec edx
je 0x422142
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x422165
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x422165
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b2386
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b2386
mov eax, esi
jmp 0x4222d7
cmp eax, 0xffffffff
jne 0x4221ce
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4221c6
dec edx
je 0x4221b5
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041fda4
jmp 0x42223b
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041f93f
jmp 0x42223b
push 0
push 4
push 0x62
jmp 0x422232
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x4222b6
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 0x422204
cmp edx, ebx
je 0x4222b6
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x422229
dec edx
je 0x422221
push 0x28
push 0x3e9
push 0x410
jmp 0x4221a7
push 0x31
push 0xe
push 0x28
jmp 0x4221bb
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fc99
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b2386
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b2386
or eax, 0xffffffff
jmp 0x4222d7
mov ecx, edi
call fcn.00420cf1
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b2386
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b2386
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 0x421ae0