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

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x47fac0
push 0x408860
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x482534]
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
xor esi, esi
xor eax, eax
lea ebx, [ebx]
add esi, eax
add eax, 1
cmp eax, 0x25
jl 0x4523c0
cmp esi, 0xffff
jle 0x4523dd
lea eax, [esi*8]
sub eax, esi
mov esi, eax
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xb
mov edx, esi
sub edx, ecx
cmp edx, 7
jne 0x4523fc
lea esi, [edx + 6]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x452416
call edi
add esi, eax
xor ecx, ecx
jmp 0x452420
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x45243f
cmp eax, 3
je 0x45243f
xor esi, ecx
jmp 0x452444
mov eax, ecx
imul esi, eax
add ecx, 1
cmp ecx, 0x19
jl 0x452420
lea ecx, [ebp - 0x270]
push ecx
push 0x478420
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor eax, eax
add esi, eax
add eax, 1
cmp eax, 0x22
jl 0x452460
cmp esi, 0xffff
jle 0x45247d
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x45249c
lea esi, [ecx + 6]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x4524b0
call edi
add esi, eax
add esi, 0x2d
cmp esi, 0xffff
jle 0x4524c6
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x4524e5
lea esi, [ecx + 6]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x4524f9
call edi
add esi, eax
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersion]
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, edi
sub eax, edx
cmp eax, 1
je 0x452520
cmp eax, 4
je 0x452520
and esi, edi
jmp 0x452522
sub esi, edi
call ebx
add edi, 1
cmp edi, 0x13
jl 0x452501
xor edi, edi
mov edi, edi
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea ecx, [edx + edx*4]
mov eax, edi
sub eax, ecx
cmp eax, 1
je 0x45254f
cmp eax, 4
je 0x45254f
and esi, edi
jmp 0x452551
sub esi, edi
call ebx
add edi, 1
cmp edi, 8
jl 0x452530
xor eax, eax
lea ecx, [ecx]
add esi, eax
add eax, 1
cmp eax, 0x10
jl 0x452560
cmp esi, 0xffff
jle 0x45257d
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x45259c
lea esi, [ecx + 6]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x4525b6
call edi
add esi, eax
xor esi, esi
mov dword [ebp - 0x274], esi
call ebx
mov dword [ebp - 4], esi
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x278], edi
test edi, edi
jge 0x452616
cmp esi, 0xffff0001
jge 0x4525f0
lea edx, [esi*8]
sub edx, esi
neg edx
mov esi, edx
mov dword [ebp - 0x274], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
jne 0x452611
call ebx
mov esi, eax
mov dword [ebp - 0x274], esi
add edi, 1
jmp 0x4525cb
mov dword [ebp - 4], 0xfffffffe
call fcn.0045267b
test esi, esi
jge 0x452628
neg esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x45264e
call ebx
mov esi, eax
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x452688
cmp eax, 3
je 0x452688
xor esi, ecx
jmp 0x45268d
mov eax, ecx
imul esi, eax
add ecx, 1
cmp ecx, 6
jl 0x452650
lea ecx, [ebp - 0x270]
push ecx
push 0x478428
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
add esi, 0xf
cmp esi, 0xffff
jle 0x4526bd
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x4526dc
lea esi, [ecx + 6]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x4526f6
call edi
add esi, eax
add esi, 0xa
cmp esi, 0xffff
jle 0x45270c
lea edx, [esi*8]
sub edx, esi
mov esi, edx
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jne 0x45272b
lea esi, [ecx + 6]
call edi
xor edx, edx
mov ecx, 3
div ecx
cmp edx, 1
jne 0x45273f
call edi
add esi, eax
test esi, esi
jge 0x452745
neg esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x45276b
call ebx
mov esi, eax
xor edi, edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersion]
mov eax, 0xcccccccd
mul edi
shr edx, 2
lea ecx, [edx + edx*4]
mov eax, edi
sub eax, ecx
cmp eax, 1
je 0x452792
cmp eax, 4
je 0x452792
and esi, edi
jmp 0x452794
sub esi, edi
call ebx
add edi, 1
cmp edi, 8
jl 0x452773
xor edi, edi
jge 0x4527ae
mov edx, edi
neg edx
add edx, edx
add edx, edx
sub edx, edi
mov edi, edx
mov eax, 0x4ec4ec4f
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
sub ecx, eax
jne 0x4527d2
call ebx
mov edi, eax
xor esi, esi
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, esi
sub eax, edx
cmp eax, 1
je 0x4527f3
cmp eax, 4
je 0x4527f3
and edi, esi
jmp 0x4527f5
sub edi, esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
add esi, 1
cmp esi, 3
jl 0x4527d4
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 2
je 0x452824
cmp eax, 3
je 0x452824
xor edi, ecx
jmp 0x452829
mov eax, ecx
imul edi, eax
add ecx, 1
cmp ecx, 2
jl 0x452805
lea ecx, [ebp - 0x270]
push ecx
push 0x478430
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor ecx, ecx
xor edi, ecx
jge 0x45284b
neg edi
mov eax, 0x92492493
imul edi
add edx, edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, edi
sub eax, edx
jne 0x45286f
xor edi, edi
add ecx, 1
cmp ecx, 8
jl 0x452845
xor edi, edi
jge 0x452887
mov ecx, edi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, edi
mov edi, ecx
mov eax, 0x4ec4ec4f
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, edi
sub ecx, eax
jne 0x4528a5
call ebx
mov edi, eax
xor esi, esi
jmp 0x4528b0
mov eax, 0xcccccccd
mul esi
shr edx, 2
lea edx, [edx + edx*4]
mov eax, esi
sub eax, edx
cmp eax, 1
je 0x4528cf
cmp eax, 4
je 0x4528cf
and edi, esi
jmp 0x4528d1
sub edi, esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
add esi, 1
cmp esi, 2
jl 0x4528b0
mov ecx, edi
test ecx, ecx
jge 0x4528e7
neg ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
sub ecx, edx
jne 0x452913
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x274], eax
xor ecx, ecx
jge 0x452923
mov eax, ecx
neg eax
add eax, eax
add eax, eax
sub eax, ecx
mov ecx, eax
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov edx, ecx
sub edx, eax
jne 0x452941
call ebx
jmp 0x452943
mov eax, ecx
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.0040470b
mov esp, ebp
pop ebp
ret