Function at 0x42efc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x14]
push esi
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x18]
push edi
mov edi, edx
mov dword [ebp - 0x2c], eax
mov eax, 0x60
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x28], ecx
call fcn.00471740
mov eax, dword [ebp - 0x18]
mov esi, esp
mov dword [ebp - 0x34], esi
lea eax, [eax + 0x18]
shl eax, 2
call fcn.00471740
lea ecx, [edi + 0x58]
mov dword [ebp - 0x38], esp
lea edx, [esi + 8]
mov edi, 3
nop dword [eax]
mov eax, dword [ecx + 4]
lea edx, [edx + 0x20]
mov dword [edx - 0x28], eax
lea ecx, [ecx - 0x20]
mov eax, dword [ecx + 0x20]
mov dword [edx - 0x24], eax
mov eax, dword [ecx + 0x1c]
mov dword [edx - 0x20], eax
mov eax, dword [ecx + 0x18]
mov dword [edx - 0x1c], eax
mov eax, dword [ecx + 0x14]
mov dword [edx - 0x18], eax
mov eax, dword [ecx + 0x10]
mov dword [edx - 0x14], eax
mov eax, dword [ecx + 0xc]
mov dword [edx - 0x10], eax
mov eax, dword [ecx + 8]
mov dword [edx - 0xc], eax
sub edi, 1
jne 0x42f020
mov eax, dword [ebp - 0x44]
mov edi, esp
movss xmm1, dword [0x92bc70]
add eax, 0x58
mov edx, 3
lea ecx, [edi + 8]
movss xmm0, dword [eax + 4]
lea ecx, [ecx + 0x20]
lea eax, [eax - 0x20]
xorps xmm0, xmm1
movss dword [ecx - 0x28], xmm0
movss xmm0, dword [eax + 0x20]
xorps xmm0, xmm1
movss dword [ecx - 0x24], xmm0
movss xmm0, dword [eax + 0x1c]
xorps xmm0, xmm1
movss dword [ecx - 0x20], xmm0
movss xmm0, dword [eax + 0x18]
xorps xmm0, xmm1
movss dword [ecx - 0x1c], xmm0
movss xmm0, dword [eax + 0x14]
xorps xmm0, xmm1
movss dword [ecx - 0x18], xmm0
movss xmm0, dword [eax + 0x10]
xorps xmm0, xmm1
movss dword [ecx - 0x14], xmm0
movss xmm0, dword [eax + 0xc]
xorps xmm0, xmm1
movss dword [ecx - 0x10], xmm0
movss xmm0, dword [eax + 8]
xorps xmm0, xmm1
movss dword [ecx - 0xc], xmm0
sub edx, 1
jne 0x42f073
mov edx, dword [ebp - 0x18]
lea eax, [edx + 0x18]
cmp eax, 0x18
jle 0x42f0fc
xor eax, eax
mov ecx, edx
add edi, 0x60
rep stosd dword es:[edi], eax
mov edi, esp
add edx, 0xfffffffd
xor ecx, ecx
test edx, edx
jle 0x42f233
mov eax, dword [ebp - 0x1c]
add edi, 0x68
mov esi, dword [ebp - 0x1c]
add eax, 0xc
and dword [ebp - 0x2c], 7
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], esi
sub dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x34]
lea ecx, [eax + 8]
lea eax, [edx - 1]
mov dword [ebp - 0x40], ecx
shr eax, 2
inc eax
mov dword [ebp - 0x24], eax
shl eax, 2
mov dword [ebp - 0x3c], eax
nop
movups xmm0, xmmword [ecx - 8]
push 0x18
lea eax, [ebp - 0x14]
push eax
lea eax, [edi - 0x68]
push eax
mov eax, dword [ebp - 0x2c]
push esi
movups xmmword [ebp - 0x14], xmm0
mov esi, dword [eax*4 + 0x47cd60]
mov ecx, esi
call dword [0x47611c]
call esi
movss xmm1, dword [ebp - 0x14]
add esp, 0x10
mov esi, dword [ebp - 0x20]
movaps xmm0, xmm1
mov eax, dword [ebp - 0x48]
movss xmm2, dword [0x92bc70]
xorps xmm0, xmm2
mov ecx, dword [ebp - 0x40]
movss dword [edi - 8], xmm0
movss dword [esi - 0xc], xmm1
movss xmm1, dword [eax]
mulss xmm1, dword [edi - 8]
mov edx, dword [ebp - 0x30]
addss xmm1, dword [ebp - 0x10]
movaps xmm0, xmm1
xorps xmm0, xmm2
movss dword [edi - 4], xmm0
movss dword [esi - 8], xmm1
movss xmm1, dword [eax]
mulss xmm1, dword [edi - 4]
movss xmm0, dword [edi - 8]
mulss xmm0, dword [eax + 4]
addss xmm1, dword [ebp - 0xc]
addss xmm1, xmm0
movaps xmm0, xmm1
xorps xmm0, xmm2
movss dword [edi], xmm0
movss dword [ecx + edx], xmm1
add ecx, 0x10
movss xmm1, dword [eax]
mulss xmm1, dword [edi]
mov dword [ebp - 0x40], ecx
movss xmm0, dword [edi - 4]
mulss xmm0, dword [eax + 4]
addss xmm1, dword [ebp - 8]
addss xmm1, xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, dword [edi - 8]
addss xmm1, xmm0
movaps xmm0, xmm1
xorps xmm0, xmm2
movss dword [edi + 4], xmm0
add edi, 0x10
movss dword [esi], xmm1
add esi, 0x10
sub dword [ebp - 0x24], 1
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x34]
jne 0x42f140
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jge 0x42f345
mov edi, dword [ebp - 0x38]
lea eax, [esi + 0x5c]
mov edx, dword [ebp - 0x1c]
add edi, 0x60
sub dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
sub edx, ecx
mov eax, dword [ebp - 0x1c]
lea edi, [edi + ecx*4]
mov dword [ebp - 0x20], edx
lea eax, [eax + ecx*4]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
movss xmm2, dword [ecx + eax]
lea eax, [edi - 0x60]
xor ecx, ecx
cmp eax, dword [ebp - 0x3c]
ja 0x42f2d6
lea eax, [edi - 4]
cmp eax, esi
jb 0x42f2d6
lea eax, [esi + 8]
mov edx, 6
lea ecx, [edi - 0x58]
nop dword [eax + eax]
movss xmm0, dword [ecx - 8]
mulss xmm0, dword [eax - 8]
subss xmm2, xmm0
movss xmm0, dword [ecx - 4]
mulss xmm0, dword [eax - 4]
subss xmm2, xmm0
movss xmm0, dword [eax]
mulss xmm0, dword [ecx]
subss xmm2, xmm0
movss xmm0, dword [ecx + 4]
mulss xmm0, dword [eax + 4]
add ecx, 0x10
add eax, 0x10
subss xmm2, xmm0
sub edx, 1
jne 0x42f290
mov edx, dword [ebp - 0x20]
jmp 0x42f322
xorps xmm4, xmm4
lea eax, [edi - 0x60]
xorps xmm3, xmm3
nop
movups xmm0, xmmword [eax]
movups xmm1, xmmword [esi + ecx*4]
mulps xmm1, xmm0
movups xmm0, xmmword [eax + 0x10]
add eax, 0x20
subps xmm4, xmm1
movups xmm1, xmmword [esi + ecx*4 + 0x10]
add ecx, 8
mulps xmm1, xmm0
subps xmm3, xmm1
cmp ecx, 0x18
jl 0x42f2e0
addps xmm3, xmm4
movaps xmm1, xmm3
movhlps xmm1, xmm3
addps xmm1, xmm3
movups xmm0, xmm1
shufps xmm0, xmm1, 0xf5
addss xmm1, xmm0
addss xmm2, xmm1
mov eax, dword [ebp - 0x24]
movss dword [edi], xmm2
add edi, 4
movss dword [eax], xmm2
add eax, 4
sub edx, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jne 0x42f264
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov esi, 3
mov edx, dword [ebp - 0x44]
add edx, 8
lea ecx, [ecx + eax*4]
add ecx, 0xfffffff8
nop dword [eax]
mov eax, dword [ecx + 4]
lea edx, [edx + 0x20]
mov dword [edx - 0x28], eax
lea ecx, [ecx - 0x20]
mov eax, dword [ecx + 0x20]
mov dword [edx - 0x24], eax
mov eax, dword [ecx + 0x1c]
mov dword [edx - 0x20], eax
mov eax, dword [ecx + 0x18]
mov dword [edx - 0x1c], eax
mov eax, dword [ecx + 0x14]
mov dword [edx - 0x18], eax
mov eax, dword [ecx + 0x10]
mov dword [edx - 0x14], eax
mov eax, dword [ecx + 0xc]
mov dword [edx - 0x10], eax
mov eax, dword [ecx + 8]
mov dword [edx - 0xc], eax
sub esi, 1
jne 0x42f360
lea esp, [ebp - 0x50]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004575d6
mov esp, ebp
pop ebp
ret