Function at 0x42c880
Capabilities:
Encode data using xor
Manually build aes constants

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x810
mov eax, 1
xor ecx, ecx
lea esi, [esi]
lea esi, [esi]
nop
mov dword [esp + ecx*4 + 0x10], eax
mov dword [esp + eax*4 + 0x410], ecx
lea ebx, [eax + eax]
mov edx, eax
and edx, 0x80
neg edx
sbb dl, dl
and edx, 0x1b
xor eax, ebx
xor eax, edx
and eax, 0xff
inc ecx
cmp ecx, 0x100
jne 0x42c8a0
mov eax, 1
xor edx, edx
lea esi, [esi]
lea esi, [esi]
mov dword [edx*4 + 0x46f140], eax
lea ebx, [eax + eax]
mov cl, bl
test al, 0x80
je 0x42c8f3
xor ecx, 0x1b
xor eax, eax
mov al, cl
inc edx
cmp edx, 0xa
jne 0x42c8e0
mov byte [0x471280], 0x63
mov byte [0x4701e3], 0
mov edx, 1
mov edi, 0xff
lea esi, [esi]
lea esi, [esi]
mov eax, edi
sub eax, dword [esp + edx*4 + 0x410]
mov ebx, dword [esp + eax*4 + 0x10]
lea eax, [ebx + ebx]
mov esi, ebx
sar esi, 7
or eax, esi
mov esi, eax
and esi, 0xff
xor ebx, esi
mov cl, al
rol cl, 1
mov esi, ecx
and esi, 0xff
xor esi, ebx
mov bl, al
rol bl, 2
and ebx, 0xff
xor ebx, esi
rol al, 3
xor eax, 0x63
and eax, 0xff
xor eax, ebx
mov byte [edx + 0x471280], al
mov byte [eax + 0x470180], dl
inc edx
cmp edx, 0x100
jne 0x42c920
mov eax, dword [esp + 0x448]
mov dword [esp], eax
mov eax, dword [esp + 0x434]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x444]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x43c]
mov dword [esp + 0xc], eax
xor ecx, ecx
mov ebp, 0x80808081
jmp 0x42ca96
mov ebx, dword [esp + eax*4 + 0x410]
mov eax, dword [esp + 4]
lea esi, [ebx + eax]
mov eax, esi
imul ebp
add edx, esi
sar edx, 7
mov eax, esi
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
sub esi, eax
mov edi, dword [esp + esi*4 + 0x10]
shl edi, 8
mov eax, dword [esp + 8]
lea esi, [ebx + eax]
mov eax, esi
imul ebp
add edx, esi
sar edx, 7
mov eax, esi
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
sub esi, eax
mov esi, dword [esp + esi*4 + 0x10]
shl esi, 0x10
xor esi, edi
mov eax, dword [esp]
lea edi, [eax + ebx]
mov eax, edi
imul ebp
add edx, edi
sar edx, 7
mov eax, edi
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
sub edi, eax
xor esi, dword [esp + edi*4 + 0x10]
mov eax, dword [esp + 0xc]
add ebx, eax
mov eax, ebx
imul ebp
add edx, ebx
sar edx, 7
mov eax, ebx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
sub ebx, eax
mov eax, dword [esp + ebx*4 + 0x10]
shl eax, 0x18
xor eax, esi
mov esi, eax
rol esi, 8
mov ebx, eax
rol ebx, 0x10
mov edx, eax
ror edx, 8
mov dword [ecx*4 + 0x46fd80], eax
mov dword [ecx*4 + 0x46f980], esi
mov dword [ecx*4 + 0x46f580], ebx
mov dword [ecx*4 + 0x46f180], edx
inc ecx
cmp ecx, 0x100
je 0x42cb14
mov al, byte [ecx + 0x471280]
xor edx, edx
mov dl, al
add edx, edx
mov bl, dl
test al, al
jns 0x42caab
xor ebx, 0x1b
mov esi, eax
and esi, 0xff
mov edx, esi
shl edx, 8
add edx, esi
shl edx, 8
mov esi, ebx
and esi, 0xff
xor edx, esi
xor eax, ebx
shl eax, 0x18
xor eax, edx
mov dword [ecx*4 + 0x470e80], eax
mov edx, eax
rol edx, 8
mov dword [ecx*4 + 0x470a80], edx
mov edx, eax
rol edx, 0x10
mov dword [ecx*4 + 0x470680], edx
ror eax, 8
mov dword [ecx*4 + 0x470280], eax
xor eax, eax
mov al, byte [ecx + 0x470180]
test eax, eax
jne 0x42c9c0
xor edx, edx
xor ebx, ebx
xor esi, esi
xor eax, eax
jmp 0x42ca71
add esp, 0x810
pop ebx
pop esi
pop edi
pop ebp
ret