Function at 0x4354f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
fld qword [0x44d5b0]
sub esp, 0x24
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x44d5b0]
fld qword [0x44d2c0]
fadd qword [0x446870]
fadd qword [0x44d5b0]
fcomp qword [0x446868]
fnstsw ax
test ah, 5
jp 0x43555e
fld dword [0x44d374]
fadd st(1)
fstp dword [0x44d374]
mov ax, word [0x44d0c4]
movsx ecx, ax
mov dword [ebp - 4], ecx
fild dword [ebp - 4]
fstp dword [ebp - 4]
fld dword [0x44d374]
fsubr dword [ebp - 4]
fistp qword [ebp - 0xc]
mov dx, word [ebp - 0xc]
mov word [0x44d0c4], dx
movzx eax, word [0x44d320]
sub eax, 0x301a10db
mov word [0x44d320], ax
fld qword [0x44d3e0]
fsub qword [0x446860]
fcomp qword [0x446858]
fnstsw ax
fadd qword [0x44d3e0]
fstp qword [0x44d3e0]
test ah, 0x41
jne 0x4355bb
fld dword [0x44d55c]
mov ecx, dword [0x44d0b8]
fsubr qword [0x446850]
mov dword [ebp - 4], ecx
fild dword [ebp - 4]
faddp st(1)
fistp qword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov dword [0x44d0b8], edx
mov eax, dword [0x44d1bc]
mov ecx, dword [ebp + 0xc]
push ebx
push esi
add ecx, 4
push edi
sub eax, 0x4ae7ea54
mov dword [0x44d210], eax
push ecx
call fcn.00407080
or ecx, 0xffffffff
add dword [0x44d39c], ecx
mov edx, dword [0x44d5a8]
mov esi, eax
mov eax, 0x46b6bb8d
sub eax, edx
mov edx, dword [0x44d39c]
add eax, edx
mov edx, dword [0x44d074]
mov edi, 0xc4fe0ea
sub edi, edx
mov edx, 1
add dword [0x44d5a8], edx
add dword [0x44d074], edx
add esp, 4
cmp edi, eax
jne 0x435686
fld qword [0x44d460]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [0x44d460]
fld qword [0x44d460]
mov ax, word [0x44d440]
fsub qword [0x446848]
cwde
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fsub dword [0x44d444]
fsub qword [0x446840]
fcompp
fnstsw ax
fld dword [0x44d444]
fadd st(1)
fstp dword [0x44d444]
test ah, 5
jp 0x435688
fld dword [0x44d378]
fsub qword [0x446838]
fadd dword [0x44d1b0]
fstp dword [0x44d1b0]
jmp 0x435688
fld1
fld dword [0x44d2bc]
mov dword [ebp - 8], esi
fadd st(1)
fstp dword [0x44d2bc]
fld qword [0x44d080]
fadd qword [0x44d318]
fsub qword [0x446830]
fld dword [0x44d2bc]
fadd qword [0x44d0f8]
fcompp
fnstsw ax
fld qword [0x44d318]
fadd st(1)
fstp qword [0x44d318]
test ah, 0x41
jp 0x435715
mov eax, dword [0x44d590]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fld qword [0x44d380]
mov ax, word [0x44d458]
fsub qword [0x446828]
add dword [0x44d590], edx
cwde
mov dword [ebp - 4], eax
fild dword [ebp - 4]
faddp st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x435715
fld qword [0x44d528]
fsub qword [0x446820]
fstp qword [0x44d528]
mov edi, dword [ebp + 8]
movzx edx, word [0x44d164]
movsx eax, dx
mov edx, 0x7bcf6e2a
sub edx, eax
mov al, byte [edi + 0x4421d0]
mov dword [ebp + 8], edx
inc edi
inc esi
fild dword [ebp + 8]
dec esi
inc edi
fstp qword [0x44d1e8]
mov byte [esi], al
movzx edx, word [0x44d388]
movsx eax, dx
sub dword [0x44d494], eax
add word [0x44d388], cx
mov eax, dword [0x44dae4]
movzx edx, byte [eax + edi - 2]
xor byte [esi], dl
movzx eax, word [0x44d25c]
mov edx, dword [0x44d0a0]
cwde
sub eax, edx
mov edx, dword [0x44d168]
sub eax, edx
add dword [0x44d37c], eax
add dword [0x44d0a0], ecx
fld qword [0x44d550]
fsub qword [0x446818]
fsub qword [0x44d0f8]
fstp dword [0x44d55c]
fld qword [0x44d0f8]
fsub st(1)
fstp qword [0x44d0f8]
fld qword [0x44d298]
movzx eax, word [0x44d22c]
movzx edx, byte [edi + 0x4421cf]
movsx ecx, ax
sub ecx, 0x38f8dcd1
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
fsubp st(1)
fstp qword [0x44d298]
mov byte [esi + 1], dl
fld dword [0x44d368]
fsub qword [0x446810]
fmul qword [0x44d058]
mov eax, dword [0x44dae4]
fstp qword [0x44d058]
mov cl, byte [eax + edi - 1]
xor byte [esi + 1], cl
fld dword [0x44d478]
movzx edx, word [0x44d504]
movsx eax, dx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fsubp st(1)
fadd qword [0x44d038]
fstp qword [0x44d038]
fsubr dword [0x44d478]
fstp dword [0x44d478]
fld dword [0x44d4c4]
fmul qword [0x44d4a0]
fstp qword [0x44d4a0]
movzx ecx, word [0x44d4dc]
movsx edx, cx
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fstp dword [ebp + 8]
fld dword [0x44d344]
fmul dword [ebp + 8]
fistp qword [ebp - 0x14]
movzx eax, word [ebp - 0x14]
mov word [0x44d4dc], ax
movzx ecx, word [0x44d25c]
movzx ebx, word [esi]
movsx edx, cx
sub edx, 0x6e6031f
cmp edx, 0x847c76f2
jl 0x435899
movzx eax, word [0x44d1cc]
imul eax, eax, 0xbabc1fb
mov word [0x44d1cc], ax
movzx eax, bx
mov dword [ebp - 4], eax
add eax, 3
push eax
lea ecx, [edi + 0x4421d0]
push ecx
push esi
call fcn.0041ccf0
mov dx, word [0x44d010]
movsx eax, dx
mov dword [ebp + 8], eax
movzx edx, bx
fild dword [ebp + 8]
fld dword [0x44d588]
lea eax, [edx + esi + 3]
fadd dword [0x44d5c0]
add esp, 0xc
fadd dword [0x44d144]
fsubp st(1)
fistp qword [ebp - 0x1c]
mov cx, word [ebp - 0x1c]
mov word [0x44d010], cx
mov ecx, esi
fld dword [0x44d144]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44d144]
fld dword [0x44d588]
fsub st(1)
fstp dword [0x44d588]
fld qword [0x44d540]
fmul qword [0x446808]
fstp qword [0x44d540]
mov edx, dword [0x44d498]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
mov edx, dword [0x44dae4]
add edi, edx
fstp dword [0x44d598]
fld dword [0x44d1d0]
fadd st(1)
fstp dword [0x44d1d0]
fld dword [0x44d01c]
fld dword [0x44d1d0]
fsubr qword [0x446800]
fsubp st(1)
fstp dword [0x44d01c]
cmp esi, eax
je 0x435998
fld qword [0x4467f8]
mov edx, 0xffffab49
mov word [0x44d288], dx
mov dl, byte [edi]
xor byte [ecx], dl
fld qword [0x44d540]
fadd st(1)
inc ecx
inc edi
fadd qword [0x44d470]
fstp qword [0x44d470]
cmp ecx, eax
jne 0x43596c
fstp st(0)
fld dword [0x44d4bc]
movzx ecx, word [0x44d0c4]
fadd qword [0x4467f0]
movsx edx, cx
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 0x24]
movzx ecx, word [ebp - 0x24]
mov word [0x44d0c4], cx
mov ecx, dword [ebp - 4]
fld dword [0x44d4bc]
fsub st(1)
fstp dword [0x44d4bc]
cmp dword [ebp + 0xc], ecx
je 0x435aac
movzx edx, word [0x44d35c]
add edx, 0x2f06a55e
mov word [0x44d35c], dx
mov byte [eax], 0
sub dword [ebp + 0xc], ecx
fld qword [0x44d2c0]
sub eax, 3
fsubr qword [0x4467e8]
mov esi, eax
fmul qword [0x44d260]
fstp qword [0x44d260]
fld qword [0x44d2c0]
fadd st(1)
fstp qword [0x44d2c0]
fld qword [0x44d0e0]
fsub st(1)
fstp qword [0x44d0e0]
fld qword [0x44d230]
fld qword [0x44d0e0]
fsub qword [0x4467e0]
fsubp st(1)
fstp qword [0x44d230]
mov edi, dword [eax]
dec word [0x44d194]
fld qword [0x44d4f8]
movzx edx, word [0x44d194]
movsx edx, dx
sub edx, 0x250e5832
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fsubp st(1)
fstp qword [0x44d4f8]
mov dword [0x44d134], 0xfe498bae
inc word [0x44d1b8]
mov ax, word [0x44d1b8]
movsx ecx, ax
mov dword [ebp + 8], ecx
or ecx, 0xffffffff
fild dword [ebp + 8]
fmul qword [0x44d3e8]
fstp qword [0x44d3e8]
jmp 0x435718
mov eax, dword [ebp - 8]
fstp st(0)
fld qword [0x44d188]
pop edi
fsub qword [0x4467d8]
pop esi
pop ebx
fmul dword [0x44d344]
fstp dword [0x44d344]
mov esp, ebp
pop ebp
ret