Function at 0x40e35f
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 0x40e4ae
push dword [ebp - 0x1c]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e81e
push 0
push 1
push 2
call dword [sym.imp.ws2_32.dll_socket]
cmp eax, 0xffffffff
jne 0x40e4d2
push dword [ebp - 0x18]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e818
mov dword [ebp - 0x14e0], eax
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_gethostbyname]
cmp eax, 0
jne 0x40e4f9
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e80c
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 0x40e52d
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e80c
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 0x40e581
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e80c
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 0x40e7fb
mov dword [ebp - 0x14d0], eax
cmp dword [ebp - 0x14c8], 0
jne 0x40e770
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 0x40e60c
mov al, byte [esp + ecx]
cmp byte [edx + ecx], al
jne 0x40e60c
inc ecx
jmp 0x40e5fc
add esp, 0x10
cmp ecx, 0xf
je 0x40e621
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e76b
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 0x40e70e
cmp byte [esi + ebx], 0xd
jne 0x40e708
cmp byte [esi + ebx + 1], 0xa
jne 0x40e708
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 0x40e6f1
lea eax, [ebp - 0x215]
xor edx, edx
cmp byte [eax], 0
je 0x40e6eb
movzx ecx, byte [eax]
cmp ecx, 0x30
jb 0x40e6e8
cmp ecx, 0x39
ja 0x40e6e8
sub ecx, 0x30
imul edx, edx, 0xa
lea edx, [edx + ecx]
inc eax
jmp 0x40e6cd
mov dword [ebp - 0x14dc], edx
lea eax, [ebx + 2]
mov dword [ebp - 0x14c4], eax
cmp byte [esi + ebx + 2], 0xd
jne 0x40e708
cmp byte [esi + ebx + 3], 0xa
je 0x40e70e
inc ebx
jmp 0x40e651
add esp, 0x10
cmp dword [ebp - 0x14dc], 0
je 0x40e74f
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 0x40e76b
mov eax, dword [ebp - 0x14c0]
cmp eax, dword [ebp - 0x14dc]
jl 0x40e5a1
jmp 0x40e7fb
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 0x40e7c0
mov dword [ebp - 0x14d8], eax
call dword [sym.imp.kernel32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x14bc]
cmp ecx, 0x64
jbe 0x40e7c0
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 0x40e5a1
cmp dword [ebp - 0x14dc], 0
jne 0x40e80c
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 0x40e837
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x40e835
push dword [eax]
call dword [sym.imp.kernel32.dll_GlobalFree]
jmp 0x40e842
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