Function at 0x427820
Capabilities:
Manually build aes constants

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x214
mov esi, dword [esp + 0x230]
cmp esi, 0x80
je 0x427860
cmp esi, 0x100
je 0x427859
mov eax, 0xffffffe0
cmp esi, 0xc0
jne 0x427df0
mov eax, 0xc
jmp 0x427865
mov eax, 0xe
jmp 0x427865
mov eax, 0xa
mov edx, dword [esp + 0x228]
mov dword [edx], eax
cmp byte [0x442f5c], 1
mov dword [esp + 4], eax
jne 0x42788a
lea ebp, [edx + 8]
mov dword [edx + 4], 0
jmp 0x427b1c
mov cl, 1
xor edx, edx
nop
mov byte [esp + edx + 0x114], cl
movzx esi, cl
mov byte [esp + esi + 0x14], dl
mov ch, cl
add ch, cl
xor ch, cl
sar cl, 7
and cl, 0x1b
xor cl, ch
mov byte [esp + edx + 0x115], cl
movzx esi, cl
mov ch, dl
inc ch
mov byte [esp + esi + 0x14], ch
mov ch, cl
add ch, cl
xor ch, cl
sar cl, 7
and cl, 0x1b
xor cl, ch
add edx, 2
cmp edx, 0x100
jne 0x427890
movaps xmm0, xmmword [0x43d100]
movaps xmmword [0x4433d0], xmm0
movaps xmm0, xmmword [0x43d110]
movaps xmmword [0x4433e0], xmm0
mov dword [0x4433f0], 0x1b
mov dword [0x4433f4], 0x36
mov byte [0x440c38], 0x63
mov byte [0x441dbf], 0
mov ecx, 1
nop word [eax + eax]
movzx edx, byte [esp + ecx + 0x14]
xor edx, 0xff
movzx ebx, byte [esp + edx + 0x114]
mov edx, ebx
mov dh, bl
mov bh, bl
mov eax, ebx
rol al, 1
rol dl, 2
rol dh, 3
xor dl, bl
rol bh, 4
xor bh, al
xor dl, bh
xor dl, dh
movzx eax, dl
xor eax, 0x63
mov byte [ecx + 0x440c38], al
mov byte [eax + 0x441d5c], cl
inc ecx
cmp ecx, 0x100
jne 0x427920
movzx ecx, byte [esp + 0x22]
movzx esi, byte [esp + 0x1d]
movzx edi, byte [esp + 0x21]
movzx ebx, byte [esp + 0x1f]
mov edx, 0xffffff00
movzx eax, cx
mov dword [esp], eax
movzx eax, si
mov dword [esp + 0x10], eax
movzx eax, di
mov dword [esp + 0xc], eax
movzx eax, bx
mov dword [esp + 8], eax
jmp 0x427a7e
movzx esi, byte [esp + ecx + 0x14]
mov eax, dword [esp]
add eax, esi
imul ecx, eax, 0x203
shr ecx, 0x11
mov edi, ecx
shl edi, 8
sub ecx, edi
add ecx, eax
movzx eax, cx
movzx ecx, byte [esp + eax + 0x114]
mov eax, dword [esp + 0x10]
add eax, esi
imul edi, eax, 0x203
shr edi, 0x11
mov ebx, edi
shl ebx, 8
sub edi, ebx
add edi, eax
movzx eax, di
movzx ebp, byte [esp + eax + 0x114]
shl ebp, 8
or ebp, ecx
mov eax, dword [esp + 0xc]
add eax, esi
imul ecx, eax, 0x203
shr ecx, 0x11
mov edi, ecx
shl edi, 8
sub ecx, edi
add ecx, eax
movzx eax, cx
movzx ebx, byte [esp + eax + 0x114]
mov edi, ebx
shl edi, 0x10
or edi, ebp
add esi, dword [esp + 8]
imul eax, esi, 0x203
shr eax, 0x11
mov ecx, eax
shl ecx, 8
sub eax, ecx
add eax, esi
movzx eax, ax
movzx esi, byte [esp + eax + 0x114]
mov eax, esi
shl eax, 0x18
or eax, edi
mov dword [edx*4 + 0x44225c], eax
shl edi, 8
or edi, esi
mov dword [edx*4 + 0x44265c], edi
shl edi, 8
or ebx, edi
mov dword [edx*4 + 0x442a5c], ebx
shld ebx, edi, 8
mov dword [edx*4 + 0x442e5c], ebx
inc edx
je 0x427af4
movzx ebx, byte [edx + 0x440d38]
mov eax, ebx
add al, bl
mov ecx, ebx
sar cl, 7
and cl, 0x1b
xor cl, al
movzx eax, cl
xor cl, bl
mov edi, ebx
shl edi, 8
or edi, eax
mov esi, ebx
shl esi, 0x10
or esi, edi
movzx eax, cl
mov ecx, eax
shl ecx, 0x18
or ecx, esi
shl esi, 8
or esi, eax
mov dword [edx*4 + 0x441538], esi
shl esi, 8
or ebx, esi
mov dword [edx*4 + 0x441938], ebx
shld ebx, esi, 8
mov dword [edx*4 + 0x441138], ecx
mov dword [edx*4 + 0x441d38], ebx
movzx ecx, byte [edx + 0x441e5c]
test ecx, ecx
jne 0x4279b0
xor edi, edi
xor ebx, ebx
xor esi, esi
jmp 0x427a4a
mov byte [0x442f5c], 1
mov edx, dword [esp + 0x228]
lea ebp, [edx + 8]
mov dword [edx + 4], 0
mov esi, dword [esp + 0x230]
cmp esi, 0x20
jb 0x427be6
mov ecx, dword [esp + 0x22c]
mov edi, esi
shr edi, 5
xor ebx, ebx
cmp esi, 0x100
jb 0x427b7e
mov eax, edx
sub eax, ecx
add eax, 8
cmp eax, 0x20
jb 0x427b7e
mov ebx, edi
and ebx, 0xfffffff8
shr esi, 3
and esi, 0xffffffe0
xor edx, edx
mov eax, dword [esp + 0x228]
nop word cs:[eax + eax]
movups xmm0, xmmword [ecx + edx]
movups xmm1, xmmword [ecx + edx + 0x10]
movups xmmword [eax + edx + 8], xmm0
movups xmmword [eax + edx + 0x18], xmm1
add edx, 0x20
cmp esi, edx
jne 0x427b60
cmp edi, ebx
je 0x427be6
mov edx, edi
mov dword [esp], ebx
mov esi, ebx
and edx, 3
mov ebx, dword [esp + 0x228]
je 0x427bab
mov esi, dword [esp]
nop word cs:[eax + eax]
mov eax, dword [ecx + esi*4]
mov dword [ebx + esi*4 + 8], eax
inc esi
dec edx
jne 0x427ba0
mov eax, dword [esp]
sub eax, edi
cmp eax, 0xfffffffc
ja 0x427be6
mov edx, dword [esp + 0x228]
nop dword [eax]
mov eax, dword [ecx + esi*4]
mov dword [edx + esi*4 + 8], eax
mov eax, dword [ecx + esi*4 + 4]
mov dword [edx + esi*4 + 0xc], eax
mov eax, dword [ecx + esi*4 + 8]
mov dword [edx + esi*4 + 0x10], eax
mov eax, dword [ecx + esi*4 + 0xc]
mov dword [edx + esi*4 + 0x14], eax
add esi, 4
cmp edi, esi
jne 0x427bc0
xor eax, eax
mov ecx, dword [esp + 4]
cmp ecx, 0xa
je 0x427d75
cmp ecx, 0xc
je 0x427ce7
cmp ecx, 0xe
jne 0x427df0
mov esi, dword [ebp]
xor ecx, ecx
nop dword [eax]
xor esi, dword [ecx + 0x4433d0]
mov eax, dword [ebp + ecx*8 + 0x1c]
movzx edx, ah
movzx edx, byte [edx + 0x440c38]
xor edx, esi
mov ebx, eax
shr ebx, 0x10
movzx esi, bl
movzx esi, byte [esi + 0x440c38]
shl esi, 8
mov ebx, eax
mov dword [esp], eax
shr ebx, 0x18
movzx edi, byte [ebx + 0x440c38]
shl edi, 0x10
xor edi, edx
xor edi, esi
movzx edx, al
movzx esi, byte [edx + 0x440c38]
shl esi, 0x18
xor esi, edi
mov dword [ebp + ecx*8 + 0x20], esi
mov eax, dword [ebp + ecx*8 + 4]
xor eax, esi
mov dword [ebp + ecx*8 + 0x24], eax
xor eax, dword [ebp + ecx*8 + 8]
mov dword [ebp + ecx*8 + 0x28], eax
xor eax, dword [ebp + ecx*8 + 0xc]
mov dword [ebp + ecx*8 + 0x2c], eax
movzx edi, al
movzx edi, byte [edi + 0x440c38]
xor edi, dword [ebp + ecx*8 + 0x10]
movzx ebx, ah
movzx ebx, byte [ebx + 0x440c38]
shl ebx, 8
xor ebx, edi
mov edx, eax
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x440c38]
shl edx, 0x10
xor edx, ebx
shr eax, 0x18
movzx eax, byte [eax + 0x440c38]
shl eax, 0x18
xor eax, edx
mov dword [ebp + ecx*8 + 0x30], eax
xor eax, dword [ebp + ecx*8 + 0x14]
mov dword [ebp + ecx*8 + 0x34], eax
xor eax, dword [ebp + ecx*8 + 0x18]
mov dword [ebp + ecx*8 + 0x38], eax
xor eax, dword [esp]
mov dword [ebp + ecx*8 + 0x3c], eax
add ecx, 4
cmp ecx, 0x1c
jne 0x427c10
jmp 0x427dee
mov esi, dword [ebp]
add ebp, 0x2c
mov edi, 0xffffffe0
nop word cs:[eax + eax]
xor esi, dword [edi + 0x4433f0]
mov ecx, dword [ebp - 0x18]
movzx edx, ch
movzx edx, byte [edx + 0x440c38]
xor edx, esi
mov ebx, ecx
shr ebx, 0x10
movzx esi, bl
movzx esi, byte [esi + 0x440c38]
shl esi, 8
mov ebx, ecx
shr ebx, 0x18
movzx ebx, byte [ebx + 0x440c38]
shl ebx, 0x10
xor ebx, edx
xor ebx, esi
movzx edx, cl
movzx esi, byte [edx + 0x440c38]
shl esi, 0x18
xor esi, ebx
mov dword [ebp - 0x14], esi
mov edx, dword [ebp - 0x28]
xor edx, esi
mov dword [ebp - 0x10], edx
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0xc], edx
xor edx, dword [ebp - 0x20]
mov dword [ebp - 8], edx
xor edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
xor edx, ecx
mov dword [ebp], edx
add ebp, 0x18
add edi, 4
jne 0x427d00
jmp 0x427dee
mov esi, dword [ebp]
mov ecx, 7
nop dword [eax]
xor esi, dword [ecx + 0x4433c9]
mov eax, dword [ebp + ecx*4 - 0x10]
movzx edx, ah
movzx edx, byte [edx + 0x440c38]
xor edx, esi
mov ebx, eax
shr ebx, 0x10
movzx esi, bl
movzx esi, byte [esi + 0x440c38]
shl esi, 8
mov ebx, eax
shr ebx, 0x18
movzx edi, byte [ebx + 0x440c38]
shl edi, 0x10
xor edi, edx
xor edi, esi
movzx edx, al
movzx esi, byte [edx + 0x440c38]
shl esi, 0x18
xor esi, edi
mov dword [ebp + ecx*4 - 0xc], esi
mov edx, dword [ebp + ecx*4 - 0x18]
xor edx, esi
mov dword [ebp + ecx*4 - 8], edx
xor edx, dword [ebp + ecx*4 - 0x14]
mov dword [ebp + ecx*4 - 4], edx
xor edx, eax
mov dword [ebp + ecx*4], edx
add ecx, 4
cmp ecx, 0x2f
jne 0x427d80
xor eax, eax
add esp, 0x214
pop esi
pop edi
pop ebx
pop ebp
ret