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

Disassembly:
mov eax, 0x4c8b94
call fcn.00495c6c
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0041fb7a
xor ebx, ebx
cmp eax, ebx
jne 0x420a23
mov ecx, edi
call fcn.0041fc0b
jmp 0x4211e9
cmp eax, 0xfffffffe
jne 0x420a80
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420a69
dec edx
je 0x420a55
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x421167
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x421167
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
jmp 0x421167
or esi, 0xffffffff
cmp eax, esi
jne 0x420ab5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420aae
dec edx
je 0x420aa7
push ebx
push 0x3e9
push 0x3e8
jmp 0x420aea
push 9
push 0xe
push ebx
jmp 0x420afe
push ebx
push 4
push 0x62
jmp 0x420b15
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x420b23
push eax
mov ecx, edi
call fcn.0041d33f
test eax, eax
je 0x420b23
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420b0c
dec edx
je 0x420af8
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x421094
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x421094
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
jmp 0x421094
push 0x50683c
lea ecx, [ebp - 0x14]
call fcn.004b0e5a
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.0042062c
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.00420822
cmp eax, ebx
je 0x420bcc
cmp eax, 0xfffffffe
jne 0x420bd4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420b9f
dec edx
je 0x420b8e
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x420bb8
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x420bb8
push 0x28
push 4
push 0x8a
jmp 0x420baf
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041eb8f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0de6
mov dword [ebp - 4], esi
jmp 0x42108c
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x420bfb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420baa
dec edx
je 0x420bf4
push ebx
push 0x3e9
push 0x3e8
jmp 0x420b83
push 9
push 0xe
push ebx
jmp 0x420b94
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0042145d
cmp eax, ebx
je 0x420c43
cmp eax, 0xfffffffe
jne 0x420c1a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x42111a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420c3d
dec edx
je 0x420c33
push ebx
jmp 0x4210b1
push 9
push 0xe
push ebx
jmp 0x4210cf
push ebx
jmp 0x4210dc
cmp word [edi + 0x70], 2
jne 0x4211ca
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.0042012e
cmp eax, 0xfffffffe
jne 0x420ca8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420c9d
dec edx
je 0x420c92
push 0x15
push 0x3e9
push 0x3fd
jmp 0x42104b
push 0x1e
push 0xe
push 0x15
jmp 0x42105c
push 0x15
push 4
push 0x77
jmp 0x421070
or esi, 0xffffffff
cmp eax, esi
jne 0x420d07
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420cf0
dec edx
je 0x420cdc
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x42107c
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x42107c
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
jmp 0x42107c
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 0x420f1f
dec edx
je 0x420e25
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041ed62
test eax, eax
je 0x420d95
call esi
xor edx, edx
div ebx
dec edx
je 0x420d71
dec edx
je 0x420d60
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x420d83
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x420d83
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4e2780
push eax
call fcn.004972bf
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x421013
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 0x420dca
cmp edx, ebx
je 0x421013
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420e01
dec edx
je 0x420df0
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x420e13
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x420e13
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4e2780
push eax
call fcn.004972bf
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041e8fe
test eax, eax
je 0x420e90
call esi
xor edx, edx
div ebx
dec edx
je 0x420e6c
dec edx
je 0x420e5b
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x420e7e
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x420e7e
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4e2780
push eax
call fcn.004972bf
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x421013
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 0x420ec4
cmp edx, ebx
je 0x421013
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420efb
dec edx
je 0x420eea
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x420f0d
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x420f0d
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4e2780
push eax
call fcn.004972bf
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041ea41
test eax, eax
je 0x420f8a
call esi
xor edx, edx
div ebx
dec edx
je 0x420f66
dec edx
je 0x420f55
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x420f78
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x420f78
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4e2780
push eax
call fcn.004972bf
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x421013
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 0x420fb8
cmp edx, ebx
je 0x421013
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x420fef
dec edx
je 0x420fde
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x421001
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x421001
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4e2780
push eax
call fcn.004972bf
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x4210e2
mov ecx, edi
call fcn.0042afda
cmp eax, 0xfffffffe
jne 0x42109b
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x421067
dec edx
je 0x421056
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x421079
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x421079
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0de6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b0de6
mov eax, esi
jmp 0x4211eb
cmp eax, 0xffffffff
jne 0x4210e2
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x4210da
dec edx
je 0x4210c9
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041ec9a
jmp 0x42114f
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041e885
jmp 0x42114f
push 0
push 4
push 0x62
jmp 0x421146
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x4211ca
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 0x421118
cmp edx, ebx
je 0x4211ca
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x42113d
dec edx
je 0x421135
push 0x28
push 0x3e9
push 0x410
jmp 0x4210bb
push 0x31
push 0xe
push 0x28
jmp 0x4210cf
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041eb8f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0de6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b0de6
or eax, 0xffffffff
jmp 0x4211eb
mov ecx, edi
call fcn.0041fc0b
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b0de6
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b0de6
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 0x4209f4