Function at 0x4503b0
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.0042a490
mov ebx, eax
test ebx, ebx
jne 0x4503e5
push esi
push eax
push str.Parameter_1_invalid.
mov ecx, edi
call fcn.00448730
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [ebx - 1]
cmp eax, 4
ja case.default.0x4503f1
jmp dword [eax*4 + 0x4505f8]
mov ecx, dword [ebp + 0xc]
cmp word [ecx], 0
je 0x450408
call fcn.00472a30
jmp 0x45040e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push 0x18
push 0
push eax
mov ecx, dword [0x4e69cc]
call fcn.004014e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
call fcn.00472a30
mov edi, eax
test edi, edi
je case.0x4504af.67
push edi
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je case.0x4504af.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 0x450413
mov ecx, dword [0x4e69cc]
push 1
push 0
push 0xffffffffffffffff
push 0x4bacf8
call fcn.004a19e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
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.0x4504af.67
movzx eax, byte [eax + 0x450628]
jmp dword [eax*4 + 0x45060c]
mov esi, 0x40
jmp 0x4504de
mov esi, 0x4000
jmp 0x4504de
mov esi, 0x20
jmp 0x4504de
mov esi, 0x8000
jmp 0x4504de
mov esi, 0x80
jmp 0x4504de
mov esi, 0x100
mov ecx, dword [ebp + 0xc]
cmp word [ecx], 0
je 0x4504ee
call fcn.00472a30
jmp 0x4504f4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
test edi, edi
je case.0x4504af.67
push edi
push 0
push 0x200
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je case.0x4504af.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 0x450413
mov ecx, dword [ebp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp word [ecx], 0
je 0x450565
mov byte [esp + 0x13], 0
call fcn.004284b0
mulsd xmm0, qword [0x4de178]
cvttsd2si esi, xmm0
mov dword [esp + 0x14], esi
call edi
jmp 0x450576
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov eax, dword fs:[0x24]
mov dword [esp + 0x1c], eax
mov ecx, dword [ebp + 0xc]
call fcn.00472a30
mov esi, eax
cmp ebx, 4
jne 0x4505a1
test esi, esi
je 0x4505a9
push 0x18
push 0
push esi
jmp 0x450413
test esi, esi
je case.0x4504af.67
cmp byte [esp + 0x13], 0
jne 0x4505c7
call edi
mov ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
sub ecx, eax
cmp ecx, 5
jle 0x450597
mov eax, dword [esp + 0x1c]
cmp dword [0x4e82ec], eax
jne 0x4505e2
mov edx, 1
lea ecx, [edx + 0x63]
call fcn.004019f0
jmp 0x450584
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x450584
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0xc