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

Disassembly:
mov eax, 0x4ca148
call fcn.00497040
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.00420d67
xor ebx, ebx
cmp eax, ebx
jne 0x421c10
mov ecx, edi
call fcn.00420df8
jmp 0x4223d6
cmp eax, 0xfffffffe
jne 0x421c6d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421c56
dec edx
je 0x421c42
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x422354
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x422354
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
jmp 0x422354
or esi, 0xffffffff
cmp eax, esi
jne 0x421ca2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421c9b
dec edx
je 0x421c94
push ebx
push 0x3e9
push 0x3e8
jmp 0x421cd7
push 9
push 0xe
push ebx
jmp 0x421ceb
push ebx
push 4
push 0x62
jmp 0x421d02
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x421d10
push eax
mov ecx, edi
call fcn.0041130b
test eax, eax
je 0x421d10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421cf9
dec edx
je 0x421ce5
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x422281
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x422281
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
jmp 0x422281
push 0x507bbc
lea ecx, [ebp - 0x14]
call fcn.004b221a
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.00421819
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.00421a0f
cmp eax, ebx
je 0x421db9
cmp eax, 0xfffffffe
jne 0x421dc1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421d8c
dec edx
je 0x421d7b
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x421da5
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x421da5
push 0x28
push 4
push 0x8a
jmp 0x421d9c
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041fda6
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b21a6
mov dword [ebp - 4], esi
jmp 0x422279
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x421de8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421d97
dec edx
je 0x421de1
push ebx
push 0x3e9
push 0x3e8
jmp 0x421d70
push 9
push 0xe
push ebx
jmp 0x421d81
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042264a
cmp eax, ebx
je 0x421e30
cmp eax, 0xfffffffe
jne 0x421e07
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x422307
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421e2a
dec edx
je 0x421e20
push ebx
jmp 0x42229e
push 9
push 0xe
push ebx
jmp 0x4222bc
push ebx
jmp 0x4222c9
cmp word [edi + 0x70], 2
jne 0x4223b7
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.0042131b
cmp eax, 0xfffffffe
jne 0x421e95
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421e8a
dec edx
je 0x421e7f
push 0x15
push 0x3e9
push 0x3fd
jmp 0x422238
push 0x1e
push 0xe
push 0x15
jmp 0x422249
push 0x15
push 4
push 0x77
jmp 0x42225d
or esi, 0xffffffff
cmp eax, esi
jne 0x421ef4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421edd
dec edx
je 0x421ec9
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x422269
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x422269
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
jmp 0x422269
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 0x42210c
dec edx
je 0x422012
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041ff30
test eax, eax
je 0x421f82
call esi
xor edx, edx
div ebx
dec edx
je 0x421f5e
dec edx
je 0x421f4d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x421f70
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x421f70
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4e5558
push eax
call fcn.0049869c
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x422200
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 0x421fb7
cmp edx, ebx
je 0x422200
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421fee
dec edx
je 0x421fdd
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x422000
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x422000
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4e5558
push eax
call fcn.0049869c
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041fac5
test eax, eax
je 0x42207d
call esi
xor edx, edx
div ebx
dec edx
je 0x422059
dec edx
je 0x422048
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x42206b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x42206b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4e5558
push eax
call fcn.0049869c
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x422200
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 0x4220b1
cmp edx, ebx
je 0x422200
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4220e8
dec edx
je 0x4220d7
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x4220fa
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x4220fa
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4e5558
push eax
call fcn.0049869c
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041fc08
test eax, eax
je 0x422177
call esi
xor edx, edx
div ebx
dec edx
je 0x422153
dec edx
je 0x422142
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x422165
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x422165
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4e5558
push eax
call fcn.0049869c
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x422200
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 0x4221a5
cmp edx, ebx
je 0x422200
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4221dc
dec edx
je 0x4221cb
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x4221ee
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x4221ee
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4e5558
push eax
call fcn.0049869c
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x4222cf
mov ecx, edi
call fcn.0042c0db
cmp eax, 0xfffffffe
jne 0x422288
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x422254
dec edx
je 0x422243
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x422266
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x422266
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b21a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b21a6
mov eax, esi
jmp 0x4223d8
cmp eax, 0xffffffff
jne 0x4222cf
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4222c7
dec edx
je 0x4222b6
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041feb1
jmp 0x42233c
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041fa4c
jmp 0x42233c
push 0
push 4
push 0x62
jmp 0x422333
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x4223b7
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 0x422305
cmp edx, ebx
je 0x4223b7
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42232a
dec edx
je 0x422322
push 0x28
push 0x3e9
push 0x410
jmp 0x4222a8
push 0x31
push 0xe
push 0x28
jmp 0x4222bc
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041fda6
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b21a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b21a6
or eax, 0xffffffff
jmp 0x4223d8
mov ecx, edi
call fcn.00420df8
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b21a6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b21a6
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 0x421be1