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

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov esi, dword [esp + 0x18]
mov eax, 0xffffffff
test esi, esi
je 0x4457fe
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4457fe
mov ebx, dword [esp + 0x1c]
cmp ebx, 0x80
je 0x44551e
cmp ebx, 0x100
je 0x445525
mov eax, 0xfffffffe
cmp ebx, 0xc0
jne 0x4457fe
mov edx, 0xc
jmp 0x44552a
mov edx, 0xa
jmp 0x44552a
mov edx, 0xe
mov dword [ecx + 0xf0], edx
cmp ebx, 0x80
mov edx, dword [esi]
bswap edx
mov dword [ecx], edx
mov edi, dword [esi + 4]
bswap edi
mov dword [ecx + 4], edi
mov edi, dword [esi + 8]
bswap edi
mov dword [ecx + 8], edi
mov edi, dword [esi + 0xc]
bswap edi
mov dword [ecx + 0xc], edi
jne 0x445603
mov eax, 0xffffffd8
mov ebp, 0xff00
nop word cs:[eax + eax]
nop
mov ebx, dword [ecx + eax*4 + 0xac]
mov edi, 0xff0000
movzx esi, bh
mov esi, dword [esi*4 + 0x57d468]
and esi, edi
xor esi, edx
movzx edx, bl
mov edi, dword [edx*4 + 0x57c868]
mov edx, ebx
shr edx, 0x18
movzx edx, byte [edx*4 + 0x57cc68]
and edi, ebp
xor edi, esi
mov esi, ebx
shr esi, 0xe
xor edx, edi
mov edi, 0xff000000
and esi, 0x3fc
mov esi, dword [esi + 0x57d068]
and esi, edi
xor edx, esi
xor edx, dword [eax + 0x57e990]
mov dword [ecx + eax*4 + 0xb0], edx
mov esi, dword [ecx + eax*4 + 0xa4]
xor esi, edx
mov dword [ecx + eax*4 + 0xb4], esi
xor esi, dword [ecx + eax*4 + 0xa8]
mov dword [ecx + eax*4 + 0xb8], esi
xor esi, ebx
mov dword [ecx + eax*4 + 0xbc], esi
add eax, 4
jne 0x445570
jmp 0x4457fc
mov edi, dword [esi + 0x10]
cmp ebx, 0xc0
bswap edi
mov dword [ecx + 0x10], edi
mov edi, dword [esi + 0x14]
bswap edi
mov dword [ecx + 0x14], edi
jne 0x4456b3
add ecx, 0x2c
mov eax, 0xffffffe4
mov ebp, 0xff00
jmp 0x445640
xor esi, dword [ecx - 0x1c]
add eax, 4
mov dword [ecx - 4], esi
xor esi, ebx
mov dword [ecx], esi
add ecx, 0x18
mov ebx, dword [ecx - 0x18]
mov edi, 0xff0000
movzx esi, bh
mov esi, dword [esi*4 + 0x57d468]
and esi, edi
xor esi, edx
movzx edx, bl
mov edi, dword [edx*4 + 0x57c868]
mov edx, ebx
shr edx, 0x18
movzx edx, byte [edx*4 + 0x57cc68]
and edi, ebp
xor edi, esi
mov esi, ebx
shr esi, 0xe
xor edx, edi
mov edi, 0xff000000
and esi, 0x3fc
mov esi, dword [esi + 0x57d068]
and esi, edi
xor edx, esi
xor edx, dword [eax + 0x57e984]
mov dword [ecx - 0x14], edx
mov esi, dword [ecx - 0x28]
xor esi, edx
mov dword [ecx - 0x10], esi
xor esi, dword [ecx - 0x24]
mov dword [ecx - 0xc], esi
xor esi, dword [ecx - 0x20]
test eax, eax
mov dword [ecx - 8], esi
jne 0x445630
jmp 0x4457fc
mov edi, dword [esi + 0x18]
xor eax, eax
cmp ebx, 0x100
bswap edi
mov dword [ecx + 0x18], edi
mov esi, dword [esi + 0x1c]
bswap esi
mov dword [ecx + 0x1c], esi
jne 0x4457fe
mov esi, 0xffffffe8
jmp 0x445765
mov ebp, ebx
mov edi, 0xff0000
mov dword [esp], eax
mov eax, 0xff00
shr ebp, 0xe
and ebp, 0x3fc
mov ebp, dword [ebp + 0x57d468]
and ebp, edi
movzx edi, bh
mov edi, dword [edi*4 + 0x57c868]
and edi, eax
xor edi, ebp
movzx ebp, bl
shr ebx, 0x18
mov eax, dword [ebx*4 + 0x57d068]
mov ebx, 0xff000000
movzx ebp, byte [ebp*4 + 0x57cc68]
and eax, ebx
xor ebp, edi
xor eax, dword [ecx + esi*8 + 0xd0]
xor ebp, eax
mov dword [ecx + esi*8 + 0xf0], ebp
xor ebp, dword [ecx + esi*8 + 0xd4]
mov dword [ecx + esi*8 + 0xf4], ebp
xor ebp, dword [ecx + esi*8 + 0xd8]
mov dword [ecx + esi*8 + 0xf8], ebp
xor ebp, dword [esp]
mov dword [ecx + esi*8 + 0xfc], ebp
add esi, 4
mov eax, dword [ecx + esi*8 + 0xdc]
mov edi, 0xff0000
movzx ebx, ah
mov ebx, dword [ebx*4 + 0x57d468]
and ebx, edi
mov edi, 0xff000000
xor ebx, edx
movzx edx, al
mov ebp, dword [edx*4 + 0x57c868]
mov edx, 0xff00
and ebp, edx
mov edx, eax
xor ebp, ebx
mov ebx, eax
shr edx, 0x18
shr ebx, 0xe
movzx edx, byte [edx*4 + 0x57cc68]
and ebx, 0x3fc
mov ebx, dword [ebx + 0x57d068]
xor edx, ebp
and ebx, edi
xor edx, ebx
xor edx, dword [esi + 0x57e980]
mov dword [ecx + esi*8 + 0xe0], edx
mov ebx, dword [ecx + esi*8 + 0xc4]
xor ebx, edx
mov dword [ecx + esi*8 + 0xe4], ebx
xor ebx, dword [ecx + esi*8 + 0xc8]
mov dword [ecx + esi*8 + 0xe8], ebx
xor ebx, dword [ecx + esi*8 + 0xcc]
test esi, esi
mov dword [ecx + esi*8 + 0xec], ebx
jne 0x4456e0
xor eax, eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret