Function at 0x40e1ae
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 0x40e2fd
push dword [ebp - 0x1c]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e66d
push 0
push 1
push 2
call dword [sym.imp.ws2_32.dll_socket]
cmp eax, 0xffffffff
jne 0x40e321
push dword [ebp - 0x18]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e667
mov dword [ebp - 0x14e0], eax
push dword [ebp + 8]
call dword [sym.imp.ws2_32.dll_gethostbyname]
cmp eax, 0
jne 0x40e348
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e65b
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 0x40e37c
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e65b
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 0x40e3d0
push dword [ebp - 0x14]
call dword [ebx + 0x30]
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e65b
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 0x40e64a
mov dword [ebp - 0x14d0], eax
cmp dword [ebp - 0x14c8], 0
jne 0x40e5bf
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 0x40e45b
mov al, byte [esp + ecx]
cmp byte [edx + ecx], al
jne 0x40e45b
inc ecx
jmp 0x40e44b
add esp, 0x10
cmp ecx, 0xf
je 0x40e470
mov dword [esp + 0x1c], 0xffffffff
jmp 0x40e5ba
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 0x40e55d
cmp byte [esi + ebx], 0xd
jne 0x40e557
cmp byte [esi + ebx + 1], 0xa
jne 0x40e557
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 0x40e540
lea eax, [ebp - 0x215]
xor edx, edx
cmp byte [eax], 0
je 0x40e53a
movzx ecx, byte [eax]
cmp ecx, 0x30
jb 0x40e537
cmp ecx, 0x39
ja 0x40e537
sub ecx, 0x30
imul edx, edx, 0xa
lea edx, [edx + ecx]
inc eax
jmp 0x40e51c
mov dword [ebp - 0x14dc], edx
lea eax, [ebx + 2]
mov dword [ebp - 0x14c4], eax
cmp byte [esi + ebx + 2], 0xd
jne 0x40e557
cmp byte [esi + ebx + 3], 0xa
je 0x40e55d
inc ebx
jmp 0x40e4a0
add esp, 0x10
cmp dword [ebp - 0x14dc], 0
je 0x40e59e
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 0x40e5ba
mov eax, dword [ebp - 0x14c0]
cmp eax, dword [ebp - 0x14dc]
jl 0x40e3f0
jmp 0x40e64a
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 0x40e60f
mov dword [ebp - 0x14d8], eax
call dword [sym.imp.kernel32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [ebp - 0x14bc]
cmp ecx, 0x64
jbe 0x40e60f
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 0x40e3f0
cmp dword [ebp - 0x14dc], 0
jne 0x40e65b
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 0x40e686
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x40e684
push dword [eax]
call dword [sym.imp.kernel32.dll_GlobalFree]
jmp 0x40e691
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