Function at 0x661abc0
Capabilities:
Create process on windows
Enumerate processes
Get system information on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6669202
mov eax, dword fs:[0]
push eax
sub esp, 0x5cc
mov eax, dword [0x667c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
sub dword [ebp + 0xc], 1
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58c], eax
jne 0x661bdc2
push 0x1b58
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x228
lea eax, [ebp - 0x524]
push 0
push eax
call fcn.06646710
add esp, 0xc
mov dword [ebp - 0x528], 0x22c
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
push 0xc
mov edx, 0x667cc0c
lea ecx, [ebp - 0x294]
mov esi, eax
call fcn.0661a6f0
add esp, 4
mov dword [ebp - 4], 0
lea edi, [ebp - 0x294]
mov edx, dword [ebp - 0x280]
cmp edx, 7
mov ecx, dword [ebp - 0x294]
cmova edi, ecx
cmp esi, 0xffffffff
je 0x661ad29
lea eax, [ebp - 0x528]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
cmp eax, 1
jne 0x661ad16
lea eax, [ebp - 0x528]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
cmp eax, 1
jne 0x661ad16
nop
lea eax, [ebp - 0x504]
push edi
push eax
call fcn.0664b542
add esp, 8
test eax, eax
jne 0x661ad03
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x218]
push 0x104
push eax
push dword [ebp - 0x58c]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str.WINDIR
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x52c]
push eax
call fcn.0664a1c2
add esp, 0xc
test eax, eax
jne 0x661bdb0
cmp dword [ebp - 0x52c], eax
jne 0x661ad60
lea eax, [ebp - 0x528]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
cmp eax, 1
je 0x661aca0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x294]
cmp edx, 7
jbe 0x661bdc2
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x661bdb8
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bde4
jmp 0x661bdb8
lea eax, [ebp - 0x2b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
push 0x6674928
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 0
movups xmmword [ebp - 0x260], xmm0
call fcn.06619720
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x230]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
push 0x6674928
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
call fcn.06619720
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5a4]
cmp word [ebp - 0x2b8], 9
push 0x11
jne 0x661b295
mov edx, 0x667cbd4
call fcn.0661a6f0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 3
xorps xmm0, xmm0
mov edx, dword [ebp - 0x52c]
mov ecx, edx
movups xmmword [ebp - 0x588], xmm0
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 0
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x661ae27
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x588]
call fcn.06619720
push esi
lea eax, [ebp - 0x588]
mov byte [ebp - 4], 4
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x558]
call fcn.06619f90
push 0x6674990
lea edx, [ebp - 0x558]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x570]
call fcn.06619400
mov esi, eax
add esp, 4
lea eax, [ebp - 0x260]
cmp eax, esi
je 0x661aef3
mov ecx, dword [ebp - 0x24c]
cmp ecx, 7
jbe 0x661aec9
mov edx, dword [ebp - 0x260]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661aebf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bde9
push ecx
push edx
call fcn.06644a77
add esp, 8
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x260], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x250], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x661af33
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661af29
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bde9
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 7
mov word [ebp - 0x570], ax
cmp ecx, 7
jbe 0x661af94
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661af8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bde9
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 7
mov word [ebp - 0x558], ax
cmp ecx, 7
jbe 0x661aff5
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661afeb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bde9
push ecx
push edx
call fcn.06644a77
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x661b039
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b02f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bde9
push ecx
push edx
call fcn.06644a77
add esp, 8
push 0x16
mov edx, 0x667cc1c
lea ecx, [ebp - 0x5a4]
call fcn.0661a6f0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov edx, dword [ebp - 0x52c]
mov ecx, edx
movups xmmword [ebp - 0x558], xmm0
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x661b080
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.06619720
push esi
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 7
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.06619f90
push 0x6674990
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x570]
call fcn.06619400
mov esi, eax
add esp, 4
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x661b14c
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x661b122
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b118
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdee
push ecx
push edx
call fcn.06644a77
add esp, 8
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x661b18c
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b182
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdee
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 7
mov word [ebp - 0x570], ax
cmp ecx, 7
jbe 0x661b1ed
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b1e3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdee
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 7
mov word [ebp - 0x588], ax
cmp ecx, 7
jbe 0x661b24e
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b244
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdee
push ecx
push edx
call fcn.06644a77
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x661b739
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b72f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdee
jmp 0x661b72f
mov edx, 0x667cbe8
call fcn.0661a6f0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 9
xorps xmm0, xmm0
mov edx, dword [ebp - 0x52c]
mov ecx, edx
movups xmmword [ebp - 0x558], xmm0
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x661b2d1
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.06619720
push esi
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 0xa
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.06619f90
push 0x6674990
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x570]
call fcn.06619400
mov esi, eax
add esp, 4
lea eax, [ebp - 0x260]
cmp eax, esi
je 0x661b39d
mov ecx, dword [ebp - 0x24c]
cmp ecx, 7
jbe 0x661b373
mov edx, dword [ebp - 0x260]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b369
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf3
push ecx
push edx
call fcn.06644a77
add esp, 8
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x260], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x250], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x661b3dd
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b3d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf3
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 7
mov word [ebp - 0x570], ax
cmp ecx, 7
jbe 0x661b43e
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b434
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf3
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 7
mov word [ebp - 0x588], ax
cmp ecx, 7
jbe 0x661b49f
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b495
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf3
push ecx
push edx
call fcn.06644a77
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x661b4e3
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b4d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf3
push ecx
push edx
call fcn.06644a77
add esp, 8
push 0x16
mov edx, 0x667cc34
lea ecx, [ebp - 0x5a4]
call fcn.0661a6f0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0xc
xorps xmm0, xmm0
mov edx, dword [ebp - 0x52c]
mov ecx, edx
movups xmmword [ebp - 0x558], xmm0
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x661b527
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.06619720
push esi
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 0xd
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.06619f90
push 0x6674990
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x570]
call fcn.06619400
mov esi, eax
add esp, 4
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x661b5f3
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x661b5c9
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b5bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf8
push ecx
push edx
call fcn.06644a77
add esp, 8
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x230], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x220], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x661b633
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b629
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf8
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 7
mov word [ebp - 0x570], ax
cmp ecx, 7
jbe 0x661b694
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b68a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf8
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 7
mov word [ebp - 0x588], ax
cmp ecx, 7
jbe 0x661b6f5
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b6eb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf8
push ecx
push edx
call fcn.06644a77
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x661b739
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b72f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdf8
push ecx
push edx
call fcn.06644a77
add esp, 8
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0
push 0x6674928
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x268], 0
movups xmmword [ebp - 0x27c], xmm0
call fcn.06619720
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x248]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x238], 0
push 0x6674928
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x234], 0
call fcn.06619720
push 2
mov edx, 0x667cbfc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x5a4]
call fcn.0661a6f0
push 0x6674990
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x570]
call fcn.06619400
mov esi, eax
add esp, 8
lea eax, [ebp - 0x27c]
cmp eax, esi
je 0x661b842
mov ecx, dword [ebp - 0x268]
cmp ecx, 7
jbe 0x661b818
mov edx, dword [ebp - 0x27c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b80e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdfd
push ecx
push edx
call fcn.06644a77
add esp, 8
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0x27c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x26c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x661b882
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b878
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdfd
push ecx
push edx
call fcn.06644a77
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x590]
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 7
mov word [ebp - 0x570], ax
cmp ecx, 7
jbe 0x661b8e3
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661b8d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661bdfd
push ecx
push edx
call fcn.06644a77
add esp, 8
push 8
mov edx, 0x667cc00
lea ecx, [ebp - 0x5d8]
call fcn.0661a6f0
add esp, 4
mov dword [ebp - 0x540], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x218]
xorps xmm0, xmm0
mov dword [ebp - 0x560], 0
movups xmmword [ebp - 0x570], xmm0
mov dword [ebp - 0x55c], 0
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x661b930
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x570]
call fcn.06619720
mov byte [ebp - 4], 0x13
mov eax, 0x7ffffffe
mov edx, dword [ebp - 0x220]
sub eax, edx
cmp eax, 1
jb 0x661be02
cmp dword [ebp - 0x21c], 7
lea eax, [ebp - 0x230]
lea ecx, [edx + 1]
mov dword [ebp - 0x548], 0
cmova eax, dword [ebp - 0x230]
lea edi, [ebp - 0x558]
mov esi, 7
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x544], 0
xorps xmm0, xmm0
mov dword [ebp - 0x58c], ecx
movups xmmword [ebp - 0x558], xmm0
cmp ecx, esi
jbe 0x661ba5a
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x661b9db
mov eax, 0x7fffffff
mov esi, 0x7ffffffe
add eax, eax
jmp 0x661b9fc
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x7fffffff
ja 0x661be0c
add eax, eax
cmp eax, 0x1000
jb 0x661ba2f
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x661be0c
push ecx
call fcn.06644aa8
add esp, 4
test eax, eax
je 0x661be07
mov ecx, dword [ebp - 0x58c]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x220]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x661ba4e
test eax, eax
je 0x661ba4c
push eax
call fcn.06644aa8
mov ecx, dword [ebp - 0x58c]
add esp, 4
mov edx, dword [ebp - 0x220]
mov edi, eax
jmp 0x661ba4e
xor edi, edi
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x558], edi
mov dword [ebp - 0x544], esi
lea esi, [edx + edx]
push esi
push eax
push edi
mov dword [ebp - 0x548], ecx
call fcn.06646180
mov eax, 0x20
xor ecx, ecx
mov word [edi + esi], ax
add esp, 0xc
mov eax, dword [ebp - 0x220]
mov word [edi + eax*2 + 2], cx
lea eax, [ebp - 0x570]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x558]
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x5a4]
call fcn.06619f90
push dword [ebp - 0x540]
lea eax, [ebp - 0x5a4]
mov byte [ebp - 4], 0x15
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.06619f90
push 0x6674990
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x5c0]
call fcn.06619400
mov esi, eax
add esp, 4
lea eax, [ebp - 0x248]
cmp eax, esi
je 0x661bb7d
mov ecx, dword [ebp - 0x234]
cmp ecx, 7
jbe 0x661bb3c
mov edx, dword [ebp - 0x248]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bb32
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
mov dword [ebp - 0x238], 0
xor eax, eax
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x248], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x238], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov ecx, dword [ebp - 0x5ac]
cmp ecx, 7
jbe 0x661bbbd
mov edx, dword [ebp - 0x5c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bbb3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
mov ecx, dword [ebp - 0x574]
xor eax, eax
mov dword [ebp - 0x5b0], 0
mov dword [ebp - 0x5ac], 7
mov word [ebp - 0x5c0], ax
cmp ecx, 7
jbe 0x661bc1a
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bc10
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
mov ecx, dword [ebp - 0x590]
xor eax, eax
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 7
mov word [ebp - 0x588], ax
cmp ecx, 7
jbe 0x661bc77
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bc6d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
mov ecx, dword [ebp - 0x544]
cmp ecx, 7
jbe 0x661bcb7
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bcad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x661bcf7
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bced
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
mov ecx, dword [ebp - 0x5c4]
cmp ecx, 7
jbe 0x661bd37
mov edx, dword [ebp - 0x5d8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x661bd2d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x661be07
push ecx
push edx
call fcn.06644a77
add esp, 8
cmp dword [ebp - 0x234], 7
lea eax, [ebp - 0x2fc]
push 0x44
xorps xmm0, xmm0
lea esi, [ebp - 0x248]
cmova esi, dword [ebp - 0x248]
push 0
push eax
movups xmmword [ebp - 0x53c], xmm0
call fcn.06646710
add esp, 0xc
lea eax, [ebp - 0x53c]
push eax
lea eax, [ebp - 0x2fc]
push eax
push 0
push 0
push 0x8000000
push 0
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x661bda8
push dword [ebp - 0x53c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x538]
call esi
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push edx
push ecx
call fcn.06644a77
add esp, 8
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.06644a69
mov esp, ebp
pop ebp
ret 0xc
call fcn.066498ca
call fcn.066498ca
call fcn.066498ca
call fcn.066498ca
call fcn.066498ca
call fcn.066498ca
call fcn.06611240
call fcn.066498ca
call fcn.06611170
int3