Function at 0x44cd70
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
mov ebx, dword [0x4e4478]
push esi
push edi
mov edi, dword [0x4e5290]
cmp ebx, edi
jge 0x44cf14
fild dword [0x4e5290]
fmul dword [esp + 0x18]
fadd st(0), st(0)
call fcn.004b5864
cmp edi, eax
mov esi, edi
jl 0x44cda1
mov esi, eax
mov ecx, dword [0x4e14a8]
lea eax, [ebx + ebx*4]
cmp ebx, esi
lea ecx, [ecx + eax*8]
jge 0x44cf0e
add ecx, 0x10
test bl, 1
je 0x44cdc5
fld qword [0x4c1578]
jmp 0x44cdcb
fld qword [0x4c1508]
test bl, 2
je 0x44cdd8
fld qword [0x4c1578]
jmp 0x44cdde
fld qword [0x4c1508]
mov edx, dword [0x62bdd0]
mov al, dl
sub dl, 0x2c
add al, 4
and edx, 0xff
and eax, 0xff
mov edx, dword [edx + 0x62c040]
mov edi, dword [eax + 0x62c040]
xor edi, edx
shr edx, 9
or edx, 0x3f800000
mov dword [eax + 0x62c040], edi
mov dword [esp + 0xc], edx
mov edx, ebx
and edx, 0x1f
mov dword [esp + 0x18], edx
mov dl, al
fild dword [esp + 0x18]
add dl, 4
sub al, 0x2c
and edx, 0xff
and eax, 0xff
fmul qword [0x4c1570]
mov eax, dword [eax + 0x62c040]
mov edi, dword [edx + 0x62c040]
xor edi, eax
mov dword [0x62bdd0], edx
fadd qword [0x4c1568]
shr eax, 9
or eax, 0x3f800000
mov dword [edx + 0x62c040], edi
fsub qword [0x4c14e0]
fld dword [esp + 0xc]
fsub dword [0x4c1560]
mov dword [esp + 0x18], eax
xor eax, eax
mov al, byte [ecx - 0xf]
fmul qword [0x4c1558]
shl eax, 1
mov dword [esp + 0xc], eax
inc ebx
faddp st(1)
fld dword [esp + 0x18]
fsub dword [0x4c1560]
fadd qword [0x4c1510]
fmul qword [0x4c1550]
fstp dword [esp + 0x18]
fld st(2)
fmul qword [0x4c13f8]
fstp dword [ecx - 4]
fld st(1)
fmul qword [0x4c13f8]
fstp dword [ecx]
fild dword [esp + 0xc]
fsubr qword [0x4c1548]
fstp dword [ecx + 4]
fld st(0)
fsin
fxch st(3)
fchs
fmulp st(3)
fld dword [esp + 0x18]
fmulp st(3)
fxch st(2)
fstp dword [ecx + 8]
fxch st(1)
fcos
fxch st(1)
fchs
fmulp st(1)
fmul dword [esp + 0x18]
fstp dword [ecx + 0xc]
fld dword [esp + 0x18]
fchs
fmul qword [0x4c1540]
fstp dword [ecx + 0x10]
add ecx, 0x28
cmp ebx, esi
jl 0x44cdb8
mov edi, dword [0x4e5290]
mov dword [0x4e4478], esi
cmp dword [esp + 0x14], 1
jne 0x44d02b
mov al, byte [0x4e6a10]
test al, al
jne 0x44d02b
xor edx, edx
test edi, edi
jle 0x44d024
mov ebx, dword [0x62bdd0]
mov al, bl
sub bl, 0x2c
add al, 4
and ebx, 0xff
and eax, 0xff
mov ecx, dword [ebx + 0x62c040]
mov ebx, dword [eax + 0x62c040]
xor ebx, ecx
and ecx, 0x7fff
shl ecx, 8
mov dword [edx*4 + 0x4e14e8], ecx
mov cl, al
mov dword [eax + 0x62c040], ebx
add cl, 4
sub al, 0x2c
and ecx, 0xff
and eax, 0xff
mov esi, dword [ecx + 0x62c040]
mov eax, dword [eax + 0x62c040]
xor esi, eax
shr eax, 9
or eax, 0x3f800000
mov dword [ecx + 0x62c040], esi
mov dword [esp + 0x18], eax
mov al, cl
fld dword [esp + 0x18]
fsub dword [0x4c1560]
add al, 4
sub cl, 0x2c
and eax, 0xff
and ecx, 0xff
fmul qword [0x4c1538]
mov ecx, dword [ecx + 0x62c040]
mov esi, eax
mov ebx, esi
mov eax, dword [esi + 0x62c040]
fsub qword [0x4c1530]
xor eax, ecx
shr ecx, 9
or ecx, 0x3f800000
mov dword [esi + 0x62c040], eax
fstp dword [edx*4 + 0x4e2c58]
mov dword [esp + 0x18], ecx
inc edx
fld dword [esp + 0x18]
fsub dword [0x4c1560]
cmp edx, edi
fmul qword [0x4c1528]
fadd qword [0x4c1520]
fstp dword [edx*4 + 0x4e5294]
jl 0x44cf3c
mov dword [0x62bdd0], ebx
mov byte [0x4e6a10], 1
pop edi
pop esi
pop ebx
pop ecx
ret