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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x6aae14]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x21c], eax
cmp dword [0x6e9258], ebx
je 0x477dcf
push 1
push 0x6e9258
call fcn.004da840
add esp, 8
cmp eax, 1
jne 0x478077
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push edi
call esi
push ebx
push 1
push str._FSIG__Continuing_with_Monitor_Full_Signatures_Load...
push 0x6aec98
mov edi, eax
call fcn.004311c0
add esp, 0x10
call fcn.00530930
mov dword [ebp - 0x210], eax
mov dword [0x6b0760], ebx
cmp dword [0x6e9258], ebx
je 0x477e16
push 0x6e9258
call fcn.004da880
add esp, 4
call esi
sub eax, edi
mov dword [ebp - 0x214], eax
fild dword [ebp - 0x214]
test eax, eax
jge 0x477e30
fadd qword [0x60ecc0]
fdiv qword [0x60ecb8]
mov ecx, dword [ebp - 0x210]
sub esp, 8
lea edx, [ebp - 0x20c]
fstp qword [esp]
push ecx
push str._FSIG__Finished_Full_Signatures_Load__HR0x_x___Init_Time___.2f_Secs_
push edx
call fcn.005dfb23
push ebx
push 1
lea eax, [ebp - 0x20c]
push eax
push 0x6aec98
call fcn.004311c0
push 0x10
push 3
mov dword [0x72bde8], 1
call fcn.00454fc0
mov ecx, dword [ebp - 0x21c]
add esp, 0x2c
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [0x71de80]
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x210]
push eax
push ecx
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], ebx
call dword [0x6e90d8]
add esp, 0xc
cmp eax, ebx
je 0x477eed
push eax
lea edx, [ebp - 0x20c]
push str._FSIG__GetDatabaseInfo_Fails._Function_Returns___d_
push edx
call fcn.005dfb23
push ebx
push 1
lea eax, [ebp - 0x20c]
push eax
push 0x6aec98
call fcn.004311c0
add esp, 0x1c
jmp 0x477fc6
mov eax, dword [ebp - 0x210]
cmp eax, ebx
jbe 0x477eff
mov ecx, dword [0x733100]
mov dword [ecx], eax
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x218]
push eax
mov dword [0x72bde0], edx
call fcn.005e37cf
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x477fc6
push 0x103
lea ecx, [ebp - 0x107]
push ebx
push ecx
mov byte [ebp - 0x108], bl
call fcn.005dfd60
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 0xc]
push eax
mov eax, dword [esi + 0x10]
push ecx
mov ecx, dword [esi + 0x14]
push edx
inc eax
push eax
add ecx, 0x76c
push ecx
lea edx, [ebp - 0x108]
push str._04u__02u__02u__02u:_02u:_02u
push edx
call fcn.005dfb23
mov edx, dword [0x733100]
add esp, 0x2c
lea ecx, [ebp - 0x108]
add edx, 0x440
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
cmp al, bl
jne 0x477f80
mov eax, dword [0x72bde0]
mov edx, dword [ebp - 0x210]
push eax
lea ecx, [ebp - 0x108]
push ecx
push edx
lea eax, [ebp - 0x20c]
push str._FSIG__VirusCount:__ld_Latest_Date:__s__0x_x_
push eax
call fcn.005dfb23
push ebx
push 1
lea ecx, [ebp - 0x20c]
push ecx
push 0x6aec98
call fcn.004311c0
add esp, 0x24
push ebx
push ebx
push 0x468b90
call fcn.005e07ac
mov esi, eax
push ebx
push esi
push str.UPEV_4a
call fcn.00420720
add esp, 0x18
cmp esi, 0xffffffff
jne 0x478017
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edx, [ebp - 0x108]
push str.Error:_beginthread_tx1__fails_with_error__d
push edx
call fcn.005dfb23
push ebx
push 1
lea eax, [ebp - 0x108]
push eax
push 0x6aec98
call fcn.004311c0
add esp, 0x1c
cmp dword [0x67cefc], ebx
je 0x478075
push ebx
call fcn.004d89c0
add esp, 4
mov esi, eax
call fcn.004d99e0
test eax, eax
jne 0x478044
call fcn.004d9930
test eax, eax
jne 0x478044
cmp esi, 0x180000
jb 0x478064
cmp dword [0x67cefc], 4
je 0x478064
pop edi
pop esi
mov dword [0x67cefc], ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005dfbbe
mov esp, ebp
pop ebp
ret
cmp dword [0x67cefc], ebx
je 0x478075
push ebx
push 1
push ebx
call fcn.004e51b0
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.005dfbbe
mov esp, ebp
pop ebp
ret