Function at 0x53d4ca
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [ebp + 0xc]
fld dword [0x406f0c]
fld dword [0x406f08]
mov edx, dword [ebp + 8]
fld dword [0x406f04]
push ebx
fld dword [0x406f00]
add eax, eax
push esi
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0xc], 8
mov eax, 0xfff
push edi
mov ebx, dword [edx + 0xc]
mov edi, dword [edx + 8]
mov esi, 0xfff0fff
and ebx, esi
ror edi, 0x10
and edi, esi
mov esi, dword [edx]
mov edx, dword [edx + 4]
and edx, 0xfff0fff
or edx, 0x20002000
sub edx, edi
lea edi, [edx + edi*2]
mov dword [ebp - 0x14], edi
mov edi, edx
sar edi, 0x10
and edi, eax
fld dword [edi*4 + 0x5707d0]
ror esi, 0x10
fstp dword [ebp - 0x18]
xor esi, 0xa000a000
sub esi, ebx
mov edi, esi
sar edi, 0x10
and edi, eax
fld dword [edi*4 + 0x5707d0]
mov edi, esi
sub edi, edx
add edx, esi
and edi, eax
fld dword [edi*4 + 0x56c7d0]
and edx, eax
fld dword [edx*4 + 0x56c7d0]
mov edi, dword [ebp - 0x14]
fld st(1)
lea edx, [ebx + ebx]
fadd dword [ebp - 0x18]
sub edx, edi
add edx, esi
lea ebx, [edx + edi*2]
fstp dword [ebp - 4]
mov esi, ebx
mov edi, edx
fld st(0)
sar esi, 0x10
fadd st(3)
sar edi, 0x10
sub esi, ebx
fstp dword [ebp - 8]
fld dword [ebp - 0x18]
fsub st(2)
fstp dword [ebp + 0xc]
fld st(2)
fsub st(1)
fstp dword [ebp - 0x10]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [ebp - 8]
fmul st(4)
fld dword [ebp - 4]
fmul st(4)
faddp st(1)
fstp dword [ecx - 0x10]
fld dword [ebp - 0x10]
fmul st(2)
fld dword [ebp + 0xc]
fmul st(2)
faddp st(1)
fstp dword [ecx]
fld dword [ebp - 8]
fmul st(3)
fld dword [ebp - 4]
fmul st(5)
fsubp st(1)
fstp dword [ecx + 8]
fld dword [ebp - 0x10]
fmul st(1)
fld dword [ebp + 0xc]
fmul st(3)
fsubp st(1)
fstp dword [ecx - 8]
lea ebx, [esi + ebx*2]
and ebx, eax
fld dword [ebx*4 + 0x5507c8]
and edx, eax
fstp dword [ecx - 0x14]
and esi, eax
fld dword [esi*4 + 0x5507c8]
shl edx, 4
fstp dword [ecx - 4]
and edi, eax
fld qword [edx + 0x55c7d8]
shl edi, 4
fadd qword [edi + 0x55c7d0]
add ecx, 0x20
fstp dword [ecx - 0x2c]
fld qword [edi + 0x55c7d8]
fsub qword [edx + 0x55c7d0]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x1c]
fstp dword [ecx - 0x1c]
dec dword [ebp - 0xc]
mov dword [ebp + 8], edx
jne 0x53d50b
mov ebx, dword [ebp + 0x10]
lea eax, [ebx + 0x20]
lea ecx, [eax + 0x20]
and dword [ebp + 8], 0
lea edx, [ecx + 0x20]
lea esi, [edx + 0x20]
lea edi, [esi + 0x20]
mov dword [ebp + 0xc], edi
add edi, 0x40
mov dword [ebp - 0x14], edi
mov edi, ebx
lea ebx, [ebp - 0x4c]
mov dword [ebp - 0xc], eax
mov dword [ebp + 0x10], ecx
mov ecx, ebx
sub dword [ebp + 0x10], ecx
mov eax, ecx
sub dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
sub eax, ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
sub edi, ebx
sub esi, ebx
mov ebx, dword [ebp + 0xc]
sub eax, ecx
add ebx, 0x20
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], edx
mov eax, ecx
sub ebx, ecx
sub dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
shl eax, 2
lea edx, [ebp + eax - 0x12c]
fld dword [edx]
lea ecx, [ebp + eax - 0x4c]
fadd dword [ecx]
fld dword [edx]
lea edx, [ebp + eax - 0x10c]
fsub dword [ecx]
lea ecx, [ebp + eax - 0x6c]
fstp dword [ebp - 0x14]
fld dword [ecx]
fadd dword [edx]
fstp dword [ebp + 0xc]
fld dword [edx]
lea edx, [ebp + eax - 0xec]
fsub dword [ecx]
lea ecx, [ebp + eax - 0x8c]
fstp dword [ebp - 0x24]
fld dword [ecx]
fadd dword [edx]
fld dword [edx]
lea edx, [ebp + eax - 0xcc]
fsub dword [ecx]
lea ecx, [ebp + eax - 0xac]
fstp dword [ebp - 0x1c]
fld dword [ecx]
fadd dword [edx]
fld dword [edx]
fsub dword [ecx]
lea ecx, [eax + edi]
fstp dword [ebp - 0x18]
fld st(0)
fadd st(3)
fstp dword [ebp - 4]
fld st(1)
fadd dword [ebp + 0xc]
fstp dword [ebp - 8]
fld dword [ebp + 0xc]
fsub st(2)
fstp dword [ebp - 0x20]
fld st(2)
fsub st(1)
fstp dword [ebp + 0xc]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [ebp - 8]
fadd dword [ebp - 4]
fmul dword [0x406ef4]
fstp dword [ebp + ecx - 0x4c]
lea ecx, [eax + esi]
fld dword [ebp - 4]
fsub dword [ebp - 8]
fmul dword [0x406ef4]
fstp dword [ebp + ecx - 0x4c]
mov ecx, dword [ebp + 0x10]
fld dword [ebp + 0xc]
add ecx, eax
fmul dword [0x406efc]
fld dword [ebp - 0x20]
fmul dword [0x406ef8]
faddp st(1)
fstp dword [ebp + ecx - 0x4c]
lea ecx, [eax + ebx]
fld dword [ebp + 0xc]
fmul dword [0x406ef8]
fld dword [ebp - 0x20]
fmul dword [0x406efc]
fsubp st(1)
fstp dword [ebp + ecx - 0x4c]
fld dword [ebp - 0x24]
fsub dword [ebp - 0x1c]
fmul dword [0x406ef0]
fld dword [ebp - 0x24]
fadd dword [ebp - 0x1c]
fmul dword [0x406ef0]
fld st(1)
mov ecx, dword [ebp - 0xc]
fadd dword [ebp - 0x18]
add ecx, eax
fstp dword [ebp - 4]
fld dword [ebp - 0x14]
fadd st(1)
fstp dword [ebp - 8]
fld dword [ebp - 0x18]
fsub st(2)
fstp dword [ebp + 0xc]
fld dword [ebp - 0x14]
fsub st(1)
fstp st(2)
fstp st(0)
fld dword [ebp - 8]
fmul st(5)
fld dword [ebp - 4]
fmul st(5)
faddp st(1)
fstp dword [ebp + ecx - 0x4c]
mov ecx, dword [ebp - 0x28]
add ecx, eax
fld st(0)
fmul st(3)
fld dword [ebp + 0xc]
fmul st(3)
faddp st(1)
fstp dword [ebp + ecx - 0x4c]
mov ecx, dword [ebp - 0x2c]
fld dword [ebp - 8]
add ecx, eax
fmul st(4)
fld dword [ebp - 4]
fmul st(6)
fsubp st(1)
fstp dword [ebp + ecx - 0x4c]
mov ecx, dword [ebp - 0x10]
add eax, ecx
inc dword [ebp + 8]
fmul st(1)
cmp dword [ebp + 8], 8
fld dword [ebp + 0xc]
fmul st(3)
fsubp st(1)
fstp dword [ebp + eax - 0x4c]
jl 0x53d6a0
fstp st(0)
pop edi
fstp st(0)
pop esi
fstp st(0)
pop ebx
fstp st(0)
leave
ret 0x14