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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50d7ad
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x54f040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
mov esi, dword [ebp + 0xc]
xor ecx, ecx
shr esi, 2
mov edx, 4
mov dword [ebx], vtable.CryptoPP::Rijndael.0
mov dword [ebp - 4], 0
lea eax, [esi + 6]
mov dword [ebx + 4], eax
lea eax, [eax*4 + 4]
mov dword [ebx + 8], eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004441a2
push dword [ebp + 0xc]
mov edi, eax
mov dword [ebx + 0xc], eax
push dword [ebp + 8]
push edi
call fcn.00445c10
lea eax, [esi*4]
mov esi, dword [ebp + 0xc]
sub eax, esi
push eax
push 0
lea eax, [edi + esi]
push eax
call fcn.00446190
push esi
push edi
push edi
call fcn.0043cd00
add esp, 0x28
cmp esi, 0x10
je 0x465c2a
cmp esi, 0x18
je 0x465b03
cmp esi, 0x20
jne 0x465c14
mov ecx, dword [edi + 0x1c]
mov esi, 4
mov eax, ecx
shr eax, 8
movzx eax, al
mov edx, dword [eax*4 + str.ccccwwww]
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
movzx eax, al
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff000000
xor edx, eax
mov eax, ecx
shr eax, 0x18
movzx eax, byte [eax*4 + str.ccccwwww]
xor edx, eax
movzx eax, cl
mov ecx, dword [edi + 8]
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff00
xor edx, eax
mov eax, dword [edi + 4]
xor edx, dword [edi]
xor edx, dword [0x525638]
xor eax, edx
mov dword [edi + 0x20], edx
xor ecx, eax
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0xc]
xor eax, ecx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], eax
add edi, 0x30
nop dword [eax]
mov ecx, dword [edi - 4]
lea edi, [edi + 0x20]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov edx, dword [eax*4 + str.ccccwwww]
mov eax, ecx
shr eax, 8
and edx, 0xff0000
movzx eax, al
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff00
xor edx, eax
mov eax, ecx
shr eax, 0x18
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff000000
xor edx, eax
movzx eax, cl
mov ecx, dword [edi - 0x38]
movzx eax, byte [eax*4 + str.ccccwwww]
xor edx, eax
mov eax, dword [edi - 0x3c]
xor edx, dword [edi - 0x40]
xor eax, edx
mov dword [edi - 0x20], edx
mov dword [edi - 0x1c], eax
xor ecx, eax
mov eax, dword [edi - 0x34]
xor eax, ecx
mov dword [edi - 0x18], ecx
mov dword [edi - 0x14], eax
mov ecx, dword [edi - 0x14]
mov eax, ecx
shr eax, 8
movzx eax, al
mov edx, dword [eax*4 + str.ccccwwww]
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
movzx eax, al
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff000000
xor edx, eax
mov eax, ecx
shr eax, 0x18
movzx eax, byte [eax*4 + str.ccccwwww]
xor edx, eax
movzx eax, cl
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff00
xor edx, eax
xor edx, dword [esi + 0x525638]
add esi, 4
xor edx, dword [edi - 0x30]
mov dword [edi - 0x10], edx
mov eax, dword [edi - 0x2c]
xor eax, edx
mov dword [edi - 0xc], eax
mov ecx, dword [edi - 0x28]
xor ecx, eax
mov dword [edi - 8], ecx
mov eax, dword [edi - 0x24]
xor eax, ecx
mov dword [edi - 4], eax
cmp esi, 0x1c
jne 0x465a00
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [edi + 0x14]
mov eax, ecx
shr eax, 8
movzx eax, al
mov edx, dword [eax*4 + str.ccccwwww]
mov eax, ecx
shr eax, 0x10
and edx, 0xff0000
movzx eax, al
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff000000
xor edx, eax
mov eax, ecx
shr eax, 0x18
movzx eax, byte [eax*4 + str.ccccwwww]
xor edx, eax
movzx eax, cl
mov ecx, dword [edi + 8]
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff00
xor edx, eax
mov eax, dword [edi + 4]
xor edx, dword [edi]
xor edx, dword [0x525638]
xor eax, edx
mov dword [edi + 0x18], edx
mov dword [edi + 0x1c], eax
xor ecx, eax
mov eax, dword [edi + 0xc]
xor eax, ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], eax
lea eax, [edi + 0x28]
mov edi, 4
nop dword [eax]
mov edx, dword [eax - 0x18]
lea eax, [eax + 0x18]
xor edx, dword [eax - 0x1c]
mov ecx, dword [eax - 0x2c]
xor ecx, edx
mov dword [eax - 0x18], edx
mov dword [eax - 0x14], ecx
mov edx, dword [eax - 0x14]
mov ecx, edx
shr ecx, 8
movzx ecx, cl
mov esi, dword [ecx*4 + str.ccccwwww]
mov ecx, edx
shr ecx, 0x10
and esi, 0xff0000
movzx ecx, cl
mov ecx, dword [ecx*4 + str.ccccwwww]
and ecx, 0xff000000
xor esi, ecx
mov ecx, edx
shr ecx, 0x18
movzx ecx, byte [ecx*4 + str.ccccwwww]
xor esi, ecx
movzx ecx, dl
mov ecx, dword [ecx*4 + str.ccccwwww]
and ecx, 0xff00
xor esi, ecx
xor esi, dword [edi + 0x525638]
add edi, 4
xor esi, dword [eax - 0x28]
mov dword [eax - 0x10], esi
mov ecx, dword [eax - 0x24]
xor ecx, esi
mov dword [eax - 0xc], ecx
mov edx, dword [eax - 0x20]
xor edx, ecx
mov dword [eax - 8], edx
mov ecx, dword [eax - 0x1c]
xor ecx, edx
mov dword [eax - 4], ecx
cmp edi, 0x20
jne 0x465b80
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ebx, dword [edi + 0xc]
lea esi, [edi + 0x10]
mov eax, ebx
mov ecx, dword [edi + 4]
shr eax, 8
movzx eax, al
mov edx, dword [eax*4 + str.ccccwwww]
mov eax, ebx
shr eax, 0x10
and edx, 0xff0000
movzx eax, al
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff000000
xor edx, eax
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax*4 + str.ccccwwww]
xor edx, eax
movzx eax, bl
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff00
xor edx, eax
mov eax, dword [edi + 8]
xor edx, dword [edi]
xor edx, dword [0x525638]
xor ecx, edx
mov dword [esi], edx
xor eax, ecx
mov dword [edi + 0x14], ecx
xor ebx, eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ebx
mov edi, 4
nop
mov ebx, dword [esi + 0xc]
mov edx, esi
add esi, 0x10
mov eax, ebx
shr eax, 8
movzx eax, al
mov ecx, dword [eax*4 + str.ccccwwww]
mov eax, ebx
shr eax, 0x10
and ecx, 0xff0000
movzx eax, al
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff000000
xor ecx, eax
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax*4 + str.ccccwwww]
xor ecx, eax
movzx eax, bl
mov eax, dword [eax*4 + str.ccccwwww]
and eax, 0xff00
xor ecx, eax
xor ecx, dword [edi + 0x525638]
add edi, 4
xor ecx, dword [edx]
mov dword [esi], ecx
mov eax, dword [esi - 0xc]
xor eax, ecx
mov dword [esi + 4], eax
mov ecx, dword [esi - 8]
xor ecx, eax
mov dword [esi + 8], ecx
xor ecx, ebx
mov dword [esi + 0xc], ecx
cmp edi, 0x28
jne 0x465ca0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8