Function at 0x45a168
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffcdc
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x1320], edx
mov dword [ebp - 0x1324], edx
mov dword [ebp - 0x131c], edx
mov dword [ebp - 0x1314], edx
mov dword [ebp - 0x1318], edx
mov dword [ebp - 0x1310], edx
mov dword [ebp - 0x130c], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404e40
xor eax, eax
push ebp
push 0x45a488
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
lea edx, [ebp - 0x130c]
mov eax, dword [ebp - 4]
call fcn.004091b8
mov eax, dword [ebp - 0x130c]
mov edx, dword [ebp - 4]
call fcn.00404de8
jne 0x45a1e9
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x45a1f0
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0xb4], 0x94
lea eax, [ebp - 0xb4]
push eax
call sub.kernel32.dll_GetVersionExA
mov eax, dword [ebp - 0xa4]
cmp eax, 1
jne 0x45a304
xor edx, edx
mov eax, 2
call fcn.00458e18
mov esi, eax
mov dword [ebp - 0x1dc], 0x128
lea edx, [ebp - 0x1dc]
mov eax, esi
call fcn.00458e38
mov ebx, eax
jmp 0x45a2f1
cmp dword [ebp - 0x10], 0
je 0x45a28d
lea eax, [ebp - 0x1310]
lea edx, [ebp - 0x1b8]
mov ecx, 0x104
call fcn.00404c30
mov eax, dword [ebp - 0x1310]
mov edx, dword [ebp - 4]
call fcn.004087fc
test eax, eax
jne 0x45a2e2
push 0
mov eax, dword [ebp - 0x1d4]
push eax
push 0
push 1
call sub.kernel32.dll_OpenProcess
push eax
call sub.kernel32.dll_TerminateProcess
mov byte [ebp - 5], 1
jmp 0x45a2e2
lea eax, [ebp - 0x1318]
lea edx, [ebp - 0x1b8]
mov ecx, 0x104
call fcn.00404c30
mov eax, dword [ebp - 0x1318]
lea edx, [ebp - 0x1314]
call fcn.004091b8
mov eax, dword [ebp - 0x1314]
mov edx, dword [ebp - 4]
call fcn.004087fc
test eax, eax
jne 0x45a2e2
push 0
mov eax, dword [ebp - 0x1d4]
push eax
push 0
push 1
call sub.kernel32.dll_OpenProcess
push eax
call sub.kernel32.dll_TerminateProcess
mov byte [ebp - 5], 1
lea edx, [ebp - 0x1dc]
mov eax, esi
call fcn.00458e58
mov ebx, eax
test ebx, ebx
jne 0x45a241
push esi
call sub.kernel32.dll_CloseHandle
jmp 0x45a462
cmp eax, 2
jne 0x45a462
lea ecx, [ebp - 0x14]
lea eax, [ebp - 0x11dc]
mov edx, 0x1000
call fcn.004591e4
mov eax, dword [ebp - 0x14]
shr eax, 2
dec eax
test eax, eax
jl 0x45a462
inc eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x11dc]
mov dword [ebp - 0x20], eax
xor eax, eax
push ebp
push 0x45a369
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
push eax
push 0
push 0x410
call sub.kernel32.dll_OpenProcess
mov dword [ebp - 0xc], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a373
cmp dword [ebp - 0xc], 0
je 0x45a455
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x18]
mov ecx, 4
mov eax, dword [ebp - 0xc]
call fcn.00459208
push 0x12c
lea ecx, [ebp - 0x1308]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
call fcn.00459238
cmp dword [ebp - 0x10], 0
je 0x45a3f5
lea eax, [ebp - 0x131c]
lea edx, [ebp - 0x1308]
mov ecx, 0x12c
call fcn.00404c30
mov eax, dword [ebp - 0x131c]
mov edx, dword [ebp - 4]
call fcn.004087fc
test eax, eax
jne 0x45a44c
push 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
push eax
push 0
push 0x401
call sub.kernel32.dll_OpenProcess
push eax
call sub.kernel32.dll_TerminateProcess
mov byte [ebp - 5], 1
jmp 0x45a44c
lea eax, [ebp - 0x1324]
lea edx, [ebp - 0x1308]
mov ecx, 0x12c
call fcn.00404c30
mov eax, dword [ebp - 0x1324]
lea edx, [ebp - 0x1320]
call fcn.004091b8
mov eax, dword [ebp - 0x1320]
mov edx, dword [ebp - 4]
call fcn.004087fc
test eax, eax
jne 0x45a44c
push 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
push eax
push 0
push 0x401
call sub.kernel32.dll_OpenProcess
push eax
call sub.kernel32.dll_TerminateProcess
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CloseHandle
add dword [ebp - 0x20], 4
dec dword [ebp - 0x1c]
jne 0x45a33c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45a48f
lea eax, [ebp - 0x1324]
mov edx, 7
call fcn.004049e4
lea eax, [ebp - 4]
call fcn.004049c0
ret