Function at 0x435c10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add dword [0x446d18], 0xb360fa40
push ebx
push esi
push edi
mov edi, eax
movzx eax, word [0x47829a]
imul eax, eax, 0xaeea8ec5
mov word [0x47829a], ax
movzx edx, word [0x47aab0]
add edx, 0x4d705642
mov word [0x47aab0], dx
mov eax, dword [0x4435d4]
or edx, 0xffffffff
add dword [0x4435d4], edx
cmp eax, 0x6743a190
jne 0x435c6a
or dword [0x447c64], 0x7ec6f7bf
jmp 0x435c82
fld dword [0x48ba00]
fadd dword [0x48369c]
fmul qword [0x45e940]
fstp qword [0x45e940]
mov eax, dword [0x44d63c]
mov esi, dword [0x44a8bc]
or eax, 0xff93ba4e
or esi, 0x483752c3
cmp eax, esi
mov ebx, 1
jle 0x435cce
mov ax, word [0x478f72]
movsx esi, ax
mov eax, 0xa16721fc
sub eax, esi
mov esi, dword [0x442700]
and eax, 0xa5a7fb9b
imul esi, eax
mov dword [0x442700], esi
add word [0x478f72], bx
jmp 0x435cd8
mov eax, dword [0x43de14]
mov dword [0x43c254], eax
mov eax, dword [0x44edcc]
sar eax, 5
sub dword [0x43d698], eax
cmp dword [ebp + 0xc], 0
je 0x435d34
add dword [0x43e85c], edx
mov eax, dword [0x44373c]
mov esi, dword [0x43e85c]
xor eax, esi
mov dword [0x44373c], eax
mov byte [ecx], 0x2d
mov eax, dword [0x44e014]
movzx esi, word [0x47d534]
add eax, 0xfa2ee6cd
and esi, eax
mov word [0x47d534], si
add dword [0x44e014], edx
inc ecx
neg edi
xor dword [0x43e19c], 0x5d143ffd
add dword [0x447464], ebx
mov eax, dword [0x43e688]
mov edx, dword [0x447464]
imul eax, eax, 0x9d6c0160
and edx, eax
cmp edx, 0xf2b4b3d2
jg 0x435d64
mov eax, dword [0x43d5f0]
sub eax, 0x288f291
mov dword [0x4450ec], eax
add dword [0x445ad0], 0xc7b3a5fd
fld1
mov esi, ecx
mov eax, dword [0x444584]
sar eax, 1
imul eax, eax, 0x5f117e9a
and dword [0x44d804], eax
mov eax, edi
xor edx, edx
div dword [ebp + 8]
mov edi, dword [0x449d3c]
xor edi, 0xf1538953
mov dword [0x442e94], edi
add dword [0x449d3c], ebx
mov edi, eax
mov eax, dword [0x449dc0]
imul eax, eax, 0xf42cd072
mov dword [0x449dc0], eax
cmp edx, 9
jbe 0x435e0b
mov ebx, dword [0x443278]
mov eax, 0xb7234a05
sub eax, ebx
and dword [0x44d560], eax
dec dword [0x443278]
add dl, 0x57
mov byte [ecx], dl
movzx edx, word [0x476186]
movsx eax, dx
movzx edx, word [0x47d478]
imul eax, eax, 0x5a251db0
movsx edx, dx
mov ebx, 1
add eax, edx
and dword [0x44b5fc], eax
add ecx, ebx
add word [0x47d478], bx
jmp 0x435e6d
mov eax, dword [0x44e610]
cmp eax, 0xdff061be
jg 0x435e46
fld dword [0x481bf0]
fadd dword [0x49155c]
fsub dword [0x48543c]
fld dword [0x48a8cc]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x435e46
mov eax, dword [0x446074]
dec dword [0x446074]
add dl, 0x30
mov byte [ecx], dl
fld qword [0x470e38]
fadd qword [0x46f0e0]
add ecx, ebx
fstp qword [0x470e38]
fld qword [0x46f0e0]
fadd st(1)
fstp qword [0x46f0e0]
or dword [0x440310], 0x43d6f324
test edi, edi
ja 0x435d72
fld dword [0x4890a4]
mov edi, 0x840001e2
fld qword [0x46c520]
fld qword [0x460bf8]
fmulp st(2)
fsubrp st(1)
fstp qword [0x46c520]
fld dword [0x4890a4]
fadd st(1)
fstp dword [0x4890a4]
mov byte [ecx], 0
mov eax, dword [0x445ec4]
movzx edx, word [0x47e4f0]
and eax, 0xfb3b2d05
imul edx, eax
sub ecx, ebx
mov word [0x47e4f0], dx
dec dword [0x445ec4]
movzx eax, word [0x47c794]
movzx edx, word [0x47abf6]
cwde
lea eax, [edx + eax + 0x61ee0ccf]
mov word [0x47c794], ax
mov al, byte [ecx]
and dword [0x44c330], edi
mov dl, byte [esi]
mov byte [ecx], dl
sub ecx, ebx
fld qword [0x450c30]
fsub qword [0x45a1a8]
fstp qword [0x450c30]
mov byte [esi], al
movzx eax, word [0x47a036]
sub eax, 0x22fdcc76
mov word [0x47a036], ax
mov eax, dword [0x44c120]
movzx edx, word [0x477ea6]
and eax, 0xa9287ba1
xor edx, eax
xor edx, 0xda4c01a1
mov word [0x477ea6], dx
movzx eax, word [0x475dd8]
add esi, ebx
or eax, 0xf1d7cbfb
mov word [0x475dd8], ax
cmp esi, ecx
jb 0x435ed4
fld dword [0x4918bc]
pop edi
fadd dword [0x483b50]
pop esi
pop ebx
fadd dword [0x48d1cc]
fstp dword [0x48d1cc]
fadd dword [0x483b50]
fstp dword [0x483b50]
pop ebp
ret