Function at 0x423950
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac0
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
xor eax, eax
mov dword [ebp - 0xab8], edx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov dword [ebp - 0xabc], ebx
lea edi, [eax + 5]
nop dword [eax]
movss xmm1, dword [0x92b794]
movsd xmm0, qword [0x92b5c0]
mov dword [ebx + 0x147c], eax
subss xmm1, dword [esi + 0x48]
cvtps2pd xmm1, xmm1
call fcn.004745f1
movsd xmm3, qword [0x92b758]
lea edx, [ebp - 0xaac]
movsd xmm1, qword [0x92b6e0]
movaps xmm4, xmm0
mulsd xmm4, qword [0x92b610]
mov ecx, ebx
addsd xmm4, qword [0x92b560]
andps xmm3, xmm4
movaps xmm0, xmm4
xorps xmm0, xmm3
movaps xmm2, xmm4
cmpltsd xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x92b588]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm1
subsd xmm2, xmm0
cvttsd2si eax, xmm2
push eax
push esi
mov dword [ebp - 0xab0], eax
call fcn.00422e00
mov eax, dword [ebp - 0xab0]
add esp, 8
add esi, 0x50
sub edi, 1
jne 0x423980
mov edi, dword [ebp - 0xab8]
lea edx, [ebp - 0x508]
movaps xmm2, xmmword [0x92ba90]
lea esi, [ebp - 0x4f8]
sub edx, edi
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0xab4], edx
sub esi, edi
lea edx, [ebp - 0x4e8]
mov ecx, 1
sub edx, edi
lea eax, [edi + 0x10]
mov dword [ebp - 0xab0], edx
mov edx, dword [ebp - 0xab4]
mov edi, dword [ebp - 0xab0]
nop dword [eax]
movups xmm1, xmmword [eax - 0x10]
movups xmm0, xmmword [eax - 0xc]
mulps xmm1, xmm2
subps xmm0, xmm1
movups xmm1, xmmword [eax]
mulps xmm1, xmm2
movups xmmword [ebp + ecx*4 - 0x50c], xmm0
add ecx, 0x10
movups xmm0, xmmword [eax + 4]
subps xmm0, xmm1
movups xmm1, xmmword [eax + 0x10]
mulps xmm1, xmm2
movups xmmword [eax + edx], xmm0
movups xmm0, xmmword [eax + 0x14]
subps xmm0, xmm1
movups xmm1, xmmword [eax + 0x20]
mulps xmm1, xmm2
movups xmmword [eax + esi], xmm0
movups xmm0, xmmword [eax + 0x24]
subps xmm0, xmm1
movups xmmword [eax + edi], xmm0
add eax, 0x40
cmp ecx, 0x131
jl 0x423a80
mov edi, dword [ebp - 0xab8]
cmp ecx, 0x140
jge 0x423be1
movss xmm4, dword [0x92b4b8]
lea edx, [ebp - 0x50c]
mov esi, 0x140
mov eax, esi
sub eax, ecx
cmp eax, 4
jl 0x423bb4
sub edx, edi
lea ebx, [ebp - 0x504]
sub ebx, edi
lea eax, [edi + 4]
mov edi, dword [ebp - 0xab4]
lea eax, [eax + ecx*4]
mov dword [ebp - 0xab0], ebx
mov ebx, dword [ebp - 0xabc]
mov esi, dword [ebp - 0xab0]
nop dword [eax]
nop word [eax + eax]
movss xmm1, dword [eax - 8]
movss xmm2, dword [eax - 4]
movss xmm3, dword [eax]
movaps xmm0, xmm2
mulss xmm1, xmm4
mulss xmm2, xmm4
subss xmm0, xmm1
movss xmm1, dword [eax + 4]
movss dword [ebp + ecx*4 - 0x50c], xmm0
movaps xmm0, xmm3
subss xmm0, xmm2
mulss xmm3, xmm4
add ecx, 4
movss dword [eax + edx], xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
mulss xmm1, xmm4
movss dword [edi + eax], xmm0
movss xmm0, dword [eax + 8]
subss xmm0, xmm1
movss dword [esi + eax], xmm0
add eax, 0x10
cmp ecx, 0x13d
jl 0x423b40
mov edi, dword [ebp - 0xab8]
mov esi, 0x140
jmp 0x423bb6
sub edx, edi
cmp ecx, 0x140
jae 0x423be1
lea eax, [edi + ecx*4]
sub esi, ecx
movss xmm1, dword [eax - 4]
movss xmm0, dword [eax]
mulss xmm1, xmm4
subss xmm0, xmm1
movss dword [edx + eax], xmm0
add eax, 4
sub esi, 1
jne 0x423bc3
lea edi, [ebx + 0x45c]
mov dword [ebp - 0xab0], 4
mov ecx, 0xa0
lea esi, [ebp - 0x50c]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0x28c]
mov dword [ebx + 0x2d4], 1
lea eax, [ebp - 0xaac]
mov dword [ebp - 0xabc], esi
lea edi, [ebx + 0x63c]
mov dword [ebp - 0xab4], eax
nop word [eax + eax]
push dword [ebx + 0x147c]
lea edx, [ebp - 0x5ac]
mov ecx, ebx
push eax
call fcn.00422fc0
mov eax, dword [ebp - 0xab4]
mov ecx, 0x28
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xabc]
lea edi, [ebx + 0x63c]
add eax, 0x140
add esi, 0xa0
add esp, 8
mov dword [ebp - 0xab4], eax
sub dword [ebp - 0xab0], 1
mov dword [ebp - 0xabc], esi
jne 0x423c30
mov eax, dword [ebp - 0xab8]
mov ecx, dword [ebp - 8]
pop edi
pop esi
mov eax, dword [eax + 0x4fc]
xor ecx, ebp
mov dword [ebx + 0x2d8], eax
pop ebx
call fcn.004575d6
mov esp, ebp
pop ebp
ret