Function at 0x4889c5
Capabilities:
Check for time delay via gettickcount
Check os version

Disassembly:
push 0xb9c
mov eax, 0x505ea2
call fcn.00503d95
mov dword [ebp - 0xb74], edx
mov eax, ecx
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [eax]
inc dword [0x5186dc]
mov dword [ebp - 0xb78], ecx
mov ecx, dword [ebp + 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0xb8c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xb6c], ecx
mov ecx, 0x93e
mov dword [ebp - 0xb68], ebx
mov dword [ebp - 0xb80], ebx
mov dword [ebp - 0xb4c], ebx
mov dword [ebp - 0xb50], ebx
mov dword [ebp - 0xb64], ebx
mov dword [ebp - 0xb34], ebx
mov dword [ebp - 0xb48], ebx
call fcn.004cf8b9
mov ecx, 0x931
mov esi, eax
call fcn.004cf8b9
push ebx
push esi
push eax
push dword [ebp - 0xb74]
mov ecx, edi
call dword [0x51cbac]
mov ecx, dword [ebp - 0xb30]
call edi
mov edi, dword [ebp - 0xb30]
mov dword [ebp - 0xb44], eax
push 0x7f02
push ebx
mov eax, dword [edi]
mov esi, dword [eax + 0x20]
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov dword [ebp - 0xb60], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0xb74]
lea edx, [ebp - 0xb68]
mov dword [ebp - 0xb70], eax
call fcn.0048612e
mov dword [ebp - 0xb2c], eax
test eax, eax
js 0x4894b5
cmp dword [ebp - 0xb68], ebx
je 0x4894b5
mov eax, dword [edi]
push dword [ebp - 0xb60]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xb70]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ecx, eax
mov eax, dword [edi]
push ecx
push dword [ebp - 0xb44]
mov dword [ebp - 0xb54], ecx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov eax, dword [edi]
mov ecx, 0x932
mov esi, dword [eax + 8]
call fcn.004cf8b9
push eax
push dword [ebp - 0xb44]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov eax, dword [ebp - 0xb78]
mov ecx, 0x940
mov dword [ebp - 0xb94], ebx
mov dword [ebp - 0xb98], eax
call fcn.004cf8b9
mov esi, eax
mov dword [ebp - 0xb88], eax
test esi, esi
jne 0x488b6b
mov esi, 0x41e224
mov dword [ebp - 0xb88], esi
mov ecx, 0x941
call fcn.004cf8b9
mov edx, eax
mov dword [ebp - 0xb7c], eax
test edx, edx
jne 0x488b8c
mov edx, 0x41e238
mov dword [ebp - 0xb7c], edx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x488b8f
sub esi, ecx
mov ecx, edx
sar esi, 1
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x488ba3
sub ecx, edx
sar ecx, 1
mov dword [ebp - 0xb9c], ecx
cmp esi, ecx
jae 0x488bbe
mov esi, ecx
cmp esi, 0x10000
jb 0x488bdb
push 0x80070216
push 0xcbd013f
call dword [sym.imp.certcli.dll_Ordinal_357]
jmp 0x489569
add esi, 0x40
mov dword [ebp - 0xb60], esi
lea eax, [esi + esi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0xb34], eax
test eax, eax
jne 0x488c05
push 0x8007000e
push 0xcc5013f
jmp 0x488bd0
push ebx
push dword [ebp - 0xb68]
mov dword [ebp - 0xb5c], ebx
call dword [sym.imp.CRYPT32.dll_CertEnumCRLsInStore]
mov ecx, eax
mov dword [ebp - 0xb3c], ecx
test ecx, ecx
je 0x4894ad
xor eax, eax
cmp dword [ebp - 0xb6c], eax
setne al
mov dword [ebp - 0xb6c], eax
mov edx, dword [ebp - 0xb64]
mov eax, edx
push 0x40ee1c
push eax
push dword [0x5186dc]
inc edx
push dword [0x519a48]
mov dword [ebp - 0xb64], edx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
call fcn.00459997
test eax, eax
je 0x488c75
push eax
push 0xcda013f
call dword [sym.imp.certcli.dll_Ordinal_357]
mov ecx, dword [ebp - 0xb3c]
lea edx, [ebp - 0xb84]
call fcn.004d97bf
test eax, eax
je 0x488ca2
push eax
push 0xcdd013f
call dword [sym.imp.certcli.dll_Ordinal_357]
mov eax, dword [ebp - 0xb6c]
mov dword [ebp - 0xb84], eax
push dword [ebp - 0xb74]
lea eax, [ebp - 0x810]
push dword [ebp - 0xb5c]
push dword [ebp + 8]
push 0x41e200
push 0x400
push eax
call fcn.0043ec15
xor eax, eax
add esp, 0x18
cmp dword [ebp - 0xb84], eax
mov word [ebp - 0x12], ax
mov eax, dword [ebp - 0xb7c]
jne 0x488ce4
mov eax, dword [ebp - 0xb88]
mov ecx, dword [ebp - 0xb34]
mov edx, esi
push eax
call fcn.0043eb7d
mov edx, dword [ebp - 0xb3c]
xor ecx, ecx
call fcn.004d59a9
mov ecx, eax
mov dword [ebp - 0xb48], ecx
test ecx, ecx
je 0x488d7f
mov ecx, dword [ebp - 0xb34]
mov edx, ecx
lea eax, [edx + 2]
mov dword [ebp - 0xb2c], eax
mov ax, word [edx]
add edx, 2
cmp ax, bx
jne 0x488d1c
sub edx, dword [ebp - 0xb2c]
lea eax, [ecx + 2]
sar edx, 1
mov dword [ebp - 0xb2c], eax
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x488d38
push dword [ebp - 0xb48]
sub ecx, dword [ebp - 0xb2c]
sub esi, edx
push 0x40dd7c
push esi
mov esi, dword [ebp - 0xb34]
sar ecx, 1
lea eax, [esi + ecx*2]
push eax
call fcn.0043ec15
add esp, 0x10
push dword [ebp - 0xb48]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0xb48], ebx
jmp 0x488d85
mov esi, dword [ebp - 0xb34]
mov eax, dword [edi]
mov ecx, 0x934
mov dword [ebp - 0xb38], eax
call fcn.004cf8b9
cmp dword [ebp - 0xb5c], 0
push dword [ebp - 0xb54]
push esi
mov esi, dword [ebp - 0xb38]
push eax
lea eax, [ebp - 0x810]
push eax
jne 0x488dcb
push dword [ebp - 0xb44]
mov ecx, dword [esi + 0x18]
call dword [0x51cbac]
mov ecx, edi
call dword [esi + 0x18]
jmp 0x488ddf
mov ecx, dword [esi + 4]
call dword [0x51cbac]
mov ecx, edi
call dword [esi + 4]
mov dword [ebp - 0xb44], eax
mov eax, dword [edi]
push 0x7f02
push ebx
mov esi, dword [eax + 0x20]
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
push dword [ebp - 0xb6c]
mov edx, dword [ebp - 0xb78]
mov edi, eax
push dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb8c]
push ebx
call fcn.00487923
mov ecx, dword [ebp - 0xb30]
mov ebx, eax
push edi
mov eax, dword [ecx]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x51cbac]
mov edi, dword [ebp - 0xb30]
mov ecx, edi
call esi
mov eax, dword [edi]
push ebx
push dword [ebp - 0xb44]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
push 0x402f38
push 0x204
call fcn.00503b69
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0xba4], esi
mov dword [ebp - 4], 1
xor ebx, ebx
test esi, esi
je 0x488e7f
mov dword [esi], ebx
jmp 0x488e81
mov esi, ebx
or dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x488e9b
push 0x8007000e
push 0xd1f013f
call dword [sym.imp.certcli.dll_Ordinal_357]
jmp 0x488ed0
push 0x200
lea eax, [esi + 4]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esi], 2
push dword [ebp - 0xb3c]
call dword [sym.imp.CRYPT32.dll_CertDuplicateCRLContext]
push esi
push dword [ebp - 0xb44]
mov ecx, edi
mov dword [esi + 4], eax
call fcn.00486efe
mov esi, dword [ebp - 0xb3c]
lea eax, [ebp - 0xb90]
push eax
lea eax, [ebp - 0xb50]
mov dword [ebp - 0xb94], esi
push eax
push ecx
push 7
lea edx, [ebp - 0xb98]
pop ecx
call fcn.004874b3
mov dword [ebp - 0xb2c], eax
test eax, eax
je 0x488fd8
push eax
push 0xd34013f
call dword [sym.imp.certcli.dll_Ordinal_357]
push 0x110
lea eax, [ebp - 0xb24]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0xb28], 0x114
lea eax, [ebp - 0xb28]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
mov eax, dword [ebp - 0xb2c]
je 0x488f66
cmp eax, 0x80070002
jne 0x488f66
cmp dword [ebp - 0xb24], 5
jne 0x488f66
cmp dword [ebp - 0xb20], 0
je 0x489489
push eax
push ecx
lea eax, [ebp - 0xa10]
mov edx, 0x41e1d8
push eax
mov ecx, 0x954
call fcn.0048844f
mov eax, dword [edi]
mov ecx, 0x94a
mov esi, dword [eax + 0x1c]
call fcn.004cf8b9
push 0x30
push eax
lea eax, [ebp - 0xa10]
mov ecx, esi
push eax
push ebx
call dword [0x51cbac]
mov ecx, edi
call esi
mov eax, dword [edi]
mov ecx, 0x943
mov edi, dword [eax + 4]
call fcn.004cf8b9
mov ecx, 0x937
mov esi, eax
call fcn.004cf8b9
push ebx
push esi
push eax
push ebx
mov ecx, edi
call dword [0x51cbac]
mov ecx, dword [ebp - 0xb30]
call edi
jmp 0x489569
mov eax, dword [ebp - 0xb50]
test eax, eax
je 0x489489
mov ecx, ebx
mov dword [ebp - 0xb58], ecx
cmp dword [eax], ebx
jbe 0x489483
mov eax, dword [eax + 4]
push dword [eax + ecx*4]
lea eax, [ebp - 0x810]
push dword [ebp - 0xb5c]
push ecx
push dword [ebp + 8]
push 0x41e24c
push 0x400
push eax
call fcn.0043ec15
xor eax, eax
add esp, 0x1c
mov word [ebp - 0x12], ax
mov ecx, 0x93e
mov eax, dword [edi]
mov edi, dword [eax + 4]
call fcn.004cf8b9
mov ecx, 0x931
mov esi, eax
call fcn.004cf8b9
push ebx
push esi
push eax
lea eax, [ebp - 0x810]
mov ecx, edi
push eax
call dword [0x51cbac]
mov ecx, dword [ebp - 0xb30]
call edi
mov edi, dword [ebp - 0xb30]
mov dword [ebp - 0xb40], eax
push 0x7f02
push ebx
mov eax, dword [edi]
mov esi, dword [eax + 0x20]
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov dword [ebp - 0xb70], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [ebp - 0xb50]
lea edx, [ebp - 0xb80]
mov dword [ebp - 0xb90], eax
mov eax, dword [ebp - 0xb58]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + eax*4]
call fcn.0048612e
push dword [ebp - 0xb70]
mov ecx, eax
mov eax, dword [edi]
mov dword [ebp - 0xb38], ecx
test ecx, ecx
mov eax, dword [eax + 0x20]
mov ecx, eax
mov dword [ebp - 0xb2c], eax
jns 0x489196
call dword [0x51cbac]
mov ecx, edi
call dword [ebp - 0xb2c]
push dword [ebp - 0xb38]
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb58]
push 0xd78013f
push dword [eax + ecx*4]
call dword [sym.imp.certcli.dll_Ordinal_359]
mov eax, dword [edi]
mov ecx, 0x933
mov esi, dword [eax + 8]
call fcn.004cf8b9
push eax
push dword [ebp - 0xb40]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
push 0x402f38
push 0x204
call fcn.00503b69
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0xba8], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x48914b
mov dword [esi], ebx
jmp 0x48914d
mov esi, ebx
or dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x48916a
push 0x8007000e
push 0xd82013f
call dword [sym.imp.certcli.dll_Ordinal_357]
jmp 0x489462
push dword [ebp - 0xb38]
lea ecx, [esi + 4]
mov dword [esi], 4
xor eax, eax
mov word [ecx], ax
call fcn.004884a9
push esi
push dword [ebp - 0xb40]
mov ecx, edi
call fcn.00486efe
jmp 0x489462
call dword [0x51cbac]
mov ecx, edi
call dword [ebp - 0xb2c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0xb90]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ecx, eax
mov eax, dword [edi]
push ecx
push dword [ebp - 0xb40]
mov dword [ebp - 0xb54], ecx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov eax, dword [edi]
mov ecx, 0x932
mov esi, dword [eax + 8]
call fcn.004cf8b9
push eax
push dword [ebp - 0xb40]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov esi, ebx
mov dword [ebp - 0xb38], ebx
jmp 0x489440
mov edx, dword [ebp - 0xb64]
mov eax, edx
push 0x40ee1c
push eax
push dword [0x5186dc]
inc edx
push dword [0x519a48]
mov dword [ebp - 0xb64], edx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
call fcn.00459997
test eax, eax
je 0x489244
push eax
push 0xdb2013f
call dword [sym.imp.certcli.dll_Ordinal_357]
mov eax, dword [ebp - 0xb50]
mov ecx, dword [ebp - 0xb58]
mov eax, dword [eax + 4]
push dword [eax + ecx*4]
lea eax, [ebp - 0x810]
push ecx
push esi
push dword [ebp + 8]
push 0x41e24c
push 0x400
push eax
call fcn.0043ec15
mov esi, dword [ebp - 0xb60]
add esp, 0x1c
mov ecx, dword [ebp - 0xb34]
xor eax, eax
mov edx, esi
mov word [ebp - 0x12], ax
push dword [ebp - 0xb7c]
call fcn.0043eb7d
mov edx, dword [ebp - 0xb3c]
xor ecx, ecx
call fcn.004d59a9
mov dword [ebp - 0xb48], eax
test eax, eax
je 0x4892e1
mov ecx, dword [ebp - 0xb9c]
push eax
mov eax, esi
mov esi, dword [ebp - 0xb34]
sub eax, ecx
push 0x40dd7c
push eax
lea eax, [esi + ecx*2]
push eax
call fcn.0043ec15
add esp, 0x10
push dword [ebp - 0xb48]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [ebp - 0xb48], ebx
jmp 0x4892e7
mov esi, dword [ebp - 0xb34]
mov eax, dword [edi]
mov ecx, 0x934
mov dword [ebp - 0xb2c], eax
call fcn.004cf8b9
cmp dword [ebp - 0xb38], 0
push dword [ebp - 0xb54]
push esi
mov esi, dword [ebp - 0xb2c]
push eax
lea eax, [ebp - 0x810]
push eax
jne 0x48932d
push dword [ebp - 0xb40]
mov ecx, dword [esi + 0x18]
call dword [0x51cbac]
mov ecx, edi
call dword [esi + 0x18]
jmp 0x489341
mov ecx, dword [esi + 4]
call dword [0x51cbac]
mov ecx, edi
call dword [esi + 4]
mov dword [ebp - 0xb40], eax
mov eax, dword [edi]
push 0x7f02
push ebx
mov esi, dword [eax + 0x20]
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
mov edx, dword [ebp - 0xb78]
mov edi, eax
mov ecx, dword [ebp - 0xb8c]
push 1
push dword [ebp - 0xb4c]
push dword [ebp - 0xb3c]
call fcn.00487923
mov ecx, dword [ebp - 0xb30]
mov ebx, eax
push edi
mov eax, dword [ecx]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x51cbac]
mov edi, dword [ebp - 0xb30]
mov ecx, edi
call esi
mov eax, dword [edi]
push ebx
push dword [ebp - 0xb40]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
push 0x402f38
push 0x204
call fcn.00503b69
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0xba0], esi
mov dword [ebp - 4], 3
xor ebx, ebx
test esi, esi
je 0x4893e2
mov dword [esi], ebx
jmp 0x4893e4
mov esi, ebx
or dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x4893fe
push 0x8007000e
push 0xdf2013f
call dword [sym.imp.certcli.dll_Ordinal_357]
jmp 0x489433
push 0x200
lea eax, [esi + 4]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esi], 2
push dword [ebp - 0xb4c]
call dword [sym.imp.CRYPT32.dll_CertDuplicateCRLContext]
push esi
push dword [ebp - 0xb40]
mov ecx, edi
mov dword [esi + 4], eax
call fcn.00486efe
mov esi, dword [ebp - 0xb38]
inc esi
mov dword [ebp - 0xb38], esi
push dword [ebp - 0xb4c]
push dword [ebp - 0xb80]
call dword [sym.imp.CRYPT32.dll_CertEnumCRLsInStore]
mov ecx, eax
mov dword [ebp - 0xb4c], ecx
test ecx, ecx
jne 0x489208
mov ecx, dword [ebp - 0xb58]
mov eax, dword [ebp - 0xb50]
inc ecx
mov dword [ebp - 0xb58], ecx
cmp ecx, dword [eax]
jb 0x488ff6
mov esi, dword [ebp - 0xb3c]
inc dword [ebp - 0xb5c]
push esi
push dword [ebp - 0xb68]
call dword [sym.imp.CRYPT32.dll_CertEnumCRLsInStore]
mov ecx, eax
mov dword [ebp - 0xb3c], eax
test ecx, ecx
je 0x4894ad
mov esi, dword [ebp - 0xb60]
jmp 0x488c39
xor ebx, ebx
inc ebx
jmp 0x489569
mov eax, dword [edi]
push dword [ebp - 0xb60]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
push dword [ebp - 0xb2c]
push 0xc7d013f
push dword [ebp - 0xb74]
call dword [sym.imp.certcli.dll_Ordinal_359]
mov eax, dword [edi]
mov ecx, 0x933
mov esi, dword [eax + 8]
call fcn.004cf8b9
push eax
push dword [ebp - 0xb44]
mov ecx, esi
call dword [0x51cbac]
mov ecx, edi
call esi
push 0x402f38
push 0x204
call fcn.00503b69
pop ecx
mov esi, eax
pop ecx
mov dword [ebp - 0xba0], esi
mov dword [ebp - 4], ebx
test esi, esi
je 0x489529
mov dword [esi], ebx
jmp 0x48952b
mov esi, ebx
or dword [ebp - 4], 0xffffffff
test esi, esi
jne 0x489542
push 0x8007000e
push 0xc85013f
jmp 0x488bd0
push dword [ebp - 0xb2c]
lea ecx, [esi + 4]
mov dword [esi], 4
xor eax, eax
mov word [ecx], ax
call fcn.004884a9
push esi
push dword [ebp - 0xb44]
mov ecx, edi
call fcn.00486efe
push dword [ebp - 0xb48]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0xb34]
test eax, eax
je 0x489586
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0xb50]
test eax, eax
je 0x489597
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebx
call fcn.00503d32
ret 0x10