Function at 0x426010
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
movzx eax, word [0x44c050]
imul eax, eax, 0x79db4a86
mov word [0x44c050], ax
push ebx
fld dword [0x44c140]
push esi
fsubr qword [0x447258]
mov ebx, 1
push edi
fstp dword [0x44c42c]
fld dword [0x44c140]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44c140]
movzx ecx, word [0x44c150]
mov eax, dword [0x44c43c]
movsx edx, cx
mov dword [ebp - 4], edx
fild dword [ebp - 4]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
fsub dword [0x44c3a4]
fsubp st(1)
fistp qword [ebp - 0xc]
movzx ecx, word [ebp - 0xc]
mov word [0x44c150], cx
fsubr dword [0x44c3a4]
fstp dword [0x44c3a4]
add dword [0x44c43c], ebx
mov edx, dword [0x44c098]
sub dword [0x44c3e4], edx
dec dword [0x44c098]
call fcn.00423d90
fld dword [0x44c208]
fadd qword [0x447250]
mov edi, dword [ebp + 8]
mov esi, eax
add esp, 4
fistp qword [ebp - 0xc]
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 0xc]
mov dword [0x44c01c], ecx
fld dword [0x44c0e8]
fsub qword [0x447248]
fadd qword [0x44c270]
fmul qword [0x44c588]
fstp qword [0x44c588]
fld dword [0x44c0e8]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x44c0e8]
movzx edx, word [0x44c2ac]
movsx eax, dx
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fadd qword [0x44c2c8]
fsub qword [0x447240]
fadd qword [0x44c1e8]
fstp qword [0x44c1e8]
add word [0x44c2ac], bx
fld qword [0x44c2c8]
movzx ecx, byte [edi + 0x4421c8]
fsub st(1)
fstp qword [0x44c2c8]
mov byte [esi], cl
dec word [0x44c1d0]
movzx edx, word [0x44c1d0]
movzx ecx, word [0x44c0dc]
movsx eax, dx
movsx edx, cx
add edx, eax
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fmul qword [0x44c068]
mov eax, dword [0x44cab4]
fstp qword [0x44c068]
movzx ecx, byte [eax + edi]
xor byte [esi], cl
mov edx, dword [0x44c2f4]
mov dword [ebp + 8], edx
add edi, ebx
add esi, ebx
fild dword [ebp + 8]
fld dword [0x44c564]
fsub qword [0x447238]
fsub qword [0x447230]
fsubp st(1)
fistp qword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [0x44c2f4], eax
movzx ecx, word [0x44c1cc]
mov edx, dword [0x44c570]
movsx eax, cx
add eax, edx
add dword [0x44c43c], eax
add word [0x44c064], bx
mov ax, word [0x44c064]
mov ecx, dword [0x44c528]
cwde
add eax, 0xb7e6747d
add ecx, eax
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
fmul qword [0x44c3f0]
fstp qword [0x44c3f0]
add dword [0x44c528], ebx
movzx edx, byte [edi + 0x4421c8]
mov byte [esi], dl
mov eax, dword [0x44c0b4]
mov ecx, dword [0x44cab4]
sub eax, 0x23d0aa70
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fstp dword [str.8bXN]
movzx edx, byte [ecx + edi]
xor byte [esi], dl
add dword [0x44c1c8], 0x9cc839c1
mov eax, dword [0x44c1bc]
sub eax, 0x48a8c9d
mov dword [ebp + 8], eax
sub esi, ebx
fild dword [ebp + 8]
fld qword [0x44c498]
fcompp
fnstsw ax
fld qword [0x44c498]
fsub st(1)
fstp qword [0x44c498]
add dword [0x44c1bc], ebx
test ah, 0x41
jp 0x4262ba
fld qword [0x44c3c0]
fsub st(1)
fstp qword [0x44c3c0]
fld qword [0x44c3c0]
fadd qword [0x447228]
fsub qword [0x44c480]
mov cx, word [0x44c34c]
movsx edx, cx
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 0x1c]
mov ax, word [ebp - 0x1c]
mov word [0x44c34c], ax
fld qword [0x44c480]
fsub st(1)
fstp qword [0x44c480]
mov cx, word [0x44c120]
movsx edx, cx
add edi, ebx
cmp edx, 0xa812a65e
jge 0x42630a
add word [0x44c0a0], bx
mov ax, word [0x44c0a0]
movsx ecx, ax
sub ecx, 0x790721b2
cmp ecx, 0x6c92640b
je 0x42630a
fld dword [0x44c110]
fstp st(0)
fld dword [0x44c4ac]
fstp st(0)
fsubr dword [0x44c110]
fstp dword [0x44c110]
jmp 0x42630c
fstp st(0)
fld dword [0x44c0e8]
mov edx, dword [0x44c4e4]
movzx ebx, word [esi]
fsub qword [0x447220]
mov dword [ebp + 8], edx
movzx eax, bx
fiadd dword [ebp + 8]
mov dword [ebp - 4], eax
add eax, 3
push eax
lea eax, [edi + 0x4421c8]
push eax
push esi
fadd dword [0x44c108]
fstp dword [0x44c108]
dec dword [0x44c4e4]
call fcn.00423600
mov cx, word [0x44c328]
mov edx, dword [0x44c430]
movsx eax, cx
imul edx, eax
mov word [0x44c328], dx
dec dword [0x44c430]
movzx eax, word [0x44c058]
movzx edx, word [0x44c160]
cwde
add edx, eax
movzx eax, bx
mov word [0x44c160], dx
lea edx, [eax + esi + 3]
movzx eax, word [0x44c2e0]
cwde
mov dword [ebp + 8], eax
add esp, 0xc
mov ecx, esi
fild dword [ebp + 8]
fsub dword [0x44c4e8]
fcomp qword [0x447218]
fnstsw ax
test ah, 0x41
jp 0x4263f3
mov eax, dword [0x44c01c]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fld dword [0x44c0d8]
fsub qword [0x447210]
fadd dword [0x44c4a4]
fsubp st(1)
fistp qword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [0x44c01c], eax
fld dword [0x44c4a4]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44c4a4]
jmp 0x426410
fld qword [0x44c278]
mov ax, word [0x44c2dc]
cwde
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fsubp st(1)
fstp qword [0x44c278]
fld1
fld qword [0x44c210]
mov eax, dword [0x44cab4]
fadd qword [0x447208]
add edi, eax
fstp qword [0x44c210]
cmp esi, edx
je 0x4264a3
fld qword [0x447200]
fld qword [0x4471f8]
movzx eax, word [0x44c4a8]
mov si, word [0x44c328]
cwde
movsx esi, si
sub esi, eax
add esi, 0x4753ad38
mov dword [ebp + 8], esi
inc ecx
inc edi
fild dword [ebp + 8]
fadd qword [0x44c028]
fstp qword [0x44c028]
dec word [0x44c328]
mov al, byte [edi - 1]
xor byte [ecx - 1], al
fld qword [0x44c0c0]
movzx eax, word [0x44c1a8]
fadd st(2)
cwde
fsub st(1)
mov dword [ebp + 8], eax
fild dword [ebp + 8]
faddp st(1)
fistp qword [ebp - 0x2c]
movzx eax, word [ebp - 0x2c]
mov word [0x44c1a8], ax
cmp ecx, edx
jne 0x426439
fstp st(1)
fstp st(0)
mov ecx, dword [ebp - 4]
fld qword [0x44c3f8]
fstp qword [0x44c280]
cmp dword [ebp + 0xc], ecx
je 0x4265c2
fld qword [0x44c0a8]
sub edx, 3
fadd st(1)
fstp qword [0x44c0a8]
fld qword [0x44c0a8]
fsub qword [0x44c490]
fmul qword [0x44c2c8]
fstp qword [0x44c2c8]
fld qword [0x44c490]
fsub st(1)
fstp qword [0x44c490]
mov byte [edx + 3], 0
fld dword [0x44c060]
fadd qword [0x44c048]
fstp qword [0x44c048]
mov eax, dword [0x44c46c]
mov word [0x44c470], ax
dec dword [0x44c46c]
fld dword [0x44c510]
mov edi, dword [edx]
fadd st(1)
fstp dword [0x44c510]
fld dword [0x44c510]
fadd qword [0x44c4d0]
mov eax, dword [0x44c100]
mov dword [ebp + 8], eax
mov eax, dword [0x44c570]
fild dword [ebp + 8]
sub eax, 0x70c9aa97
mov dword [ebp + 8], eax
faddp st(1)
fild dword [ebp + 8]
fsub qword [0x44c028]
fucompp
fnstsw ax
fld qword [0x44c028]
fadd st(1)
fstp qword [0x44c028]
test ah, 0x44
jnp 0x426581
fld dword [0x44c140]
fsubr qword [0x4471f0]
fstp qword [0x44c378]
fld qword [0x44c498]
sub dword [ebp + 0xc], ecx
fadd qword [0x4471e8]
mov esi, edx
mov ebx, 1
fmul qword [0x44c028]
fstp qword [0x44c028]
fld qword [0x44c498]
fadd st(1)
fstp qword [0x44c498]
fld dword [0x4471e0]
fstp dword [0x44c57c]
jmp 0x426109
fadd dword [0x44c09c]
pop edi
pop esi
pop ebx
fstp dword [0x44c09c]
mov cx, word [0x44c52c]
movsx edx, cx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fld dword [0x44c09c]
fsub qword [0x4471d8]
fsubp st(1)
fistp qword [ebp - 0x2c]
mov ax, word [ebp - 0x2c]
mov word [0x44c52c], ax
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret