Function at 0x44a880
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
movsd xmm1, qword [0x4ae368]
movsx eax, word [0x4ae354]
movss xmm2, dword [0x4a0124]
movd xmm0, eax
movsx eax, word [0x4ae2cc]
inc word [0x4ae2cc]
dec word [0x4ae354]
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd xmm0, qword [0x4a1a00]
comisd xmm0, xmm1
jb 0x44a927
inc word [0x4ae334]
movss xmm0, dword [0x4ae428]
subss xmm0, xmm2
movss dword [0x4ae428], xmm0
movsx eax, word [0x4ae334]
movss xmm1, dword [0x4ae428]
movd xmm0, eax
mov eax, dword [0x4ae360]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si eax, xmm1
mov word [0x4ae2b8], ax
jmp 0x44a946
mov eax, dword [0x4ae360]
add eax, 0xe55f4cd
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ae428], xmm0
inc dword [0x4ae360]
movsx eax, word [0x4ae1d4]
movsd xmm0, qword [0x4ae2f8]
push ebx
mov ebx, dword [ebp + 0xc]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
push esi
push edi
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ae1d4], ax
lea eax, [ebx + 4]
movsd xmm0, qword [0x4ae1f8]
mulsd xmm0, qword [0x4a3518]
push eax
movsd qword [0x4ae1f8], xmm0
movss xmm0, dword [0x4ae268]
subss xmm0, dword [0x4ae1cc]
movss dword [0x4ae268], xmm0
movss xmm0, dword [0x4ae1cc]
addss xmm0, xmm2
movss dword [0x4ae1cc], xmm0
call fcn.00457315
mov esi, eax
mov edi, dword [ebp + 8]
mov ax, word [0x4ae004]
add esp, 4
movsx ecx, ax
mov eax, dword [0x4ae454]
movss xmm0, dword [0x4ae28c]
add eax, 0x7a10cc8a
add eax, ecx
mov dword [ebp - 4], esi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ae28c], xmm0
dec word [0x4ae004]
movss xmm1, dword [0x4ae3a4]
movsx eax, word [0x4ae250]
subss xmm1, dword [0x4a2514]
movd xmm0, eax
mov eax, dword [0x4ae3f4]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ae3f4], eax
dec word [0x4ae250]
mov ax, word [0x4ae1c0]
cwde
add dword [0x4ae3e8], eax
mov al, byte [edi + 0x49c250]
mov byte [esi], al
movsx eax, word [0x4ae4d0]
cmp eax, 0x8b3d4e30
jg 0x44aa84
mov ax, word [0x4ae4f4]
movzx ecx, word [0x4ae23c]
cwde
imul ecx, eax
mov word [0x4ae23c], cx
inc word [0x4ae4f4]
mov eax, dword [0x4af25c]
movss xmm3, dword [0x4a0124]
mov al, byte [eax + edi]
xor byte [esi], al
movsd xmm1, qword [0x4ae490]
mov eax, dword [0x4ae4ec]
sub eax, 0x74bcc65a
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ae490], xmm1
inc dword [0x4ae4ec]
movss xmm1, dword [0x4ae290]
mov eax, dword [0x4ae4ac]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
addss xmm1, dword [0x4a20f0]
cvttss2si eax, xmm1
mov dword [0x4ae164], eax
inc dword [0x4ae4ac]
movsd xmm0, qword [0x4ae3a8]
addsd xmm0, qword [0x4a0128]
movsd qword [0x4ae3a8], xmm0
movss xmm0, dword [0x4ae2a0]
addss xmm0, xmm3
movss dword [0x4ae2a0], xmm0
movss xmm0, dword [0x4ae2a0]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ae3a8]
addsd xmm0, qword [0x4a0860]
subsd xmm1, xmm0
movsd xmm0, qword [0x4a3350]
comisd xmm0, xmm1
jbe 0x44ab72
movss xmm0, dword [0x4ae05c]
cvttss2si eax, xmm0
mov word [0x4ae354], ax
movss xmm0, dword [0x4ae05c]
subss xmm0, xmm3
movss dword [0x4ae05c], xmm0
jmp 0x44ab84
mov eax, dword [0x4ae468]
mov ecx, 0xcb169c05
sub ecx, eax
mov dword [0x4ae394], ecx
mov al, byte [edi + 0x49c251]
mov ecx, 0xdd1ab530
mov byte [esi + 1], al
movzx eax, word [0x4ae058]
sub eax, 0x5eb633b5
mov word [0x4ae2c8], ax
dec word [0x4ae058]
mov eax, dword [0x4af25c]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
mov eax, dword [section..data]
movsd xmm1, qword [0x4ae320]
movd xmm0, eax
mov eax, dword [0x4ae088]
cvtdq2pd xmm0, xmm0
movd xmm2, eax
addsd xmm1, xmm0
movss xmm0, dword [0x4ae49c]
cvtps2pd xmm0, xmm0
cvtdq2pd xmm2, xmm2
addsd xmm2, xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [0x4ae49c], xmm0
dec dword [0x4ae088]
movss xmm0, dword [0x4ae20c]
subss xmm0, xmm3
movss dword [0x4ae20c], xmm0
movss xmm0, dword [0x4ae20c]
addss xmm0, dword [0x4a25e0]
cvttss2si eax, xmm0
mov dword [0x4ae360], eax
movss xmm0, dword [0x4ae378]
addss xmm0, xmm3
movss dword [0x4ae378], xmm0
movsx eax, word [0x4ae024]
movss xmm0, dword [0x4ae378]
sub ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [0x4ae478], xmm0
movzx eax, word [esi]
add dword [0x4ae4f8], 0x4062236a
mov dword [ebp + 0xc], eax
add eax, 3
push eax
lea eax, [edi + 0x49c250]
push eax
push esi
call fcn.0044dd90
movsx eax, word [0x4ae224]
add esp, 0xc
movss xmm0, dword [0x4ae28c]
mov edx, dword [ebp + 0xc]
add edx, 3
movd xmm2, eax
add edx, esi
mov eax, dword [0x4ae4dc]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
mov eax, 0x3628
subss xmm2, xmm0
movss xmm0, dword [0x4ae17c]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm2
mulss xmm0, xmm1
movss dword [0x4ae17c], xmm0
inc dword [0x4ae4dc]
mov ecx, dword [0x4af25c]
mov word [0x4ae238], ax
add ecx, edi
movss xmm0, dword [0x4ae030]
subss xmm0, dword [0x4a28c8]
subss xmm0, dword [0x4a3e84]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ae200]
subsd xmm0, qword [0x4a1788]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jnp 0x44ad49
movss xmm1, dword [0x4ae2f0]
addss xmm1, dword [0x4a20b0]
movss xmm0, dword [0x4ae3b4]
mulss xmm0, xmm1
movss dword [0x4ae3b4], xmm0
cmp esi, edx
je 0x44ad90
movss xmm1, dword [0x4a3db0]
sub ecx, esi
nop word [eax + eax]
movzx eax, word [0x4ae2e8]
add eax, 0x4659a4bd
mov word [0x4ae2e8], ax
mov al, byte [ecx + esi]
xor byte [esi], al
inc esi
movss xmm0, dword [0x4ae470]
subss xmm0, xmm1
movss dword [0x4ae470], xmm0
cmp esi, edx
jne 0x44ad60
mov ax, word [0x4ae4a8]
mov ecx, dword [0x4ae288]
cwde
add ecx, eax
mov word [0x4ae4a8], cx
cmp ebx, dword [ebp + 0xc]
je 0x44aecc
mov dword [0x4ae184], 0x9d48178f
mov byte [edx], 0
movsd xmm0, qword [0x4ae1f0]
subsd xmm0, qword [0x4a30a0]
movsd qword [0x4ae1f0], xmm0
movzx eax, word [0x4ae2b0]
sub eax, 0x2cdfb5dc
mov word [0x4ae2b0], ax
movzx eax, word [0x4ae058]
mov edi, dword [edx - 3]
movsx ecx, ax
mov eax, dword [0x4ae018]
sub ecx, eax
mov eax, dword [0x4ae3fc]
add ecx, 0x33efd2b5
movsd xmm1, qword [0x4ae1f8]
movd xmm0, eax
movsx eax, word [0x4ae3b0]
cvtdq2pd xmm0, xmm0
movd xmm2, eax
addsd xmm1, xmm0
movd xmm3, ecx
movsd xmm0, qword [0x4ae1f8]
addsd xmm0, qword [0x4a0128]
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm3, xmm3
addsd xmm2, xmm1
movsd qword [0x4ae1f8], xmm0
inc dword [0x4ae018]
comisd xmm3, xmm2
jbe 0x44ae8a
inc word [0x4ae2a8]
mov ax, word [0x4ae2a8]
movss xmm1, dword [0x4ae484]
movsx ecx, ax
mov eax, dword [0x4ae310]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ae484], xmm1
movzx eax, word [0x4ae06c]
lea esi, [edx - 3]
sub ebx, dword [ebp + 0xc]
movsx ecx, ax
movzx eax, word [0x4ae23c]
add eax, 0x4a681582
add eax, ecx
mov word [0x4ae06c], ax
dec word [0x4ae23c]
movzx eax, word [0x4ae128]
sub eax, 0x585bc1d9
mov word [0x4ae128], ax
jmp 0x44aa42
dec word [0x4ae330]
mov cx, word [0x4ae330]
mov edx, dword [0x4ae43c]
mov eax, dword [ebp - 4]
movsx ecx, cx
sub edx, ecx
mov ecx, dword [0x4ae360]
pop edi
sub edx, ecx
pop esi
mov dword [0x4ae0d0], edx
inc dword [0x4ae360]
pop ebx
mov esp, ebp
pop ebp
ret