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

Disassembly:
mov eax, 0x4c8ab0
call fcn.00495c00
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0041f909
xor ebx, ebx
cmp eax, ebx
jne 0x4207b2
mov ecx, edi
call fcn.0041f99a
jmp 0x420f78
cmp eax, 0xfffffffe
jne 0x42080f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4207f8
dec edx
je 0x4207e4
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420ef6
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420ef6
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
jmp 0x420ef6
or esi, 0xffffffff
cmp eax, esi
jne 0x420844
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42083d
dec edx
je 0x420836
push ebx
push 0x3e9
push 0x3e8
jmp 0x420879
push 9
push 0xe
push ebx
jmp 0x42088d
push ebx
push 4
push 0x62
jmp 0x4208a4
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x4208b2
push eax
mov ecx, edi
call fcn.004100d2
test eax, eax
je 0x4208b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42089b
dec edx
je 0x420887
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420e23
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420e23
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
jmp 0x420e23
push 0x506dbc
lea ecx, [ebp - 0x14]
call fcn.004b0dea
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.004203bb
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.004205b1
cmp eax, ebx
je 0x42095b
cmp eax, 0xfffffffe
jne 0x420963
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42092e
dec edx
je 0x42091d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420947
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420947
push 0x28
push 4
push 0x8a
jmp 0x42093e
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041e930
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0d76
mov dword [ebp - 4], esi
jmp 0x420e1b
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x42098a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420939
dec edx
je 0x420983
push ebx
push 0x3e9
push 0x3e8
jmp 0x420912
push 9
push 0xe
push ebx
jmp 0x420923
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.004211f0
cmp eax, ebx
je 0x4209d2
cmp eax, 0xfffffffe
jne 0x4209a9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x420ea9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4209cc
dec edx
je 0x4209c2
push ebx
jmp 0x420e40
push 9
push 0xe
push ebx
jmp 0x420e5e
push ebx
jmp 0x420e6b
cmp word [edi + 0x70], 2
jne 0x420f59
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.0041febd
cmp eax, 0xfffffffe
jne 0x420a37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420a2c
dec edx
je 0x420a21
push 0x15
push 0x3e9
push 0x3fd
jmp 0x420dda
push 0x1e
push 0xe
push 0x15
jmp 0x420deb
push 0x15
push 4
push 0x77
jmp 0x420dff
or esi, 0xffffffff
cmp eax, esi
jne 0x420a96
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420a7f
dec edx
je 0x420a6b
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420e0b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420e0b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
jmp 0x420e0b
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 0x420cae
dec edx
je 0x420bb4
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041eaba
test eax, eax
je 0x420b24
call esi
xor edx, edx
div ebx
dec edx
je 0x420b00
dec edx
je 0x420aef
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420b12
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420b12
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4e2db0
push eax
call fcn.0049724f
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x420da2
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 0x420b59
cmp edx, ebx
je 0x420da2
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420b90
dec edx
je 0x420b7f
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420ba2
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420ba2
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4e2db0
push eax
call fcn.0049724f
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041e64f
test eax, eax
je 0x420c1f
call esi
xor edx, edx
div ebx
dec edx
je 0x420bfb
dec edx
je 0x420bea
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420c0d
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420c0d
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4e2db0
push eax
call fcn.0049724f
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x420da2
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 0x420c53
cmp edx, ebx
je 0x420da2
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420c8a
dec edx
je 0x420c79
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420c9c
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420c9c
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4e2db0
push eax
call fcn.0049724f
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041e792
test eax, eax
je 0x420d19
call esi
xor edx, edx
div ebx
dec edx
je 0x420cf5
dec edx
je 0x420ce4
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420d07
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420d07
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4e2db0
push eax
call fcn.0049724f
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x420da2
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 0x420d47
cmp edx, ebx
je 0x420da2
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420d7e
dec edx
je 0x420d6d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420d90
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420d90
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4e2db0
push eax
call fcn.0049724f
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x420e71
mov ecx, edi
call fcn.00420fc0
cmp eax, 0xfffffffe
jne 0x420e2a
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420df6
dec edx
je 0x420de5
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420e08
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420e08
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0d76
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b0d76
mov eax, esi
jmp 0x420f7a
cmp eax, 0xffffffff
jne 0x420e71
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420e69
dec edx
je 0x420e58
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041ea3b
jmp 0x420ede
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041e5d6
jmp 0x420ede
push 0
push 4
push 0x62
jmp 0x420ed5
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x420f59
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 0x420ea7
cmp edx, ebx
je 0x420f59
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420ecc
dec edx
je 0x420ec4
push 0x28
push 0x3e9
push 0x410
jmp 0x420e4a
push 0x31
push 0xe
push 0x28
jmp 0x420e5e
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041e930
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0d76
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b0d76
or eax, 0xffffffff
jmp 0x420f7a
mov ecx, edi
call fcn.0041f99a
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0d76
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b0d76
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 0x420783