Function at 0x40a7c0
Capabilities:
Create thread
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
fldz
xor eax, eax
fst qword [esp + 0xc]
push ebp
fldz
mov word [esp + 4], ax
fst dword [esp + 8]
push esi
fstp dword [esp + 8]
xor esi, esi
push edi
mov dword [0x42782c], eax
fst qword [esp + 0x20]
fstp qword [esp + 0x28]
fld1
cmp dword [0x423e60], eax
je 0x40a83e
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
fstp st(0)
push 0
push esi
push 0x401600
push 0
push 0
mov dword [esi*4 + 0x427368], 0
call edi
fld dword [esp + 0xc]
fstp dword [esp + 0x10]
inc esi
fld dword [esp + 0xc]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0xc]
cmp esi, dword [0x423e60]
jne 0x40a802
fld dword [0x4232e0]
fsub st(1)
fstp dword [0x4232e0]
fld dword [0x4232e0]
fadd qword [0x41faa0]
fld qword [0x425b00]
mov cx, word [0x423220]
fsubr qword [0x41fa98]
dec word [0x423220]
movsx edx, cx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fsubp st(1)
fucompp
fnstsw ax
fld qword [0x425b00]
fadd st(1)
fstp qword [0x425b00]
test ah, 0x44
jnp 0x40a8a8
movzx eax, word [0x423ec0]
add eax, 0x705a614c
mov word [0x423ec0], ax
mov cx, word [0x425b50]
movsx edx, cx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [esp + 0x18]
call fcn.0040b410
mov word [0x425b50], ax
fsubr qword [esp + 0x28]
fstp qword [esp + 0x28]
fld qword [esp + 0x28]
fsub qword [0x41fa90]
call fcn.0040b410
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [0x423204], eax
push 0xa
call edi
mov ax, word [0x425b50]
movsx ecx, ax
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [esp + 0x18]
call fcn.0040b410
mov ebp, dword [sym.imp.KERNEL32.dll_SetEvent]
mov word [0x425b50], ax
fld dword [esp + 0x10]
fsub qword [esp + 0x20]
mov esi, 0x423e64
fstp dword [esp + 0x10]
fld qword [esp + 0x20]
fsub qword [0x41f370]
fstp qword [esp + 0x20]
mov dx, word [0x423200]
movsx eax, dx
mov dword [0x425f18], eax
mov cx, word [0x4231d4]
movsx edx, cx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fld qword [esp + 0x18]
mov ax, word [0x4231d4]
movsx ecx, ax
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fsubp st(1)
fsub dword [0x425efc]
dec word [0x4231d4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x40a98e
fld qword [0x41fa88]
fstp qword [0x4242a8]
movzx edx, word [esi]
mov eax, dword [edx*4 + 0x427368]
push eax
call ebp
fld qword [esp + 0x20]
movzx ecx, word [esi]
cmp dword [ecx*4 + 0x427368], 0
fadd qword [0x41fa80]
fstp qword [esp + 0x20]
je 0x40a9c7
push 0xa
call edi
movzx edx, word [esi]
cmp dword [edx*4 + 0x427368], 0
jne 0x40a9b6
add dword [str._6B4e], 0x6d6fe7d2
fld dword [esp + 0xc]
fsub qword [esp + 0x18]
fcomp qword [0x41fa78]
fnstsw ax
fld qword [esp + 0x18]
fld1
fsub st(1), st(0)
fxch st(1)
fstp qword [esp + 0x18]
fsubr dword [esp + 0xc]
fstp dword [esp + 0xc]
test ah, 5
jp 0x40aa42
mov eax, dword [0x425ec8]
mov ecx, dword [0x425f14]
inc dword [0x425f14]
sub ecx, eax
cmp ecx, 0x6e0bc028
je 0x40aa42
dec word [str.r_wm]
mov dx, word [str.r_wm]
movsx eax, dx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [0x4232e0]
fadd dword [esp + 0x10]
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
mov cx, word [0x423200]
movsx edx, cx
add esi, 2
mov dword [0x425f18], edx
cmp esi, 0x423e6c
jne 0x40a943
fld qword [0x41fa70]
fstp qword [esp + 0x18]
call dword [0x42782c]
clc
sub dword [ecx], eax
invalid