Function at 0x45a960
Capabilities:
Check for time delay via gettickcount
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49200b
mov eax, dword fs:[0]
push eax
sub esp, 0x1d4
mov eax, dword [0x4b04dc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp + 0xc]
mov edi, ecx
mov dword [ebp - 0x1c4], eax
mov dword [eax], 1
mov al, byte [edi + 0x2c]
test al, al
je 0x45aaeb
mov eax, dword [ebp - 0x1e0]
movzx ecx, word [eax]
movzx edx, byte [eax + 2]
sub ecx, 0x76c
dec edx
mov dword [ebp - 0x74], ecx
movzx ecx, byte [eax + 3]
mov dword [ebp - 0x78], edx
movzx edx, byte [eax + 4]
mov dword [ebp - 0x7c], ecx
movzx ecx, byte [eax + 5]
mov dword [ebp - 0x80], edx
movzx edx, byte [eax + 6]
lea eax, [ebp - 0x88]
push eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x88], edx
call fcn.004775e6
mov ecx, dword [edi + 0x24]
mov esi, edx
mov edx, dword [edi + 0x28]
mov dword [ebp - 0x1b4], edx
mov ebx, eax
mov eax, dword [edi + 0x20]
movzx edx, ax
sub edx, 0x76c
mov dword [ebp - 0x74], edx
mov edx, eax
shr edx, 0x10
movzx edx, dl
dec edx
shr eax, 0x18
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x7c], eax
movzx eax, cl
mov edx, ecx
shr edx, 8
shr ecx, 0x10
mov dword [ebp - 0x80], eax
movzx eax, dl
movzx ecx, cl
lea edx, [ebp - 0x88]
add esp, 4
push edx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], ecx
call fcn.004775e6
add esp, 4
cmp esi, edx
jl 0x45aa79
jg 0x45aa68
cmp ebx, eax
jbe 0x45aa79
mov eax, dword [ebp - 0x1c4]
mov dword [eax], 2
jmp 0x45b04b
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x18]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x1bc], ecx
lea ecx, [ebp - 0x1bc]
push ecx
mov dword [ebp - 0x1b8], edx
mov dword [ebp - 0x1b4], eax
call fcn.00419b50
cmp esi, edx
jl 0x45b04b
jg 0x45aab2
cmp ebx, eax
jb 0x45b04b
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
mov dword [ebp - 0x1bc], edx
lea edx, [ebp - 0x1bc]
push edx
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], ecx
call fcn.00419b50
cmp esi, edx
jl 0x45aaeb
jg 0x45b04b
cmp ebx, eax
ja 0x45b04b
test byte [0x4b64d8], 1
mov ebx, 0xf
jne 0x45ab2b
or dword [0x4b64d8], 1
push 0x493650
mov byte [0x4b6454], 0
mov dword [0x4b646c], ebx
mov dword [0x4b6468], 0
mov byte [0x4b6458], 0
call fcn.00476559
add esp, 4
mov eax, dword [edi + 0xc4]
cmp eax, 2
jne 0x45ac32
push 0xffffffffffffffff
xor esi, esi
push esi
push 0x4b6458
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], esi
mov byte [ebp - 0x64], 0
call fcn.00401910
mov dword [ebp - 4], esi
push edi
lea esi, [ebp - 0x48]
call fcn.0045a820
mov byte [ebp - 4], 1
push 1
push 0x497b28
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.00401a00
mov eax, esi
push eax
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 2
call fcn.004599f0
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], 0x10
jb 0x45abb1
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0047659a
add esp, 4
mov esi, dword [ebp - 0x1c0]
cmp esi, dword [ebp - 0x1bc]
je 0x45abf0
nop
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x45abe5
cmp dword [esi + 0x14], 0x10
jb 0x45abd1
mov eax, dword [esi]
jmp 0x45abd3
mov eax, esi
push ecx
push eax
lea edx, [ebp - 0x64]
push edx
xor eax, eax
call fcn.004151d0
cmp eax, 0xffffffff
jne 0x45ac0b
add esi, 0x1c
cmp esi, dword [ebp - 0x1bc]
jne 0x45abc0
lea esi, [ebp - 0x1c0]
call fcn.00459cd0
lea ecx, [ebp - 0x48]
call fcn.0046fe30
lea ecx, [ebp - 0x64]
jmp 0x45ad0d
mov eax, dword [ebp - 0x1c4]
lea esi, [ebp - 0x1c0]
mov dword [eax], 2
call fcn.00459cd0
lea ecx, [ebp - 0x48]
call fcn.0046fe30
lea ecx, [ebp - 0x64]
jmp 0x45b046
cmp eax, 1
jne 0x45ad19
push 0xffffffffffffffff
push 0
push 0x4b6458
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call fcn.00401910
push edi
lea esi, [ebp - 0x80]
mov dword [ebp - 4], 3
call fcn.0045a820
mov byte [ebp - 4], 4
push 1
push 0x497b28
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x64], 0
call fcn.00401a00
mov ecx, esi
push ecx
lea edx, [ebp - 0x64]
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 5
call fcn.004599f0
add esp, 4
mov byte [ebp - 4], 4
cmp dword [ebp - 0x50], 0x10
jb 0x45acb9
mov edx, dword [ebp - 0x64]
push edx
call fcn.0047659a
add esp, 4
mov esi, dword [ebp - 0x1c0]
cmp esi, dword [ebp - 0x1bc]
je 0x45acf7
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x45acec
cmp dword [esi + 0x14], 0x10
jb 0x45acd8
mov eax, dword [esi]
jmp 0x45acda
mov eax, esi
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
xor eax, eax
call fcn.004151d0
cmp eax, 0xffffffff
je 0x45ad46
add esi, 0x1c
cmp esi, dword [ebp - 0x1bc]
jne 0x45acc7
lea esi, [ebp - 0x1c0]
call fcn.00459cd0
lea ecx, [ebp - 0x80]
call fcn.0046fe30
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.0046fe30
mov eax, dword [edi + 0x30]
cmp eax, 2
jne 0x45ad6d
lea edx, [edi + 0x34]
push edx
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x45aed5
cmp dword [edi + 4], 0
je 0x45b04b
mov al, 1
jmp 0x45b04d
mov ecx, dword [ebp - 0x1c4]
lea esi, [ebp - 0x1c0]
mov dword [ecx], 2
call fcn.00459cd0
lea ecx, [ebp - 0x80]
call fcn.0046fe30
lea ecx, [ebp - 0x48]
jmp 0x45b046
cmp eax, 1
jne 0x45ae25
lea esi, [ebp - 0x1bc]
call fcn.0040b490
mov dword [ebp - 4], 6
call fcn.0045b0e0
call fcn.0045a6c0
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0x64]
mov edx, esi
push edx
call eax
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x1bc]
mov esi, dword [eax]
cmp esi, eax
je 0x45add8
mov ebx, 0x10
cmp dword [esi + 0x1c], ebx
lea eax, [esi + 8]
jb 0x45adc1
mov eax, dword [eax]
push 0
push eax
push edi
call fcn.0045b160
test al, al
jne 0x45adfe
mov esi, dword [esi]
cmp esi, dword [ebp - 0x1bc]
jne 0x45adb7
mov dword [edi + 4], 1
lea ebx, [ebp - 0x1bc]
call fcn.0040c990
mov edx, dword [ebp - 0x1bc]
push edx
call fcn.0047659a
add esp, 4
jmp 0x45b04b
cmp dword [edi + 4], 0
je 0x45addf
lea ebx, [ebp - 0x1bc]
call fcn.0040c990
mov ecx, dword [ebp - 0x1bc]
push ecx
call fcn.0047659a
add esp, 4
mov al, 1
jmp 0x45b04d
test eax, eax
jne 0x45aee1
xor ebx, ebx
call fcn.0045b0e0
mov dword [ebp - 0x1b0], 0x128
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
push ebx
push 2
mov dword [ebp - 4], 7
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
cmp esi, 0xffffffff
je 0x45aec6
lea eax, [ebp - 0x1b0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x45aebf
call fcn.0045a6c0
mov ecx, dword [eax]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x2c]
push eax
call edx
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x45ae99
lea eax, [ebp - 0x2c]
push 1
push eax
push edi
call fcn.0045b160
test al, al
jne 0x45aeba
lea eax, [ebp - 0x1b0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x45ae74
jmp 0x45aebf
mov ebx, 1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2c]
call fcn.0046fe30
test ebx, ebx
jmp 0x45ad2f
mov dword [edi + 4], 1
jmp 0x45b04b
cmp eax, 3
jne 0x45af5a
lea esi, [ebp - 0x1bc]
call fcn.00419530
add edi, 0x34
push edi
mov ecx, esi
push ecx
call fcn.00419600
mov edx, dword [ebp - 0x1e0]
push edx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call fcn.00419b50
mov esi, eax
lea eax, [ebp - 0x1bc]
push eax
mov edi, edx
call fcn.00419b50
mov ecx, eax
mov eax, edx
sub ecx, esi
sbb eax, edi
cdq
xor eax, edx
xor ecx, edx
sub ecx, edx
sbb eax, edx
test eax, eax
jg 0x45ad65
jl 0x45af4b
cmp ecx, 2
jae 0x45ad65
lea ecx, [ebp - 0x48]
call fcn.0046fe30
mov al, 1
jmp 0x45b04d
cmp eax, 4
jne 0x45b04b
lea esi, [ebp - 0x1bc]
call fcn.00419530
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 4], 8
call fcn.0045a730
push eax
lea esi, [ebp - 0x2c]
call fcn.00465b70
test al, al
je 0x45b043
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x45afa4
mov eax, esi
push eax
lea edx, [ebp - 0x1bc]
push edx
call fcn.00419600
test eax, eax
je 0x45b043
mov ecx, dword [edi + 0x98]
mov edx, dword [edi + 0x9c]
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [edi + 0xa4]
xor eax, eax
mov dword [ebp - 0x1d8], edx
mov edx, dword [edi + 0xa8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [edi + 0xa0]
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1cc], edx
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x1d4], eax
mov eax, dword [edi + 0xac]
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d0], edx
lea ecx, [ebp - 0x1dc]
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x1c8], eax
call fcn.00419a40
lea ecx, [ebp - 0x1dc]
lea edx, [ebp - 0x1bc]
test al, al
je 0x45b06b
call fcn.00419a40
test al, al
jne 0x45b074
lea ecx, [ebp - 0x2c]
call fcn.0046fe30
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00475dcc
mov esp, ebp
pop ebp
ret 8
call fcn.00419a40
test al, al
jne 0x45b089
lea ecx, [ebp - 0x1d0]
lea edx, [ebp - 0x1bc]
call fcn.00419a90
test al, al
je 0x45b043
cmp dword [edi + 0xc], 0
jne 0x45b0a4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x2c]
mov dword [edi + 0xc], eax
call fcn.0046fe30
mov al, 1
jmp 0x45b04d
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, eax
sub ecx, dword [edi + 0xc]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
cmp edx, dword [edi + 0xb0]
jb 0x45b043
call esi
lea ecx, [ebp - 0x2c]
mov dword [edi + 0xc], eax
call fcn.0046fe30
mov al, 1
jmp 0x45b04d