Function at 0x457e90
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 8]
mov ecx, 0x10
call fcn.00402978
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
cmp eax, 2
jl 0x45802a
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x244]
lea edx, [ebp - 0x30]
mov dword [edx], eax
lea eax, [ebp - 0x50]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x248]
lea edx, [ebp - 0x2c]
mov dword [edx], eax
lea eax, [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x24c]
lea edx, [ebp - 0x28]
mov dword [edx], eax
lea eax, [ebp - 0x48]
mov eax, dword [eax]
mov edx, dword [ebp - 0x10]
shl edx, 2
mov ecx, dword [ebp - 4]
xor eax, dword [ecx + edx*8 + 0x250]
lea edx, [ebp - 0x24]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x30]
lea eax, [eax*4 + 0x4815fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x23]
lea edx, [edx*4 + 0x4819fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x26]
lea edx, [edx*4 + 0x481dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x29]
lea edx, [edx*4 + 0x4821fc]
xor eax, dword [edx]
lea edx, [ebp - 0x54]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x2c]
lea eax, [eax*4 + 0x4815fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x2f]
lea edx, [edx*4 + 0x4819fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x22]
lea edx, [edx*4 + 0x481dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x25]
lea edx, [edx*4 + 0x4821fc]
xor eax, dword [edx]
lea edx, [ebp - 0x50]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x28]
lea eax, [eax*4 + 0x4815fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x2b]
lea edx, [edx*4 + 0x4819fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x2e]
lea edx, [edx*4 + 0x481dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x21]
lea edx, [edx*4 + 0x4821fc]
xor eax, dword [edx]
lea edx, [ebp - 0x4c]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x24]
lea eax, [eax*4 + 0x4815fc]
mov eax, dword [eax]
xor edx, edx
mov dl, byte [ebp - 0x27]
lea edx, [edx*4 + 0x4819fc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x2a]
lea edx, [edx*4 + 0x481dfc]
xor eax, dword [edx]
xor edx, edx
mov dl, byte [ebp - 0x2d]
lea edx, [edx*4 + 0x4821fc]
xor eax, dword [edx]
lea edx, [ebp - 0x48]
mov dword [edx], eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jne 0x457ec1
lea eax, [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
xor eax, dword [edx + 0x264]
lea edx, [ebp - 0x30]
mov dword [edx], eax
lea eax, [ebp - 0x50]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
xor eax, dword [edx + 0x268]
lea edx, [ebp - 0x2c]
mov dword [edx], eax
lea eax, [ebp - 0x4c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
xor eax, dword [edx + 0x26c]
lea edx, [ebp - 0x28]
mov dword [edx], eax
lea eax, [ebp - 0x48]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
xor eax, dword [edx + 0x270]
lea edx, [ebp - 0x24]
mov dword [edx], eax
xor eax, eax
mov al, byte [ebp - 0x30]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x54], al
xor eax, eax
mov al, byte [ebp - 0x23]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x53], al
xor eax, eax
mov al, byte [ebp - 0x26]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x52], al
xor eax, eax
mov al, byte [ebp - 0x29]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x51], al
xor eax, eax
mov al, byte [ebp - 0x2c]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x50], al
xor eax, eax
mov al, byte [ebp - 0x2f]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x4f], al
xor eax, eax
mov al, byte [ebp - 0x22]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x4e], al
xor eax, eax
mov al, byte [ebp - 0x25]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x4d], al
xor eax, eax
mov al, byte [ebp - 0x28]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x4c], al
xor eax, eax
mov al, byte [ebp - 0x2b]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x4b], al
xor eax, eax
mov al, byte [ebp - 0x2e]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x4a], al
xor eax, eax
mov al, byte [ebp - 0x21]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x49], al
xor eax, eax
mov al, byte [ebp - 0x24]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x48], al
xor eax, eax
mov al, byte [ebp - 0x27]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x47], al
xor eax, eax
mov al, byte [ebp - 0x2a]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x46], al
xor eax, eax
mov al, byte [ebp - 0x2d]
mov al, byte [eax + 0x4825fc]
mov byte [ebp - 0x45], al
lea eax, [ebp - 0x54]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x244]
xor dword [eax], edx
lea eax, [ebp - 0x50]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x248]
xor dword [eax], edx
lea eax, [ebp - 0x4c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x24c]
xor dword [eax], edx
lea eax, [ebp - 0x48]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x250]
xor dword [eax], edx
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 0x54]
mov ecx, 0x10
call fcn.00402978
mov esp, ebp
pop ebp
ret