Function at 0x458660
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [ebp + 8]
movzx edx, byte [eax + 1]
push ebx
mov dword [ebp - 0x1c], ecx
movzx ebx, byte [eax + 9]
push esi
lea esi, [ecx + 0x3c]
movzx ecx, byte [eax]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 2]
push edi
movzx edi, byte [eax + 4]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 3]
shl edi, 8
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 5]
or edi, edx
movzx edx, byte [eax + 6]
shl edi, 8
or edi, edx
movzx edx, byte [eax + 7]
shl edi, 8
or edi, edx
movzx edx, byte [eax + 8]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0xa]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0xb]
shl edx, 8
or edx, ebx
movzx ebx, byte [eax + 0xc]
mov dword [ebp - 0x14], edx
movzx edx, byte [eax + 0xd]
shl ebx, 8
or ebx, edx
movzx edx, byte [eax + 0xe]
movzx eax, byte [eax + 0xf]
shl ebx, 8
or ebx, edx
mov edx, dword [esi + 4]
shl ebx, 8
or ebx, eax
mov eax, dword [esi]
xor eax, ecx
mov dword [ebp + 8], eax
mov eax, dword [esi + 8]
xor eax, dword [ebp - 0x14]
xor edx, edi
mov edi, dword [esi + 0xc]
xor edi, ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edi
xor ecx, ecx
mov ebx, 0x4c33b8
mov eax, 0x20
lea esp, [esp]
and ecx, dword [ebx]
add ebx, 0x20
dec eax
jne 0x458720
cmp ebx, str.RRRR_t_t_t_tjjjj
jl 0x458714
or dword [ebp + 8], ecx
mov ecx, dword [ebp - 0xc]
mov ebx, dword [0x593614]
shr ecx, 8
movzx eax, cl
mov eax, dword [ebx + eax*4]
mov ebx, dword [0x593610]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [ebx + ecx*4]
mov ecx, dword [ebp + 8]
mov ebx, dword [0x59360c]
shr ecx, 0x18
xor eax, dword [ebx + ecx*4]
mov ebx, dword [0x593618]
movzx ecx, dl
xor eax, dword [ebx + ecx*4]
mov ebx, dword [0x593614]
xor eax, dword [esi + 0x10]
mov dword [ebp - 4], eax
mov eax, edi
mov edi, dword [ebp + 8]
shr eax, 8
movzx ecx, al
mov ecx, dword [ebx + ecx*4]
mov ebx, dword [0x593610]
mov eax, edi
shr eax, 0x10
movzx eax, al
xor ecx, dword [ebx + eax*4]
mov ebx, dword [0x59360c]
mov eax, edx
shr eax, 0x18
xor ecx, dword [ebx + eax*4]
movzx eax, byte [ebp - 0xc]
mov ebx, dword [0x593618]
xor ecx, dword [ebx + eax*4]
mov ebx, edx
mov eax, edi
shr eax, 8
movzx eax, al
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [0x593614]
mov ebx, dword [ebx + eax*4]
mov eax, dword [0x593610]
xor ebx, dword [eax + edi*4]
mov eax, dword [ebp - 0xc]
mov edi, dword [0x59360c]
shr eax, 0x18
xor ebx, dword [edi + eax*4]
movzx eax, byte [ebp - 0x10]
mov edi, dword [0x593618]
xor ebx, dword [edi + eax*4]
mov eax, dword [ebp - 0xc]
xor ecx, dword [esi + 0x14]
xor ebx, dword [esi + 0x18]
shr edx, 8
shr eax, 0x10
movzx edx, dl
movzx edi, al
mov eax, dword [0x593614]
mov eax, dword [eax + edx*4]
mov edx, dword [0x593610]
xor eax, dword [edx + edi*4]
mov edx, dword [ebp - 0x10]
shr edx, 0x18
mov edi, edx
mov edx, dword [0x59360c]
xor eax, dword [edx + edi*4]
movzx edx, byte [ebp + 8]
mov edi, dword [0x593618]
xor eax, dword [edi + edx*4]
mov edx, dword [ebp - 0x1c]
xor eax, dword [esi + 0x1c]
add esi, 0x20
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], esi
mov edx, dword [edx + 0x38]
shr edx, 1
dec edx
mov dword [ebp - 0x14], edx
je 0x458a83
mov edi, dword [0x593610]
nop
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
movzx ecx, cl
mov dword [ebp + 8], ecx
mov ecx, dword [edi + edx*4]
mov edi, dword [ebp + 8]
mov edx, dword [0x593614]
xor ecx, dword [edx + edi*4]
mov edx, dword [ebp - 4]
mov edi, dword [0x59360c]
shr edx, 0x18
xor ecx, dword [edi + edx*4]
movzx edx, byte [ebp - 8]
mov edi, dword [0x593618]
xor ecx, dword [edi + edx*4]
mov edi, dword [ebp - 8]
xor ecx, dword [esi]
mov edx, dword [0x593614]
mov dword [ebp + 8], ecx
shr eax, 8
movzx eax, al
mov eax, dword [edx + eax*4]
mov edx, dword [0x59360c]
mov ecx, edi
shr ecx, 0x18
xor eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 4]
shr ecx, 0x10
movzx edx, cl
mov ecx, dword [0x593610]
xor eax, dword [ecx + edx*4]
mov ecx, dword [0x593618]
movzx edx, bl
xor eax, dword [ecx + edx*4]
mov edx, ebx
shr edx, 0x18
mov ecx, edi
shr ecx, 0x10
movzx edi, cl
mov ecx, dword [0x59360c]
mov ecx, dword [ecx + edx*4]
mov edx, dword [0x593610]
xor ecx, dword [edx + edi*4]
mov edx, dword [ebp - 4]
mov edi, dword [0x593614]
shr edx, 8
movzx edx, dl
xor ecx, dword [edi + edx*4]
movzx edx, byte [ebp - 0x10]
mov edi, dword [0x593618]
xor ecx, dword [edi + edx*4]
mov edx, dword [ebp - 0x10]
xor ecx, dword [esi + 8]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [0x59360c]
xor eax, dword [esi + 4]
shr edx, 0x18
mov edx, dword [ebx + edx*4]
mov ebx, dword [0x593610]
xor edx, dword [ebx + edi*4]
mov ebx, dword [ebp - 8]
shr ebx, 8
movzx edi, bl
mov ebx, dword [0x593614]
xor edx, dword [ebx + edi*4]
movzx edi, byte [ebp - 4]
mov ebx, dword [0x593618]
xor edx, dword [ebx + edi*4]
mov ebx, ecx
xor edx, dword [esi + 0xc]
shr ebx, 8
movzx esi, bl
mov ebx, edx
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [0x593614]
mov esi, dword [ebx + esi*4]
mov ebx, dword [0x593610]
xor esi, dword [ebx + edi*4]
mov edi, dword [ebp + 8]
mov ebx, dword [0x59360c]
shr edi, 0x18
xor esi, dword [ebx + edi*4]
mov ebx, dword [0x593618]
movzx edi, al
xor esi, dword [ebx + edi*4]
mov edi, dword [ebp - 0xc]
xor esi, dword [edi + 0x10]
mov ebx, edx
shr ebx, 8
mov dword [ebp - 4], esi
movzx esi, bl
mov ebx, dword [ebp + 8]
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [0x593614]
mov esi, dword [ebx + esi*4]
mov ebx, dword [0x593610]
xor esi, dword [ebx + edi*4]
mov ebx, dword [0x59360c]
mov edi, eax
shr edi, 0x18
xor esi, dword [ebx + edi*4]
mov ebx, dword [0x593618]
movzx edi, cl
xor esi, dword [ebx + edi*4]
mov edi, dword [ebp - 0xc]
xor esi, dword [edi + 0x14]
mov ebx, dword [ebp + 8]
shr ebx, 8
mov dword [ebp - 8], esi
movzx esi, bl
mov ebx, eax
shr ebx, 0x10
movzx edi, bl
mov ebx, dword [0x593614]
mov ebx, dword [ebx + esi*4]
mov esi, dword [0x593610]
xor ebx, dword [esi + edi*4]
mov edi, dword [0x59360c]
mov esi, ecx
shr esi, 0x18
xor ebx, dword [edi + esi*4]
mov edi, dword [0x593618]
shr eax, 8
movzx esi, dl
xor ebx, dword [edi + esi*4]
mov edi, dword [0x593614]
mov esi, dword [ebp - 0xc]
xor ebx, dword [esi + 0x18]
movzx eax, al
mov eax, dword [edi + eax*4]
mov edi, dword [0x593610]
shr ecx, 0x10
movzx ecx, cl
xor eax, dword [edi + ecx*4]
mov ecx, dword [0x59360c]
shr edx, 0x18
xor eax, dword [ecx + edx*4]
movzx edx, byte [ebp + 8]
mov ecx, dword [0x593618]
xor eax, dword [ecx + edx*4]
add esi, 0x20
xor eax, dword [esi - 4]
dec dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], esi
jne 0x458860
mov ecx, dword [ebp - 8]
xor edi, edi
xor edx, edx
mov dword [ebp + 8], edx
lea ebx, [ebx]
movzx edx, byte [edx + 0x4c47b8]
and edi, edx
mov edx, dword [ebp + 8]
add edx, 0x20
mov dword [ebp + 8], edx
cmp edx, 0x100
jl 0x458a90
mov dword [ebp + 8], edi
mov edi, dword [ebp - 4]
or edi, dword [ebp + 8]
mov edx, eax
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x4c47b8]
mov dword [ebp - 4], edi
shr edi, 0x18
movzx edi, byte [edi + 0x4c47b8]
shl edi, 8
xor edi, edx
shl edi, 8
mov edx, ebx
shr edx, 8
movzx edx, dl
movzx edx, byte [edx + 0x4c47b8]
xor edi, edx
shl edi, 8
movzx edx, cl
movzx edx, byte [edx + 0x4c47b8]
xor edi, edx
xor edi, dword [esi]
mov edx, ecx
shr edx, 0x18
mov dword [ebp + 8], edi
movzx edi, byte [edx + 0x4c47b8]
mov edx, dword [ebp - 4]
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x4c47b8]
shl edi, 8
xor edi, edx
mov edx, eax
shr edx, 8
movzx edx, dl
movzx edx, byte [edx + 0x4c47b8]
shl edi, 8
xor edi, edx
shl edi, 8
movzx edx, bl
movzx edx, byte [edx + 0x4c47b8]
xor edi, edx
xor edi, dword [esi + 4]
mov edx, ebx
shr edx, 0x18
mov dword [ebp - 0x1c], edi
movzx edi, byte [edx + 0x4c47b8]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x4c47b8]
shl edi, 8
xor edi, edx
mov edx, dword [ebp - 4]
shr edx, 8
movzx edx, dl
movzx edx, byte [edx + 0x4c47b8]
shl edi, 8
xor edi, edx
movzx edx, al
movzx edx, byte [edx + 0x4c47b8]
shr eax, 0x18
movzx eax, byte [eax + 0x4c47b8]
shl edi, 8
xor edi, edx
xor edi, dword [esi + 8]
shr ebx, 0x10
movzx edx, bl
movzx edx, byte [edx + 0x4c47b8]
shr ecx, 8
shl eax, 8
xor eax, edx
movzx ecx, cl
movzx edx, byte [ecx + 0x4c47b8]
movzx ecx, byte [ebp - 4]
shl eax, 8
xor eax, edx
movzx edx, byte [ecx + 0x4c47b8]
shl eax, 8
xor eax, edx
xor eax, dword [esi + 0xc]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x1c]
push edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x14], edx
call fcn.00458030
mov ecx, eax
call fcn.00458030
mov ecx, eax
call fcn.00458030
mov ecx, eax
call fcn.00458030
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc