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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, ecx
push edi
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x4b25ce
mov edi, dword [ebp + 8]
test edi, edi
je 0x4b25ce
cmp edx, 0x80
je 0x4b210b
cmp edx, 0xc0
je 0x4b2103
cmp edx, 0x100
je 0x4b2103
pop edi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80
jne 0x4b2117
mov dword [edi + 0xf0], 0xa
jmp 0x4b212f
xor eax, eax
cmp edx, 0xc0
setne al
lea eax, [eax*2 + 0xc]
mov dword [edi + 0xf0], eax
mov ecx, dword [ebx]
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
push esi
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [edi], eax
mov ecx, dword [ebx + 4]
mov eax, ecx
lea esi, [edi + 4]
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [esi], eax
mov ecx, dword [ebx + 8]
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [edi + 8], eax
mov eax, dword [ebx + 0xc]
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov dword [ebp - 4], ecx
mov dword [edi + 0xc], ecx
cmp edx, 0x80
jne 0x4b22ad
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ecx, dword [eax*4 + 0x55c4b0]
xor ecx, 0x1000000
mov eax, edx
shr eax, 8
and eax, 0xff
and ecx, 0xff000000
mov eax, dword [eax*4 + 0x55d9b0]
and eax, 0xff0000
xor ecx, eax
mov eax, edx
shr eax, 0x18
movzx eax, byte [eax*4 + 0x55bc88]
xor ecx, eax
movzx eax, dl
mov eax, dword [eax*4 + 0x55c0b0]
and eax, 0xff00
xor ecx, eax
xor ecx, dword [edi]
mov eax, dword [esi]
xor eax, ecx
mov dword [edi + 0x10], ecx
mov ecx, dword [edi + 8]
mov dword [edi + 0x14], eax
xor ecx, eax
mov eax, dword [edi + 0xc]
xor eax, ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
mov edi, 0x55c08c
mov ecx, dword [esi + 0x18]
lea esi, [esi + 0x10]
mov eax, ecx
shr eax, 8
and eax, 0xff
add edi, 4
mov edx, dword [eax*4 + 0x55d9b0]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
and edx, 0xff0000
mov eax, dword [eax*4 + 0x55c4b0]
and eax, 0xff000000
xor edx, eax
mov eax, ecx
shr eax, 0x18
movzx eax, byte [eax*4 + 0x55bc88]
xor edx, eax
movzx eax, cl
mov eax, dword [eax*4 + 0x55c0b0]
and eax, 0xff00
xor edx, eax
xor edx, dword [esi - 4]
xor edx, dword [edi - 4]
mov dword [esi + 0xc], edx
mov eax, dword [esi]
xor eax, edx
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 4]
xor ecx, eax
mov dword [esi + 0x14], ecx
mov eax, dword [esi + 8]
xor eax, ecx
mov dword [esi + 0x18], eax
cmp edi, 0x55c0b0
jne 0x4b2224
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x10]
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [edi + 0x10], eax
mov eax, dword [ebx + 0x14]
mov ebx, eax
ror ebx, 8
and ebx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ebx, eax
mov dword [edi + 0x14], ebx
cmp edx, 0xc0
jne 0x4b2412
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ecx, dword [eax*4 + 0x55c4b0]
xor ecx, 0x1000000
mov eax, ebx
shr eax, 8
and eax, 0xff
and ecx, 0xff000000
mov eax, dword [eax*4 + 0x55d9b0]
and eax, 0xff0000
xor ecx, eax
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax*4 + 0x55bc88]
xor ecx, eax
movzx eax, bl
mov eax, dword [eax*4 + 0x55c0b0]
and eax, 0xff00
xor ecx, eax
xor ecx, dword [edi]
mov eax, dword [esi]
xor eax, ecx
mov dword [edi + 0x18], ecx
mov ecx, dword [edi + 8]
mov dword [edi + 0x1c], eax
xor ecx, eax
mov eax, dword [edi + 0xc]
xor eax, ecx
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], ecx
lea eax, [edi + 0x28]
mov edi, 0x55c08c
jmp 0x4b2370
mov edx, dword [eax - 0x18]
xor edx, dword [eax - 4]
mov ecx, dword [eax - 0x14]
xor ecx, edx
mov dword [eax + 4], ecx
mov dword [eax], edx
mov edx, dword [eax + 4]
lea eax, [eax + 0x18]
mov ecx, edx
shr ecx, 8
and ecx, 0xff
add edi, 4
mov esi, dword [ecx*4 + 0x55d9b0]
mov ecx, edx
shr ecx, 0x10
and ecx, 0xff
and esi, 0xff0000
mov ecx, dword [ecx*4 + 0x55c4b0]
and ecx, 0xff000000
xor esi, ecx
mov ecx, edx
shr ecx, 0x18
movzx ecx, byte [ecx*4 + 0x55bc88]
xor esi, ecx
movzx ecx, dl
mov ecx, dword [ecx*4 + 0x55c0b0]
and ecx, 0xff00
xor esi, ecx
xor esi, dword [eax - 0x28]
xor esi, dword [edi - 4]
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, 0x55c0a8
jne 0x4b2370
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 8]
mov ecx, dword [ebx + 0x18]
mov eax, ecx
ror eax, 8
and eax, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or eax, ecx
mov dword [edi + 0x18], eax
mov eax, dword [ebx + 0x1c]
mov ebx, eax
ror ebx, 8
and ebx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ebx, eax
mov dword [edi + 0x1c], ebx
cmp edx, 0x100
jne 0x4b22a4
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ecx, dword [eax*4 + 0x55c4b0]
xor ecx, 0x1000000
mov eax, ebx
shr eax, 8
and eax, 0xff
and ecx, 0xff000000
mov eax, dword [eax*4 + 0x55d9b0]
and eax, 0xff0000
xor ecx, eax
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax*4 + 0x55bc88]
xor ecx, eax
movzx eax, bl
mov eax, dword [eax*4 + 0x55c0b0]
and eax, 0xff00
xor ecx, eax
xor ecx, dword [edi]
mov eax, dword [esi]
xor eax, ecx
mov dword [edi + 0x20], ecx
mov ecx, dword [edi + 8]
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
mov esi, 0x55c08c
mov ecx, dword [edi - 4]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
lea edi, [edi + 0x20]
mov edx, dword [eax*4 + 0x55d9b0]
mov eax, ecx
shr eax, 8
and eax, 0xff
and edx, 0xff0000
mov eax, dword [eax*4 + 0x55c0b0]
and eax, 0xff00
xor edx, eax
mov eax, ecx
shr eax, 0x18
add esi, 4
mov eax, dword [eax*4 + 0x55c4b0]
and eax, 0xff000000
xor edx, eax
movzx eax, cl
mov ecx, dword [edi - 0x38]
movzx eax, byte [eax*4 + 0x55bc88]
xor edx, eax
xor edx, dword [edi - 0x40]
mov eax, dword [edi - 0x3c]
xor eax, edx
mov dword [edi - 0x1c], eax
xor ecx, eax
mov eax, dword [edi - 0x34]
xor eax, ecx
mov dword [edi - 0x14], eax
mov dword [edi - 0x20], edx
mov dword [edi - 0x18], ecx
mov ecx, dword [edi - 0x14]
mov eax, ecx
shr eax, 8
and eax, 0xff
mov edx, dword [eax*4 + 0x55d9b0]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
and edx, 0xff0000
mov eax, dword [eax*4 + 0x55c4b0]
and eax, 0xff000000
xor edx, eax
mov eax, ecx
shr eax, 0x18
movzx eax, byte [eax*4 + 0x55bc88]
xor edx, eax
movzx eax, cl
mov eax, dword [eax*4 + 0x55c0b0]
and eax, 0xff00
xor edx, eax
xor edx, dword [edi - 0x30]
xor edx, dword [esi - 4]
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, 0x55c0a4
jne 0x4b24d0
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret