Function at 0x401000
Capabilities:
Manually build aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov dword [ebp - 0x108], 0
mov byte [ebp - 0x102], 1
jmp 0x401059
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
movzx ecx, byte [ebp - 0x102]
shl ecx, 1
movzx edx, byte [ebp - 0x102]
and edx, 0x80
neg edx
sbb edx, edx
and edx, 0x1b
xor ecx, edx
movzx eax, byte [ebp - 0x102]
xor eax, ecx
mov byte [ebp - 0x102], al
cmp dword [ebp - 0x108], 0x100
jge 0x40108e
mov ecx, dword [ebp - 0x108]
mov dl, byte [ebp - 0x102]
mov byte [ebp + ecx - 0x208], dl
movzx eax, byte [ebp - 0x102]
mov cl, byte [ebp - 0x108]
mov byte [ebp + eax - 0x100], cl
jmp 0x40101c
mov dword [ebp - 0x108], 0
mov byte [ebp - 0x102], 1
jmp 0x4010d5
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
movzx eax, byte [ebp - 0x102]
shl eax, 1
movzx ecx, byte [ebp - 0x102]
and ecx, 0x80
neg ecx
sbb ecx, ecx
and ecx, 0x1b
xor eax, ecx
mov byte [ebp - 0x102], al
cmp dword [ebp - 0x108], 0xa
jge 0x4010f7
movzx edx, byte [ebp - 0x102]
shl edx, 0x18
mov eax, dword [ebp - 0x108]
mov dword [eax*4 + 0x413c48], edx
jmp 0x4010a1
mov dword [0x413048], 0x63
mov dword [0x4161fc], 0
mov dword [ebp - 0x108], 1
jmp 0x401126
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 0x100
jge 0x401258
mov edx, dword [ebp - 0x108]
movzx eax, byte [ebp + edx - 0x100]
mov ecx, 0xff
sub ecx, eax
mov dl, byte [ebp + ecx - 0x208]
mov byte [ebp - 0x102], dl
mov al, byte [ebp - 0x102]
mov byte [ebp - 0x101], al
movzx ecx, byte [ebp - 0x101]
shl ecx, 1
movzx edx, byte [ebp - 0x101]
sar edx, 7
or ecx, edx
mov byte [ebp - 0x101], cl
movzx eax, byte [ebp - 0x101]
movzx ecx, byte [ebp - 0x102]
xor ecx, eax
mov byte [ebp - 0x102], cl
movzx edx, byte [ebp - 0x101]
shl edx, 1
movzx eax, byte [ebp - 0x101]
sar eax, 7
or edx, eax
mov byte [ebp - 0x101], dl
movzx ecx, byte [ebp - 0x101]
movzx edx, byte [ebp - 0x102]
xor edx, ecx
mov byte [ebp - 0x102], dl
movzx eax, byte [ebp - 0x101]
shl eax, 1
movzx ecx, byte [ebp - 0x101]
sar ecx, 7
or eax, ecx
mov byte [ebp - 0x101], al
movzx edx, byte [ebp - 0x101]
movzx eax, byte [ebp - 0x102]
xor eax, edx
mov byte [ebp - 0x102], al
movzx ecx, byte [ebp - 0x101]
shl ecx, 1
movzx edx, byte [ebp - 0x101]
sar edx, 7
or ecx, edx
mov byte [ebp - 0x101], cl
movzx eax, byte [ebp - 0x101]
xor eax, 0x63
movzx ecx, byte [ebp - 0x102]
xor ecx, eax
mov byte [ebp - 0x102], cl
movzx edx, byte [ebp - 0x102]
mov eax, dword [ebp - 0x108]
mov dword [eax*4 + 0x413048], edx
movzx ecx, byte [ebp - 0x102]
mov edx, dword [ebp - 0x108]
mov dword [ecx*4 + 0x416070], edx
jmp 0x401117
mov dword [ebp - 0x108], 0
jmp 0x401273
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0x100
jge 0x4015cc
mov ecx, dword [ebp - 0x108]
mov dl, byte [ecx*4 + 0x413048]
mov byte [ebp - 0x102], dl
movzx eax, byte [ebp - 0x102]
shl eax, 1
movzx ecx, byte [ebp - 0x102]
and ecx, 0x80
neg ecx
sbb ecx, ecx
and ecx, 0x1b
xor eax, ecx
mov byte [ebp - 0x101], al
movzx edx, byte [ebp - 0x102]
movzx eax, byte [ebp - 0x101]
xor edx, eax
movzx ecx, byte [ebp - 0x102]
shl ecx, 8
xor edx, ecx
movzx eax, byte [ebp - 0x102]
shl eax, 0x10
xor edx, eax
movzx ecx, byte [ebp - 0x101]
shl ecx, 0x18
xor edx, ecx
mov eax, dword [ebp - 0x108]
mov dword [eax*4 + 0x415c70], edx
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0x108]
mov eax, dword [edx*4 + 0x415c70]
mov dword [ecx*4 + 0x415c70], eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x415c70]
shl edx, 0x18
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax*4 + 0x415c70]
shr ecx, 8
or edx, ecx
mov eax, dword [ebp - 0x108]
mov dword [eax*4 + 0x415870], edx
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x415870]
shl edx, 0x18
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax*4 + 0x415870]
shr ecx, 8
or edx, ecx
mov eax, dword [ebp - 0x108]
mov dword [eax*4 + 0x415470], edx
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x415470]
shl edx, 0x18
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax*4 + 0x415470]
shr ecx, 8
or edx, ecx
mov eax, dword [ebp - 0x108]
mov dword [eax*4 + 0x415070], edx
mov ecx, dword [ebp - 0x108]
mov dl, byte [ecx*4 + 0x416070]
mov byte [ebp - 0x101], dl
mov eax, 0xb
test eax, eax
je 0x4013fa
movzx ecx, byte [ebp - 0x101]
test ecx, ecx
je 0x4013fa
movzx eax, byte [ebp - 0xf5]
movzx edx, byte [ebp - 0x101]
movzx ecx, byte [ebp + edx - 0x100]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx edx, byte [ebp + edx - 0x208]
mov dword [ebp - 0x20c], edx
jmp 0x401404
mov dword [ebp - 0x20c], 0
mov eax, 0xd
test eax, eax
je 0x401448
movzx ecx, byte [ebp - 0x101]
test ecx, ecx
je 0x401448
movzx eax, byte [ebp - 0xf3]
movzx edx, byte [ebp - 0x101]
movzx ecx, byte [ebp + edx - 0x100]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx edx, byte [ebp + edx - 0x208]
mov dword [ebp - 0x210], edx
jmp 0x401452
mov dword [ebp - 0x210], 0
mov eax, 9
test eax, eax
je 0x401496
movzx ecx, byte [ebp - 0x101]
test ecx, ecx
je 0x401496
movzx eax, byte [ebp - 0xf7]
movzx edx, byte [ebp - 0x101]
movzx ecx, byte [ebp + edx - 0x100]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx edx, byte [ebp + edx - 0x208]
mov dword [ebp - 0x214], edx
jmp 0x4014a0
mov dword [ebp - 0x214], 0
mov eax, 0xe
test eax, eax
je 0x4014e4
movzx ecx, byte [ebp - 0x101]
test ecx, ecx
je 0x4014e4
movzx eax, byte [ebp - 0xf2]
movzx edx, byte [ebp - 0x101]
movzx ecx, byte [ebp + edx - 0x100]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
movzx edx, byte [ebp + edx - 0x208]
mov dword [ebp - 0x218], edx
jmp 0x4014ee
mov dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x210]
shl eax, 8
xor eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x214]
shl ecx, 0x10
xor eax, ecx
mov edx, dword [ebp - 0x218]
shl edx, 0x18
xor eax, edx
mov ecx, dword [ebp - 0x108]
mov dword [ecx*4 + 0x414c70], eax
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax*4 + 0x414c70]
mov dword [edx*4 + 0x414c70], ecx
mov edx, dword [ebp - 0x108]
mov eax, dword [edx*4 + 0x414c70]
shl eax, 0x18
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x414c70]
shr edx, 8
or eax, edx
mov ecx, dword [ebp - 0x108]
mov dword [ecx*4 + 0x414870], eax
mov edx, dword [ebp - 0x108]
mov eax, dword [edx*4 + 0x414870]
shl eax, 0x18
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x414870]
shr edx, 8
or eax, edx
mov ecx, dword [ebp - 0x108]
mov dword [ecx*4 + 0x413848], eax
mov edx, dword [ebp - 0x108]
mov eax, dword [edx*4 + 0x413848]
shl eax, 0x18
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx*4 + 0x413848]
shr edx, 8
or eax, edx
mov ecx, dword [ebp - 0x108]
mov dword [ecx*4 + 0x413448], eax
jmp 0x401264
mov esp, ebp
pop ebp
ret