Function at 0x4ddae0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0
push 0x100
push 0
lea eax, [ebp - 0x104]
push eax
call fcn.0063a460
add esp, 0xc
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
mov byte [edx], 5
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov byte [ecx], 2
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov byte [eax], 2
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
mov byte [edx], 0
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
push 0
mov ecx, dword [ebp - 0x108]
lea edx, [ebp - 0x104]
sub ecx, edx
push ecx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_send]
push 0
push 2
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4ddbdb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ddbdb
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddbab
mov ecx, 1
imul edx, ecx, 0
movzx eax, byte [ebp + edx - 0x104]
cmp eax, 5
jne 0x4ddc08
mov ecx, 1
shl ecx, 0
movzx edx, byte [ebp + ecx - 0x104]
cmp edx, 0xff
jne 0x4ddc0f
xor eax, eax
jmp 0x4de029
mov eax, 1
shl eax, 0
movzx ecx, byte [ebp + eax - 0x104]
cmp ecx, 2
jne 0x4ddd7e
lea edx, [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov byte [eax], 1
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp + 0x14]
call fcn.00425220
mov edx, dword [ebp - 0x108]
mov byte [edx], al
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp + 0x14]
call fcn.00424f20
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.0064fa90
add esp, 8
mov ecx, dword [ebp + 0x14]
call fcn.00425220
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp + 0x14]
add ecx, 0x18
call fcn.00425220
mov edx, dword [ebp - 0x108]
mov byte [edx], al
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp + 0x14]
add ecx, 0x18
call fcn.00424f20
push eax
mov ecx, dword [ebp - 0x108]
push ecx
call fcn.0064fa90
add esp, 8
mov ecx, dword [ebp + 0x14]
add ecx, 0x18
call fcn.00425220
add eax, dword [ebp - 0x108]
mov dword [ebp - 0x108], eax
push 0
mov edx, dword [ebp - 0x108]
lea eax, [ebp - 0x104]
sub edx, eax
push edx
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_send]
push 0
push 2
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4ddd3d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ddd3d
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddd0d
mov edx, 1
shl edx, 0
movzx eax, byte [ebp + edx - 0x104]
test eax, eax
je 0x4ddd7c
push 0
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004dd110
add esp, 8
mov edx, dword [ebp + 0x14]
push edx
push 1
call fcn.004cf880
add esp, 8
call fcn.004cf600
mov eax, 0x197
jmp 0x4de029
jmp 0x4ddd99
mov eax, 1
shl eax, 0
movzx ecx, byte [ebp + eax - 0x104]
test ecx, ecx
je 0x4ddd99
xor eax, eax
jmp 0x4de029
lea edx, [ebp - 0x104]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov byte [eax], 5
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
mov byte [edx], 1
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x108]
mov byte [ecx], 0
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
mov byte [eax], 3
mov ecx, dword [ebp - 0x108]
add ecx, 1
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.00642390
add esp, 4
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x108]
mov cl, byte [ebp - 0x10c]
mov byte [eax], cl
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x108]
push edx
call fcn.00639960
add esp, 0xc
mov eax, dword [ebp - 0x108]
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp + 0x10]
shr ecx, 8
mov edx, dword [ebp - 0x108]
mov byte [edx], cl
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp + 0x10]
and ecx, 0xff
mov edx, dword [ebp - 0x108]
mov byte [edx], cl
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
push 0
mov ecx, dword [ebp - 0x108]
lea edx, [ebp - 0x104]
sub ecx, edx
push ecx
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea edx, [ebp - 0x104]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4ddeef
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ddeef
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddebf
mov ecx, 1
shl ecx, 0
movzx edx, byte [ebp + ecx - 0x104]
test edx, edx
je 0x4ddf0a
xor eax, eax
jmp 0x4de029
lea eax, [ebp - 0x100]
mov dword [ebp - 0x108], eax
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x104]
mov byte [ebp - 0x110], al
cmp byte [ebp - 0x110], 1
je 0x4ddf4f
cmp byte [ebp - 0x110], 3
je 0x4ddf84
cmp byte [ebp - 0x110], 4
je 0x4ddff4
jmp 0x4de024
push 0
push 6
mov ecx, dword [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4ddf7f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ddf7f
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddf4f
jmp 0x4de024
push 0
push 1
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4ddfb4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ddfb4
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddf84
push 0
mov edx, dword [ebp - 0x108]
movzx eax, byte [edx]
add eax, 2
push eax
mov ecx, dword [ebp - 0x108]
add ecx, 1
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4ddff2
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ddff2
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddfb4
jmp 0x4de024
push 0
push 0x12
mov eax, dword [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jge 0x4de024
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4de024
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4ddff4
mov eax, 0xc8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006135ac
mov esp, ebp
pop ebp
ret