Function at 0x433190
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
push ebp
mov ebp, dword [esp + 0xcc]
imul eax, ebp
push edi
mov edi, dword [edx + 0x30]
mov edx, dword [edi + eax*8]
mov dword [esp + 0x34], edx
mov edx, dword [edi + eax*8 + 4]
add eax, eax
cmp dword [esp + 0xd4], 0
mov dword [esp + 0x38], edx
mov edx, dword [edi + eax*8]
mov eax, dword [edi + eax*8 + 4]
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jle 0x4338ba
mov edx, dword [esp + 0xd8]
movss xmm4, dword [esp + 0x38]
push ebx
add edx, edx
add edx, edx
add edx, edx
lea ebx, [ebp + ebp*2]
add ebx, ebx
mov eax, ebp
shl eax, 4
mov dword [esp + 0x44], edx
add ebx, ebx
push esi
lea esi, [eax + ecx]
mov dword [esp + 0x1c], ecx
add ebx, ebx
mov edx, ebp
lea ecx, [ebp*8]
sub ecx, eax
sub ebx, eax
shl edx, 5
sub edx, eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x38], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x2c], eax
jmp 0x433248
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x1c]
add ecx, esi
add edx, esi
mov dword [esp + 0x10], ecx
lea ecx, [ebx + esi]
test ebp, ebp
jle 0x4338a0
mov ebx, dword [esp + 0xd4]
mov ebp, ebx
shl ebp, 5
mov dword [esp + 0x50], ebp
lea ebp, [ebx + ebx*2]
add ebp, ebp
add ebp, ebp
add ebp, ebp
mov dword [esp + 0x58], ebp
mov ebp, ebx
shl ebp, 4
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xd8]
mov ebx, edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x28], ebp
mov ebp, dword [eax]
mov dword [esp + 0x68], ebp
mov ebp, dword [eax + 4]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x14]
movss xmm0, dword [ebp]
mov ebp, dword [esp + 0x10]
movss xmm1, dword [ebp]
mov ebp, dword [esp + 0x14]
movss xmm2, dword [ebp + 4]
mov ebp, dword [esp + 0x10]
movss xmm3, dword [ebp + 4]
cvtps2pd xmm6, xmm0
mov ebp, dword [esp + 0x18]
cvtps2pd xmm0, xmm0
cvtps2pd xmm5, xmm1
cvtps2pd xmm7, xmm3
cvtps2pd xmm1, xmm1
mulsd xmm5, xmm6
cvtps2pd xmm3, xmm3
mulsd xmm0, xmm3
movss xmm3, dword [ebp + 4]
cvtps2pd xmm6, xmm2
mulsd xmm6, xmm7
cvtps2pd xmm2, xmm2
mulsd xmm1, xmm2
addsd xmm0, xmm1
movss xmm1, dword [esi]
cvtps2pd xmm7, xmm1
subsd xmm5, xmm6
xorps xmm2, xmm2
cvtpd2ps xmm2, xmm0
movss xmm0, dword [ebp]
cvtps2pd xmm6, xmm0
mulsd xmm6, xmm7
cvtps2pd xmm7, xmm3
movss xmm3, dword [esi + 4]
cvtps2pd xmm3, xmm3
mulsd xmm7, xmm3
cvtps2pd xmm1, xmm1
subsd xmm6, xmm7
cvtpd2ps xmm5, xmm5
cvtpd2ps xmm6, xmm6
cvtps2pd xmm3, xmm0
movss xmm0, dword [esi + 4]
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm0
movss xmm0, dword [ebp + 4]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
movss xmm1, dword [ecx]
addsd xmm3, xmm0
movss xmm0, dword [edi]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [esp + 0x5c], xmm0
movss xmm0, dword [edi + 4]
cvtps2pd xmm0, xmm0
cvtpd2ps xmm7, xmm3
movss xmm3, dword [ecx + 4]
cvtps2pd xmm1, xmm3
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0x5c]
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x80], xmm0
movss xmm0, dword [edi]
cvtps2pd xmm1, xmm0
movaps xmm0, xmm3
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [edi + 4]
cvtps2pd xmm3, xmm0
movss xmm0, dword [ecx]
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm0
addsd xmm1, xmm3
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [edx]
movss xmm3, dword [edx + 4]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [ebx]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [esp + 0x5c], xmm0
movss xmm0, dword [ebx + 4]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm3
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0x5c]
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x88], xmm0
movss xmm0, dword [ebx]
cvtps2pd xmm1, xmm0
movaps xmm0, xmm3
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [ebx + 4]
cvtps2pd xmm3, xmm0
movss xmm0, dword [edx]
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm0
movss xmm0, dword [esp + 0x88]
addsd xmm1, xmm3
xorps xmm3, xmm3
cvtss2sd xmm3, xmm5
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x8c], xmm1
cvtps2pd xmm0, xmm0
addsd xmm0, xmm3
cvtss2sd xmm1, xmm1
cvtps2pd xmm3, xmm2
addsd xmm1, xmm3
xorps xmm3, xmm3
cvtss2sd xmm3, xmm5
movss xmm5, dword [esp + 0x88]
cvtps2pd xmm5, xmm5
subsd xmm3, xmm5
cvtpd2ps xmm3, xmm3
movss dword [esp + 0xb8], xmm3
movss xmm3, dword [esp + 0x8c]
cvtps2pd xmm3, xmm3
cvtps2pd xmm2, xmm2
subsd xmm2, xmm3
cvtpd2ps xmm2, xmm2
cvtps2pd xmm5, xmm7
movss dword [esp + 0xbc], xmm2
movss xmm2, dword [esp + 0x80]
xorps xmm3, xmm3
cvtss2sd xmm3, xmm6
cvtps2pd xmm2, xmm2
addsd xmm2, xmm3
movss xmm3, dword [esp + 0x84]
cvtps2pd xmm3, xmm3
addsd xmm3, xmm5
xorps xmm5, xmm5
cvtss2sd xmm5, xmm6
movss xmm6, dword [esp + 0x80]
cvtps2pd xmm6, xmm6
subsd xmm5, xmm6
movss xmm6, dword [esp + 0x84]
cvtpd2ps xmm5, xmm5
movss dword [esp + 0xb0], xmm5
cvtps2pd xmm6, xmm6
cvtsd2ss xmm0, xmm0
cvtsd2ss xmm2, xmm2
cvtpd2ps xmm1, xmm1
cvtps2pd xmm5, xmm7
subsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esp + 0xb4], xmm5
xorps xmm5, xmm5
xorps xmm6, xmm6
cvtsd2ss xmm3, xmm3
cvtss2sd xmm5, xmm2
cvtss2sd xmm6, xmm0
addsd xmm5, xmm6
movss xmm6, dword [eax]
cvtps2pd xmm6, xmm6
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
xorps xmm6, xmm6
cvtss2sd xmm6, xmm1
movss dword [eax], xmm5
xorps xmm5, xmm5
cvtss2sd xmm5, xmm3
addsd xmm5, xmm6
movss xmm6, dword [eax + 4]
cvtps2pd xmm6, xmm6
addsd xmm5, xmm6
xorps xmm6, xmm6
cvtpd2ps xmm5, xmm5
cvtss2sd xmm6, xmm2
movss dword [eax + 4], xmm5
movss xmm5, dword [esp + 0x20]
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm6
movss xmm6, dword [esp + 0x3c]
cvtps2pd xmm6, xmm6
xorps xmm7, xmm7
cvtss2sd xmm7, xmm0
mulsd xmm6, xmm7
addsd xmm5, xmm6
movss xmm6, dword [esp + 0x68]
cvtps2pd xmm6, xmm6
addsd xmm5, xmm6
cvtsd2ss xmm5, xmm5
xorps xmm6, xmm6
movss dword [esp + 0x90], xmm5
movss xmm5, dword [esp + 0x20]
cvtss2sd xmm6, xmm3
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm6
movss xmm6, dword [esp + 0x3c]
cvtps2pd xmm6, xmm6
xorps xmm7, xmm7
cvtss2sd xmm7, xmm1
mulsd xmm6, xmm7
addsd xmm5, xmm6
movss xmm6, dword [esp + 0x6c]
movss xmm7, dword [esp + 0xbc]
cvtps2pd xmm6, xmm6
addsd xmm5, xmm6
movss xmm6, dword [esp + 0xb4]
cvtsd2ss xmm5, xmm5
mov ebx, dword [esp + 0x10]
movss dword [esp + 0x94], xmm5
movss xmm5, dword [esp + 0x24]
cvtps2pd xmm6, xmm6
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm6
xorps xmm6, xmm6
cvtss2sd xmm6, xmm4
cvtps2pd xmm7, xmm7
mulsd xmm6, xmm7
movss xmm7, dword [esp + 0xb8]
addsd xmm5, xmm6
movss xmm6, dword [esp + 0xb0]
cvtsd2ss xmm5, xmm5
movss dword [esp + 0x98], xmm5
movss xmm5, dword [esp + 0x24]
cvtps2pd xmm6, xmm6
cvtps2pd xmm5, xmm5
mulsd xmm5, xmm6
xorps xmm6, xmm6
cvtss2sd xmm6, xmm4
cvtps2pd xmm7, xmm7
mulsd xmm6, xmm7
movss xmm7, dword [esp + 0x98]
addsd xmm5, xmm6
movss xmm6, dword [esp + 0x90]
xorpd xmm5, xmmword [0x451f40]
cvtps2pd xmm6, xmm6
cvtps2pd xmm7, xmm7
subsd xmm6, xmm7
cvtpd2ps xmm5, xmm5
cvtsd2ss xmm6, xmm6
cvtps2pd xmm7, xmm5
movss dword [ebx], xmm6
movss xmm6, dword [esp + 0x94]
cvtps2pd xmm6, xmm6
subsd xmm6, xmm7
movss xmm7, dword [esp + 0x90]
cvtsd2ss xmm6, xmm6
movss dword [ebx + 4], xmm6
movss xmm6, dword [esp + 0x98]
cvtps2pd xmm5, xmm5
cvtps2pd xmm6, xmm6
cvtps2pd xmm7, xmm7
addsd xmm6, xmm7
cvtsd2ss xmm6, xmm6
movss dword [edx], xmm6
movss xmm6, dword [esp + 0x94]
cvtps2pd xmm6, xmm6
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [edx + 4], xmm5
movss xmm5, dword [esp + 0x3c]
cvtss2sd xmm2, xmm2
cvtps2pd xmm6, xmm5
mulsd xmm6, xmm2
movss xmm2, dword [esp + 0x20]
cvtps2pd xmm5, xmm5
cvtps2pd xmm7, xmm2
cvtss2sd xmm3, xmm3
mulsd xmm5, xmm3
movss xmm3, dword [esp + 0xb4]
cvtps2pd xmm2, xmm2
cvtss2sd xmm1, xmm1
mulsd xmm2, xmm1
movss xmm1, dword [esp + 0x6c]
addsd xmm5, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm7, xmm0
movss xmm0, dword [esp + 0x68]
addsd xmm6, xmm7
cvtps2pd xmm1, xmm1
addsd xmm5, xmm1
cvtps2pd xmm0, xmm0
addsd xmm6, xmm0
cvtps2pd xmm3, xmm3
xorps xmm2, xmm2
cvtpd2ps xmm1, xmm5
cvtss2sd xmm2, xmm4
mulsd xmm2, xmm3
movss xmm3, dword [esp + 0x24]
cvtps2pd xmm5, xmm3
xorps xmm0, xmm0
cvtpd2ps xmm0, xmm6
movss xmm6, dword [esp + 0xbc]
cvtps2pd xmm6, xmm6
mulsd xmm5, xmm6
movss xmm6, dword [esp + 0xb0]
subsd xmm2, xmm5
movss xmm5, dword [esp + 0xb8]
cvtps2pd xmm5, xmm5
cvtps2pd xmm6, xmm6
cvtps2pd xmm3, xmm3
mulsd xmm3, xmm5
xorps xmm5, xmm5
cvtss2sd xmm5, xmm4
mulsd xmm5, xmm6
subsd xmm3, xmm5
xorps xmm5, xmm5
cvtps2pd xmm6, xmm0
cvtpd2ps xmm2, xmm2
cvtss2sd xmm5, xmm2
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esi], xmm5
xorps xmm5, xmm5
cvtpd2ps xmm3, xmm3
cvtss2sd xmm5, xmm3
cvtps2pd xmm6, xmm1
addsd xmm5, xmm6
cvtpd2ps xmm5, xmm5
movss dword [esi + 4], xmm5
cvtps2pd xmm0, xmm0
add edi, dword [esp + 0x58]
add ebx, 8
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xd4]
add ebx, ebx
cvtss2sd xmm2, xmm2
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
add ebx, ebx
add ebx, ebx
add dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x54]
add dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x34]
add ebx, dword [esp + 0x50]
movss dword [ecx], xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
cvtss2sd xmm1, xmm3
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx + 4], xmm0
add eax, 8
add esi, 8
add ecx, 8
add edx, 8
dec dword [esp + 0x28]
mov dword [esp + 0x34], ebx
jne 0x4332a2
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0xd8]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
add dword [esp + 0x1c], eax
add esi, eax
dec dword [esp + 0x2c]
mov dword [esp + 0x38], esi
jne 0x433240
pop esi
pop ebx
pop edi
pop ebp
add esp, 0xc0
ret