Function at 0x40921d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
cmp dword [0x487860], 0
push ebx
push esi
push edi
mov edi, 0x487860
je 0x4096d1
fld qword [0x480908]
and dword [ebp - 0xc], 0
fld qword [0x4809d8]
jmp 0x40924c
fxch st(1)
fld qword [0x480ae8]
fstp qword [ebp - 8]
fld qword [0x480a40]
fstp qword [ebp - 0x18]
fld qword [0x480958]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fcomp qword [ebp - 0x20]
fnstsw ax
test ah, 0x41
jne 0x4092d2
fld qword [ebp - 0x20]
fmulp st(2)
fld qword [ebp - 0x18]
fmulp st(2)
fmulp st(1)
fmul qword [ebp - 0x20]
fld qword [ebp - 0x20]
fld qword [0x480920]
fmul st(1), st(0)
fld qword [ebp - 0x20]
faddp st(2)
fxch st(2)
faddp st(1)
fsub qword [ebp - 0x20]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x18]
fld qword [ebp - 0x20]
fld qword [0x480990]
fsub st(1), st(0)
fxch st(2)
faddp st(1)
fsub qword [0x480ac0]
fsub qword [ebp - 8]
faddp st(2)
fld qword [ebp - 0x20]
fmul qword [ebp - 0x18]
fsubp st(2)
fxch st(1)
fstp qword [ebp - 8]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x18]
jmp 0x4092d6
fstp st(1)
fstp st(0)
push 0x6740
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
fld qword [0x4808e0]
mov ecx, dword [edi]
mov bl, byte [ecx]
fstp qword [ebp - 0x20]
fld qword [0x480a48]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fld qword [ebp - 0x18]
fld qword [0x4809d8]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [0x480a58]
fadd qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fld qword [0x480a18]
fadd st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fld qword [0x480a40]
fsub st(1), st(0)
fld qword [ebp - 0x20]
faddp st(2)
fld qword [ebp - 0x20]
fmul qword [0x480a38]
fsubp st(2)
fld qword [0x480948]
fsub st(2), st(0)
fld qword [ebp - 0x18]
fsubp st(3)
fld qword [ebp - 0x20]
faddp st(3)
fld qword [ebp - 0x18]
fsubp st(3)
fld qword [ebp - 0x18]
fsubp st(3)
fxch st(2)
fadd st(3)
fsub qword [ebp - 0x18]
fld qword [0x480a30]
fsub st(1), st(0)
fld qword [ebp - 0x18]
faddp st(2)
fxch st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
fsub qword [0x480a28]
fadd qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul qword [0x4809b8]
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fmul st(3)
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(2)
fmul qword [ebp - 0x18]
fsubp st(1)
fsub qword [0x480a00]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
faddp st(1)
fld qword [ebp - 0x20]
fmul qword [0x480a20]
faddp st(1)
fsub qword [ebp - 0x18]
mov esi, dword [ebp - 0xc]
fld qword [ebp - 0x18]
sar esi, 2
fld qword [0x480908]
and esi, 0x3f
fmul st(1), st(0)
lea esi, [esi + 0x4870c8]
fxch st(2)
faddp st(1)
fadd qword [ebp - 0x18]
mov dl, byte [esi]
fstp qword [ebp - 0x20]
fld qword [0x4808e0]
fstp qword [ebp - 0x20]
fld qword [0x480a48]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul st(7)
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [0x480a58]
fadd qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fadd st(5)
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsubrp st(3)
fld qword [ebp - 0x20]
faddp st(3)
fld qword [ebp - 0x20]
fmul qword [0x480a38]
fsubp st(3)
fxch st(2)
fsub st(3)
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd st(4)
fsub qword [ebp - 0x18]
fsub st(1)
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
fsub qword [0x480a28]
fadd qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul qword [0x4809b8]
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fmul st(3)
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(2)
fmul qword [ebp - 0x18]
fsubp st(1)
fsub qword [0x480a00]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
faddp st(1)
fld qword [ebp - 0x20]
fmul qword [0x480a20]
faddp st(1)
fsub qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(3)
faddp st(1)
fadd qword [ebp - 0x18]
xor dl, bl
fstp qword [ebp - 0x20]
movzx edx, dl
mov word [eax], dx
test dx, dx
je 0x4096b5
mov dword [ebp - 4], eax
sub dword [ebp - 4], ecx
fld qword [0x4808e0]
add ecx, 2
mov bl, byte [ecx]
fstp qword [ebp - 0x20]
fld qword [0x480a48]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul st(6)
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [0x480a58]
fadd qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fadd st(4)
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsub qword [0x480a40]
fadd qword [ebp - 0x20]
fld qword [ebp - 0x20]
fmul qword [0x480a38]
fsubp st(1)
fsub st(3)
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd st(4)
fsub qword [ebp - 0x18]
fsub st(1)
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
fsub qword [0x480a28]
fadd qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul qword [0x4809b8]
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fmul st(3)
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(2)
fmul qword [ebp - 0x18]
fsubp st(1)
fsub qword [0x480a00]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
faddp st(1)
fld qword [ebp - 0x20]
fmul qword [0x480a20]
faddp st(1)
fsub qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(3)
faddp st(1)
fadd qword [ebp - 0x18]
mov dl, byte [esi]
fstp qword [ebp - 0x20]
fld qword [0x4808e0]
fstp qword [ebp - 0x20]
fld qword [0x480a48]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul st(6)
faddp st(1)
fstp qword [ebp - 0x20]
xor dl, bl
fld qword [ebp - 0x18]
mov ebx, dword [ebp - 4]
fmul qword [0x480a58]
movzx edx, dl
fadd qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fadd st(4)
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fsub qword [0x480a40]
fadd qword [ebp - 0x20]
fld qword [ebp - 0x20]
fmul qword [0x480a38]
fsubp st(1)
fsub st(3)
fsub qword [ebp - 0x18]
fadd qword [ebp - 0x20]
fsub qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fadd st(4)
fsub qword [ebp - 0x18]
fsub st(1)
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
fsub qword [0x480a28]
fadd qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul qword [0x4809b8]
faddp st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x20]
fmul st(3)
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(2)
fmul qword [ebp - 0x18]
fsubp st(1)
fsub qword [0x480a00]
fld qword [ebp - 0x18]
fmul qword [ebp - 0x20]
faddp st(1)
fld qword [ebp - 0x20]
fmul qword [0x480a20]
faddp st(1)
fsub qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul st(3)
faddp st(1)
fadd qword [ebp - 0x18]
mov word [ebx + ecx], dx
fstp qword [ebp - 0x20]
test dx, dx
jne 0x4094ef
add dword [ebp - 0xc], 4
fstp st(3)
mov dword [edi], eax
fstp st(1)
add edi, 4
fstp st(1)
cmp dword [edi], 0
jne 0x40924a
fstp st(0)
fstp st(0)
pop edi
pop esi
pop ebx
leave
ret