Function at 0x415571
Capabilities:
Manually build aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [ebp + 8]
mov byte [eax + 0x300], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x200], 1
mov edx, dword [ebp + 8]
mov byte [edx + 0x301], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x201], 3
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x303], 1
mov dword [ebp - 8], 2
jmp 0x4155bb
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x100
jge 0x415626
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x1ff]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
movzx eax, byte [edx + 0x1ff]
shl eax, 1
mov edx, dword [ebp + 8]
add edx, dword [ebp - 8]
movzx edx, byte [edx + 0x1ff]
and edx, 0x80
neg edx
sbb edx, edx
and edx, 0x1b
xor eax, edx
xor ecx, eax
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov byte [eax + 0x200], cl
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x200]
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 8]
mov byte [eax + edx + 0x300], cl
jmp 0x4155b2
mov edx, dword [ebp + 8]
mov byte [edx], 0x63
mov eax, dword [ebp + 8]
mov byte [eax + 0x163], 0
mov dword [ebp - 8], 1
jmp 0x415648
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0x100
jge 0x41572b
mov dl, byte [ebp - 8]
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xd]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0x300]
mov eax, 0xff
sub eax, edx
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + eax + 0x200]
mov byte [ebp - 1], dl
mov al, byte [ebp - 1]
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xd]
sar ecx, 7
movzx edx, byte [ebp - 0xd]
shl edx, 1
or ecx, edx
mov byte [ebp - 0xd], cl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 1]
xor ecx, eax
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 0xd]
sar edx, 7
movzx eax, byte [ebp - 0xd]
shl eax, 1
or edx, eax
mov byte [ebp - 0xd], dl
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp - 1]
xor edx, ecx
mov byte [ebp - 1], dl
movzx eax, byte [ebp - 0xd]
sar eax, 7
movzx ecx, byte [ebp - 0xd]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0xd], al
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 1]
xor eax, edx
mov byte [ebp - 1], al
movzx ecx, byte [ebp - 0xd]
sar ecx, 7
movzx edx, byte [ebp - 0xd]
shl edx, 1
or ecx, edx
mov byte [ebp - 0xd], cl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 1]
xor ecx, eax
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 1]
xor edx, 0x63
mov byte [ebp - 1], dl
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov cl, byte [ebp - 1]
mov byte [eax], cl
movzx edx, byte [ebp - 1]
mov eax, dword [ebp + 8]
mov cl, byte [ebp - 8]
mov byte [eax + edx + 0x100], cl
jmp 0x41563f
mov dword [ebp - 8], 0
mov byte [ebp - 1], 1
jmp 0x415741
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x1e
jge 0x415776
movzx eax, byte [ebp - 1]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0xc00], eax
movzx eax, byte [ebp - 1]
shl eax, 1
movzx ecx, byte [ebp - 1]
and ecx, 0x80
neg ecx
sbb ecx, ecx
and ecx, 0x1b
xor eax, ecx
mov byte [ebp - 1], al
jmp 0x415738
mov dword [ebp - 8], 0
jmp 0x415788
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
cmp dword [ebp - 8], 0x100
jge 0x415962
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov cl, byte [eax]
mov byte [ebp - 1], cl
movzx edx, byte [ebp - 1]
movzx eax, byte [ebp - 1]
shl eax, 1
movzx ecx, byte [ebp - 1]
and ecx, 0x80
neg ecx
sbb ecx, ecx
and ecx, 0x1b
xor eax, ecx
xor edx, eax
mov byte [ebp - 9], dl
mov dl, byte [ebp - 1]
mov byte [ebp - 0xa], dl
mov al, byte [ebp - 1]
mov byte [ebp - 0xb], al
movzx ecx, byte [ebp - 1]
shl ecx, 1
movzx edx, byte [ebp - 1]
and edx, 0x80
neg edx
sbb edx, edx
and edx, 0x1b
xor ecx, edx
mov byte [ebp - 0xc], cl
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov dword [ecx + eax*4 + 0x400], edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 8]
mov cl, byte [eax + 0x100]
mov byte [ebp - 1], cl
mov edx, 0xb
test edx, edx
je 0x41584d
movzx eax, byte [ebp - 1]
test eax, eax
je 0x41584d
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + 0x30b]
movzx edx, byte [ebp - 1]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + edx + 0x300]
add eax, edx
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0x200]
mov dword [ebp - 0x14], ecx
jmp 0x415854
mov dword [ebp - 0x14], 0
mov dl, byte [ebp - 0x14]
mov byte [ebp - 9], dl
mov eax, 0xd
test eax, eax
je 0x41589e
movzx ecx, byte [ebp - 1]
test ecx, ecx
je 0x41589e
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x30d]
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + ecx + 0x300]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0x200]
mov dword [ebp - 0x18], ecx
jmp 0x4158a5
mov dword [ebp - 0x18], 0
mov dl, byte [ebp - 0x18]
mov byte [ebp - 0xa], dl
mov eax, 9
test eax, eax
je 0x4158ef
movzx ecx, byte [ebp - 1]
test ecx, ecx
je 0x4158ef
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x309]
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + ecx + 0x300]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0x200]
mov dword [ebp - 0x1c], ecx
jmp 0x4158f6
mov dword [ebp - 0x1c], 0
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0xb], dl
mov eax, 0xe
test eax, eax
je 0x415940
movzx ecx, byte [ebp - 1]
test ecx, ecx
je 0x415940
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x30e]
movzx ecx, byte [ebp - 1]
mov edx, dword [ebp + 8]
movzx ecx, byte [edx + ecx + 0x300]
add eax, ecx
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0x200]
mov dword [ebp - 0x20], ecx
jmp 0x415947
mov dword [ebp - 0x20], 0
mov dl, byte [ebp - 0x20]
mov byte [ebp - 0xc], dl
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov dword [ecx + eax*4 + 0x800], edx
jmp 0x41577f
mov esp, ebp
pop ebp
ret