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

Disassembly:
mov eax, 0x4d5cec
call fcn.004789bc
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0041cf2c
xor ebx, ebx
cmp eax, ebx
jne 0x41ddd5
mov ecx, edi
call fcn.0041cfbd
jmp 0x41e59b
cmp eax, 0xfffffffe
jne 0x41de32
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41de1b
dec edx
je 0x41de07
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e519
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e519
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
jmp 0x41e519
or esi, 0xffffffff
cmp eax, esi
jne 0x41de67
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41de60
dec edx
je 0x41de59
push ebx
push 0x3e9
push 0x3e8
jmp 0x41de9c
push 9
push 0xe
push ebx
jmp 0x41deb0
push ebx
push 4
push 0x62
jmp 0x41dec7
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x41ded5
push eax
mov ecx, edi
call fcn.00412520
test eax, eax
je 0x41ded5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41debe
dec edx
je 0x41deaa
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e446
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e446
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
jmp 0x41e446
push 0x57d6b4
lea ecx, [ebp - 0x14]
call fcn.004baf52
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.0041d9de
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.0041dbd4
cmp eax, ebx
je 0x41df7e
cmp eax, 0xfffffffe
jne 0x41df86
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41df51
dec edx
je 0x41df40
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41df6a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41df6a
push 0x28
push 4
push 0x8a
jmp 0x41df61
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041bf96
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004baede
mov dword [ebp - 4], esi
jmp 0x41e43e
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x41dfad
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41df5c
dec edx
je 0x41dfa6
push ebx
push 0x3e9
push 0x3e8
jmp 0x41df35
push 9
push 0xe
push ebx
jmp 0x41df46
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0041e80f
cmp eax, ebx
je 0x41dff5
cmp eax, 0xfffffffe
jne 0x41dfcc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x41e4cc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41dfef
dec edx
je 0x41dfe5
push ebx
jmp 0x41e463
push 9
push 0xe
push ebx
jmp 0x41e481
push ebx
jmp 0x41e48e
cmp word [edi + 0x70], 2
jne 0x41e57c
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.0041d4e0
cmp eax, 0xfffffffe
jne 0x41e05a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e04f
dec edx
je 0x41e044
push 0x15
push 0x3e9
push 0x3fd
jmp 0x41e3fd
push 0x1e
push 0xe
push 0x15
jmp 0x41e40e
push 0x15
push 4
push 0x77
jmp 0x41e422
or esi, 0xffffffff
cmp eax, esi
jne 0x41e0b9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e0a2
dec edx
je 0x41e08e
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e42e
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e42e
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
jmp 0x41e42e
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 0x41e2d1
dec edx
je 0x41e1d7
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041c120
test eax, eax
je 0x41e147
call esi
xor edx, edx
div ebx
dec edx
je 0x41e123
dec edx
je 0x41e112
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e135
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e135
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4f4958
push eax
call fcn.0047a0f7
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x41e3c5
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 0x41e17c
cmp edx, ebx
je 0x41e3c5
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e1b3
dec edx
je 0x41e1a2
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e1c5
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e1c5
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4f4958
push eax
call fcn.0047a0f7
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041bcb5
test eax, eax
je 0x41e242
call esi
xor edx, edx
div ebx
dec edx
je 0x41e21e
dec edx
je 0x41e20d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e230
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e230
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4f4958
push eax
call fcn.0047a0f7
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x41e3c5
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 0x41e276
cmp edx, ebx
je 0x41e3c5
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e2ad
dec edx
je 0x41e29c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e2bf
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e2bf
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4f4958
push eax
call fcn.0047a0f7
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041bdf8
test eax, eax
je 0x41e33c
call esi
xor edx, edx
div ebx
dec edx
je 0x41e318
dec edx
je 0x41e307
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e32a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e32a
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4f4958
push eax
call fcn.0047a0f7
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x41e3c5
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 0x41e36a
cmp edx, ebx
je 0x41e3c5
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e3a1
dec edx
je 0x41e390
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e3b3
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e3b3
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4f4958
push eax
call fcn.0047a0f7
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x41e494
mov ecx, edi
call fcn.0040b90e
cmp eax, 0xfffffffe
jne 0x41e44d
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e419
dec edx
je 0x41e408
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e42b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e42b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004baede
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004baede
mov eax, esi
jmp 0x41e59d
cmp eax, 0xffffffff
jne 0x41e494
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e48c
dec edx
je 0x41e47b
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041c0a1
jmp 0x41e501
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.0041bc3c
jmp 0x41e501
push 0
push 4
push 0x62
jmp 0x41e4f8
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x41e57c
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 0x41e4ca
cmp edx, ebx
je 0x41e57c
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e4ef
dec edx
je 0x41e4e7
push 0x28
push 0x3e9
push 0x410
jmp 0x41e46d
push 0x31
push 0xe
push 0x28
jmp 0x41e481
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bf96
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004baede
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004baede
or eax, 0xffffffff
jmp 0x41e59d
mov ecx, edi
call fcn.0041cfbd
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004baede
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004baede
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 0x41dda6