Function at 0x461330
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.00460e10
mov edx, dword [eax]
cmp edx, dword [esi + 0x48]
je 0x461386
lea eax, [ebp + 0xc]
push eax
mov ecx, edi
call fcn.00460fe0
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [eax]
call ebx
sub eax, edi
cmp eax, 0xfa0
jb 0x4613d0
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00460fe0
mov edi, eax
call ebx
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
cmp eax, 0x271b
jg 0x46142e
je 0x4613db
cmp eax, 0xffffea78
jne case.default.0x46143c
mov eax, dword [ebp + 0x20]
mov edx, 3
mov word [eax], dx
cmp dword [esi + 0x30], 0
je case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax + 0x10], 3
jne case.default.0x46143c
cmp word [eax], 8
jne case.default.0x46143c
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.0x46143c
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.0x46143c
jmp dword [eax*4 + 0x461808]
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 3
jne case.default.0x46143c
cmp word [eax + 0x10], 3
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
cmp word [eax + 0x10], 8
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov edi, dword [ebp + 0x1c]
cmp dword [edi + 8], 1
jne case.default.0x46143c
mov eax, dword [edi]
cmp word [eax], 8
jne case.default.0x46143c
push 0x4b6ad0
lea ecx, [ebp + 0x1c]
call fcn.004037ad
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 0x461594
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.00401599
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 3
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 3
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
cmp word [eax + 0x10], 8
jne case.default.0x46143c
cmp word [eax + 0x20], 8
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 1
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
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.0x46143c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov ebx, dword [ebp + 0x1c]
cmp dword [ebx + 8], 1
jne case.default.0x46143c
mov eax, dword [ebx]
cmp word [eax], 8
jne case.default.0x46143c
mov eax, dword [esi + 0x38]
mov edi, dword [eax]
mov dword [ebp + 0xc], edi
cmp edi, eax
je 0x4617b5
mov eax, dword [edi + 0xc]
sub eax, 0x10
push eax
call fcn.004014d8
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.00402858
test eax, eax
je 0x46179b
lea ecx, [ebp + 0x1c]
call fcn.00401599
lea ecx, [ebp + 0xc]
call fcn.00428830
mov edi, dword [ebp + 0xc]
cmp edi, dword [esi + 0x38]
jne 0x461751
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.00460fe0
lea ecx, [ebp + 0x1c]
mov dword [eax], 0
call fcn.00401599
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [esi + 0x30], 0
je case.default.0x46143c
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 8], 2
jne case.default.0x46143c
mov eax, dword [eax]
cmp word [eax], 8
jne case.default.0x46143c
cmp word [eax + 0x10], 8
jne case.default.0x46143c
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 0x46159c
pop edi
pop esi
mov eax, 0x80020003
pop ebx
mov esp, ebp
pop ebp
ret 0x24