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

Disassembly:
push ebp
lea ebp, [esp - 0x344]
sub esp, 0x344
push 0xfffffffffffffffe
push 0xb15d08
push 0xa847a0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0xb196ec]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x340], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, ecx
mov dword [ebp - 0x3c], edi
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], 1
wait
mov dword [ebp - 4], ebx
push ebx
push 1
push ebx
push 0xaab444
push ebx
xor ecx, ecx
mov edx, edi
call fcn.00a51170
add esp, 0x14
cmp eax, 1
jne 0xa51d8d
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
lea eax, [ebp - 0x30]
push eax
push str.CreateFreshDBOnSoho
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0094c0d0
test al, al
jne 0xa515bb
xor eax, eax
mov esi, str.CreateFreshDBOnSoho
mov ebx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov ecx, 0x80000002
call fcn.0094be90
xor ebx, ebx
mov dword [ebp - 0x1c], 2
push ebx
push 1
push ebx
push str.clnsign.avs
push ebx
xor ecx, ecx
mov edx, edi
call fcn.00a51170
add esp, 0x14
cmp eax, 1
jne 0xa51713
mov ecx, str.clnsgnsq.db
call fcn.00a53630
test eax, eax
je 0xa51713
mov byte [ebp + 0x1a0], bl
push 0x3f
push ebx
lea ecx, [ebp + 0x1a1]
push ecx
call fcn.00a7ffb0
push 0x90
push ebx
lea edx, [ebp + 0x1e0]
push edx
call fcn.00a7ffb0
add esp, 0x18
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov esi, eax
mov eax, dword [str.clnsgnsq.db]
mov dword [ebp + 0x1a0], eax
mov ecx, dword [0xac0318]
mov dword [ebp + 0x1a4], ecx
mov edx, dword [0xac031c]
mov dword [ebp + 0x1a8], edx
mov eax, dword [str.clnsign.avs]
mov dword [ebp + 0x1e0], eax
mov ecx, dword [0xac0308]
mov dword [ebp + 0x1e4], ecx
mov edx, dword [0xac030c]
mov dword [ebp + 0x1e8], edx
movzx eax, byte [0xac0310]
mov byte [ebp + 0x1ec], al
mov ecx, dword [str.UpDB_5]
mov dword [ebp + 0x220], ecx
mov dx, word [0xb02df0]
mov word [ebp + 0x224], dx
movzx eax, byte [0xb02df2]
mov byte [ebp + 0x226], al
mov eax, 1
mov dword [ebp + 0x260], eax
mov dword [ebp + 0x26c], eax
mov dword [ebp + 0x268], ebx
mov dword [ebp - 0x1c], 3
mov dword [ebp - 0x20], eax
push str._SQT__SQDB_Updater_Started_1_...
push ebx
call fcn.0096a780
lea ecx, [ebp + 0x1a0]
push ecx
call fcn.00a527a0
add esp, 0xc
mov edx, dword [ebp + 0x264]
push edx
call edi
sub eax, esi
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0xa516f7
fadd qword [0xb0baa8]
fdiv qword [0xb0bad0]
sub esp, 8
fstp qword [esp]
push str._SQT__CSign_DB_Updated___.2f_ms____u_Files_
push ebx
call fcn.0096a780
add esp, 0x14
jmp 0xa51719
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c], 4
push ebx
push 1
push ebx
push str.vsign.avs
push ebx
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
call fcn.00a51170
add esp, 0x14
cmp eax, 1
jne 0xa51882
mov ecx, str.vsignsq.db
call fcn.00a53630
test eax, eax
je 0xa51882
mov byte [ebp + 0x270], bl
push 0x3f
push ebx
lea eax, [ebp + 0x271]
push eax
call fcn.00a7ffb0
push 0x90
push ebx
lea ecx, [ebp + 0x2b0]
push ecx
call fcn.00a7ffb0
add esp, 0x18
call edi
mov esi, eax
mov edx, dword [str.vsignsq.db]
mov dword [ebp + 0x270], edx
mov eax, dword [0xac0390]
mov dword [ebp + 0x274], eax
mov cx, word [0xac0394]
mov word [ebp + 0x278], cx
mov dl, byte [0xac0396]
mov byte [ebp + 0x27a], dl
mov eax, dword [str.vsign.avs]
mov dword [ebp + 0x2b0], eax
mov ecx, dword [0xac03dc]
mov dword [ebp + 0x2b4], ecx
movzx edx, word [0xac03e0]
mov word [ebp + 0x2b8], dx
movzx eax, byte [0xac03e2]
mov byte [ebp + 0x2ba], al
mov ecx, dword [str.UpDB_4]
mov dword [ebp + 0x2f0], ecx
movzx edx, word [0xb02e48]
mov word [ebp + 0x2f4], dx
movzx eax, byte [0xb02e4a]
mov byte [ebp + 0x2f6], al
mov eax, 1
mov dword [ebp + 0x330], eax
mov dword [ebp + 0x33c], eax
mov dword [ebp + 0x338], ebx
mov dword [ebp - 0x1c], 5
cmp dword [ebp - 0x20], ebx
jne 0xa5183e
mov dword [ebp - 0x20], eax
push str._SQT__SQDB_Updater_Started_2_...
push ebx
call fcn.0096a780
add esp, 8
lea ecx, [ebp + 0x270]
push ecx
call fcn.00a527a0
add esp, 4
mov edx, dword [ebp + 0x334]
push edx
call edi
sub eax, esi
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0xa51868
fadd qword [0xb0baa8]
fdiv qword [0xb0bad0]
sub esp, 8
fstp qword [esp]
push str._SQT__VSign_DB_Updated___.2f_ms____u_Files_
push ebx
call fcn.0096a780
add esp, 0x14
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, str.phnl.avs
call fcn.00a4f8a0
add esp, 4
test eax, eax
jne 0xa51af7
mov eax, dword [0xb2357c]
cmp eax, 0xffffffff
jne 0xa518af
call fcn.0098b510
mov dword [0xb2357c], eax
cmp eax, ebx
jne 0xa518bc
cmp dword [ebp - 0x30], ebx
je 0xa5193e
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x38]
push ecx
push str.WriteFreshPhSdb
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0094c0d0
cmp dword [ebp - 0x38], ebx
je 0xa5193e
mov dword [ebp - 0x44], ebx
push ebx
call fcn.00a7aace
add esp, 4
mov esi, eax
mov edi, edx
lea edx, [ebp - 0x44]
push edx
push str.WriteFreshPhSdbTC
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0094c0d0
push edi
push esi
push ebx
mov eax, dword [ebp - 0x44]
push eax
call fcn.00972c10
add esp, 0x10
test eax, eax
jbe 0xa51938
mov esi, str.WriteFreshPhSdb
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0095f910
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c], 6
cmp dword [ebp - 0x38], ebx
jne 0xa51af7
lea ecx, [ebp - 0x24]
push ecx
push 1
push ebx
push str.phnl.avs
push ebx
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
call fcn.00a51170
add esp, 0x14
cmp eax, 1
jne 0xa51af7
mov ecx, str.phnlsq.db
call fcn.00a53630
test eax, eax
je 0xa51af7
cmp dword [0xb2357c], ebx
jne 0xa51990
cmp dword [ebp - 0x30], ebx
je 0xa519f6
cmp dword [ebp - 0x2c], ebx
jne 0xa519f6
cmp dword [ebp - 0x24], 0x28
jb 0xa519f6
push ebx
call fcn.00a7aace
add esp, 4
mov edi, eax
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], edx
mov eax, 1
mov esi, str.WriteFreshPhSdb
mov ebx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov ecx, 0x80000002
call fcn.0094be90
mov eax, edi
mov esi, str.WriteFreshPhSdbTC
mov ecx, 0x80000002
call fcn.0094be90
mov edx, dword [ebp - 0x24]
push edx
push str._SQT__Fresh_Phish_DB_Scheduled___u_Files_
push 0
call fcn.0096a780
add esp, 0xc
xor ebx, ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0xa51af7
mov byte [ebp], bl
push 0x3f
push ebx
lea eax, [ebp + 1]
push eax
call fcn.00a7ffb0
push 0x90
push ebx
lea ecx, [ebp + 0x40]
push ecx
call fcn.00a7ffb0
add esp, 0x18
call edi
mov esi, eax
mov edx, dword [str.phnlsq.db]
mov dword [ebp], edx
mov eax, dword [0xaae234]
mov dword [ebp + 4], eax
movzx ecx, word [0xaae238]
mov word [ebp + 8], cx
mov edx, dword [str.phnl.avs]
mov dword [ebp + 0x40], edx
mov eax, dword [0xaae228]
mov dword [ebp + 0x44], eax
movzx ecx, word [0xaae22c]
mov word [ebp + 0x48], cx
mov edx, dword [str.UpDB_2]
mov dword [ebp + 0x80], edx
mov ax, word [0xb02ec4]
mov word [ebp + 0x84], ax
mov cl, byte [0xb02ec6]
mov byte [ebp + 0x86], cl
mov dword [ebp + 0xc0], ebx
mov eax, 1
mov dword [ebp + 0xcc], eax
mov dword [ebp + 0xc8], ebx
cmp dword [ebp - 0x20], ebx
jne 0xa51aa5
mov dword [ebp - 0x20], eax
push str._SQT__SQDB_Updater_Started_3_...
push ebx
call fcn.0096a780
add esp, 8
mov dword [ebp - 0x1c], 7
lea edx, [ebp]
push edx
call fcn.00a527a0
add esp, 4
mov ecx, str.phnlsq.db
call fcn.00a53630
mov eax, dword [ebp + 0xc4]
push eax
call edi
sub eax, esi
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0xa51add
fadd qword [0xb0baa8]
fdiv qword [0xb0bad0]
sub esp, 8
fstp qword [esp]
push str._SQT__Phish_DB_Updated___.2f_ms____u_Files_
push ebx
call fcn.0096a780
add esp, 0x14
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, str.urnl.avs
call fcn.00a4f8a0
add esp, 4
test eax, eax
jne 0xa51d7a
mov eax, dword [0xb2357c]
cmp eax, 0xffffffff
jne 0xa51b24
call fcn.0098b510
mov dword [0xb2357c], eax
cmp eax, ebx
jne 0xa51b31
cmp dword [ebp - 0x30], ebx
je 0xa51bb3
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], ebx
lea edx, [ebp - 0x34]
push edx
push str.WriteFreshUrlSdb
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0094c0d0
cmp dword [ebp - 0x34], ebx
je 0xa51bb3
mov dword [ebp - 0x28], ebx
push ebx
call fcn.00a7aace
add esp, 4
mov esi, eax
mov edi, edx
lea eax, [ebp - 0x28]
push eax
push str.WriteFreshUrlSdbTC
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0094c0d0
push edi
push esi
push ebx
mov ecx, dword [ebp - 0x28]
push ecx
call fcn.00972c10
add esp, 0x10
test eax, eax
jbe 0xa51bad
mov esi, str.WriteFreshUrlSdb
mov ecx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov edx, 0x80000002
call fcn.0095f910
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], 1
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1c], 8
cmp dword [ebp - 0x34], ebx
jne 0xa51d7a
lea edx, [ebp - 0x24]
push edx
push 1
push ebx
push str.urnl.avs
push ebx
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
call fcn.00a51170
add esp, 0x14
cmp eax, 1
jne 0xa51d7a
mov ecx, str.urnlsq.db
call fcn.00a53630
test eax, eax
je 0xa51d7a
cmp dword [0xb2357c], ebx
jne 0xa51c05
cmp dword [ebp - 0x30], ebx
je 0xa51c65
cmp dword [ebp - 0x2c], ebx
jne 0xa51c65
cmp dword [ebp - 0x24], 0x28
jb 0xa51c65
push ebx
call fcn.00a7aace
add esp, 4
mov edi, eax
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], edx
mov eax, 1
mov esi, str.WriteFreshUrlSdb
mov ebx, str.SOFTWAREMicroWorldeScan_for_WindowsMwMonitor
mov ecx, 0x80000002
call fcn.0094be90
mov eax, edi
mov esi, str.WriteFreshUrlSdbTC
mov ecx, 0x80000002
call fcn.0094be90
mov eax, dword [ebp - 0x24]
push eax
push str._SQT__Fresh_URL_DB_Scheduled___u_Files_
push 0
call fcn.0096a780
add esp, 0xc
xor ebx, ebx
jmp 0xa51d7a
mov byte [ebp + 0xd0], bl
push 0x3f
push ebx
lea ecx, [ebp + 0xd1]
push ecx
call fcn.00a7ffb0
push 0x90
push ebx
lea edx, [ebp + 0x110]
push edx
call fcn.00a7ffb0
add esp, 0x18
call edi
mov esi, eax
mov eax, dword [str.urnlsq.db]
mov dword [ebp + 0xd0], eax
mov ecx, dword [0xaae284]
mov dword [ebp + 0xd4], ecx
movzx edx, word [0xaae288]
mov word [ebp + 0xd8], dx
mov eax, dword [str.urnl.avs]
mov dword [ebp + 0x110], eax
mov ecx, dword [0xaae278]
mov dword [ebp + 0x114], ecx
movzx edx, word [0xaae27c]
mov word [ebp + 0x118], dx
mov eax, dword [str.UpDB_1]
mov dword [ebp + 0x150], eax
mov cx, word [0xb02f70]
mov word [ebp + 0x154], cx
mov dl, byte [0xb02f72]
mov byte [ebp + 0x156], dl
mov dword [ebp + 0x190], ebx
mov eax, 1
mov dword [ebp + 0x19c], eax
mov dword [ebp + 0x198], ebx
mov dword [ebp - 0x1c], 9
cmp dword [ebp - 0x20], ebx
jne 0xa51d36
mov dword [ebp - 0x20], eax
push str._SQT__SQDB_Updater_Started_4_...
push ebx
call fcn.0096a780
add esp, 8
lea eax, [ebp + 0xd0]
push eax
call fcn.00a527a0
add esp, 4
mov ecx, dword [ebp + 0x194]
push ecx
call edi
sub eax, esi
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
test eax, eax
jge 0xa51d60
fadd qword [0xb0baa8]
fdiv qword [0xb0bad0]
sub esp, 8
fstp qword [esp]
push str._SQT__URL_DB_Updated___.2f_ms____u_Files_
push ebx
call fcn.0096a780
add esp, 0x14
cmp dword [ebp - 0x20], ebx
je 0xa51d8d
push str._SQT__SQDB_Updater_Finished.
push ebx
call fcn.0096a780
add esp, 8
wait
jmp 0xa51dac
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 + 0x340]
xor ecx, ebp
call fcn.00a78f21
add ebp, 0x344
mov esp, ebp
pop ebp
ret