Function at 0x62b9dc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea esi, [ebp + 3]
mov eax, ecx
and esi, 0xfffffffc
mov edx, esi
sub edx, ebp
sub eax, edx
jb 0x62b9de8
cmp eax, 4
jae 0x62b9e94
xor ebx, ebx
test ecx, ecx
je 0x62ba17c
cmp ecx, 8
mov edx, 0
jb 0x62b9e75
movdqa xmm2, xmmword [0x6316540]
movdqa xmm3, xmmword [0x6316550]
mov edx, ecx
lea eax, [ebp + 4]
pxor xmm0, xmm0
pxor xmm1, xmm1
and edx, 0xfffffff8
mov edi, edx
nop
movd xmm4, dword [eax - 4]
movd xmm5, dword [eax]
add eax, 8
add edi, 0xfffffff8
pcmpgtb xmm4, xmm2
pcmpgtb xmm5, xmm2
pmovzxbd xmm4, xmm4
pmovzxbd xmm5, xmm5
pand xmm4, xmm3
pand xmm5, xmm3
paddd xmm0, xmm4
paddd xmm1, xmm5
jne 0x62b9e20
paddd xmm1, xmm0
cmp edx, ecx
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd ebx, xmm1
je 0x62ba17c
sub ecx, edx
add ebp, edx
nop dword [eax]
xor eax, eax
cmp byte [ebp], 0xc0
setge al
inc ebp
add ebx, eax
dec ecx
jne 0x62b9e80
jmp 0x62ba17c
mov ecx, eax
xor edi, edi
mov dword [esp], edx
and ecx, 3
cmp esi, ebp
mov dword [esp + 4], ecx
mov ecx, 0
je 0x62b9ece
mov ebx, ebp
xor ecx, ecx
sub ebx, esi
mov esi, ebp
nop word cs:[eax + eax]
nop dword [eax]
xor edx, edx
cmp byte [esi], 0xc0
setge dl
inc esi
add ecx, edx
inc ebx
jne 0x62b9ec0
mov esi, ecx
mov ecx, dword [esp + 4]
add ebp, dword [esp]
test ecx, ecx
je 0x62b9efe
mov edx, eax
xor edi, edi
and edx, 0xfffffffc
add edx, ebp
nop word cs:[eax + eax]
nop
xor ebx, ebx
cmp byte [edx], 0xc0
setge bl
inc edx
add edi, ebx
dec ecx
jne 0x62b9ef0
movdqa xmm2, xmmword [0x6316530]
add edi, esi
shr eax, 2
pcmpeqd xmm7, xmm7
jmp 0x62b9f57
mov ebp, dword [esp]
nop word cs:[eax + eax]
nop
mov eax, edx
shr edx, 8
and eax, 0xff00ff
and edx, 0xff00ff
add edx, eax
mov eax, dword [esp + 4]
mov edi, edx
shl edi, 0x10
add edi, edx
mov edx, ebp
shr edi, 0x10
lea ebp, [ebp + eax*4]
add edi, ebx
mov ebx, eax
mov eax, ecx
sub eax, ebx
test bl, 3
jne 0x62ba112
mov ebx, edi
test eax, eax
je 0x62ba17c
mov ecx, eax
cmp eax, 0xc0
mov esi, 0xc0
cmovb esi, ecx
xor edx, edx
cmp ecx, 4
mov dword [esp + 4], esi
jb 0x62b9f20
mov esi, dword [esp + 4]
xor edx, edx
mov edi, ebp
shr esi, 2
lea eax, [esi - 1]
and eax, 0xfffffff
cmp eax, 3
jb 0x62ba0c6
inc eax
pxor xmm4, xmm4
mov dword [esp], ebp
mov edx, ebp
mov dword [esp + 8], eax
and eax, 0xfffffffc
mov edi, eax
mov ebp, eax
shl edi, 4
nop
movdqu xmm2, xmmword [edx]
movdqu xmm1, xmmword [edx + 0x20]
movdqu xmm0, xmmword [edx + 0x30]
movdqu xmm5, xmmword [edx + 0x10]
add edx, 0x40
add ebp, 0xfffffffc
movdqa xmm6, xmm2
pshufd xmm3, xmm2, 0x55
movdqa xmm7, xmm1
punpckhdq xmm2, xmm5
punpckldq xmm6, xmm5
punpckldq xmm7, xmm0
pblendw xmm3, xmm5, 0xc
pshufd xmm5, xmm0, 0xaa
pblendw xmm5, xmm1, 0x3f
punpcklqdq xmm6, xmm7
punpckhdq xmm1, xmm0
pblendw xmm3, xmm7, 0xf0
pcmpeqd xmm7, xmm7
movdqa xmm0, xmm6
pblendw xmm5, xmm2, 0xf
punpckhqdq xmm2, xmm1
movdqa xmm1, xmmword [0x6316530]
psrld xmm6, 6
pxor xmm0, xmm7
psrld xmm0, 7
por xmm6, xmm0
pand xmm6, xmm1
paddd xmm6, xmm4
movdqa xmm4, xmm3
psrld xmm3, 6
pxor xmm4, xmm7
psrld xmm4, 7
por xmm3, xmm4
movdqa xmm4, xmm2
psrld xmm2, 6
pand xmm3, xmm1
pxor xmm4, xmm7
paddd xmm3, xmm6
movdqa xmm6, xmm5
psrld xmm4, 7
psrld xmm5, 6
pxor xmm6, xmm7
por xmm2, xmm4
psrld xmm6, 7
pand xmm2, xmm1
por xmm5, xmm6
pand xmm5, xmm1
paddd xmm2, xmm5
movdqa xmm4, xmm2
paddd xmm4, xmm3
jne 0x62b9fb0
pshufd xmm0, xmm4, 0xee
movdqa xmm2, xmmword [0x6316530]
cmp dword [esp + 8], eax
paddd xmm0, xmm4
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd edx, xmm1
je 0x62b9f11
mov ebp, dword [esp]
add edi, ebp
shl esi, 4
add esi, ebp
nop dword [eax + eax]
movdqu xmm0, xmmword [edi]
add edi, 0x10
movdqa xmm1, xmm0
psrld xmm0, 6
pxor xmm1, xmm7
psrld xmm1, 7
por xmm0, xmm1
pand xmm0, xmm2
pshufd xmm1, xmm0, 0xee
paddd xmm1, xmm0
pshufd xmm0, xmm1, 0x55
paddd xmm0, xmm1
movd eax, xmm0
add edx, eax
cmp edi, esi
jne 0x62ba0d0
jmp 0x62b9f20
and ebx, 0xfc
cmp ecx, 0xc0
lea eax, [edx + ebx*4]
mov edx, 0xc0
cmovb edx, ecx
xor ecx, ecx
and edx, 3
shl edx, 2
nop word cs:[eax + eax]
nop dword [eax + eax]
mov esi, dword [eax]
add eax, 4
mov ebx, esi
shr esi, 6
not ebx
shr ebx, 7
or esi, ebx
and esi, 0x1010101
add ecx, esi
add edx, 0xfffffffc
jne 0x62ba140
mov eax, ecx
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
add ecx, eax
mov ebx, ecx
shl ebx, 0x10
add ebx, ecx
shr ebx, 0x10
add ebx, edi
mov eax, ebx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret