Function at 0x456940
Capabilities:
Check for time delay via gettickcount
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
test esi, esi
je 0x456bb7
cmp word [esi], 0
je 0x456bb7
mov edi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
push str.Exist
push esi
call edi
add esp, 8
test eax, eax
jne 0x4569ab
mov ecx, dword [ebp + 0xc]
cmp word [ecx], ax
je 0x456987
call fcn.0047f960
jmp 0x45698d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0x18
push 0
push eax
mov ecx, dword [0x4fb9cc]
call fcn.00401490
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.Close
push esi
call edi
add esp, 8
test eax, eax
jne 0x456a1b
mov ecx, dword [ebp + 0xc]
call fcn.0047f960
mov edi, eax
test edi, edi
je case.0x456a50.67
push edi
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je case.0x456a50.67
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
test esi, esi
push 0x18
cmovne ecx, edi
push 0
push ecx
jmp 0x456992
mov ecx, dword [0x4fb9cc]
push 1
push 0
push 0xffffffffffffffff
push 0x4cfd08
call fcn.004b5b70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.Priority
push esi
call edi
add esp, 8
test eax, eax
jne 0x456ad9
mov eax, dword [ebp + 0x10]
movzx eax, word [eax]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towupper]
movzx eax, ax
add esp, 4
add eax, 0xffffffbf
cmp eax, 0x11
ja case.0x456a50.67
movzx eax, byte [eax + 0x456bec]
jmp dword [eax*4 + 0x456bd0]
mov esi, 0x40
jmp 0x456a7f
mov esi, 0x4000
jmp 0x456a7f
mov esi, 0x20
jmp 0x456a7f
mov esi, 0x8000
jmp 0x456a7f
mov esi, 0x80
jmp 0x456a7f
mov esi, 0x100
mov ecx, dword [ebp + 0xc]
cmp word [ecx], 0
je 0x456a8f
call fcn.0047f960
jmp 0x456a95
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
test edi, edi
je case.0x456a50.67
push edi
push 0
push 0x200
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je case.0x456a50.67
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
test esi, esi
push 0x18
cmovne ecx, edi
push 0
push ecx
jmp 0x456992
push str.Wait
push esi
call edi
add esp, 8
test eax, eax
jne 0x456aed
lea edi, [eax + 4]
jmp 0x456b05
push str.WaitClose
push esi
call edi
add esp, 8
test eax, eax
jne 0x456bb7
mov edi, 5
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x18], edi
cmp word [ecx], 0
je 0x456b31
xor bl, bl
call fcn.0042ad80
mulsd xmm0, qword [0x4f3170]
cvttsd2si esi, xmm0
mov dword [esp + 0x10], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x456b3f
mov eax, dword [esp + 0x1c]
mov bl, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov eax, dword fs:[0x24]
mov dword [esp + 0x1c], eax
nop dword [eax]
mov ecx, dword [ebp + 0xc]
call fcn.0047f960
mov esi, eax
cmp edi, 4
jne 0x456b6d
test esi, esi
je 0x456b75
push 0x18
push 0
push esi
jmp 0x456992
test esi, esi
je case.0x456a50.67
test bl, bl
jne 0x456b92
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
sub ecx, eax
cmp ecx, 5
jle 0x456b63
mov eax, dword [esp + 0x1c]
cmp dword [0x4fd2ec], eax
jne 0x456bad
mov edx, 1
lea ecx, [edx + 0x63]
call fcn.004018f0
jmp 0x456b50
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x456b50
push esi
push 0
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.0044e880
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc