Function at 0x4859b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x2d
push 0
push 0
dec ecx
jne 0x4859b9
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004045dc
xor eax, eax
push ebp
push 0x485c74
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0x10], eax
xor edx, edx
mov eax, 2
call fcn.0047ff6c
mov esi, eax
mov dword [ebp - 0x13c], 0x128
lea edx, [ebp - 0x13c]
mov eax, esi
call fcn.0047ff8c
jmp 0x485c3e
lea eax, [ebp - 0x148]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.0040439c
mov eax, dword [ebp - 0x148]
lea edx, [ebp - 0x144]
call fcn.00408c1c
mov eax, dword [ebp - 0x144]
lea edx, [ebp - 0x140]
call fcn.00407f7c
mov eax, dword [ebp - 0x140]
push eax
lea edx, [ebp - 0x14c]
mov eax, dword [ebp - 4]
call fcn.00407f7c
mov edx, dword [ebp - 0x14c]
pop eax
call fcn.00404538
je 0x485ac1
lea eax, [ebp - 0x154]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.0040439c
mov eax, dword [ebp - 0x154]
lea edx, [ebp - 0x150]
call fcn.00407f7c
mov eax, dword [ebp - 0x150]
push eax
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 4]
call fcn.00407f7c
mov edx, dword [ebp - 0x158]
pop eax
call fcn.00404538
jne 0x485bd8
cmp ebx, 1
jne 0x485ae6
push 0
mov eax, dword [ebp - 0x134]
push eax
push 0
push 1
call sub.kernel32.dll_OpenProcess
push eax
call sub.kernel32.dll_TerminateProcess
mov dword [ebp - 0xc], eax
jmp 0x485bd8
test ebx, ebx
jne 0x485b02
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jne 0x485bd8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
jmp 0x485bd8
cmp ebx, 3
jne 0x485b30
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x134]
je 0x485b30
mov ebx, dword [ebp - 0x134]
mov dword [0x494d6c], ebx
push ebx
push 0
push 1
call sub.kernel32.dll_OpenProcess
mov dword [ebp - 0xc], eax
jmp 0x485c46
cmp ebx, 4
jne 0x485bd8
push 0
push 0x485c8c
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x160]
call fcn.00408520
push dword [ebp - 0x160]
push 0x485cac
push 0x485cb8
lea eax, [ebp - 0x164]
lea edx, [ebp - 0x118]
mov ecx, 0x104
call fcn.0040439c
push dword [ebp - 0x164]
push 0x485cd0
push 0x485cdc
mov eax, dword [ebp - 0x134]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x168]
call fcn.00408520
push dword [ebp - 0x168]
push 0x485cd0
lea eax, [ebp - 0x15c]
mov edx, 9
call fcn.004044ac
mov eax, dword [ebp - 0x15c]
call fcn.004045ec
mov edx, eax
mov ecx, 0x485cec
mov eax, dword [0x49351c]
mov eax, dword [eax]
call fcn.00463b28
mov eax, dword [0x4936b8]
cmp dword [eax], 2
jne 0x485c31
cmp ebx, 5
jne 0x485c31
mov eax, dword [ebp - 0x134]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x170]
call fcn.00408520
mov eax, dword [ebp - 0x170]
call fcn.004045ec
mov edx, eax
lea eax, [ebp - 0x16c]
call fcn.00404324
mov ecx, dword [ebp - 0x16c]
lea eax, [ebp - 0x14]
mov edx, 0x485cfc
call fcn.00404438
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.004858c8
lea edx, [ebp - 0x13c]
mov eax, esi
call fcn.0047ffac
test eax, eax
jne 0x485a18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x485c7b
lea eax, [ebp - 0x170]
mov edx, 0xd
call fcn.00404150
lea eax, [ebp - 0x14]
call fcn.0040412c
lea eax, [ebp - 4]
call fcn.0040412c
ret