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

Disassembly:
mov eax, 0x4d3d98
call fcn.00476bf8
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
call fcn.0041b22b
xor ebx, ebx
cmp eax, ebx
jne 0x41c0da
mov ecx, edi
call fcn.0041b2bc
jmp 0x41c8a0
cmp eax, 0xfffffffe
jne 0x41c137
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c120
dec edx
je 0x41c10c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c81e
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c81e
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
jmp 0x41c81e
or esi, 0xffffffff
cmp eax, esi
jne 0x41c16c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c165
dec edx
je 0x41c15e
push ebx
push 0x3e9
push 0x3e8
jmp 0x41c1a1
push 9
push 0xe
push ebx
jmp 0x41c1b5
push ebx
push 4
push 0x62
jmp 0x41c1cc
mov eax, dword [edi + 0x94]
cmp eax, ebx
je 0x41c1da
push eax
mov ecx, edi
call fcn.0042677a
test eax, eax
je 0x41c1da
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c1c3
dec edx
je 0x41c1af
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c74b
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c74b
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
jmp 0x41c74b
push 0x57b44c
lea ecx, [ebp - 0x14]
call fcn.004b9192
push dword [edi + 0xa0]
lea eax, [ebp - 0x18]
mov ecx, edi
mov dword [ebp - 4], ebx
push str.SoftwareClassesCLSID_s
push eax
call fcn.0041bcdd
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
mov byte [ebp - 4], 1
push dword [ebp - 0x18]
call fcn.0041bed3
cmp eax, ebx
je 0x41c283
cmp eax, 0xfffffffe
jne 0x41c28b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c256
dec edx
je 0x41c245
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c26f
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c26f
push 0x28
push 4
push 0x8a
jmp 0x41c266
push ebx
push 4
push 0x62
push 0x68
mov ecx, edi
call fcn.0041a2a7
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b911e
mov dword [ebp - 4], esi
jmp 0x41c743
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], ebx
jne 0x41c2b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c261
dec edx
je 0x41c2ab
push ebx
push 0x3e9
push 0x3e8
jmp 0x41c23a
push 9
push 0xe
push ebx
jmp 0x41c24b
lea esi, [edi + 0x68]
push eax
mov ecx, esi
call fcn.0041cb18
cmp eax, ebx
je 0x41c2fa
cmp eax, 0xfffffffe
jne 0x41c2d1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x41c7d1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c2f4
dec edx
je 0x41c2ea
push ebx
jmp 0x41c768
push 9
push 0xe
push ebx
jmp 0x41c786
push ebx
jmp 0x41c793
cmp word [edi + 0x70], 2
jne 0x41c881
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.0041b7df
cmp eax, 0xfffffffe
jne 0x41c35f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c354
dec edx
je 0x41c349
push 0x15
push 0x3e9
push 0x3fd
jmp 0x41c702
push 0x1e
push 0xe
push 0x15
jmp 0x41c713
push 0x15
push 4
push 0x77
jmp 0x41c727
or esi, 0xffffffff
cmp eax, esi
jne 0x41c3be
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c3a7
dec edx
je 0x41c393
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c733
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c733
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
jmp 0x41c733
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 0x41c5d6
dec edx
je 0x41c4dc
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0041a431
test eax, eax
je 0x41c44c
call esi
xor edx, edx
div ebx
dec edx
je 0x41c428
dec edx
je 0x41c417
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c43a
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c43a
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x20]
push 0x4f2398
push eax
call fcn.00478327
call esi
push 7
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
jne 0x41c6ca
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 0x41c481
cmp edx, ebx
je 0x41c6ca
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c4b8
dec edx
je 0x41c4a7
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c4ca
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c4ca
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or dword [ebp - 0x24], 0xffffffff
lea eax, [ebp - 0x24]
push 0x4f2398
push eax
call fcn.00478327
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00419fc6
test eax, eax
je 0x41c547
call esi
xor edx, edx
div ebx
dec edx
je 0x41c523
dec edx
je 0x41c512
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c535
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c535
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or dword [ebp - 0x28], 0xffffffff
lea eax, [ebp - 0x28]
push 0x4f2398
push eax
call fcn.00478327
call esi
push 9
xor edx, edx
pop ecx
div ecx
cmp edx, 1
jne 0x41c6ca
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 0x41c57b
cmp edx, ebx
je 0x41c6ca
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c5b2
dec edx
je 0x41c5a1
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c5c4
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c5c4
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or dword [ebp - 0x2c], 0xffffffff
lea eax, [ebp - 0x2c]
push 0x4f2398
push eax
call fcn.00478327
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041a109
test eax, eax
je 0x41c641
call esi
xor edx, edx
div ebx
dec edx
je 0x41c61d
dec edx
je 0x41c60c
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c62f
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c62f
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or dword [ebp - 0x30], 0xffffffff
lea eax, [ebp - 0x30]
push 0x4f2398
push eax
call fcn.00478327
call esi
push 5
xor edx, edx
pop ecx
div ecx
cmp edx, 2
jne 0x41c6ca
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 0x41c66f
cmp edx, ebx
je 0x41c6ca
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c6a6
dec edx
je 0x41c695
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c6b8
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c6b8
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or dword [ebp - 0x34], 0xffffffff
lea eax, [ebp - 0x34]
push 0x4f2398
push eax
call fcn.00478327
test byte [edi + 0x1c], 1
mov dword [ebp - 4], 1
je 0x41c799
mov ecx, edi
call fcn.0041c8e8
cmp eax, 0xfffffffe
jne 0x41c752
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c71e
dec edx
je 0x41c70d
push 0x28
push 0x3e9
push 0x410
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c730
push 0x31
push 0xe
push 0x28
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c730
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
or esi, 0xffffffff
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b911e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b911e
mov eax, esi
jmp 0x41c8a2
cmp eax, 0xffffffff
jne 0x41c799
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c791
dec edx
je 0x41c780
push 0
push 0x3e9
push 0x3e8
push 4
mov ecx, edi
call fcn.0041a3b2
jmp 0x41c806
push 9
push 0xe
push 0
push 4
mov ecx, edi
call fcn.00419f4d
jmp 0x41c806
push 0
push 4
push 0x62
jmp 0x41c7fd
call esi
push 0xb
xor edx, edx
pop ecx
div ecx
cmp edx, 5
jne 0x41c881
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 0x41c7cf
cmp edx, ebx
je 0x41c881
call esi
push 3
xor edx, edx
pop ecx
div ecx
dec edx
je 0x41c7f4
dec edx
je 0x41c7ec
push 0x28
push 0x3e9
push 0x410
jmp 0x41c772
push 0x31
push 0xe
push 0x28
jmp 0x41c786
push 0x28
push 4
push 0x8a
push 0x68
mov ecx, edi
call fcn.0041a2a7
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b911e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b911e
or eax, 0xffffffff
jmp 0x41c8a2
mov ecx, edi
call fcn.0041b2bc
and byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.004b911e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004b911e
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 0x41c0ab