Function at 0x8a2940
Capabilities:
Check for time delay via gettickcount
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0xb14108
push 0xa847a0
mov eax, dword fs:[0]
push eax
sub esp, 0x328
mov eax, dword [0xb196ec]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0x338], eax
wait
xor ebx, ebx
mov dword [ebp - 4], ebx
lea eax, [ebx + 1]
cmp dword [0xb8dbe8], ebx
je 0x8a299f
mov ecx, eax
mov eax, 0xb8dbe8
call fcn.0096ffd0
cmp eax, 1
jne 0x8a2c57
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, eax
push ebx
push 1
push str._FSIG__Continuing_with_Monitor_Full_Signatures_Load...
push 0xb54ce8
call fcn.008808e0
add esp, 0x10
call fcn.009a2850
mov dword [ebp - 0x32c], eax
mov dword [0xb567c0], ebx
cmp dword [0xb8dbe8], ebx
je 0x8a29ea
mov eax, 0xb8dbe8
call fcn.00970000
call esi
sub eax, edi
mov dword [ebp - 0x330], eax
fild dword [ebp - 0x330]
test eax, eax
jge 0x8a2a04
fadd qword [0xb0baa8]
fdiv qword [0xb0bad0]
sub esp, 8
fstp qword [esp]
mov ecx, dword [ebp - 0x32c]
push ecx
push str._FSIG__Finished_Full_Signatures_Load__HR0x_x___Init_Time___.2f_Secs_
lea edx, [ebp - 0x120]
push edx
call fcn.00a78f30
push ebx
push 1
lea eax, [ebp - 0x120]
push eax
push 0xb54ce8
call fcn.008808e0
mov dword [0xbd068c], 1
push 0x10
mov esi, 3
call fcn.008be990
add esp, 0x28
mov ecx, dword [ebp - 0x338]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [ebp - 0x334], ebx
mov dword [ebp - 0x330], ebx
mov dword [ebp - 0x32c], ebx
lea edx, [ebp - 0x334]
push edx
lea eax, [ebp - 0x32c]
push eax
mov ecx, dword [0xbc280c]
push ecx
call dword [0xb8da84]
add esp, 0xc
cmp eax, ebx
je 0x8a2ac4
push eax
push str._FSIG__GetDatabaseInfo_Fails._Function_Returns___d_
lea edx, [ebp - 0x120]
push edx
call fcn.00a78f30
push ebx
push 1
lea eax, [ebp - 0x120]
push eax
push 0xb54ce8
call fcn.008808e0
add esp, 0x1c
jmp 0x8a2b9d
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
jbe 0x8a2ad6
mov ecx, dword [0xbd6338]
mov dword [ecx], eax
mov edx, dword [ebp - 0x334]
mov dword [0xbd0684], edx
lea eax, [ebp - 0x334]
push eax
call fcn.00a7c943
add esp, 4
mov esi, eax
cmp esi, ebx
je 0x8a2b9d
mov byte [ebp - 0x224], bl
push 0x103
push ebx
lea ecx, [ebp - 0x223]
push ecx
call fcn.00a7ffb0
mov edx, dword [esi]
push edx
mov eax, dword [esi + 4]
push eax
mov ecx, dword [esi + 8]
push ecx
mov edx, dword [esi + 0xc]
push edx
mov eax, dword [esi + 0x10]
inc eax
push eax
mov ecx, dword [esi + 0x14]
add ecx, 0x76c
push ecx
push str._04u__02u__02u__02u:_02u:_02u
lea edx, [ebp - 0x224]
push edx
call fcn.00a78f30
add esp, 0x2c
lea ecx, [ebp - 0x224]
mov edx, dword [0xbd6338]
add edx, 0x440
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x8a2b57
mov eax, dword [0xbd0684]
push eax
lea ecx, [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x32c]
push edx
push str._FSIG__VirusCount:__ld_Latest_Date:__s__0x_x_
lea eax, [ebp - 0x120]
push eax
call fcn.00a78f30
push ebx
push 1
lea ecx, [ebp - 0x120]
push ecx
push 0xb54ce8
call fcn.008808e0
add esp, 0x24
push ebx
push ebx
push 0x8b3280
call fcn.00a791b2
mov esi, eax
push str.UPEV_4a
xor ebx, ebx
call fcn.0085df20
add esp, 0x10
cmp esi, 0xffffffff
jne 0x8a2c09
mov byte [ebp - 0x328], bl
push 0x103
push ebx
lea edx, [ebp - 0x327]
push edx
call fcn.00a7ffb0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error:_beginthread_tx1__fails_with_error__d
lea eax, [ebp - 0x328]
push eax
call fcn.00a78f30
push ebx
push 1
lea ecx, [ebp - 0x328]
push ecx
push 0xb54ce8
call fcn.008808e0
add esp, 0x1c
cmp dword [0xb436fc], ebx
je 0x8a2c57
xor esi, esi
call fcn.0095e560
mov esi, eax
call fcn.00968b30
test eax, eax
jne 0x8a2c34
call fcn.00968790
test eax, eax
jne 0x8a2c34
cmp esi, 0x180000
jb 0x8a2c46
cmp dword [0xb436fc], 4
je 0x8a2c46
mov dword [0xb436fc], ebx
wait
jmp 0x8a2c72
cmp dword [0xb436fc], ebx
je 0x8a2c57
xor ebx, ebx
xor ecx, ecx
call fcn.0098aa50
wait
jmp 0x8a2c72
mov dword [ebp - 4], 0xfffffffe
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00a78f21
mov esp, ebp
pop ebp
ret