Function at 0x4cbfd0
Capabilities:
Decrypt data using aes via x86 extensions
Encode data using xor

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
mov eax, dword [ebx + 0xc]
sub esp, 0x158
push esi
push edi
test al, 0xf
jne 0x4cc3bd
cmp eax, 0x10
jb 0x4cc3bd
lea esi, [eax - 0x10]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x14], esi
cmp dword [eax], esi
jb 0x4cc3bd
xor edi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
call fcn.00542550
test byte [eax + 5], 0x20
je 0x4cc18d
cmp dword [ebx + 0xc], 0x50
jb 0x4cc18d
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x150]
push eax
push 1
push dword [ebx + 0x18]
call fcn.004cc3d0
add esp, 0x10
test al, al
je 0x4cc18d
cmp esi, 0x3f
jbe 0x4cc16e
mov eax, dword [ebp - 4]
mov edx, dword [ebx + 0x10]
add eax, eax
mov ecx, dword [ebx + 8]
movups xmm6, xmmword [ebp - 0x150]
movups xmm5, xmmword [ebp + eax*8 - 0x150]
lea eax, [edx + 0x20]
sub edx, ecx
mov dword [ebp - 0x2c], edx
mov edx, 0xf
sub edx, ecx
mov dword [ebp - 8], eax
lea eax, [ecx + 0x30]
mov dword [ebp - 0x18], edx
mov edx, dword [ebx + 0x1c]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], eax
jmp 0x4cc0a0
cmp dword [ebp - 4], 1
movups xmm0, xmmword [eax - 0x20]
movups xmm7, xmmword [eax - 0x30]
movups xmm4, xmmword [eax]
movaps xmm2, xmm0
movaps xmmword [ebp - 0x50], xmm0
movups xmm0, xmmword [eax - 0x10]
movaps xmm1, xmm7
xorps xmm2, xmm6
movaps xmm3, xmm0
xorps xmm1, xmm6
movups xmmword [ebp - 0x60], xmm0
xorps xmm3, xmm6
xorps xmm4, xmm6
jle 0x4cc106
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x140]
dec ecx
lea esp, [esp]
lea eax, [eax + 0x10]
movups xmm0, xmmword [eax - 0x10]
aesdec xmm1, xmm0
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
sub ecx, 1
jne 0x4cc0e0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
movups xmm0, xmmword [edx]
mov edx, dword [ebp - 0x2c]
add edi, 0x40
aesdeclast xmm1, xmm5
xorps xmm1, xmm0
movups xmmword [ecx - 0x20], xmm1
aesdeclast xmm2, xmm5
xorps xmm2, xmm7
movups xmmword [ecx - 0x10], xmm2
aesdeclast xmm3, xmm5
movups xmm0, xmmword [eax]
aesdeclast xmm4, xmm5
xorps xmm3, xmmword [ebp - 0x50]
xorps xmm4, xmmword [ebp - 0x60]
movups xmmword [ecx], xmm3
add ecx, 0x40
movups xmmword [edx + eax], xmm4
add eax, 0x40
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
lea edx, [ebp - 0x3c]
add eax, dword [ebp - 0x18]
cmp eax, esi
mov eax, dword [ebp - 0x10]
movups xmmword [ebp - 0x3c], xmm0
jb 0x4cc0a0
mov dword [ebp - 4], edx
mov esi, edx
mov dword [ebp - 8], edi
jmp 0x4cc174
mov esi, dword [ebx + 0x1c]
mov dword [ebp - 4], esi
mov ecx, 0xf0
lea eax, [ebp - 0x150]
nop
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4cc180
jmp 0x4cc193
mov esi, dword [ebx + 0x1c]
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x14]
cmp edi, eax
jae 0x4cc23a
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 8]
lea eax, [edx + 8]
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x18], eax
push dword [ebx + 0x18]
lea eax, [ebp - 0x28]
lea esi, [edi + ecx]
push eax
push esi
call fcn.005f0300
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x20]
xor eax, dword [ecx]
xor edi, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
xor edx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 4]
xor eax, dword [ebp - 0x24]
mov ecx, dword [esi + 4]
mov dword [ebp - 4], eax
mov eax, dword [esi]
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [esi], edi
mov edi, dword [ebp - 8]
mov dword [esi - 8], eax
add edi, 0x10
mov eax, dword [ebp - 4]
mov dword [esi - 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esi + 4], edx
lea edx, [ebp - 0x3c]
add esi, 0x10
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 4], edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], esi
cmp edi, eax
jb 0x4cc1b3
mov esi, edx
je 0x4cc258
push str.nDecrypted__cubEncryptedData___k_nSymmetricBlockSize
push 0x1b3
push str.C:_buildworker_steam_rel_client_win32_build_srccommoncrypto_aescbc_openssl.cpp
call fcn.0053aea0
add esp, 0xc
test al, al
jne 0x4cc258
int3
push dword [ebx + 0x18]
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 8]
add eax, edi
push eax
call fcn.005f0300
lea eax, [ebp - 0x28]
add esp, 0xc
sub eax, esi
lea edx, [ebp - 0x27]
mov dword [ebp - 0x14], eax
lea ecx, [esi + 2]
mov edi, dword [ebp - 0x14]
mov eax, edx
sub eax, esi
mov esi, 4
mov dword [ebp - 0x18], eax
lea ebx, [ebx]
mov al, byte [ecx - 2]
lea ecx, [ecx + 4]
xor byte [edx - 1], al
mov al, byte [ecx - 5]
xor byte [edx], al
add edx, 4
mov al, byte [ecx - 4]
xor byte [edi + ecx - 4], al
mov edi, dword [ebp - 0x18]
mov al, byte [ecx - 3]
xor byte [edi + ecx - 4], al
mov edi, dword [ebp - 0x14]
sub esi, 1
jne 0x4cc290
cmp byte [ebx + 0x20], 0
mov edi, dword [ebp - 8]
je 0x4cc33d
movzx ecx, byte [ebp - 0x19]
mov eax, 0x1fffe
mov dh, byte [ebp - 0x19]
dec ecx
dec dh
and ecx, 0xf
mov byte [ebp - 9], dh
and dh, 0xf0
shl eax, cl
xor esi, esi
nop
mov dl, byte [ebp + esi - 0x28]
mov ecx, eax
xor dl, byte [ebp - 0x19]
add eax, eax
sar ecx, 0x1f
and dl, cl
mov ecx, eax
or dh, dl
sar ecx, 0x1f
mov dl, byte [ebp + esi - 0x27]
add eax, eax
xor dl, byte [ebp - 0x19]
and dl, cl
mov ecx, eax
or dh, dl
sar ecx, 0x1f
mov dl, byte [ebp + esi - 0x26]
add eax, eax
xor dl, byte [ebp - 0x19]
and dl, cl
mov ecx, eax
or dh, dl
sar ecx, 0x1f
mov dl, byte [ebp + esi - 0x25]
add eax, eax
xor dl, byte [ebp - 0x19]
add esi, 4
and dl, cl
or dh, dl
cmp esi, 0x10
jl 0x4cc2e0
test dh, dh
jne 0x4cc3bd
mov al, byte [ebp - 9]
jmp 0x4cc342
mov al, byte [ebp - 0x19]
dec al
and al, 0xf
mov esi, edi
inc al
movzx ecx, al
mov eax, dword [ebx + 0x14]
sub esi, ecx
add esi, 0x10
mov edx, dword [eax]
cmp edx, esi
jb 0x4cc3bd
lea eax, [edi + 0x10]
cmp edx, eax
jb 0x4cc382
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebp - 0x28]
mov dword [edi + ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [edi + ecx + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + ecx + 8], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + ecx + 0xc], eax
mov edi, esi
jmp 0x4cc3a5
mov esi, 0x10
sub esi, ecx
test esi, esi
jle 0x4cc3a2
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x28]
push esi
add eax, edi
push ecx
push eax
call fcn.00553b80
add esp, 0xc
add edi, esi
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
cmp dword [eax], edi
jbe 0x4cc3b0
mov byte [edi + ecx], 0
mov dword [eax], edi
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret