Function at 0x1dbac80
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x2d8
mov eax, dword [0x1e94008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, edx
mov dword [ebp - 0x13c], ecx
push esi
mov esi, dword [ebx + 8]
mov ecx, eax
push edi
mov edi, dword [ebx + 0xc]
mov edx, esi
imul edx, edi
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x120], esi
call fcn.01db8270
push 0x80
lea eax, [ebp - 0x88]
movsd qword [ebp - 0x138], xmm0
push 0
push eax
call fcn.01e05050
add esp, 0xc
test edi, edi
jle 0x1dbadb0
mov edx, dword [ebx + 0x14]
lea eax, [esi*4]
mov ecx, edi
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x12c]
lea edi, [esi*4]
inc edx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x124], edx
mov dword [ebp - 0x114], ecx
cmp edx, 1
jle 0x1dbad99
lea edi, [eax + 4]
lea eax, [esi - 1]
lea ecx, [edx - 1]
mov dword [ebp - 0x11c], eax
lea esi, [ebp - 0x88]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp - 0x110]
mov edx, edi
push eax
call fcn.01db9aa0
addsd xmm0, qword [esi]
mov eax, dword [ebp - 0x11c]
add esp, 4
dec eax
add edi, 4
mov dword [ebp - 0x11c], eax
movsd qword [esi], xmm0
add esi, 8
sub dword [ebp - 0x118], 1
jne 0x1dbad46
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x114]
mov edx, dword [ebp - 0x124]
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x10c]
add eax, edi
sub ecx, 1
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], ecx
jne 0x1dbad26
movss xmm5, dword [ebx + 0x10]
lea esi, [ebp - 0x88]
cvtps2pd xmm5, xmm5
mov ecx, 0x20
lea edi, [ebp - 0x108]
rep movsd dword es:[edi], dword [esi]
mulsd xmm5, qword [ebp - 0x138]
xor esi, esi
mov ecx, dword [ebx + 0x14]
movsd qword [ebp - 0x148], xmm5
movaps xmm0, xmm5
addsd xmm0, qword [ebp - 0x138]
addsd xmm0, qword [0x1e7ddd8]
movsd qword [ebp - 0x1d0], xmm0
movsd qword [ebp - 0x2d8], xmm0
test ecx, ecx
jle 0x1dbb1c6
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], 0xfffffff8
lea edx, [eax*4]
lea eax, [eax*4 - 4]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x114], eax
nop dword [eax + eax]
cmp dword [ebx + 0xc], 0
jle 0x1dbb004
mov ecx, dword [ebp - 0x12c]
mov edx, ecx
mov dword [ebp - 0x118], edx
lea edi, [eax + ecx]
mov ecx, dword [ebx + 0xc]
add eax, 4
mov dword [ebp - 0x120], ecx
sub eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x114]
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x124], eax
movss xmm4, dword [eax + edi]
xor eax, eax
cvtps2pd xmm4, xmm4
movss xmm5, dword [eax + edi]
cvtps2pd xmm5, xmm5
cmp ecx, 0xfffffff8
jle 0x1dbaf63
mov ecx, dword [ebp - 0x110]
movss xmm7, dword [edi]
movss xmm6, dword [edx + ecx]
mov edx, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x130]
add edx, 0xfffffffc
add ecx, edi
add edx, edi
mov dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x128]
movss xmm3, dword [edi]
movaps xmm0, xmm6
movsd xmm1, qword [ebp + eax*8 - 0x88]
sub edi, 4
movss xmm2, dword [ecx]
add ecx, 4
mulss xmm0, xmm3
cvtss2sd xmm0, xmm0
subsd xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, xmm2
cvtss2sd xmm0, xmm0
movsd qword [ebp + eax*8 - 0x88], xmm1
movsd xmm1, qword [ebp + eax*8 - 0x108]
subsd xmm1, xmm0
cvtps2pd xmm0, xmm3
movsd qword [ebp + eax*8 - 0x108], xmm1
movsd xmm1, qword [ebp + eax*8 - 0x250]
inc eax
mulsd xmm0, xmm1
addsd xmm4, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm0, xmm1
addsd xmm0, xmm5
movaps xmm5, xmm0
cmp eax, esi
jl 0x1dbaee0
mov edi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x10c]
xor eax, eax
cmp ecx, 0xfffffff8
jl 0x1dbafd9
mov ecx, dword [ebp - 0x114]
mov edi, dword [ebp - 0x11c]
add ecx, edx
add edx, dword [ebp - 0x110]
nop
movss xmm1, dword [edx]
sub edx, 4
movsd xmm0, qword [ebp + eax*8 - 0x1d0]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm4
subsd xmm0, xmm1
movss xmm1, dword [ecx]
cvtps2pd xmm1, xmm1
add ecx, 4
movsd qword [ebp + eax*8 - 0x1d0], xmm0
movsd xmm0, qword [ebp + eax*8 - 0x2d8]
mulsd xmm1, xmm5
subsd xmm0, xmm1
movsd qword [ebp + eax*8 - 0x2d8], xmm0
inc eax
cmp eax, esi
jle 0x1dbaf80
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x10c]
add edx, dword [ebp - 0x134]
add edi, dword [ebp - 0x134]
sub dword [ebp - 0x120], 1
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x11c], edi
jne 0x1dbae91
lea edi, [esi*8]
xor ecx, ecx
movsd xmm2, qword [ebp + edi - 0x88]
movsd xmm3, qword [ebp + edi - 0x108]
mov dword [ebp - 0x128], edi
test esi, esi
jle 0x1dbb066
mov eax, dword [ebp - 0x10c]
nop
movsd xmm1, qword [ebp + ecx*8 - 0x250]
inc ecx
movsd xmm0, qword [ebp + eax - 0x108]
mulsd xmm0, xmm1
addsd xmm2, xmm0
movsd xmm0, qword [ebp + eax - 0x88]
mulsd xmm0, xmm1
sub eax, 8
addsd xmm0, xmm3
movaps xmm3, xmm0
cmp ecx, esi
jl 0x1dbb030
lea edx, [ebp - 0x2d0]
movsd qword [ebp + edi - 0x1c8], xmm2
movsd xmm2, qword [ebp - 0x1d0]
add edx, edi
xor eax, eax
movsd qword [edx], xmm3
movsd xmm4, qword [ebp - 0x2d8]
test esi, esi
jle 0x1dbb0e2
lea ecx, [ebp - 0x2d8]
add ecx, edi
nop dword [eax]
movsd xmm1, qword [ebp + eax*8 - 0x250]
movsd xmm0, qword [ecx]
sub ecx, 8
mulsd xmm0, xmm1
addsd xmm3, xmm0
movsd xmm0, qword [ebp + eax*8 - 0x2d0]
mulsd xmm0, xmm1
addsd xmm4, xmm0
movsd xmm0, qword [ebp + eax*8 - 0x1c8]
mulsd xmm0, xmm1
inc eax
addsd xmm0, xmm2
movaps xmm2, xmm0
cmp eax, esi
jl 0x1dbb0a0
mulsd xmm3, qword [0x1e7e4a0]
addsd xmm2, xmm4
inc esi
xor eax, eax
mov edi, esi
sar edi, 1
divsd xmm3, xmm2
test edi, edi
jle 0x1dbb148
mov ecx, dword [ebp - 0x10c]
lea ecx, [ebp + ecx - 0x250]
nop word [eax + eax]
movsd xmm1, qword [ecx]
movaps xmm0, xmm3
movsd xmm2, qword [ebp + eax*8 - 0x250]
mulsd xmm0, xmm1
addsd xmm0, xmm2
movsd qword [ebp + eax*8 - 0x250], xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm2
inc eax
addsd xmm0, xmm1
movsd qword [ecx], xmm0
sub ecx, 8
cmp eax, edi
jl 0x1dbb110
mov eax, dword [ebp - 0x128]
movsd qword [ebp + eax - 0x250], xmm3
xor eax, eax
test esi, esi
js 0x1dbb195
nop dword [eax]
movsd xmm0, qword [edx]
movsd xmm2, qword [ebp + eax*8 - 0x1d0]
mulsd xmm0, xmm3
addsd xmm0, xmm2
movsd qword [ebp + eax*8 - 0x1d0], xmm0
movaps xmm0, xmm3
mulsd xmm0, xmm2
inc eax
addsd xmm0, qword [edx]
movsd qword [edx], xmm0
sub edx, 8
cmp eax, esi
jle 0x1dbb160
mov eax, dword [ebp - 0x114]
add dword [ebp - 0x110], 4
sub eax, 4
add dword [ebp - 0x10c], 8
mov dword [ebp - 0x114], eax
cmp esi, dword [ebx + 0x14]
jl 0x1dbae40
movsd xmm5, qword [ebp - 0x148]
mov ecx, dword [ebx + 0x14]
movsd xmm2, qword [ebp - 0x1d0]
xor eax, eax
movsd xmm3, qword [0x1e7e110]
test ecx, ecx
jle 0x1dbb229
movsd xmm4, qword [0x1e7e810]
mov edx, dword [ebp - 0x13c]
nop word [eax + eax]
movsd xmm1, qword [ebp + eax*8 - 0x250]
movsd xmm0, qword [ebp + eax*8 - 0x1c8]
mulsd xmm0, xmm1
addsd xmm2, xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm1
xorps xmm1, xmm4
addsd xmm3, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm1
movss dword [edx + eax*4], xmm0
inc eax
cmp eax, ecx
jl 0x1dbb1f0
mov ecx, dword [ebp - 4]
mulsd xmm5, xmm3
xor ecx, ebp
pop edi
pop esi
subsd xmm2, xmm5
cvtpd2ps xmm0, xmm2
call fcn.01e029b1
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret