Function at 0x12d024
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], edx
mov byte [ebp - 1], al
xor eax, eax
push ebp
push 0x12d5b7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x25180c]
mov byte [eax], 1
inc dword [0x251290]
cmp dword [0x251290], 1
jb 0x12d0b2
call fcn.0012cc08
xor eax, eax
push ebp
push 0x12d0a8
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 2], 1
cmp dword [0x251104], 0
je 0x12d09e
lea ecx, [ebp - 2]
xor edx, edx
mov eax, dword [0x251104]
call fcn.001412bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d0b2
cmp dword [0x251290], 2
jb 0x12d15b
mov dx, 0xe0
mov eax, dword [0x520278]
call fcn.00046e6c
cmp al, 2
jne 0x12d15b
cmp dword [0x25115c], 0
je 0x12d15b
xor eax, eax
push ebp
push 0x12d151
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x25115c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x12d13d
mov eax, dword [0x25115c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x12d12e
inc ebx
xor esi, esi
lea ecx, [ebp - 8]
mov edx, esi
mov eax, dword [0x25115c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [0x251144]
call fcn.00117340
inc esi
dec ebx
jne 0x12d10e
mov edx, 0x12d5d0
mov eax, dword [0x251144]
call fcn.001170e8
mov eax, dword [0x25115c]
mov edx, dword [eax]
call dword [edx + 0x44]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d15b
cmp dword [0x251290], 3
jb 0x12d204
mov dx, 0xe1
mov eax, dword [0x2511e0]
call fcn.00046e6c
cmp al, 2
jne 0x12d204
cmp dword [0x251134], 0
je 0x12d204
xor eax, eax
push ebp
push 0x12d1fa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x251134]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x12d1e6
mov eax, dword [0x251134]
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x12d1d7
inc ebx
xor esi, esi
lea ecx, [ebp - 0xc]
mov edx, esi
mov eax, dword [0x251134]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xc]
mov eax, dword [0x251144]
call fcn.001170e8
inc esi
dec ebx
jne 0x12d1b7
mov edx, 0x12d5d0
mov eax, dword [0x251144]
call fcn.001170e8
mov eax, dword [0x251134]
mov edx, dword [eax]
call dword [edx + 0x40]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d204
cmp dword [0x251290], 4
jb 0x12d2af
xor eax, eax
push ebp
push 0x12d2a5
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x2516e0]
mov eax, dword [eax]
mov dx, 0xe2
call fcn.00046e6c
cmp al, 4
jne 0x12d261
mov eax, dword [0x251400]
mov eax, dword [eax]
call fcn.00013fa8
test eax, eax
jle 0x12d29b
lea edx, [ebp - 0x10]
mov eax, dword [0x251400]
mov eax, dword [eax]
call fcn.00048008
mov edx, dword [ebp - 0x10]
mov eax, dword [0x251144]
call fcn.001170e8
jmp 0x12d29b
mov eax, dword [0x2516e0]
mov eax, dword [eax]
mov dx, 0xe3
call fcn.00046e6c
and eax, 0xff
lea edx, [ebp - 0x18]
call fcn.0003006c
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x12d5e0
call fcn.00013ff4
mov edx, dword [ebp - 0x14]
mov eax, dword [0x251144]
call fcn.001171b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d2af
cmp dword [0x251290], 5
jb 0x12d2e9
xor eax, eax
push ebp
push 0x12d2df
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 0x12d5f8
mov eax, dword [0x251144]
call fcn.001161d4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d2e9
cmp dword [0x251290], 7
jb 0x12d34d
xor eax, eax
push ebp
push 0x12d343
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x120]
mov al, byte [ebp - 1]
call fcn.000294b8
lea edx, [ebp - 0x120]
lea eax, [ebp - 0x20]
call fcn.00013f4c
mov ecx, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
mov edx, 0x12d604
call fcn.00013ff4
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x251144]
call fcn.001171b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d34d
cmp dword [0x251290], 8
jb 0x12d382
xor eax, eax
push ebp
push 0x12d378
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x12d614
call fcn.001116a8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d382
cmp dword [0x251290], 9
jb 0x12d3d1
cmp byte [ebp - 1], 0
je 0x12d3d1
xor eax, eax
push ebp
push 0x12d3c7
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, 4
mov eax, 0x12d614
call fcn.00111610
mov edx, 4
mov eax, 0x12d628
call fcn.00111610
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d3d1
cmp dword [0x251290], 0xa
jb 0x12d416
xor eax, eax
push ebp
push 0x12d405
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x251144], 0
je 0x12d3fb
mov eax, dword [0x251144]
call fcn.00049398
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d40f
xor eax, eax
mov dword [0x251144], eax
cmp dword [0x251290], 0xb
jb 0x12d45b
xor eax, eax
push ebp
push 0x12d44a
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x25110c], 0
je 0x12d440
mov eax, dword [0x25110c]
call fcn.00049398
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d454
xor eax, eax
mov dword [0x25110c], eax
cmp dword [0x251290], 0xc
jb 0x12d4be
xor eax, eax
push ebp
push 0x12d4b4
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x251288], 0
je 0x12d4aa
cmp dword [0x251288], 0xffffffff
je 0x12d4aa
mov eax, dword [0x251288]
push eax
push 0
push 0x1f0fff
call sub.kernel32.dll_OpenProcess
mov ebx, eax
test ebx, ebx
je 0x12d4aa
push 0
push ebx
call sub.kernel32.dll_TerminateProcess
push ebx
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d4be
cmp dword [0x251290], 0xd
jb 0x12d505
xor eax, eax
push ebp
push 0x12d4fb
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 2], 1
cmp dword [0x251104], 0
je 0x12d4f1
lea ecx, [ebp - 2]
xor edx, edx
mov eax, dword [0x251104]
call fcn.001412bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x12d505
cmp dword [0x251290], 0xe
jb 0x12d53d
xor eax, eax
push ebp
push 0x12d533
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 0x12d53d
cmp dword [0x251290], 0xf
jb 0x12d550
push 0xbb8
call sub.kernel32.dll_Sleep
cmp dword [0x251290], 0x32
jb 0x12d594
cmp dword [0x251290], 0x3c
ja 0x12d594
xor eax, eax
push ebp
push 0x12d58a
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 0x12d594
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x12d5be
lea eax, [ebp - 0x20]
mov edx, 6
call fcn.00013d3c
lea eax, [ebp - 8]
call fcn.000143f0
ret