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

Disassembly:
mov eax, 0x4d0500
call fcn.00492ff0
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0041cdc9
xor ebx, ebx
cmp eax, ebx
jne 0x41dc71
mov ecx, edi
call fcn.0041ce5a
jmp 0x41e433
cmp eax, 0xfffffffe
jne 0x41dcce
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41dcb7
dec edx
je 0x41dca3
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e3b1
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e3b1
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
jmp 0x41e3b1
or esi, 0xffffffff
cmp eax, esi
jne 0x41dd03
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41dcfc
dec edx
je 0x41dcf5
push ebx
push 0x3e9
push 0x3e8
jmp 0x41dd38
push 9
push 0xe
push ebx
jmp 0x41dd4c
push ebx
push 4
push 0x62
jmp 0x41dd63
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x41dd71
push eax
mov ecx, edi
call fcn.0040e7f5
test eax, eax
je 0x41dd71
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41dd5a
dec edx
je 0x41dd46
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e2f2
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e2f2
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
jmp 0x41e2f2
push 0x50c024
lea ecx, [ebp - 0x14]
call fcn.004bc042
push dword [edi + 0x9c]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.0041d876
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.0041da60
cmp eax, 0xfffffffe
jne 0x41ddfd
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41ddd7
dec edx
je 0x41ddcf
push 0x28
push 0x3e9
push 0x410
jmp 0x41de27
push 0x31
push 0xe
push 0x28
jmp 0x41de37
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004bbfce
mov dword [ebp - 4], esi
jmp 0x41e2ea
cmp eax, esi
je 0x41de09
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x41de49
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41de42
dec edx
je 0x41de32
push ebx
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41dde9
push 9
push 0xe
push ebx
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41dde9
push ebx
push 4
push 0x62
jmp 0x41dde0
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0041e6af
test eax, eax
je 0x41dea1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41de97
dec edx
je 0x41de84
push ebx
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e399
push 9
push 0xe
push ebx
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e399
push ebx
push 4
push 0x62
jmp 0x41e390
cmp word [edi + 0x70], 2
jne 0x41e414
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.0041d37d
cmp eax, 0xfffffffe
jne 0x41df06
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41defb
dec edx
je 0x41def0
push 0x15
push 0x3e9
push 0x3fd
jmp 0x41e2a9
push 0x1e
push 0xe
push 0x15
jmp 0x41e2ba
push 0x15
push 4
push 0x77
jmp 0x41e2ce
or esi, 0xffffffff
cmp eax, esi
jne 0x41df65
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41df4e
dec edx
je 0x41df3a
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e2da
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e2da
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
jmp 0x41e2da
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 0x41e17d
dec edx
je 0x41e083
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041bfbd
test eax, eax
je 0x41dff3
call esi
xor edx, edx
div ebx
dec edx
je 0x41dfcf
dec edx
je 0x41dfbe
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41dfe1
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41dfe1
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4eaa18
push eax
call fcn.0049464f
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x41e271
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 0x41e028
cmp edx, ebx
je 0x41e271
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e05f
dec edx
je 0x41e04e
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e071
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e071
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4eaa18
push eax
call fcn.0049464f
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041bc34
test eax, eax
je 0x41e0ee
call esi
xor edx, edx
div ebx
dec edx
je 0x41e0ca
dec edx
je 0x41e0b9
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e0dc
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e0dc
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4eaa18
push eax
call fcn.0049464f
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x41e271
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 0x41e122
cmp edx, ebx
je 0x41e271
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e159
dec edx
je 0x41e148
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e16b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e16b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4eaa18
push eax
call fcn.0049464f
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041bd77
test eax, eax
je 0x41e1e8
call esi
xor edx, edx
div ebx
dec edx
je 0x41e1c4
dec edx
je 0x41e1b3
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e1d6
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e1d6
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4eaa18
push eax
call fcn.0049464f
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x41e271
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 0x41e216
cmp edx, ebx
je 0x41e271
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e24d
dec edx
je 0x41e23c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e25f
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e25f
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4eaa18
push eax
call fcn.0049464f
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x41e326
mov ecx, edi
call fcn.004290f9
cmp eax, 0xfffffffe
jne 0x41e2f9
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e2c5
dec edx
je 0x41e2b4
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041bf3e
jmp 0x41e2d7
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.0041bb2f
jmp 0x41e2d7
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004bbfce
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004bbfce
mov eax, esi
jmp 0x41e435
cmp eax, 0xffffffff
jne 0x41e326
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e31f
dec edx
je 0x41e314
push 0
jmp 0x41de6c
push 9
push 0xe
push 0
jmp 0x41de89
push 0
jmp 0x41de98
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x41e414
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 0x41e35c
cmp edx, ebx
je 0x41e414
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41e387
dec edx
je 0x41e37c
push 0x28
push 0x3e9
push 0x410
jmp 0x41de76
push 0x31
push 0xe
push 0x28
jmp 0x41de89
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041bec5
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004bbfce
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004bbfce
or eax, 0xffffffff
jmp 0x41e435
mov ecx, edi
call fcn.0041ce5a
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004bbfce
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004bbfce
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 0x41dc42