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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 4]
lea edi, [esi + 0x44]
push ecx
mov ecx, edi
mov dword [ebp + 8], edi
call fcn.0042ba80
mov edx, dword [eax]
cmp edx, dword [esi + 0x48]
je 0x42c2f6
lea eax, [ebp + 0xc]
push eax
mov ecx, edi
call fcn.0042bd60
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [eax]
call ebx
sub eax, edi
cmp eax, 0xfa0
jb 0x42c340
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.0042bd60
mov edi, eax
call ebx
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
cmp eax, 0x271b
jg 0x42c39e
je 0x42c34b
cmp eax, 0xffffea78
jne case.default.0x42c3ac
mov eax, dword [ebp + 0x20]
mov edx, 3
mov word [eax], dx
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov esi, dword [esi + 0x30]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x90]
add eax, 8
push eax
push esi
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax + 0x10], 3
jne case.default.0x42c3ac
cmp word [eax], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov esi, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [eax + 0x18]
mov edx, dword [edx + 0x68]
push esi
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
add eax, 0xffffd8e4
cmp eax, 0xa
ja case.default.0x42c3ac
jmp dword [eax*4 + 0x42c778]
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 3
jne case.default.0x42c3ac
cmp word [eax + 0x10], 3
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov esi, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [eax + 0x18]
mov edx, dword [edx + 0x6c]
push esi
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [edx + 0x70]
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
cmp word [eax + 0x10], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov esi, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [eax + 0x18]
mov edx, dword [edx + 0x20]
push esi
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov edi, dword [ebp + 0x1c]
cmp dword [edi + 8], 1
jne case.default.0x42c3ac
mov eax, dword [edi]
cmp word [eax], 8
jne case.default.0x42c3ac
push 0x45a83a
lea ecx, [ebp + 0x1c]
call fcn.004139a0
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
lea eax, [ebp + 0x1c]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 8]
push eax
call edx
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x42c504
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov ecx, dword [ebp + 0x1c]
mov eax, 8
push ecx
mov word [esi], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 8], eax
lea ecx, [ebp + 0x1c]
call fcn.00401854
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 3
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [edx + 0x74]
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [edx + 0x78]
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 3
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
cmp word [eax + 0x10], 8
jne case.default.0x42c3ac
cmp word [eax + 0x20], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov esi, dword [eax + 8]
mov edx, dword [ecx]
mov edx, dword [edx + 0x80]
push esi
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x28]
push esi
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [edx + 0x84]
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov eax, dword [eax + 8]
mov edx, dword [edx + 0x88]
push eax
call edx
test eax, eax
je case.default.0x42c3ac
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov ebx, dword [ebp + 0x1c]
cmp dword [ebx + 8], 1
jne case.default.0x42c3ac
mov eax, dword [ebx]
cmp word [eax], 8
jne case.default.0x42c3ac
mov eax, dword [esi + 0x38]
mov edi, dword [eax]
mov dword [ebp + 0xc], edi
cmp edi, eax
je 0x42c725
mov eax, dword [edi + 0xc]
sub eax, 0x10
push eax
call fcn.0040185e
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
add esp, 4
add eax, 0x10
push edx
lea ecx, [ebp + 0x1c]
mov dword [ebp + 0x1c], eax
call fcn.00409830
test eax, eax
je 0x42c70b
lea ecx, [ebp + 0x1c]
call fcn.00401854
lea ecx, [ebp + 0xc]
call fcn.004488c0
mov edi, dword [ebp + 0xc]
cmp edi, dword [esi + 0x38]
jne 0x42c6c1
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov ecx, dword [ebp + 8]
add edi, 0x10
push edi
call fcn.0042bd60
lea ecx, [ebp + 0x1c]
mov dword [eax], 0
call fcn.00401854
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x42c3ac
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x42c3ac
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x42c3ac
cmp word [eax + 0x10], 8
jne case.default.0x42c3ac
mov ecx, dword [esi + 0x30]
mov esi, dword [eax + 8]
mov edx, dword [ecx]
mov eax, dword [eax + 0x18]
mov edx, dword [edx + 0x7c]
push esi
push eax
call edx
test eax, eax
jne 0x42c50c
pop edi
pop esi
mov eax, 0x80020003
pop ebx
mov esp, ebp
pop ebp
ret 0x24