Function at 0x41b2d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
inc dword [0x4aa2a0]
mov eax, dword [0x4aa2a0]
movsd xmm1, qword [0x4aa1e0]
push ebx
push esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push edi
addsd xmm1, xmm0
movsd xmm0, qword [0x4aa3e8]
subsd xmm1, qword [0x49bff8]
mulsd xmm0, xmm1
movsd qword [0x4aa3e8], xmm0
movsd xmm0, qword [0x4aa3e8]
subsd xmm0, qword [0x49d018]
movsd qword [0x4aa3e8], xmm0
movss xmm0, dword [0x4aa30c]
subss xmm0, dword [0x4a0160]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa170]
addsd xmm0, xmm1
movss xmm1, dword [0x49e13c]
movsd qword [0x4aa170], xmm0
mov eax, dword [str.xH]
movss xmm0, dword [0x4aa238]
subss xmm1, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [str.xH], eax
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.00453d11
movss xmm0, dword [0x4aa3c0]
mov esi, eax
movss xmm3, dword [0x49bebc]
add esp, 4
subss xmm0, xmm3
movsd xmm4, qword [0x49bec0]
mov edi, dword [ebp + 8]
mov dword [ebp - 4], esi
movss dword [0x4aa3c0], xmm0
movss xmm1, dword [0x4aa3c0]
addss xmm1, dword [0x49e76c]
movss xmm0, dword [0x4aa224]
addss xmm1, dword [0x49ec2c]
mulss xmm0, xmm1
movss xmm1, dword [0x49ee1c]
movss dword [0x4aa224], xmm0
movsd xmm2, qword [0x4aa030]
movss xmm0, dword [0x4aa0d8]
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
subsd xmm2, xmm0
movsd qword [0x4aa030], xmm2
movss xmm0, dword [0x4aa0d8]
addss xmm0, xmm3
movss dword [0x4aa0d8], xmm0
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [0x4aa110]
mov ecx, dword [0x4aa3e0]
add eax, 0xa9ec23d8
add ecx, eax
mov dword [0x4aa110], ecx
inc dword [0x4aa3e0]
mov al, byte [edi + 0x498250]
mov byte [esi], al
movss xmm0, dword [0x4aa184]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4aa2f0]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4aa184], xmm0
movsd xmm0, qword [0x4aa2f0]
mov eax, dword [0x4ab020]
addsd xmm0, xmm4
movsd qword [0x4aa2f0], xmm0
mov al, byte [eax + edi]
xor byte [esi], al
movss xmm0, dword [0x4aa378]
subss xmm0, xmm3
movss dword [0x4aa378], xmm0
movss xmm0, dword [0x4aa378]
subss xmm0, dword [0x49e6b4]
addss xmm0, dword [0x49e19c]
ucomiss xmm0, dword [0x4a0048]
lahf
test ah, 0x44
jnp 0x41b531
mov eax, dword [0x4aa094]
movss xmm1, dword [0x4aa35c]
sub eax, 0x3b308291
movss xmm0, dword [0x4aa35c]
addss xmm0, xmm3
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [0x4aa35c], xmm0
comiss xmm1, xmm2
jb 0x41b517
movzx eax, word [0x4aa0e0]
imul eax, eax, 0xa0728c28
mov word [0x4aa0e0], ax
jmp 0x41b54e
movss xmm0, dword [0x4aa3c0]
subss xmm0, dword [0x49ea28]
movss dword [0x4aa3c0], xmm0
jmp 0x41b54e
mov ax, word [0x4aa068]
movsx ecx, ax
mov eax, dword [0x4aa168]
sub ecx, eax
mov word [0x4aa068], cx
inc dword [0x4aa168]
movss xmm1, dword [0x4aa3b4]
mov edx, 0x7ce9ce03
movsx eax, word [0x4aa044]
addss xmm1, dword [0x49e848]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa044], ax
movss xmm0, dword [0x4aa3b4]
addss xmm0, xmm3
movss dword [0x4aa3b4], xmm0
mov eax, dword [0x4aa10c]
movsd xmm0, qword [0x4aa100]
sub eax, 0x1749d045
movd xmm1, eax
mov al, byte [edi + 0x498251]
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4aa100], xmm0
mov byte [esi + 1], al
mov ax, word [0x4aa2ac]
mov ecx, dword [0x4aa090]
cwde
imul ecx, eax
mov eax, dword [0x4ab020]
mov word [0x4aa2ac], cx
mov ecx, 0x49663014
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
mov eax, dword [0x4aa2e4]
sub ecx, eax
mov eax, dword [0x4aa39c]
imul eax, ecx
mov ecx, 0x2fa4e7a6
mov dword [0x4aa39c], eax
movss xmm1, dword [0x4aa13c]
movsx eax, word [0x4aa290]
subss xmm1, dword [0x49ee34]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, dword [0x4a0284]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa290], ax
movss xmm0, dword [0x4aa13c]
subss xmm0, xmm3
movss dword [0x4aa13c], xmm0
mov eax, dword [0x4aa094]
sub edx, eax
mov eax, dword [0x4aa0e4]
sub ecx, eax
dec dword [0x4aa094]
cmp edx, ecx
jl 0x41b680
movss xmm0, dword [0x4aa380]
mulss xmm0, dword [0x49ec90]
movss dword [0x4aa380], xmm0
jmp 0x41b6a8
movsd xmm0, qword [0x4aa250]
movsd xmm1, qword [0x49f148]
subsd xmm1, xmm0
subsd xmm1, qword [0x49c710]
cvtpd2ps xmm0, xmm1
movss dword [0x4aa180], xmm0
movzx eax, word [0x4aa25c]
movzx ebx, word [esi]
movsx ecx, ax
mov eax, dword [0x4aa40c]
sub ecx, eax
sub ecx, 0x54665248
lea eax, [ebx + 3]
mov word [0x4aa25c], cx
push eax
lea eax, [edi + 0x498250]
push eax
push esi
call fcn.0044a420
add dword [0x4aa208], 0xb750a1e1
lea edx, [esi + 3]
movzx eax, word [0x4aa088]
add esp, 0xc
movsd xmm4, qword [0x49bec0]
sub eax, 0x5bba7019
mov word [0x4aa088], ax
add edx, ebx
movsd xmm0, qword [section..data]
subsd xmm0, xmm4
movsd qword [section..data], xmm0
movsd xmm2, qword [section..data]
mov eax, dword [0x4aa0fc]
movss xmm0, dword [0x4aa394]
subsd xmm2, qword [0x49cb70]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
comisd xmm0, xmm2
jbe 0x41b77b
mov ax, word [0x4aa2ac]
mov ecx, dword [0x4aa048]
movss xmm0, dword [0x4aa1d4]
cwde
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4aa1d4], xmm0
inc dword [0x4aa048]
movss xmm1, dword [0x4aa384]
movss xmm0, dword [0x4aa084]
addss xmm0, dword [0x49de98]
mov ecx, dword [0x4ab020]
movss xmm3, dword [0x49bebc]
add ecx, edi
addss xmm0, dword [0x49e1e4]
subss xmm1, xmm0
movss dword [0x4aa384], xmm1
cmp esi, edx
je 0x41b81a
sub ecx, esi
nop dword [eax]
movss xmm0, dword [0x4aa324]
subss xmm0, dword [0x49eb6c]
movss dword [0x4aa324], xmm0
mov al, byte [ecx + esi]
xor byte [esi], al
inc esi
movss xmm0, dword [0x4aa15c]
subss xmm0, xmm3
movss dword [0x4aa15c], xmm0
movsx eax, word [0x4aa25c]
movss xmm0, dword [0x4aa15c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4aa25c], ax
cmp esi, edx
jne 0x41b7c0
movsx eax, word [0x4aa3fc]
mov ecx, 0x8f5ff153
sub ecx, eax
mov eax, dword [str.Y__s]
movsd xmm0, qword [0x4aa228]
add eax, ecx
subsd xmm0, qword [0x49cf28]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
ucomisd xmm1, xmm0
lahf
inc word [0x4aa3fc]
test ah, 0x44
jp 0x41b879
movsd xmm1, qword [0x4aa450]
mov eax, dword [0x4aa300]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4aa450], xmm1
cmp dword [ebp + 0xc], ebx
je 0x41b9d1
movsd xmm0, qword [0x4aa078]
lea esi, [edx - 3]
subsd xmm0, qword [0x49d3c0]
mov ecx, 0x9aef918
movsd qword [0x4aa078], xmm0
mov byte [edx], 0
mov eax, dword [0x4aa364]
movss xmm0, dword [0x4aa0b0]
subss xmm0, dword [0x49df58]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4aa364], eax
movss xmm0, dword [0x4aa0b0]
subss xmm0, xmm3
movss dword [0x4aa0b0], xmm0
mov eax, dword [0x4aa114]
sub ecx, eax
add dword [0x4aa3c4], ecx
dec dword [0x4aa114]
movss xmm0, dword [0x4aa2d4]
movsx eax, word [0x4aa444]
add eax, 0x14972c9a
mov edi, dword [edx - 3]
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4aa130]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [0x4aa2d4], xmm0
movsd xmm0, qword [0x4aa130]
subsd xmm0, xmm4
movsd qword [0x4aa130], xmm0
movss xmm1, dword [0x4aa11c]
movsx eax, word [0x4aa108]
subss xmm1, dword [0x49e50c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [0x4a0150]
comiss xmm1, xmm0
jb 0x41b996
movzx eax, word [0x4aa3a4]
movsx ecx, ax
movzx eax, word [0x4aa028]
add eax, 0x2184a573
add eax, ecx
mov word [0x4aa028], ax
jmp 0x41b9ba
movss xmm1, dword [0x4aa1ec]
movss xmm0, dword [0x4aa3a0]
addss xmm0, dword [0x49ec6c]
subss xmm1, xmm0
movss dword [0x4aa1ec], xmm1
sub dword [ebp + 0xc], ebx
imul eax, dword [0x4aa3dc], 0xfafb08bc
mov dword [0x4aa3dc], eax
jmp 0x41b430
mov cx, word [0x4aa3ac]
movzx edx, word [0x4aa0f0]
mov eax, dword [ebp - 4]
pop edi
movsx ecx, cx
add edx, ecx
pop esi
mov word [0x4aa12c], dx
pop ebx
mov esp, ebp
pop ebp
ret