Function at 0x41c7d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
movzx eax, word [0x44b3f8]
movsx ecx, ax
add ecx, 0x428cc253
mov dword [ebp - 4], ecx
fild dword [ebp - 4]
fadd qword [0x44b570]
fstp qword [0x44b570]
mov edx, dword [0x44b6a0]
movzx eax, word [0x44b264]
sub edx, 0x5c713c13
mov dword [ebp - 4], edx
movsx ecx, ax
fild dword [ebp - 4]
mov edx, 0x52dd2899
sub edx, ecx
mov dword [ebp - 4], edx
fild dword [ebp - 4]
fsub dword [0x44b004]
fcompp
fnstsw ax
fld dword [0x44b004]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x44b004]
test ah, 0x41
jne 0x41c85c
fld dword [0x44b4bc]
fld dword [0x44b10c]
fsubr qword [0x446308]
fsubp st(1)
fstp dword [0x44b4bc]
fld qword [0x44b6b8]
push ebx
fsub st(1)
push esi
push edi
fstp qword [0x44b6b8]
mov ax, word [0x44b664]
movsx ecx, ax
sub ecx, 0x5f99e8bc
mov dword [ebp - 4], ecx
or ecx, 0xffffffff
lea ebx, [ecx + 2]
fild dword [ebp - 4]
fld qword [0x44b6b8]
fsub qword [0x446300]
fadd qword [0x44b150]
fucompp
fnstsw ax
fld qword [0x44b150]
fadd st(1)
fstp qword [0x44b150]
add word [0x44b664], cx
test ah, 0x44
jp 0x41c91f
mov dx, word [0x44b008]
movsx eax, dx
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fadd qword [0x44b598]
fsub qword [0x4462f8]
fcomp qword [0x4462f0]
fnstsw ax
fld qword [0x44b598]
fsub st(1)
fstp qword [0x44b598]
add word [0x44b008], bx
test bl, ah
jne 0x41cc18
add word [0x44b1d4], cx
mov dx, word [0x44b1d4]
movsx eax, dx
mov edx, dword [0x44b274]
add edx, eax
mov word [0x44b4fc], dx
add dword [0x44b274], ecx
fstp st(0)
fld dword [0x44b3f0]
mov ecx, dword [ebp + 0xc]
fmul qword [0x4462e8]
add ecx, 4
push ecx
fstp dword [0x44b3f0]
call fcn.0042a5c0
fld dword [0x44b0b4]
mov edi, dword [ebp + 8]
fsub qword [0x4462e0]
mov esi, eax
add esp, 4
fsub qword [0x4462d8]
fistp qword [ebp - 0xc]
mov dword [ebp - 8], esi
mov dx, word [ebp - 0xc]
mov word [0x44b4fc], dx
fld dword [0x44b0b4]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x44b0b4]
movzx eax, word [0x44b61c]
sub eax, 0x20729e56
mov word [0x44b638], ax
mov cl, byte [edi + 0x4411e0]
mov dword [0x44b5ac], 0xb2237f88
mov byte [esi], cl
fld qword [0x44b6a8]
fsub qword [0x4462d0]
fcomp qword [0x4462c8]
fnstsw ax
fld qword [0x44b6a8]
fsub st(1)
fstp qword [0x44b6a8]
test ah, 0x44
jnp 0x41c9d3
add dword [0x44b328], ebx
mov edx, dword [0x44b328]
mov eax, dword [0x44bc04]
mov cl, byte [eax + edi]
xor byte [esi], cl
fld dword [0x44b0b0]
fld qword [0x44b538]
add edi, ebx
fadd qword [0x4462c0]
add esi, ebx
fsubp st(1)
fstp dword [0x44b0b0]
movzx edx, word [0x44b3e8]
add edx, 0x5e4dead2
mov word [0x44b3e8], dx
mov ax, word [0x44b674]
mov dl, byte [edi + 0x4411e0]
movsx ecx, ax
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
fstp dword [0x44b5a0]
mov byte [esi], dl
fld dword [0x44b2fc]
fadd dword [0x44b468]
fadd qword [0x4462b8]
fld qword [0x44b640]
mov eax, dword [0x44b4b8]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fsubp st(1)
fsub qword [0x4462b0]
fcompp
fnstsw ax
fld dword [0x44b468]
fsub st(1)
fstp dword [0x44b468]
test ah, 1
jne 0x41cad8
fld dword [0x44b678]
fsub st(1)
fstp dword [0x44b678]
fld qword [0x44b348]
fadd qword [0x44b478]
mov ecx, dword [0x44b020]
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
faddp st(1)
fld dword [0x44b678]
add dword [0x44b020], ebx
fucompp
fnstsw ax
fld qword [0x44b348]
fsub st(1)
fstp qword [0x44b348]
test ah, 0x44
jp 0x41cad8
mov eax, dword [0x44b5dc]
mov edx, dword [0x44b0a4]
add eax, 0xedf2d589
imul edx, eax
mov dword [0x44b0a4], edx
add dword [0x44b5dc], ebx
mov eax, dword [0x44bc04]
mov cl, byte [eax + edi]
xor byte [esi], cl
mov dx, word [0x44b014]
movsx eax, dx
cmp eax, 0xdece099c
jle 0x41cb07
movzx ecx, word [0x44b018]
imul ecx, ecx, 0xc025d2b0
mov word [0x44b018], cx
movzx edx, word [0x44b2b0]
mov ecx, dword [0x44b5ac]
movsx eax, dx
mov dword [ebp + 8], eax
add ecx, 0x1d9f639b
sub esi, ebx
fild dword [ebp + 8]
mov dword [ebp + 8], ecx
add edi, ebx
fild dword [ebp + 8]
fsub dword [0x44b278]
fsubp st(1)
fistp qword [ebp - 0x14]
movzx edx, word [ebp - 0x14]
mov word [0x44b2b0], dx
fld dword [0x44b278]
fsub st(1)
fstp dword [0x44b278]
mov ax, word [0x44b344]
movsx ecx, ax
mov dword [ebp + 8], ecx
lea ecx, [edi + 0x4411e0]
fild dword [ebp + 8]
fadd qword [0x44b5f0]
fld qword [0x44b140]
movzx edx, word [0x44b2c4]
movsx eax, dx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
faddp st(2)
fsubrp st(1)
fstp qword [0x44b140]
fsubr qword [0x44b5f0]
fstp qword [0x44b5f0]
dec word [0x44b344]
movzx ebx, word [esi]
movzx eax, bx
mov dword [ebp - 4], eax
add eax, 3
push eax
push ecx
push esi
call fcn.00425dc0
add esp, 0xc
fld qword [0x44b210]
or edx, 0xffffffff
fadd qword [0x4462a8]
fsub qword [0x4462a0]
fcomp qword [0x446298]
fnstsw ax
test ah, 0x44
jnp 0x41cc4b
add dword [0x44b224], edx
mov ax, word [0x44b5d4]
movsx ecx, ax
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
fadd dword [0x44b4a4]
mov eax, dword [0x44b224]
mov dword [ebp + 8], eax
fiadd dword [ebp + 8]
fstp dword [0x44b0b0]
fld dword [0x44b4a4]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x44b4a4]
jmp 0x41cc4d
mov eax, dword [0x44b138]
add eax, 0x718ddf8e
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fadd dword [0x44b4a4]
fstp dword [0x44b0b0]
fadd dword [0x44b4a4]
fstp dword [0x44b4a4]
add dword [0x44b138], ecx
jmp 0x41c921
fld1
fld dword [0x44b668]
movzx ecx, bx
fsub qword [0x446290]
mov ebx, dword [0x44bc04]
lea ecx, [ecx + esi + 3]
add edi, ebx
fstp dword [0x44b668]
mov eax, esi
fld qword [0x44b258]
fsub qword [0x446288]
fadd dword [0x44b10c]
fstp dword [0x44b10c]
fld qword [0x44b258]
fadd st(1)
fstp qword [0x44b258]
cmp esi, ecx
je 0x41cd23
fld qword [0x446280]
fld qword [0x44b398]
mov esi, 1
fadd st(2)
fstp qword [0x44b398]
fld qword [0x44b398]
mov dx, word [0x44b3f8]
movsx edx, dx
mov dword [ebp + 8], edx
mov edx, dword [0x44b080]
fild dword [ebp + 8]
mov dword [ebp + 8], edx
fsubp st(1)
fsub st(1)
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
mov dword [0x44b080], edx
add word [0x44b3f8], si
mov dl, byte [edi]
xor byte [eax], dl
add dword [0x44b5a4], esi
mov edx, dword [0x44b4dc]
mov ebx, dword [0x44b5a4]
add edx, 0xd299363b
add ebx, edx
add eax, esi
add edi, esi
mov dword [0x44b4dc], ebx
cmp eax, ecx
jne 0x41cca4
fstp st(0)
or edx, 0xffffffff
add dword [0x44b364], edx
mov ax, word [0x44b230]
mov esi, dword [0x44b364]
mov ebx, dword [ebp - 4]
cwde
sub eax, esi
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmul dword [0x44b4e8]
fstp dword [0x44b4e8]
add word [0x44b230], dx
cmp dword [ebp + 0xc], ebx
je 0x41ceb4
movzx eax, word [0x44b1d0]
cwde
sub eax, 0x765fbd18
mov dword [ebp + 8], eax
sub ecx, 3
fild dword [ebp + 8]
fsub dword [0x44b0ec]
mov eax, dword [0x44b688]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [0x44b688], eax
mov byte [ecx + 3], 0
fld qword [0x44b548]
fadd st(1)
fstp qword [0x44b548]
fld dword [0x44b454]
fld qword [0x44b548]
fsubr qword [0x446278]
fsubp st(1)
fstp dword [0x44b454]
movzx eax, word [0x44b3f4]
mov esi, dword [0x44b18c]
add word [0x44b3f4], dx
cwde
add eax, 0xb3ade5c2
cmp eax, esi
jle 0x41ce12
fld qword [0x44b508]
fsub st(1)
fstp qword [0x44b508]
fld qword [0x44b508]
movzx eax, word [0x44b244]
fsub qword [0x446270]
cwde
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 0x2c]
movzx eax, word [ebp - 0x2c]
mov word [0x44b244], ax
mov edi, dword [ecx]
add word [0x44b660], dx
mov ax, word [0x44b660]
mov esi, dword [0x44b444]
cwde
add eax, 0x2709e62
imul esi, eax
mov dword [0x44b444], esi
add word [0x44b208], dx
mov esi, ecx
mov cx, word [0x44b208]
movsx edx, cx
add edx, 0x74d756c7
cmp edx, 0x7b69e041
jge 0x41ce84
fld dword [0x44b5d0]
fadd qword [0x446268]
fsub qword [0x446260]
fistp qword [ebp - 0x34]
mov ax, word [ebp - 0x34]
mov word [0x44b3b4], ax
fld dword [0x44b5d0]
fsub st(1)
fstp dword [0x44b5d0]
inc word [0x44b230]
mov cx, word [0x44b230]
sub dword [ebp + 0xc], ebx
movsx edx, cx
sub edx, 0x16908e4d
mov dword [ebp + 8], edx
mov ebx, 1
fild dword [ebp + 8]
fstp qword [0x44b030]
jmp 0x41c98e
movzx eax, word [0x44b600]
fstp st(0)
pop edi
sub eax, 0x2d5e3a5a
pop esi
mov word [0x44b600], ax
mov eax, dword [ebp - 8]
pop ebx
mov esp, ebp
pop ebp
ret