Function at 0x426c70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
mov ebx, dword [ebp + 0x18]
push esi
push edi
lea eax, [ebx*4]
call fcn.00426570
mov eax, dword [ebp + 0x14]
add eax, ebx
add eax, eax
mov edi, esp
add eax, eax
mov dword [ebp + 0x18], edi
call fcn.00426570
mov esi, esp
xor edx, edx
mov dword [ebp - 0xc], esi
cmp ebx, 4
jl 0x426ce4
mov ecx, dword [ebp + 0xc]
lea eax, [edi + 8]
lea edi, [ebx - 4]
shr edi, 2
inc edi
lea ecx, [ecx + ebx*4 - 8]
lea edx, [edi*4]
nop
fld dword [ecx + 4]
add eax, 0x10
fstp dword [eax - 0x18]
sub ecx, 0x10
dec edi
fld dword [ecx + 0x10]
fstp dword [eax - 0x14]
fld dword [ecx + 0xc]
fstp dword [eax - 0x10]
fld dword [ecx + 8]
fstp dword [eax - 0xc]
jne 0x426cc0
mov edi, dword [ebp + 0x18]
cmp edx, ebx
jge 0x426d01
mov ecx, dword [ebp + 0xc]
mov eax, ebx
sub eax, edx
lea eax, [ecx + eax*4 - 4]
fld dword [eax]
inc edx
fstp dword [edi + edx*4 - 4]
sub eax, 4
cmp edx, ebx
jl 0x426cf3
movss xmm0, dword [0x451420]
xor eax, eax
cmp ebx, 4
jl 0x426d6b
mov edx, dword [ebp + 0x1c]
lea edi, [ebx - 4]
shr edi, 2
inc edi
lea ecx, [esi + 8]
lea edx, [edx + ebx*4 - 8]
lea eax, [edi*4]
jmp 0x426d30
movss xmm1, dword [edx + 4]
xorps xmm1, xmm0
movss dword [ecx - 8], xmm1
movss xmm1, dword [edx]
xorps xmm1, xmm0
movss dword [ecx - 4], xmm1
movss xmm1, dword [edx - 4]
xorps xmm1, xmm0
movss dword [ecx], xmm1
movss xmm1, dword [edx - 8]
xorps xmm1, xmm0
movss dword [ecx + 4], xmm1
add ecx, 0x10
sub edx, 0x10
dec edi
jne 0x426d30
cmp eax, ebx
jge 0x426d94
mov edx, dword [ebp + 0x1c]
mov ecx, ebx
sub ecx, eax
lea ecx, [edx + ecx*4 - 4]
lea ebx, [ebx]
movss xmm1, dword [ecx]
xorps xmm1, xmm0
movss dword [esi + eax*4], xmm1
inc eax
sub ecx, 4
cmp eax, ebx
jl 0x426d80
mov ecx, dword [ebp + 0x14]
add ecx, ebx
cmp eax, ecx
jge 0x426da6
lea edi, [esi + eax*4]
sub ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x14]
xor ecx, ecx
add eax, 0xfffffffd
mov dword [ebp - 4], ecx
test eax, eax
jle 0x426f6c
mov edx, dword [ebp + 0x20]
mov edi, dword [ebp + 8]
dec eax
and edx, 7
lea ecx, [edx*4 + 0x4520ac]
shr eax, 2
inc eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
lea edx, [ecx + 0xc]
sub ecx, dword [ebp + 8]
add eax, eax
add edi, 8
add eax, eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
lea esi, [esi + ebx*4 + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], eax
movss xmm0, dword [edi - 8]
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [edi - 4]
push ebx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x18]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [edi]
push edx
mov edx, dword [ecx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edi + 4]
push eax
movss dword [ebp - 0x20], xmm0
call edx
movss xmm0, dword [0x451420]
movss xmm1, dword [ebp - 0x2c]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
movaps xmm2, xmm1
xorps xmm2, xmm0
movss dword [esi - 4], xmm2
movss dword [ecx - 0xc], xmm1
movss xmm2, dword [eax]
movss xmm1, dword [esi - 4]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
movss xmm2, dword [ebp - 0x28]
cvtps2pd xmm2, xmm2
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
movaps xmm2, xmm1
xorps xmm2, xmm0
movss dword [esi], xmm2
movss dword [ecx - 8], xmm1
movss xmm1, dword [eax]
movss xmm2, dword [esi]
movss xmm3, dword [eax + 4]
mov edx, dword [ebp - 0x1c]
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm2
movss xmm2, dword [ebp - 0x24]
cvtps2pd xmm2, xmm2
addsd xmm1, xmm2
movss xmm2, dword [esi - 4]
cvtpd2ps xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtss2sd xmm1, xmm1
cvtps2pd xmm3, xmm3
mulsd xmm2, xmm3
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
movaps xmm2, xmm1
xorps xmm2, xmm0
movss dword [esi + 4], xmm2
movss dword [edx + edi], xmm1
movss xmm1, dword [eax]
movss xmm2, dword [esi + 4]
movss xmm3, dword [esi]
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [ebp - 0x20]
cvtps2pd xmm2, xmm2
addsd xmm1, xmm2
movss xmm2, dword [eax + 4]
cvtpd2ps xmm1, xmm1
cvtss2sd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
mulsd xmm2, xmm3
addsd xmm1, xmm2
movss xmm2, dword [esi - 4]
cvtpd2ps xmm1, xmm1
add esp, 0x10
cvtss2sd xmm1, xmm1
movss xmm3, dword [eax + 8]
add dword [ebp - 8], 0x10
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
mulsd xmm2, xmm3
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
movaps xmm2, xmm1
xorps xmm2, xmm0
movss dword [esi + 8], xmm2
movss dword [ecx], xmm1
add ecx, 0x10
add edi, 0x10
add esi, 0x10
dec dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
jne 0x426df4
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 0xc]
cmp ecx, dword [ebp + 0x14]
jge 0x4270af
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp + 0x10]
lea eax, [ecx + ebx]
lea eax, [edx + eax*4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
sub eax, edx
sub edi, edx
lea esi, [esi + ecx*4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edi
jmp 0x426f99
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax + esi]
xor edx, edx
cmp ebx, 4
jl 0x42704e
mov ecx, dword [ebp + 0x18]
lea edi, [ebx - 4]
shr edi, 2
add ecx, 8
inc edi
mov eax, esi
lea edx, [edi*4]
nop
movss xmm1, dword [ecx - 8]
movss xmm2, dword [eax]
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [ecx - 4]
subsd xmm0, xmm1
movss xmm1, dword [eax + 4]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [ecx]
subsd xmm0, xmm1
movss xmm1, dword [eax + 8]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
movss xmm2, dword [ecx + 4]
subsd xmm0, xmm1
movss xmm1, dword [eax + 0xc]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
add eax, 0x10
add ecx, 0x10
dec edi
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
jne 0x426fc0
mov ecx, dword [ebp - 4]
cmp edx, ebx
jge 0x42708a
mov edi, dword [ebp - 0xc]
lea eax, [edx + ecx]
lea eax, [edi + eax*4]
jmp 0x427060
mov edi, dword [ebp + 0x18]
movss xmm1, dword [edi + edx*4]
movss xmm2, dword [eax]
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
inc edx
mulsd xmm1, xmm2
add eax, 4
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
cmp edx, ebx
jl 0x427060
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
movss dword [eax], xmm0
inc ecx
movss dword [edx + esi], xmm0
add eax, 4
add esi, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [ebp + 0x14]
jl 0x426f96
mov esi, dword [ebp + 0x14]
xor edi, edi
cmp ebx, 4
jl 0x4270f5
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x10]
lea edx, [ebx - 4]
shr edx, 2
add eax, 8
inc edx
lea ecx, [ecx + esi*4 - 8]
lea edi, [edx*4]
fld dword [ecx + 4]
add eax, 0x10
fstp dword [eax - 0x18]
sub ecx, 0x10
dec edx
fld dword [ecx + 0x10]
fstp dword [eax - 0x14]
fld dword [ecx + 0xc]
fstp dword [eax - 0x10]
fld dword [ecx + 8]
fstp dword [eax - 0xc]
jne 0x4270d4
cmp edi, ebx
jge 0x427113
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x1c]
sub esi, edi
lea eax, [edx + esi*4 - 4]
fld dword [eax]
inc edi
fstp dword [ecx + edi*4 - 4]
sub eax, 4
cmp edi, ebx
jl 0x427105
lea esp, [ebp - 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret