Function at 0x410cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, dword [0x44813c]
mov edx, dword [0x44727c]
imul ecx, ecx, 0x2aef2de4
mov eax, 0xd50cef9c
sub eax, ecx
not edx
or ecx, 0xffffffff
add dword [0x44813c], ecx
xor edx, 0x10c04020
cmp edx, eax
jle 0x410d15
mov ax, word [0x46cea8]
mov edx, dword [0x43f720]
cwde
imul edx, eax
imul edx, edx, 0x5c0ae884
mov word [0x46cea8], dx
add dword [0x43f720], ecx
fld dword [0x475b00]
fadd dword [0x47908c]
fadd dword [0x476748]
fstp dword [0x476748]
add dword [0x444ac0], 0xf927c480
mov ax, word [0x46934c]
add word [0x46934c], cx
movsx edx, ax
add edx, 0x2ef21abc
cmp edx, 0xc424ecfe
je 0x410d7a
mov ax, word [0x46cad0]
movsx ecx, ax
not ecx
cmp ecx, 0xd76d2da5
jne 0x410d7a
fld dword [0x474fb8]
fmul qword [0x44fbf8]
fstp qword [0x44fbf8]
mov edx, dword [ebp + 0xc]
push ebx
push esi
add edx, 4
push edi
push edx
call fcn.0040b070
fld dword [0x4709a4]
fsub dword [0x472bec]
mov edi, dword [ebp + 8]
mov esi, eax
add esp, 4
fstp dword [0x4709a4]
mov dword [ebp - 4], esi
fld dword [0x472bec]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x472bec]
mov eax, dword [0x447b4c]
movzx ecx, word [0x46e800]
imul eax, eax, 0xe6156e2b
or ecx, eax
mov word [0x46e800], cx
mov dx, word [0x46b446]
movsx eax, dx
xor eax, 0x1be0148
or dword [0x4464f8], eax
mov al, byte [edi + 0x437228]
mov byte [esi], al
or dword [0x448020], 0x7dcfd99b
mov ecx, dword [0x47e21c]
mov dl, byte [ecx + edi]
xor byte [esi], dl
mov eax, dword [0x43fecc]
imul eax, eax, 0x2de9ea00
sub eax, 0xb3c6c8f
cmp eax, 0x6e20c9d5
jle 0x410e4a
fld dword [0x4748fc]
fld dword [0x479b14]
fmul qword [0x455078]
fadd dword [0x47a0a0]
fsubp st(1)
fstp dword [0x4748fc]
fld dword [0x47a0a0]
fsub st(1)
fstp dword [0x47a0a0]
fld qword [0x44ef68]
inc edi
fmul qword [0x45b988]
mov eax, 0x71c81607
inc esi
dec esi
fmul dword [0x473ee0]
inc edi
fstp dword [0x473ee0]
mov ecx, dword [0x4474b0]
sub eax, ecx
and dword [0x4488f8], eax
mov dl, byte [edi + 0x437227]
mov byte [esi + 1], dl
mov ax, word [0x46a276]
mov ecx, dword [0x4428b4]
mov edx, dword [0x47e21c]
cwde
xor ecx, eax
xor ecx, 0x2960004
mov word [0x46a276], cx
mov al, byte [edx + edi - 1]
xor byte [esi + 1], al
mov eax, dword [0x446060]
mov ecx, dword [0x43c7e0]
and eax, 0x6800fb8
or eax, 0xd03b5042
imul ecx, eax
mov dword [0x43c7e0], ecx
mov dword [0x43fa1c], 0xe352abb8
mov dx, word [0x46ad26]
movsx eax, dx
and eax, 0xfffffffe
cmp eax, 0xba719cf4
je 0x410ef3
add dword [0x43d014], 0xf0550960
jmp 0x410efd
xor dword [0x447668], 0x46fef6b5
movzx eax, word [esi]
add dword [0x446254], 0x6866bfd3
movzx ebx, ax
lea ecx, [ebx + 3]
push ecx
lea edx, [edi + 0x437228]
push edx
push esi
call fcn.004349a0
and dword [0x446c6c], 0x12184c35
mov ecx, 0xe
mov word [0x46cae8], cx
fld qword [0x45afc0]
lea ecx, [ebx + esi + 3]
fmul qword [0x459520]
add esp, 0xc
mov eax, esi
fmul dword [0x46fed4]
mov edx, dword [0x47e21c]
add edi, edx
fstp dword [0x46fed4]
mov edx, dword [0x44a5c0]
imul edx, edx, 0xac83c400
mov dword [0x44a5c0], edx
cmp esi, ecx
je 0x410faa
mov esi, dword [0x441e50]
mov edx, 0xa4072bba
sub edx, esi
movzx esi, word [0x46a0d4]
xor esi, edx
mov word [0x46a0d4], si
inc dword [0x441e50]
mov dl, byte [edi]
xor byte [eax], dl
or dword [0x442444], 0xfd223c5c
inc eax
inc edi
cmp eax, ecx
jne 0x410f73
mov eax, dword [0x44310c]
add eax, 0x11ad8dc4
and eax, 0x3bc5e328
cmp eax, 0x6a970480
jge 0x410fca
xor dword [0x441278], 0xc7e34c97
cmp dword [ebp + 0xc], ebx
je 0x4110f3
mov eax, dword [0x4487b8]
add eax, 0xddf2dab
or eax, 0xcca9da58
xor dword [0x448294], eax
mov byte [ecx], 0
mov dx, word [0x46dca2]
movsx eax, dx
shl eax, 4
add eax, 0x3f3758b6
and eax, 0xb8cb225a
add dword [0x44725c], eax
sub ecx, 3
fld dword [0x47c5d4]
fsub qword [0x4565a0]
fld qword [0x45f058]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x411042
mov eax, dword [0x449034]
movzx edx, word [0x46ad38]
not eax
imul eax, eax, 0x18a92897
add edx, eax
mov word [0x46ad38], dx
mov edx, dword [0x4497f0]
mov eax, dword [0x449f58]
mov edi, dword [ecx]
or edx, eax
mov eax, 1
add dword [0x449f58], eax
cmp edx, 0xfdfe5d9f
je 0x411084
mov edx, dword [0x43cf80]
mov esi, dword [0x449564]
sar edx, 7
add edx, 0x15648913
imul esi, edx
mov dword [0x449564], esi
jmp 0x4110a2
fld dword [0x4735f0]
fadd qword [0x4573c8]
fadd dword [0x477960]
fadd qword [0x454788]
fstp qword [0x454788]
add dword [0x443b14], 0xf84f5d90
sub dword [ebp + 0xc], ebx
mov esi, ecx
mov ecx, dword [0x43e640]
add dword [0x43e640], eax
cmp ecx, 0x1bc1eba3
jne 0x4110e4
mov dx, word [0x468ed4]
movsx eax, dx
imul eax, eax, 0x1a16ac00
add eax, 0xe9f669d
mov dword [0x443634], eax
jmp 0x410dd3
and dword [0x442710], 0xff76bc67
jmp 0x410dd3
or dword [0x443b40], 0x86d129ff
fstp st(0)
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret