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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x3c]
push ecx
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
pop ecx
xor eax, eax
mov dword [ebp - 0x14], eax
mov eax, edx
sub eax, 0x80
je 0x49a479
sub eax, 0x40
je 0x49a482
sub eax, 0x40
je 0x49a48b
jmp 0x49a494
mov dword [ebp - 4], 4
jmp 0x49a49c
mov dword [ebp - 4], 6
jmp 0x49a49c
mov dword [ebp - 4], 8
jmp 0x49a49c
or eax, 0xffffffff
jmp 0x49a6fd
mov eax, ecx
sub eax, 0x80
je 0x49a4b1
sub eax, 0x40
je 0x49a4ba
sub eax, 0x40
je 0x49a4c3
jmp 0x49a4cc
mov dword [ebp - 8], 4
jmp 0x49a4d6
mov dword [ebp - 8], 6
jmp 0x49a4d6
mov dword [ebp - 8], 8
jmp 0x49a4d6
mov eax, 0xfffffffe
jmp 0x49a6fd
cmp ecx, edx
setle al
call fcn.0049a43c
sub eax, 0x80
je 0x49a4f3
sub eax, 0x40
je 0x49a4fc
sub eax, 0x40
je 0x49a505
jmp 0x49a50e
mov dword [ebp - 0xc], 0xa
jmp 0x49a518
mov dword [ebp - 0xc], 0xc
jmp 0x49a518
mov dword [ebp - 0xc], 0xe
jmp 0x49a518
mov eax, 0xfffffffd
jmp 0x49a6fd
mov esi, dword [ebp - 4]
dec esi
test esi, esi
jl 0x49a54e
inc esi
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x1c], eax
mov ecx, 4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov bl, byte [eax]
mov byte [edx], bl
add edx, 8
add eax, 8
dec ecx
jne 0x49a538
inc dword [ebp - 0x1c]
inc dword [ebp - 0x18]
dec esi
jne 0x49a52d
xor eax, eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
jmp 0x49a58e
mov ecx, 4
lea esi, [ebp - 0x5c]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
shl eax, 2
lea eax, [edi + eax*8]
push eax
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
pop eax
add eax, edx
push eax
mov al, byte [esi + ebx]
pop edx
mov byte [edx], al
add edi, 8
add esi, 8
dec ecx
jne 0x49a562
inc ebx
inc dword [ebp - 0x10]
cmp ebx, dword [ebp - 4]
jge 0x49a6eb
mov eax, dword [ebp - 0xc]
inc eax
imul dword [ebp - 8]
cmp eax, dword [ebp - 0x10]
jg 0x49a557
jmp 0x49a6eb
xor ecx, ecx
lea eax, [ebp - 0x5c]
lea edx, [ecx + 1]
and edx, 0x80000003
jns 0x49a5bd
dec edx
or edx, 0xfffffffc
inc edx
lea edx, [ebp + edx*8 - 0x5c]
mov ebx, dword [ebp - 4]
movzx edx, byte [edx + ebx - 1]
mov dl, byte [edx + 0x4b9e6c]
xor byte [eax], dl
inc ecx
add eax, 8
cmp ecx, 4
jne 0x49a5ad
mov eax, dword [ebp - 0x14]
mov al, byte [eax*4 + 0x4ba06c]
xor byte [ebp - 0x5c], al
inc dword [ebp - 0x14]
cmp dword [ebp - 4], 8
je 0x49a61a
mov esi, dword [ebp - 4]
dec esi
test esi, esi
jle 0x49a69f
lea edx, [ebp - 0x5c]
mov ecx, 4
mov eax, edx
mov bl, byte [eax]
xor byte [eax + 1], bl
add eax, 8
dec ecx
jne 0x49a606
inc edx
dec esi
jne 0x49a5ff
jmp 0x49a69f
mov ebx, 1
jmp 0x49a637
mov ecx, 4
lea eax, [ebp - 0x5c]
mov dl, byte [eax + ebx - 1]
xor byte [eax + ebx], dl
add eax, 8
dec ecx
jne 0x49a629
inc ebx
mov dword [ebp - 0x60], ebx
fild dword [ebp - 0x60]
fild dword [ebp - 4]
fdiv dword [0x49a708]
fcompp
fnstsw ax
sahf
ja 0x49a621
mov ecx, 4
lea eax, [ebp - 0x5c]
mov edx, dword [ebp - 4]
sar edx, 1
jns 0x49a65f
adc edx, 0
xor ebx, ebx
mov bl, byte [eax + edx - 1]
mov bl, byte [ebx + 0x4b9e6c]
xor byte [eax + edx], bl
add eax, 8
dec ecx
jne 0x49a655
mov ebx, dword [ebp - 4]
sar ebx, 1
jns 0x49a67e
adc ebx, 0
inc ebx
cmp ebx, dword [ebp - 4]
jge 0x49a69f
mov ecx, 4
lea eax, [ebp - 0x5c]
mov dl, byte [eax + ebx - 1]
xor byte [eax + ebx], dl
add eax, 8
dec ecx
jne 0x49a68c
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x49a684
xor ebx, ebx
jmp 0x49a6da
mov ecx, 4
lea esi, [ebp - 0x5c]
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
shl eax, 2
lea eax, [edi + eax*8]
push eax
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 8]
pop eax
add eax, edx
push eax
mov al, byte [esi + ebx]
pop edx
mov byte [edx], al
add edi, 8
add esi, 8
dec ecx
jne 0x49a6ae
inc ebx
inc dword [ebp - 0x10]
cmp ebx, dword [ebp - 4]
jge 0x49a6eb
mov eax, dword [ebp - 0xc]
inc eax
imul dword [ebp - 8]
cmp eax, dword [ebp - 0x10]
jg 0x49a6a3
mov eax, dword [ebp - 0xc]
inc eax
imul dword [ebp - 8]
cmp eax, dword [ebp - 0x10]
jg 0x49a5a8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4