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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x657da32
mov eax, dword fs:[0]
push eax
sub esp, 0x5cc
mov eax, dword [0x6590080]
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 0x652ece2
push 0x1b58
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x228
lea eax, [ebp - 0x524]
push 0
push eax
call fcn.0655a1b0
add esp, 0xc
mov dword [ebp - 0x528], 0x22c
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
push 0xc
mov edx, 0x6590c84
lea ecx, [ebp - 0x294]
mov esi, eax
call fcn.0652d7f0
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 0x652dc49
lea eax, [ebp - 0x528]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
cmp eax, 1
jne 0x652dc36
lea eax, [ebp - 0x528]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
cmp eax, 1
jne 0x652dc36
nop
lea eax, [ebp - 0x504]
push edi
push eax
call fcn.0655f00d
add esp, 8
test eax, eax
jne 0x652dc23
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.0655dc8d
add esp, 0xc
test eax, eax
jne 0x652ecd0
cmp dword [ebp - 0x52c], eax
jne 0x652dc80
lea eax, [ebp - 0x528]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
cmp eax, 1
je 0x652dbc0
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x294]
cmp edx, 7
jbe 0x652ece2
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x652ecd8
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed04
jmp 0x652ecd8
lea eax, [ebp - 0x2b8]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x250], 0
push 0x6588948
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x24c], 0
movups xmmword [ebp - 0x260], xmm0
call fcn.0652bb10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x230]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x220], 0
push 0x6588948
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x21c], 0
call fcn.0652bb10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x5a4]
cmp word [ebp - 0x2b8], 9
push 0x11
jne 0x652e1b5
mov edx, 0x6590c4c
call fcn.0652d7f0
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 0x652dd47
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x588]
call fcn.0652bb10
push esi
lea eax, [ebp - 0x588]
mov byte [ebp - 4], 4
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x558]
call fcn.0652c6b0
push 0x65889b4
lea edx, [ebp - 0x558]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x570]
call fcn.0652b7f0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x260]
cmp eax, esi
je 0x652de13
mov ecx, dword [ebp - 0x24c]
cmp ecx, 7
jbe 0x652dde9
mov edx, dword [ebp - 0x260]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652dddf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed09
push ecx
push edx
call fcn.065585a2
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 0x652de53
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652de49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed09
push ecx
push edx
call fcn.065585a2
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 0x652deb4
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652deaa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed09
push ecx
push edx
call fcn.065585a2
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 0x652df15
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652df0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed09
push ecx
push edx
call fcn.065585a2
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x652df59
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652df4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed09
push ecx
push edx
call fcn.065585a2
add esp, 8
push 0x16
mov edx, 0x6590c94
lea ecx, [ebp - 0x5a4]
call fcn.0652d7f0
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 0x652dfa0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.0652bb10
push esi
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 7
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.0652c6b0
push 0x65889b4
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x570]
call fcn.0652b7f0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x652e06c
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x652e042
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e038
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed0e
push ecx
push edx
call fcn.065585a2
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 0x652e0ac
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e0a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed0e
push ecx
push edx
call fcn.065585a2
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 0x652e10d
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e103
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed0e
push ecx
push edx
call fcn.065585a2
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 0x652e16e
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e164
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed0e
push ecx
push edx
call fcn.065585a2
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x652e659
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e64f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed0e
jmp 0x652e64f
mov edx, 0x6590c60
call fcn.0652d7f0
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 0x652e1f1
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.0652bb10
push esi
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 0xa
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.0652c6b0
push 0x65889b4
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x570]
call fcn.0652b7f0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x260]
cmp eax, esi
je 0x652e2bd
mov ecx, dword [ebp - 0x24c]
cmp ecx, 7
jbe 0x652e293
mov edx, dword [ebp - 0x260]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e289
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed13
push ecx
push edx
call fcn.065585a2
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 0x652e2fd
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e2f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed13
push ecx
push edx
call fcn.065585a2
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 0x652e35e
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e354
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed13
push ecx
push edx
call fcn.065585a2
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 0x652e3bf
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e3b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed13
push ecx
push edx
call fcn.065585a2
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x652e403
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e3f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed13
push ecx
push edx
call fcn.065585a2
add esp, 8
push 0x16
mov edx, 0x6590cac
lea ecx, [ebp - 0x5a4]
call fcn.0652d7f0
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 0x652e447
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.0652bb10
push esi
lea eax, [ebp - 0x558]
mov byte [ebp - 4], 0xd
push eax
push dword [ebp - 0x540]
lea ecx, [ebp - 0x588]
call fcn.0652c6b0
push 0x65889b4
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x570]
call fcn.0652b7f0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x230]
cmp eax, esi
je 0x652e513
mov ecx, dword [ebp - 0x21c]
cmp ecx, 7
jbe 0x652e4e9
mov edx, dword [ebp - 0x230]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e4df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed18
push ecx
push edx
call fcn.065585a2
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 0x652e553
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e549
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed18
push ecx
push edx
call fcn.065585a2
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 0x652e5b4
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e5aa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed18
push ecx
push edx
call fcn.065585a2
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 0x652e615
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e60b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed18
push ecx
push edx
call fcn.065585a2
add esp, 8
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x590]
cmp ecx, 7
jbe 0x652e659
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e64f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed18
push ecx
push edx
call fcn.065585a2
add esp, 8
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x26c], 0
push 0x6588948
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x268], 0
movups xmmword [ebp - 0x27c], xmm0
call fcn.0652bb10
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x248]
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x238], 0
push 0x6588948
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x234], 0
call fcn.0652bb10
push 2
mov edx, 0x6590c74
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x5a4]
call fcn.0652d7f0
push 0x65889b4
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x570]
call fcn.0652b7f0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x27c]
cmp eax, esi
je 0x652e762
mov ecx, dword [ebp - 0x268]
cmp ecx, 7
jbe 0x652e738
mov edx, dword [ebp - 0x27c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e72e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed1d
push ecx
push edx
call fcn.065585a2
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 0x652e7a2
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e798
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed1d
push ecx
push edx
call fcn.065585a2
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 0x652e803
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652e7f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed1d
push ecx
push edx
call fcn.065585a2
add esp, 8
push 0xa
mov edx, 0x6590c78
lea ecx, [ebp - 0x5d8]
call fcn.0652d7f0
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 0x652e850
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x570]
call fcn.0652bb10
mov byte [ebp - 4], 0x13
mov eax, 0x7ffffffe
mov edx, dword [ebp - 0x220]
sub eax, edx
cmp eax, 1
jb 0x652ed22
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 0x652e97a
mov esi, ecx
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x652e8fb
mov eax, 0x7fffffff
mov esi, 0x7ffffffe
add eax, eax
jmp 0x652e91c
mov eax, 0xa
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x7fffffff
ja 0x652ed2c
add eax, eax
cmp eax, 0x1000
jb 0x652e94f
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x652ed2c
push ecx
call fcn.065585d3
add esp, 4
test eax, eax
je 0x652ed27
mov ecx, dword [ebp - 0x58c]
lea edi, [eax + 0x23]
mov edx, dword [ebp - 0x220]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x652e96e
test eax, eax
je 0x652e96c
push eax
call fcn.065585d3
mov ecx, dword [ebp - 0x58c]
add esp, 4
mov edx, dword [ebp - 0x220]
mov edi, eax
jmp 0x652e96e
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.06559c30
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.0652c6b0
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.0652c6b0
push 0x65889b4
lea edx, [ebp - 0x588]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x5c0]
call fcn.0652b7f0
mov esi, eax
add esp, 4
lea eax, [ebp - 0x248]
cmp eax, esi
je 0x652ea9d
mov ecx, dword [ebp - 0x234]
cmp ecx, 7
jbe 0x652ea5c
mov edx, dword [ebp - 0x248]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652ea52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
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 0x652eadd
mov edx, dword [ebp - 0x5c0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652ead3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
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 0x652eb3a
mov edx, dword [ebp - 0x588]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652eb30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
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 0x652eb97
mov edx, dword [ebp - 0x5a4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652eb8d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
add esp, 8
mov ecx, dword [ebp - 0x544]
cmp ecx, 7
jbe 0x652ebd7
mov edx, dword [ebp - 0x558]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652ebcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
add esp, 8
mov ecx, dword [ebp - 0x55c]
cmp ecx, 7
jbe 0x652ec17
mov edx, dword [ebp - 0x570]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652ec0d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
add esp, 8
mov ecx, dword [ebp - 0x5c4]
cmp ecx, 7
jbe 0x652ec57
mov edx, dword [ebp - 0x5d8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x652ec4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x652ed27
push ecx
push edx
call fcn.065585a2
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.0655a1b0
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 0x652ecc8
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.065585a2
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.06558594
mov esp, ebp
pop ebp
ret 0xc
call fcn.0655d38a
call fcn.0655d38a
call fcn.0655d38a
call fcn.0655d38a
call fcn.0655d38a
call fcn.0655d38a
call fcn.06521330
call fcn.0655d38a
call fcn.06521260
int3