Function at 0x4a9f30
Capabilities:
Encode data using xor
Encrypt data using aes

Disassembly:
push 0xffffffffffffffff
push 0x4c2f9b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
mov ebx, ecx
push esi
push edi
mov dword [esp + 0x10], ebx
mov dword [ebx], vtable.CryptoPP::BlockTransformation.0
mov dword [esp + 0x1c], 0
mov dword [ebx], vtable.CryptoPP::FixedBlockSize_16_.0
mov dword [esp + 0x1c], 1
mov edi, dword [esp + 0x28]
mov ebp, edi
shr ebp, 2
lea eax, [ebp + 6]
mov dword [ebx + 4], eax
lea eax, [eax*4 + 4]
xor ecx, ecx
mov dword [ebx], vtable.CryptoPP::Rijndael.0
mov dword [ebx + 8], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004606ba
mov dword [ebx + 0xc], eax
mov byte [esp + 0x20], 2
mov eax, dword [esp + 0x28]
mov esi, dword [ebx + 0xc]
push edi
push eax
push esi
call fcn.0048aad0
lea ecx, [ebp*4]
sub ecx, edi
push ecx
lea edx, [esi + edi]
push 0
push edx
call fcn.00488650
push edi
push esi
push esi
call fcn.0042b950
add esp, 0x28
cmp edi, 0x10
je 0x4aa278
cmp edi, 0x18
je 0x4aa164
cmp edi, 0x20
jne 0x4aa370
mov ecx, dword [esi + 0x1c]
mov edx, ecx
shr edx, 0x10
movzx eax, ch
mov eax, dword [eax*4 + str.ccccwwww]
and edx, 0xff
mov edx, dword [edx*4 + str.ccccwwww]
and eax, 0xff0000
and edx, 0xff000000
xor eax, edx
mov edx, ecx
shr edx, 0x18
movzx edx, byte [edx*4 + str.ccccwwww]
and ecx, 0xff
mov ecx, dword [ecx*4 + str.ccccwwww]
xor eax, edx
mov edx, dword [esi + 0xc]
and ecx, 0xff00
xor eax, ecx
xor eax, dword [esi]
mov ecx, dword [esi + 4]
xor eax, dword [0x4dc888]
xor ecx, eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 8]
xor eax, ecx
xor edx, eax
mov dword [esi + 0x2c], edx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], eax
lea edx, [edi - 0x1c]
lea esp, [esp]
mov ecx, dword [esi + 0x2c]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov eax, dword [eax*4 + str.ccccwwww]
movzx edi, ch
mov edi, dword [edi*4 + str.ccccwwww]
and eax, 0xff0000
and edi, 0xff00
xor eax, edi
mov edi, ecx
and ecx, 0xff
movzx ecx, byte [ecx*4 + str.ccccwwww]
shr edi, 0x18
mov edi, dword [edi*4 + str.ccccwwww]
and edi, 0xff000000
xor eax, edi
xor eax, ecx
xor eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
xor ecx, eax
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x18]
xor eax, ecx
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x1c]
xor ecx, eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x3c]
add esi, 0x20
mov edi, ecx
movzx eax, ch
mov eax, dword [eax*4 + str.ccccwwww]
shr edi, 0x10
and edi, 0xff
mov edi, dword [edi*4 + str.ccccwwww]
and eax, 0xff0000
and edi, 0xff000000
xor eax, edi
mov edi, ecx
and ecx, 0xff
mov ecx, dword [ecx*4 + str.ccccwwww]
shr edi, 0x18
movzx edi, byte [edi*4 + str.ccccwwww]
xor eax, edi
and ecx, 0xff00
xor eax, ecx
xor eax, dword [edx + 0x4dc888]
add edx, 4
xor eax, dword [esi]
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 4]
xor ecx, eax
mov dword [esi + 0x24], ecx
mov eax, dword [esi + 8]
xor eax, ecx
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0xc]
xor ecx, eax
cmp edx, 0x1c
mov dword [esi + 0x2c], ecx
jne 0x4aa070
jmp 0x4aa370
mov ecx, dword [esi + 0x14]
movzx edx, ch
mov eax, dword [edx*4 + str.ccccwwww]
mov edx, ecx
shr edx, 0x10
and edx, 0xff
mov edx, dword [edx*4 + str.ccccwwww]
and eax, 0xff0000
and edx, 0xff000000
xor eax, edx
mov edx, ecx
shr edx, 0x18
movzx edx, byte [edx*4 + str.ccccwwww]
and ecx, 0xff
mov ecx, dword [ecx*4 + str.ccccwwww]
xor eax, edx
mov edx, dword [esi + 0xc]
and ecx, 0xff00
xor eax, ecx
xor eax, dword [esi]
mov ecx, dword [esi + 4]
xor eax, dword [0x4dc888]
xor ecx, eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 8]
xor eax, ecx
xor edx, eax
mov dword [esi + 0x24], edx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], eax
mov edx, 4
lea esp, [esp]
mov eax, dword [esi + 0x10]
xor eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x14]
xor ecx, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], ecx
mov ecx, dword [esi + 0x2c]
add esi, 0x18
mov edi, ecx
movzx eax, ch
mov eax, dword [eax*4 + str.ccccwwww]
shr edi, 0x10
and edi, 0xff
mov edi, dword [edi*4 + str.ccccwwww]
and eax, 0xff0000
and edi, 0xff000000
xor eax, edi
mov edi, ecx
and ecx, 0xff
mov ecx, dword [ecx*4 + str.ccccwwww]
shr edi, 0x18
movzx edi, byte [edi*4 + str.ccccwwww]
xor eax, edi
and ecx, 0xff00
xor eax, ecx
xor eax, dword [edx + 0x4dc888]
add edx, 4
xor eax, dword [esi]
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 4]
xor ecx, eax
mov dword [esi + 0x1c], ecx
mov eax, dword [esi + 8]
xor eax, ecx
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0xc]
xor ecx, eax
cmp edx, 0x20
mov dword [esi + 0x24], ecx
jne 0x4aa1e0
jmp 0x4aa370
mov ecx, dword [esi + 0xc]
movzx edx, ch
mov eax, dword [edx*4 + str.ccccwwww]
mov edx, ecx
shr edx, 0x10
and edx, 0xff
mov edx, dword [edx*4 + str.ccccwwww]
and edx, 0xff000000
and eax, 0xff0000
xor eax, edx
mov edx, ecx
shr edx, 0x18
movzx edx, byte [edx*4 + str.ccccwwww]
xor eax, edx
mov edx, ecx
and edx, 0xff
mov edx, dword [edx*4 + str.ccccwwww]
and edx, 0xff00
xor eax, edx
xor eax, dword [esi]
mov edx, dword [esi + 4]
xor eax, dword [0x4dc888]
lea edi, [esi + 0x10]
xor edx, eax
mov dword [edi], eax
mov eax, dword [esi + 8]
xor eax, edx
xor ecx, eax
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov esi, 4
mov ecx, edi
mov edx, dword [ecx + 0xc]
mov edi, edx
movzx eax, dh
mov eax, dword [eax*4 + str.ccccwwww]
shr edi, 0x10
and edi, 0xff
mov edi, dword [edi*4 + str.ccccwwww]
and eax, 0xff0000
and edi, 0xff000000
xor eax, edi
mov edi, edx
and edx, 0xff
mov edx, dword [edx*4 + str.ccccwwww]
shr edi, 0x18
movzx edi, byte [edi*4 + str.ccccwwww]
xor eax, edi
and edx, 0xff00
xor eax, edx
xor eax, dword [esi + 0x4dc888]
lea edi, [ecx + 0x10]
xor eax, dword [ecx]
add esi, 4
mov dword [edi], eax
mov edx, dword [ecx + 4]
xor edx, eax
mov dword [ecx + 0x14], edx
mov eax, dword [ecx + 8]
xor eax, edx
mov dword [ecx + 0x18], eax
mov edx, dword [ecx + 0xc]
xor edx, eax
cmp esi, 0x28
mov dword [ecx + 0x1c], edx
jne 0x4aa2f1
mov dword [esp + 0x1c], 0xffffffff
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 8