Function at 0x4aee90
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
mov eax, dword [0x53c158]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x80]
lea eax, [esp + 0x64]
push edi
mov edi, dword [esp + 0x80]
push esi
push eax
mov dword [edi + 0xf0], 0xe
call fcn.004ae4b0
movups xmm0, xmmword [esp + 0x70]
lea eax, [esi + 0x10]
push eax
lea eax, [esp + 0x64]
push eax
movups xmmword [edi], xmm0
call fcn.004ae4b0
movups xmm4, xmmword [esp + 0x68]
mov ebx, 2
lea ebp, [edi + 0x20]
add esp, 0x10
mov dword [esp + 0x10], ebx
movups xmmword [edi + 0x10], xmm4
mov dword [esp + 0x14], ebp
nop word [eax + eax]
movd ecx, xmm4
movaps xmm0, xmm4
psrldq xmm0, 4
xorps xmm1, xmm1
movups xmmword [esp + 0x18], xmm1
mov edx, ecx
shr edx, 1
and edx, 0x55555555
xor dword [esp + 0x1c], edx
movups xmmword [esp + 0x28], xmm1
lea eax, [edx + edx]
psrldq xmm1, 4
mov edx, dword [esp + 0x24]
xor eax, ecx
movd ecx, xmm0
movaps xmm0, xmm4
mov dword [esp + 0x18], eax
psrldq xmm0, 8
mov esi, ecx
shr esi, 1
xor esi, edx
and esi, 0x55555555
xor edx, esi
mov dword [esp + 0x24], edx
movd edx, xmm0
movaps xmm0, xmm4
lea eax, [esi + esi]
psrldq xmm0, 0xc
xor eax, ecx
movd ecx, xmm1
mov esi, edx
mov dword [esp + 0x20], eax
shr esi, 1
xor esi, ecx
and esi, 0x55555555
xor ecx, esi
mov dword [esp + 0x2c], ecx
movd ecx, xmm0
lea eax, [esi + esi]
xor eax, edx
mov edx, dword [esp + 0x34]
mov esi, ecx
mov dword [esp + 0x28], eax
shr esi, 1
xor esi, edx
and esi, 0x55555555
xor edx, esi
mov dword [esp + 0x34], edx
lea eax, [esi + esi]
xor eax, ecx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x18]
push eax
call fcn.004af3a0
mov eax, dword [esp + 0x20]
add esp, 4
mov edi, dword [esp + 0x18]
add eax, eax
mov esi, dword [esp + 0x20]
xor eax, edi
mov edx, dword [esp + 0x28]
and eax, 0xaaaaaaaa
xor edi, eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
add eax, eax
mov dword [esp + 0x58], edi
xor eax, esi
and eax, 0xaaaaaaaa
xor esi, eax
mov eax, dword [esp + 0x2c]
add eax, eax
mov dword [esp + 0x5c], esi
xor eax, edx
and eax, 0xaaaaaaaa
xor edx, eax
mov eax, dword [esp + 0x34]
add eax, eax
xor eax, ecx
and eax, 0xaaaaaaaa
xor ecx, eax
mov eax, ebx
mov dword [esp + 0x64], ecx
shr eax, 1
mov dword [esp + 0x60], edx
mov cl, byte [eax + 0x50120f]
xor eax, eax
movzx edi, cl
mov edx, dword [esp + eax*4 + 0x58]
mov cl, al
add cl, cl
mov esi, edi
shr esi, cl
mov ecx, edx
and ecx, 0x3000000
shr edx, 8
or ecx, edx
and esi, 3
shr ecx, 0x12
xor esi, ecx
xor esi, dword [esp + eax*4 + 0x68]
mov ecx, esi
shl ecx, 8
xor ecx, esi
shl ecx, 8
xor ecx, esi
shl ecx, 8
xor ecx, esi
mov dword [esp + eax*4 + 0x68], ecx
inc eax
cmp eax, 4
jb 0x4af026
movups xmm0, xmmword [esp + 0x68]
movups xmmword [ebp], xmm0
cmp ebx, 0xe
je 0x4af1f8
mov edx, dword [esp + 0x68]
xorps xmm0, xmm0
mov esi, dword [esp + 0x6c]
shr edx, 1
and edx, 0x55555555
shr esi, 1
movups xmmword [esp + 0x38], xmm0
xor dword [esp + 0x3c], edx
movups xmmword [esp + 0x48], xmm0
lea eax, [edx + edx]
mov edx, dword [esp + 0x44]
xor esi, edx
psrldq xmm0, 4
xor eax, dword [esp + 0x68]
and esi, 0x55555555
xor edx, esi
mov dword [esp + 0x38], eax
movd ecx, xmm0
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x54]
lea eax, [esi + esi]
mov esi, dword [esp + 0x70]
xor eax, dword [esp + 0x6c]
shr esi, 1
xor esi, ecx
mov dword [esp + 0x40], eax
and esi, 0x55555555
xor ecx, esi
mov dword [esp + 0x4c], ecx
lea eax, [esi + esi]
mov esi, dword [esp + 0x74]
xor eax, dword [esp + 0x70]
shr esi, 1
xor esi, edx
mov dword [esp + 0x48], eax
and esi, 0x55555555
xor edx, esi
mov dword [esp + 0x54], edx
lea eax, [esi + esi]
xor eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x38]
push eax
call fcn.004af3a0
mov ebp, dword [esp + 0x3c]
add esp, 4
mov ecx, dword [esp + 0x3c]
mov edx, ebp
mov ebx, dword [esp + 0x40]
shr edx, 1
xor edx, ecx
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
and edx, 0x55555555
mov esi, dword [esp + 0x50]
lea eax, [edx + edx]
mov edx, ebx
shr edx, 1
xor ebp, eax
xor edx, ecx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x4c]
and edx, 0x55555555
lea eax, [edx + edx]
mov edx, edi
shr edx, 1
xor ebx, eax
xor edx, ecx
mov dword [esp + 0x5c], ebx
mov ecx, dword [esp + 0x54]
and edx, 0x55555555
lea eax, [edx + edx]
mov edx, esi
shr edx, 1
xor edi, eax
xor edx, ecx
mov dword [esp + 0x60], edi
and edx, 0x55555555
lea eax, [edx + edx]
xor esi, eax
mov dword [esp + 0x64], esi
movups xmm2, xmmword [esp + 0x58]
mov ebp, dword [esp + 0x14]
mov eax, 0x18
mov ebx, dword [esp + 0x10]
add ebx, 2
mov dword [esp + 0x10], ebx
movd xmm3, eax
mov eax, 8
psrld xmm2, xmm3
pxor xmm2, xmm4
movd xmm0, eax
movaps xmm4, xmm2
mov eax, 0x10
movaps xmm1, xmm2
pslld xmm4, xmm0
pxor xmm4, xmm2
movd xmm0, eax
pslld xmm1, xmm0
pslld xmm2, xmm3
pxor xmm4, xmm1
pxor xmm4, xmm2
movups xmmword [ebp + 0x10], xmm4
add ebp, 0x20
mov dword [esp + 0x14], ebp
cmp ebx, 0xe
jbe 0x4aef00
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b9fa8
add esp, 0x6c
ret