Function at 0x42d9e0
Capabilities:
Manually build aes constants

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x214
mov ecx, dword [esp + 0x230]
cmp ecx, 0x80
je 0x42da19
cmp ecx, 0x100
je 0x42da20
mov edi, 0xffffffe0
cmp ecx, 0xc0
jne 0x42dfa5
mov eax, 0xc
jmp 0x42da25
mov eax, 0xa
jmp 0x42da25
mov eax, 0xe
mov esi, dword [esp + 0x228]
mov dword [esi], eax
cmp byte [0x44d6c0], 1
mov dword [esp + 4], eax
jne 0x42da51
lea ebp, [esi + 8]
mov dword [esi + 4], 0
mov eax, dword [esp + 0x230]
jmp 0x42dcec
mov cl, 1
xor edx, edx
nop word cs:[eax + eax]
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 0x42da60
movaps xmm0, xmmword [0x449500]
movaps xmmword [0x44d6d0], xmm0
movaps xmm0, xmmword [0x449510]
movaps xmmword [0x44d6e0], xmm0
mov dword [0x44d6f0], 0x1b
mov dword [0x44d6f4], 0x36
mov byte [0x44d6f8], 0x63
mov byte [0x44f85b], 0
mov ecx, 1
nop word [eax + eax]
movzx edx, byte [esp + ecx + 0x14]
xor edx, 0xff
movzx edx, byte [esp + edx + 0x114]
mov dh, dl
mov ebx, edx
mov bh, dl
mov eax, edx
rol al, 1
rol dh, 2
rol bl, 3
xor dh, dl
rol bh, 4
xor bh, al
xor dh, bh
xor dh, bl
movzx eax, dh
xor eax, 0x63
mov byte [ecx + 0x44d6f8], al
mov byte [eax + 0x44f7f8], cl
inc ecx
cmp ecx, 0x100
jne 0x42daf0
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 0x42dc4e
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 + 0x44dbf8], eax
shl edi, 8
or edi, esi
mov dword [edx*4 + 0x44dff8], edi
shl edi, 8
or ebx, edi
mov dword [edx*4 + 0x44e3f8], ebx
shld ebx, edi, 8
mov dword [edx*4 + 0x44e7f8], ebx
inc edx
je 0x42dcc4
movzx ebx, byte [edx + 0x44d7f8]
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 + 0x44eff8], esi
shl esi, 8
or ebx, esi
mov dword [edx*4 + 0x44f3f8], ebx
shld ebx, esi, 8
mov dword [edx*4 + 0x44ebf8], ecx
mov dword [edx*4 + 0x44f7f8], ebx
movzx ecx, byte [edx + 0x44f8f8]
test ecx, ecx
jne 0x42db80
xor edi, edi
xor ebx, ebx
xor esi, esi
jmp 0x42dc1a
mov byte [0x44d6c0], 1
mov esi, dword [esp + 0x228]
lea ebp, [esi + 8]
mov dword [esi + 4], 0
mov eax, dword [esp + 0x230]
cmp eax, 0x20
jb 0x42dda6
mov ecx, dword [esp + 0x22c]
mov edi, eax
shr edi, 5
xor ebx, ebx
cmp eax, 0x100
jb 0x42dd3e
mov edx, eax
mov eax, esi
sub eax, ecx
add eax, 8
cmp eax, 0x20
jb 0x42dd3e
mov ebx, edi
and ebx, 0xfffffff8
mov eax, edx
shr eax, 3
and eax, 0xffffffe0
xor edx, edx
nop
movups xmm0, xmmword [ecx + edx]
movups xmm1, xmmword [ecx + edx + 0x10]
movups xmmword [esi + edx + 8], xmm0
movups xmmword [esi + edx + 0x18], xmm1
add edx, 0x20
cmp eax, edx
jne 0x42dd20
cmp edi, ebx
je 0x42dda6
mov eax, ebx
not eax
add eax, edi
mov dword [esp], eax
mov esi, edi
and esi, 3
je 0x42dd6b
mov edx, dword [esp + 0x228]
nop word cs:[eax + eax]
mov eax, dword [ecx + ebx*4]
mov dword [edx + ebx*4 + 8], eax
inc ebx
dec esi
jne 0x42dd60
cmp dword [esp], 3
jb 0x42dda6
mov edx, dword [esp + 0x228]
nop dword [eax + eax]
mov eax, dword [ecx + ebx*4]
mov dword [edx + ebx*4 + 8], eax
mov eax, dword [ecx + ebx*4 + 4]
mov dword [edx + ebx*4 + 0xc], eax
mov eax, dword [ecx + ebx*4 + 8]
mov dword [edx + ebx*4 + 0x10], eax
mov eax, dword [ecx + ebx*4 + 0xc]
mov dword [edx + ebx*4 + 0x14], eax
add ebx, 4
cmp edi, ebx
jne 0x42dd80
xor edi, edi
mov ecx, dword [esp + 4]
cmp ecx, 0xa
je 0x42dea5
cmp ecx, 0xc
je 0x42df23
cmp ecx, 0xe
jne 0x42dfa5
mov esi, dword [ebp]
xor ecx, ecx
nop dword [eax]
xor esi, dword [ecx + 0x44d6d0]
mov ebx, dword [ebp + ecx*8 + 0x1c]
movzx eax, bh
movzx edx, byte [eax + 0x44d6f8]
xor edx, esi
mov eax, ebx
mov esi, ebx
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x44d6f8]
shl eax, 8
shr ebx, 0x18
movzx edi, byte [ebx + 0x44d6f8]
shl edi, 0x10
xor edi, edx
xor edi, eax
mov ebx, esi
movzx eax, bl
movzx esi, byte [eax + 0x44d6f8]
shl esi, 0x18
xor esi, edi
mov dword [ebp + ecx*8 + 0x20], esi
mov edx, dword [ebp + ecx*8 + 4]
xor edx, esi
mov dword [ebp + ecx*8 + 0x24], edx
xor edx, dword [ebp + ecx*8 + 8]
mov dword [ebp + ecx*8 + 0x28], edx
xor edx, dword [ebp + ecx*8 + 0xc]
mov dword [ebp + ecx*8 + 0x2c], edx
movzx eax, dl
movzx eax, byte [eax + 0x44d6f8]
xor eax, dword [ebp + ecx*8 + 0x10]
movzx edi, dh
movzx edi, byte [edi + 0x44d6f8]
shl edi, 8
xor edi, eax
mov eax, edx
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x44d6f8]
shl eax, 0x10
xor eax, edi
shr edx, 0x18
movzx edx, byte [edx + 0x44d6f8]
shl edx, 0x18
xor edx, eax
mov dword [ebp + ecx*8 + 0x30], edx
xor edx, dword [ebp + ecx*8 + 0x14]
mov dword [ebp + ecx*8 + 0x34], edx
xor edx, dword [ebp + ecx*8 + 0x18]
mov dword [ebp + ecx*8 + 0x38], edx
xor edx, ebx
mov dword [ebp + ecx*8 + 0x3c], edx
add ecx, 4
cmp ecx, 0x1c
jne 0x42ddd0
jmp 0x42dfa3
mov esi, dword [ebp]
mov ecx, 7
nop dword [eax]
xor esi, dword [ecx + 0x44d6c9]
mov eax, dword [ebp + ecx*4 - 0x10]
movzx edx, ah
movzx edx, byte [edx + 0x44d6f8]
xor edx, esi
mov ebx, eax
shr ebx, 0x10
movzx esi, bl
movzx esi, byte [esi + 0x44d6f8]
shl esi, 8
mov ebx, eax
shr ebx, 0x18
movzx ebx, byte [ebx + 0x44d6f8]
shl ebx, 0x10
xor ebx, edx
xor ebx, esi
movzx edx, al
movzx esi, byte [edx + 0x44d6f8]
shl esi, 0x18
xor esi, ebx
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 0x42deb0
jmp 0x42dfa5
mov esi, dword [ebp]
add ebp, 0x2c
mov edi, 0xffffffe0
nop
xor esi, dword [edi + 0x44d6f0]
mov ecx, dword [ebp - 0x18]
movzx eax, ch
movzx edx, byte [eax + 0x44d6f8]
xor edx, esi
mov eax, ecx
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x44d6f8]
shl eax, 8
mov ebx, ecx
shr ebx, 0x18
movzx ebx, byte [ebx + 0x44d6f8]
shl ebx, 0x10
xor ebx, edx
xor ebx, eax
movzx eax, cl
movzx esi, byte [eax + 0x44d6f8]
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 0x42df30
xor edi, edi
mov eax, edi
add esp, 0x214
pop esi
pop edi
pop ebx
pop ebp
ret