Function at 0x40a510
Capabilities:
Create thread
Encrypt data using rc4 prga
Initialize winsock library
Resolve dns

Disassembly:
sub esp, 0x18
fldz
push ebx
push ebp
xor ebp, ebp
xor eax, eax
mov word [esp + 0xc], ax
mov dword [esp + 0x18], ebp
xor ecx, ecx
mov word [esp + 8], cx
fst dword [esp + 0x14]
push esi
xor esi, esi
mov dword [esp + 0x14], ebp
fstp dword [esp + 0x20]
push edi
mov dword [0x42792c], ebp
cmp dword [0x425f20], ebp
je 0x40a56c
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
nop
push ebp
push ebp
push esi
push 0x4010c0
push ebp
push ebp
mov dword [esi*4 + 0x427468], ebp
call edi
inc esi
cmp esi, dword [0x425f20]
jne 0x40a550
movzx edx, word [esp + 0x10]
mov ecx, dword [0x424064]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
movsx eax, dx
mov edx, dword [0x425f88]
sub eax, ecx
sub eax, edx
mov word [esp + 0x10], ax
mov ax, word [0x425758]
mov ecx, dword [esp + 0x18]
cwde
add ecx, eax
mov word [0x425758], cx
push 0xa
call edi
movzx edx, word [esp + 0x10]
imul edx, edx, 0xb8500860
mov word [esp + 0x10], dx
mov eax, dword [esp + 0x20]
add eax, 0x1847fe04
cmp eax, 0x72cbe022
jne 0x40a5d3
fld dword [0x41f9c8]
fstp dword [esp + 0x24]
jmp 0x40a603
fld dword [0x425fa4]
fsubr qword [0x41f9c0]
fcomp qword [0x41f9b8]
fnstsw ax
fld dword [0x425fa4]
fadd qword [0x41f348]
fstp dword [0x425fa4]
test ah, 5
jp 0x40a603
mov cx, word [esp + 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_SetEvent]
mov esi, 0x425f24
mov edi, edi
dec dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov eax, 0x676bed22
sub eax, edx
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd dword [0x4257b0]
movzx ecx, word [esi]
mov edx, dword [ecx*4 + 0x427468]
push edx
fstp dword [0x4257b0]
call ebx
fld dword [esp + 0x1c]
fld qword [0x4240a0]
movzx eax, word [esi]
fadd qword [0x41f9b0]
fsubp st(1)
fstp dword [esp + 0x1c]
cmp dword [eax*4 + 0x427468], ebp
je 0x40a688
push 0xa
call edi
fld dword [esp + 0x1c]
fld qword [0x4240a0]
movzx ecx, word [esi]
inc eax
inc edx
add byte [edi], cl
mov bh, 0xe
fadd qword [0x41f9b0]
fsubp st(1)
fstp dword [esp + 0x1c]
cmp dword [ecx*4 + 0x427468], ebp
jne 0x40a662
push 0x75004274
fiadd dword [ecx + 0x3d202444]
adc al, 0xe7
pop es
add dword [esp + 0x20], 0x7e7143d
add esi, 2
cmp esi, str._r_
jne 0x40a610
call dword [0x42792c]
jns 0x40a66d
sub byte [esi + 0x227bf5bd], dl
add bl, byte [edi - 0x7d55def5]
pop ebp
enter 0x3653, 0xfffffffffffffff6
mov esp, 0x6a32485
jle 0x40a733
mov dword [ebx + 0x70], ebx
stc
sbb al, 0xf5
test byte [esi + edx*2 - 0xc73495e], dh
mov dword [ecx + esi], esp
mov dword [ecx + esi], esp
and dword [esp + edx + 0x4996c83a], ebx
pop es
mov esp, 0x6a7b393
adc dword [ebp - 0x7dafa4c4], ebp
cmc
jo 0x40a682
xchg ebx, eax
mov byte [0x89179de0], al
test al, 0x5f
fstp dword [esp + ecx + 0x5e969b62]
outsb dx, byte [si]
xchg ebx, eax
mul dword [ebp - 0x16]
adc dword [ebx], esp
and dword [edi + 0x635b4950], esp
jo 0x40a781
ror esi, cl
loopne 0x40a76f
loope 0x40a6cb
test al, 0x6b
or al, dh
or al, 0x6d
pop eax
in al, dx
pop esi
out dx, al
xchg esi, eax
xor dh, bh
scasd eax, dword es:[edi]
inc edi
inc esp
and ecx, dword [edi + 0x1f49c550]
cli
sbb bh, byte [edi + edx*8 + 0x3f]
ljmp 0x16b
xchg esi, eax
cmp al, 0xf0
sbb al, al
jne 0x40a6bf
xchg ebp, eax
sbb bx, word [esp + ecx + 0x16]
insb byte es:[edi], dx
sub dl, byte [edi]
dec edi
push edx
js fcn.0040a79e
inc si
invalid
and eax, sym.imp.WS2_32.dll_connect
and eax, sym.imp.WS2_32.dll_inet_ntoa