Function at 0x1551e0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x1551e8
push ecx
push ebx
push esi
push edi
mov byte [ebp - 1], al
xor eax, eax
push ebp
push 0x1557fa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x2a948c]
mov byte [eax], 1
inc dword [0x2a8ed4]
cmp dword [0x2a8ed4], 1
jb 0x15525e
call fcn.00154d1c
xor eax, eax
push ebp
push 0x155254
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 2], 1
cmp dword [0x2a8da0], 0
je 0x15524a
lea ecx, [ebp - 2]
xor edx, edx
mov eax, dword [0x2a8da0]
call fcn.0017a70c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x15525e
cmp dword [0x2a8ed4], 2
jb 0x155316
mov dx, 0xe0
mov eax, dword [0x5ec540]
call fcn.0004935c
cmp al, 2
jne 0x155316
cmp dword [0x2a8d98], 0
je 0x155316
xor eax, eax
push ebp
push 0x15530c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x2a8d98]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x1552f8
mov eax, dword [0x2a8d98]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x1552de
inc ebx
xor esi, esi
lea ecx, [ebp - 0x10]
mov edx, esi
mov eax, dword [0x2a8d98]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [0x2a8dd0]
call fcn.00138a38
inc esi
dec ebx
jne 0x1552be
lea edx, [ebp - 0x14]
mov eax, 0x155808
call fcn.00031d88
mov edx, dword [ebp - 0x14]
mov eax, dword [0x2a8dd0]
call fcn.001387e0
mov eax, dword [0x2a8d98]
mov edx, dword [eax]
call dword [edx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x155316
cmp dword [0x2a8ed4], 3
jb 0x1553ce
mov dx, 0xe1
mov eax, dword [0x2a8da8]
call fcn.0004935c
cmp al, 2
jne 0x1553ce
cmp dword [0x2a8e04], 0
je 0x1553ce
xor eax, eax
push ebp
push 0x1553c4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x2a8e04]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x1553b0
mov eax, dword [0x2a8e04]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x155396
inc ebx
xor esi, esi
lea ecx, [ebp - 0x18]
mov edx, esi
mov eax, dword [0x2a8e04]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x2a8dd0]
call fcn.001387e0
inc esi
dec ebx
jne 0x155376
lea edx, [ebp - 0x1c]
mov eax, 0x155808
call fcn.00031d88
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x2a8dd0]
call fcn.001387e0
mov eax, dword [0x2a8e04]
mov edx, dword [eax]
call dword [edx + 0x40]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1553ce
cmp dword [0x2a8ed4], 4
jb 0x155483
xor eax, eax
push ebp
push 0x155479
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x2a9350]
mov eax, dword [eax]
mov dx, 0xe2
call fcn.0004935c
cmp al, 4
jne 0x15542b
mov eax, dword [0x2a9048]
mov eax, dword [eax]
call fcn.00013ecc
test eax, eax
jle 0x15546f
lea edx, [ebp - 0x20]
mov eax, dword [0x2a9048]
mov eax, dword [eax]
call fcn.0004a52c
mov edx, dword [ebp - 0x20]
mov eax, dword [0x2a8dd0]
call fcn.001387e0
jmp 0x15546f
lea edx, [ebp - 0x24]
mov eax, 0x155810
call fcn.00031d88
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x2a9350]
mov eax, dword [eax]
mov dx, 0xe3
call fcn.0004935c
and eax, 0xff
lea edx, [ebp - 0x28]
call fcn.00033438
mov edx, dword [ebp - 0x28]
pop eax
call fcn.00013ed4
mov edx, dword [ebp - 0x24]
mov eax, dword [0x2a8dd0]
call fcn.001388a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x155483
cmp dword [0x2a8ed4], 5
jb 0x1554c8
xor eax, eax
push ebp
push 0x1554be
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x2c]
mov eax, 0x155820
call fcn.00031d88
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x2a8dd0]
call fcn.001378d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1554c8
cmp dword [0x2a8ed4], 7
jb 0x155525
xor eax, eax
push ebp
push 0x15551b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x30]
mov eax, 0x155824
call fcn.00031d88
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x34]
mov al, byte [ebp - 1]
call fcn.0002d050
mov edx, dword [ebp - 0x34]
pop eax
call fcn.00013ed4
mov edx, dword [ebp - 0x30]
mov eax, dword [0x2a8dd0]
call fcn.001388a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x155525
cmp dword [0x2a8ed4], 8
jb 0x15557d
xor eax, eax
push ebp
push 0x155573
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc]
call fcn.00013c3c
lea edx, [ebp - 0x38]
mov eax, 0x15582c
call fcn.00031d88
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0xc]
call fcn.00131140
mov edx, dword [ebp - 0xc]
mov eax, dword [0x2a8dd0]
call fcn.001387e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x15557d
cmp dword [0x2a8ed4], 9
jb 0x1555d7
cmp byte [ebp - 1], 0
je 0x1555d7
xor eax, eax
push ebp
push 0x1555cd
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x3c]
mov eax, 0x15582c
call fcn.00031d88
mov eax, dword [ebp - 0x3c]
mov edx, 4
call fcn.0013059c
mov edx, 4
mov eax, 0x155840
call fcn.0013059c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1555d7
cmp dword [0x2a8ed4], 0xa
jb 0x15561c
xor eax, eax
push ebp
push 0x15560b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x2a8dd0], 0
je 0x155601
mov eax, dword [0x2a8dd0]
call fcn.0004ba20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x155615
xor eax, eax
mov dword [0x2a8dd0], eax
cmp dword [0x2a8ed4], 0xb
jb 0x155661
xor eax, eax
push ebp
push 0x155650
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x2a8e34], 0
je 0x155646
mov eax, dword [0x2a8e34]
call fcn.0004ba20
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x15565a
xor eax, eax
mov dword [0x2a8e34], eax
cmp dword [0x2a8ed4], 0xc
jb 0x1556f9
xor eax, eax
push ebp
push 0x1556ef
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x2a8ecc], 0
je 0x1556e5
cmp dword [0x2a8ecc], 0xffffffff
je 0x1556e5
xor eax, eax
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x1556de
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x2a8ecc]
push eax
push 0
push 0x1f0fff
call sub.kernel32.dll_OpenProcess
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1556c7
push 0
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_TerminateProcess
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1556e5
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_CloseHandle_1
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1556f9
cmp dword [0x2a8ed4], 0xd
jb 0x155740
xor eax, eax
push ebp
push 0x155736
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 2], 1
cmp dword [0x2a8da0], 0
je 0x15572c
lea ecx, [ebp - 2]
xor edx, edx
mov eax, dword [0x2a8da0]
call fcn.0017a70c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x155740
cmp dword [0x2a8ed4], 0xe
jb 0x155778
xor eax, eax
push ebp
push 0x15576e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_TerminateProcess
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x155778
cmp dword [0x2a8ed4], 0xf
jb 0x15578b
push 0xbb8
call sub.kernel32.dll_Sleep
cmp dword [0x2a8ed4], 0x32
jb 0x1557cf
cmp dword [0x2a8ed4], 0x3c
ja 0x1557cf
xor eax, eax
push ebp
push 0x1557c5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x64
call sub.kernel32.dll_Sleep
push 2
push 0
call sub.wtsapi32.dll_WTSShutdownSystem
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x1557cf
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x155801
lea eax, [ebp - 0x3c]
mov edx, 0xb
call fcn.00013c60
lea eax, [ebp - 0x10]
call fcn.00014314
lea eax, [ebp - 0xc]
call fcn.00013c3c
ret