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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov r12, r8
mov ebx, edx
mov rdi, rcx
test dl, 0xf
jne 0x14028f609
cmp edx, 0x10
jb 0x14028f609
lea r13d, [rdx - 0x10]
cmp dword [r9], r13d
jb 0x14028f609
xor r14d, r14d
mov qword [rsp + 0x1c0], r15
mov esi, r14d
mov dword [rbp + 0xb8], r14d
call fcn.1402a06f0
test byte [rax + 5], 0x20
je 0x14028f3ff
cmp ebx, 0x50
jb 0x14028f3ff
mov rcx, qword [rbp + 0xd0]
lea r9, [rbp + 0xb8]
lea r8, [rsp + 0x40]
mov dl, 1
call fcn.14028f620
test al, al
je 0x14028f3ff
mov r15, qword [rbp + 0xd8]
cmp r13d, 0x3f
jbe 0x14028f3de
mov r8d, dword [rbp + 0xb8]
movdqu xmm5, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x150], xmm7
lea eax, [r8*4]
movaps xmmword [rsp + 0x140], xmm8
movsxd rcx, eax
movaps xmmword [rsp + 0x130], xmm9
movdqu xmm9, xmmword [rsp + rcx*4 + 0x40]
nop dword [rax + rax]
mov r9d, esi
movdqa xmm1, xmm5
movdqa xmm2, xmm5
movdqa xmm3, xmm5
movdqa xmm4, xmm5
movdqu xmm6, xmmword [r9 + rdi]
movdqu xmm7, xmmword [r9 + rdi + 0x10]
pxor xmm1, xmm6
pxor xmm2, xmm7
movdqu xmm8, xmmword [r9 + rdi + 0x20]
movdqu xmm0, xmmword [r9 + rdi + 0x30]
pxor xmm3, xmm8
pxor xmm4, xmm0
cmp r8d, 1
jle 0x14028f352
lea rcx, [rsp + 0x50]
lea edx, [r8 - 1]
nop
movdqu xmm0, xmmword [rcx]
lea rcx, [rcx + 0x10]
aesdec xmm1, xmm0
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
sub rdx, 1
jne 0x14028f330
movdqu xmm0, xmmword [r15]
add esi, 0x40
lea r15, [rsp + 0x30]
aesdeclast xmm1, xmm9
pxor xmm1, xmm0
aesdeclast xmm2, xmm9
pxor xmm2, xmm6
lea eax, [rsi + 0x3f]
movdqu xmmword [r9 + r12], xmm1
movdqu xmmword [r9 + r12 + 0x10], xmm2
movdqu xmm0, xmmword [r9 + rdi + 0x30]
aesdeclast xmm3, xmm9
pxor xmm3, xmm7
aesdeclast xmm4, xmm9
pxor xmm4, xmm8
movdqu xmmword [rsp + 0x30], xmm0
movdqu xmmword [r9 + r12 + 0x20], xmm3
movdqu xmmword [r9 + r12 + 0x30], xmm4
cmp eax, r13d
jb 0x14028f2e0
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm8, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm6, xmmword [rsp + 0x160]
mov ecx, 0xf0
lea rax, [rsp + 0x40]
nop dword [rax + rax]
mov byte [rax], r14b
lea rax, [rax + 1]
sub rcx, 1
jne 0x14028f3f0
jmp 0x14028f406
mov r15, qword [rbp + 0xd8]
cmp esi, r13d
jae 0x14028f471
mov r14, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xd0]
lea rdx, [rsp + 0x20]
mov edi, esi
lea rbx, [rdi + r14]
mov rcx, rbx
call fcn.140353f00
mov rax, qword [rbx]
add esi, 0x10
mov rdx, qword [rsp + 0x20]
xor rdx, qword [r15]
mov rcx, qword [rsp + 0x28]
xor rcx, qword [r15 + 8]
lea r15, [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x38], rax
mov qword [rdi + r12], rdx
mov qword [rdi + r12 + 8], rcx
cmp esi, r13d
jb 0x14028f412
mov rdi, qword [rbp + 0xb0]
xor r14d, r14d
cmp esi, r13d
je 0x14028f490
lea r8, str.nDecrypted__cubEncryptedData___k_nSymmetricBlockSize
mov edx, 0x1b3
lea rcx, str.c:_buildslave_steam_rel_client_hotfix_win64_build_srccommoncrypto_aescbc_openssl.cpp
call fcn.14029bf90
test al, al
jne 0x14028f490
int3
mov r8, qword [rbp + 0xd0]
lea rdx, [rsp + 0x20]
mov ebx, esi
lea rcx, [rbx + rdi]
call fcn.140353f00
lea rax, [r15 + 0xf]
lea rcx, [rsp + 0x20]
cmp rcx, rax
ja 0x14028f4ea
lea rax, [rsp + 0x2f]
cmp rax, r15
jb 0x14028f4ea
mov rdx, r14
cmp r14, 0x10
jae 0x14028f4ff
lea rax, [rsp + 0x20]
sub r15, rax
lea rcx, [rsp + 0x20]
add rcx, rdx
inc rdx
movzx eax, byte [rcx + r15]
xor byte [rcx], al
cmp rdx, 0x10
jl 0x14028f4d0
jmp 0x14028f4ff
movdqu xmm1, xmmword [rsp + 0x20]
movdqu xmm0, xmmword [r15]
pxor xmm1, xmm0
movdqu xmmword [rsp + 0x20], xmm1
cmp byte [rbp + 0xe0], 0
movzx r9d, byte [rsp + 0x2f]
mov r15, qword [rsp + 0x1c0]
je 0x14028f593
lea r8d, [r9 - 1]
mov eax, 0x1fffe
lea ecx, [r9 - 1]
and r8b, 0xf0
and ecx, 0xf
mov r10, r14
shl eax, cl
nop
mov ecx, eax
movzx edx, r9b
xor dl, byte [rsp + r10 + 0x20]
add eax, eax
sar ecx, 0x1f
and dl, cl
mov ecx, eax
or r8b, dl
sar ecx, 0x1f
add eax, eax
movzx edx, r9b
xor dl, byte [rsp + r10 + 0x21]
and dl, cl
mov ecx, eax
or r8b, dl
sar ecx, 0x1f
add eax, eax
movzx edx, r9b
xor dl, byte [rsp + r10 + 0x22]
and dl, cl
mov ecx, eax
or r8b, dl
sar ecx, 0x1f
movzx edx, r9b
add eax, eax
xor dl, byte [rsp + r10 + 0x23]
add r10, 4
and dl, cl
or r8b, dl
cmp r10, 0x10
jl 0x14028f530
test r8b, r8b
jne 0x14028f609
dec r9b
mov ecx, esi
and r9b, 0xf
inc r9b
movzx r8d, r9b
mov r9, qword [rbp + 0xc8]
sub ecx, r8d
add ecx, 0x10
mov edx, dword [r9]
cmp edx, ecx
jb 0x14028f609
lea eax, [rsi + 0x10]
cmp edx, eax
jb 0x14028f5cc
movups xmm0, xmmword [rsp + 0x20]
mov esi, ecx
movups xmmword [rbx + r12], xmm0
jmp 0x14028f5f6
mov edx, reloc.WS2_32.dll_recv
sub rdx, r8
test rdx, rdx
jle 0x14028f5f6
nop dword [rax]
movzx eax, byte [rsp + r14 + 0x20]
inc r14
mov ecx, esi
inc esi
mov byte [rcx + r12], al
cmp r14, rdx
jl 0x14028f5e0
cmp dword [r9], esi
jbe 0x14028f602
mov eax, esi
mov byte [rax + r12], 0
mov dword [r9], esi
mov al, 1
jmp 0x14028f60b
xor al, al
add rsp, 0x170
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret