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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x4040
call fcn.0101bc80
mov eax, dword [0x1030118]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x4020], eax
xor eax, eax
xor edi, edi
mov esi, 0x1ffe
push esi
mov word [ebp - 0x4004], ax
lea eax, [ebp - 0x4002]
push edi
push eax
mov dword [ebp - 0x4008], edi
mov dword [ebp - 0x400c], edi
call fcn.0101bc52
xor eax, eax
push esi
mov word [ebp - 0x2004], ax
lea eax, [ebp - 0x2002]
push edi
push eax
call fcn.0101bc52
mov esi, dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [ebp - 0x401c], edi
xor eax, eax
lea edi, [ebp - 0x4018]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0x18
lea eax, [ebp - 0x4040]
push eax
call esi
lea eax, [ebp - 0x4030]
push eax
call esi
push 3
pop eax
mov word [ebp - 0x4040], ax
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x4008]
push ecx
mov dword [ebp - 0x4038], eax
mov eax, dword [ebx]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x4040]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x28]
test eax, eax
je 0x100596b
cmp eax, 1
je 0x1005964
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x1005964
test byte [ecx + 0x1c], 1
je 0x1005964
push eax
push 0x1001910
push 0x18
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010062be
and dword [ebp - 0x4008], 0
mov eax, dword [ebx]
lea ecx, [ebp - 0x4030]
push ecx
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x4040]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x34]
xor edi, edi
cmp eax, edi
je 0x10059c1
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x10059b7
test byte [ecx + 0x1c], 1
je 0x10059b7
movzx eax, ax
push eax
push 0x1001910
push 0x19
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010062be
mov edi, 0x80004005
jmp 0x1005c03
push 0x1000
lea eax, [ebp - 0x4004]
push eax
push dword [ebp - 0x4028]
call fcn.0101c662
test eax, eax
jne 0x1005a12
mov eax, dword [section..data]
mov esi, section..data
cmp eax, esi
je 0x1005a07
test byte [eax + 0x1c], 1
je 0x1005a07
push 0x1001910
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010054b7
mov eax, dword [section..data]
xor ecx, ecx
mov word [ebp - 0x4004], cx
jmp 0x1005a1c
mov eax, dword [section..data]
mov esi, section..data
cmp dword [ebp - 0x4028], 0xa
jne 0x1005a4e
cmp eax, esi
je 0x1005c03
test byte [eax + 0x1c], 4
je 0x1005c03
push 0x1001910
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010054b7
jmp 0x1005c03
cmp dword [ebp - 0x4028], 9
jne 0x1005ac0
lea eax, [ebp - 0x400c]
push eax
push ebx
call fcn.0101c656
test eax, eax
jne 0x1005a9f
cmp dword [ebp - 0x400c], edi
je 0x1005a9f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ecx, dword [ebp - 0x400c]
cmp ecx, eax
je 0x1005a97
xor eax, eax
cmp dword [ebp + 0x1c], edi
jbe 0x1005ac0
mov edx, dword [ebp + 0x18]
cmp ecx, dword [edx + eax*4]
je 0x1005a97
inc eax
cmp eax, dword [ebp + 0x1c]
jb 0x1005a87
jmp 0x1005ac0
xor edi, edi
inc edi
jmp 0x1005c03
mov eax, dword [section..data]
cmp eax, esi
je 0x1005ac0
test byte [eax + 0x1c], 1
je 0x1005ac0
push 0x1001910
push 0x1c
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010054b7
mov eax, dword [ebx]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x4040]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x4010]
push ecx
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x4014]
push ecx
lea ecx, [ebp - 0x401c]
push ecx
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x4018]
push ecx
push ebx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x58]
mov ecx, eax
test ecx, ecx
je 0x1005b2c
xor eax, eax
lea edi, [ebp - 0x401c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [section..data]
mov ebx, section..data
cmp eax, ebx
je 0x1005b31
test byte [eax + 0x1c], 1
je 0x1005b31
push ecx
push 0x1001910
push 0x1d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010062be
jmp 0x1005b31
mov ebx, section..data
mov eax, dword [ebp - 0x4008]
test eax, eax
jne 0x1005b40
mov eax, 0x1001920
push dword [ebp - 0x4010]
lea ecx, [ebp - 0x4004]
push dword [ebp - 0x4014]
mov esi, 0x1000
push dword [ebp - 0x4018]
push dword [ebp - 0x401c]
push ecx
push dword [ebp - 0x4028]
push eax
push 0x1001928
lea eax, [ebp - 0x2004]
push esi
push eax
call fcn.01005835
mov edi, eax
add esp, 0x28
test edi, edi
jge 0x1005bad
mov eax, dword [section..data]
cmp eax, ebx
je 0x1005c03
test byte [eax + 0x1c], 1
je 0x1005c03
movzx ecx, di
push ecx
push 0x1001910
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010062be
jmp 0x1005c03
push esi
lea eax, [ebp - 0x2004]
push eax
call fcn.010064d4
push esi
xor edi, edi
push edi
push edi
lea eax, [ebp - 0x2004]
push eax
push dword [ebp + 0x14]
push dword [ebp - 0x4020]
call fcn.01005657
cmp eax, edi
jge 0x1005c03
mov ecx, dword [section..data]
cmp ecx, ebx
je 0x1005bfe
test byte [ecx + 0x1c], 1
je 0x1005bfe
movzx eax, ax
push eax
push 0x1001910
push TlsFree
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010062be
mov edi, 0x8007000e
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x4040]
push eax
call esi
lea eax, [ebp - 0x4030]
push eax
call esi
cmp dword [ebp - 0x4008], 0
je 0x1005c30
push dword [ebp - 0x4008]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0101bc5d
leave
ret 0x18