Function at 0x4561b0
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]
push edi
mov edi, ecx
mov ecx, esi
call fcn.0042aa40
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
jne 0x4561e9
push esi
push eax
push str.Parameter_1_invalid.
mov ecx, edi
call fcn.0044d670
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [ebx - 1]
cmp eax, 4
ja case.default.0x4561f5
jmp dword [eax*4 + 0x4564a4]
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x45620b
call fcn.0047bf20
jmp 0x456211
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
mov esi, dword [0x4d995c]
cmp byte [esi + 0x17], 0
jne 0x456222
mov esi, dword [esi + 0xc]
mov al, byte [esi + 0x15]
test al, 2
je 0x456239
and al, 0x3d
mov byte [esi + 0x15], al
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov al, byte [esi + 0x15]
and al, 0x9b
or al, 0x18
mov byte [esi + 0x15], al
mov dword [esi + 4], 0
mov dword [esi], edi
jge 0x456478
mov ecx, esi
call fcn.004014a0
and byte [esi + 0x15], 0x8f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
call fcn.0047bf20
mov edi, eax
test edi, edi
je case.0x456320.67
push edi
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je case.0x456320.67
push 0
push esi
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [0x4d995c]
cmp byte [esi + 0x17], 0
jne 0x4562ab
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x4562c4
mov eax, dword [esi]
and cl, 0x3d
mov byte [esi + 0x15], cl
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
xor eax, eax
test ebx, ebx
cmovne eax, edi
and cl, 0x9b
mov dword [esi], eax
or cl, 0x18
mov dword [esi + 4], 0
mov byte [esi + 0x15], cl
jmp 0x456249
mov ecx, dword [0x4d995c]
push 1
push 0
push 0xffffffffffffffff
push 0x4c3cb0
call fcn.004b04f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0x10]
movsx eax, byte [eax]
push eax
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbctoupper]
add eax, 0xffffffbf
add esp, 4
cmp eax, 0x11
ja case.0x456320.67
movzx eax, byte [eax + 0x4564d4]
jmp dword [eax*4 + 0x4564b8]
mov esi, 0x40
jmp 0x45634f
mov esi, 0x4000
jmp 0x45634f
mov esi, 0x20
jmp 0x45634f
mov esi, 0x8000
jmp 0x45634f
mov esi, 0x80
jmp 0x45634f
mov esi, 0x100
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0
je 0x45635e
call fcn.0047bf20
jmp 0x456364
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
test edi, edi
je case.0x456320.67
push edi
push 0
push 0x200
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je case.0x456320.67
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push ebx
mov dword [esp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [0x4d995c]
cmp byte [esi + 0x17], 0
jne 0x4563a8
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x4563c1
mov eax, dword [esi]
and cl, 0x3d
mov byte [esi + 0x15], cl
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
xor eax, eax
cmp dword [esp + 0x18], eax
jmp 0x4562c8
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0
je 0x4563f6
mov byte [esp + 0x13], 0
call fcn.00428e40
mulsd xmm0, qword [0x4d0a70]
cvttsd2si edi, xmm0
mov dword [esp + 0x14], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x456407
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], 0
mov esi, dword fs:[0x24]
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0xc]
call fcn.0047bf20
mov edi, eax
cmp ebx, 4
jne 0x45642b
test edi, edi
jne 0x456213
jmp 0x456433
test edi, edi
je case.0x456320.67
cmp byte [esp + 0x13], 0
jne 0x456457
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
sub ecx, eax
cmp ecx, 5
jle 0x456213
cmp dword [0x4dba60], esi
jne 0x45646e
mov edx, 1
lea ecx, [edx + 0x63]
call fcn.00401870
jmp 0x456412
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x456412
cmp dword [0x4d9984], 0
je 0x456488
mov ecx, esi
call fcn.004014a0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc