Function at 0x42a848
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
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2e8
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2d0], 0x12c
lea eax, [ebp - 0x2a8]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
je 0x42a894
mov dword [ebp - 0x2c4], 0x1d4e8
jmp 0x42b53f
mov byte [0x4344cd], 1
mov dword [ebp - 0x2b0], 0xffffffff
xor ecx, ecx
mov cx, word [0x4344b6]
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e4], 1
je 0x42a8f7
cmp dword [ebp - 0x2e4], 8
je 0x42a8e4
cmp dword [ebp - 0x2e4], 0x10
je 0x42a8d1
jmp 0x42a90b
push 0
push 2
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42a90b
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42a90b
push 0x3e8
push 2
push 6
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0xffffffff
jne 0x42a923
mov dword [ebp - 0x2c4], 0x1d4e9
jmp 0x42b51e
xor edx, edx
mov dx, word [0x4344b6]
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0x2e8], 1
je 0x42b16a
cmp dword [ebp - 0x2e8], 8
je 0x42ad32
cmp dword [ebp - 0x2e8], 0x10
je 0x42a95a
jmp 0x42b51e
mov dword [ebp - 4], 1
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0xffff
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x42a98e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42b51e
push 0x10
push 0
lea edx, [ebp - 0x2c0]
push edx
call fcn.0042988c
add esp, 0xc
mov word [ebp - 0x2c0], 2
push 0
call sub.WSOCK32.dll_htonl
mov dword [ebp - 0x2bc], eax
push 0
call sub.WSOCK32.dll_htons
mov word [ebp - 0x2be], ax
push 0x10
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x42a9ee
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42b51e
lea edx, [ebp - 0x2cc]
push edx
push 0x8004667e
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x42aa1a
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42b51e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jbe 0x42aac0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4344bd
push 0
mov edx, dword [ebp + 8]
xor eax, eax
mov ax, word [edx + 8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42aaaf
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42aaa0
jmp 0x42aa32
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42aac0
jmp 0x42aa32
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
ja 0x42aae3
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa], 0
je 0x42ad2d
mov eax, 1
test eax, eax
je 0x42ad2d
cmp dword [ebp - 0x2c8], 0xa
jl 0x42ab29
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42ad2d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jbe 0x42ac2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0x10
lea edx, [ebp - 0x2ac]
push edx
push 0x4344bd
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe]
xor edx, edx
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_recvfrom
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
je 0x42abb4
cmp dword [ebp - 0x2c4], 0
jne 0x42abdc
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42abd0
jmp 0x42ab41
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x42ac2f
cmp dword [ebp - 0x2c4], 0x125
jne 0x42ac2a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe]
mov dx, word [ebp - 0x2c4]
mov word [ecx], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe]
xor edx, edx
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 8]
call dword [ecx + 0x12]
add esp, 8
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x42ac25
jmp 0x42b51e
jmp 0x42ab41
jmp 0x42ab41
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42ac50
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42ad19
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
jbe 0x42acf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4344bd
push 0
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42ace5
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42acd6
jmp 0x42ac68
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42acf6
jmp 0x42ac68
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x42ad19
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x42ab04
jmp 0x42b51e
mov dword [ebp - 4], 1
push 4
lea edx, [ebp - 4]
push edx
push 4
push 0xffff
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x42ad66
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42b51e
push 0x10
push 0
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.0042988c
add esp, 0xc
mov word [ebp - 0x2c0], 2
push 0
call sub.WSOCK32.dll_htonl
mov dword [ebp - 0x2bc], eax
push 0
call sub.WSOCK32.dll_htons
mov word [ebp - 0x2be], ax
push 0x10
lea edx, [ebp - 0x2c0]
push edx
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x42adc6
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42b51e
push 0x10
push 0x4344bd
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_connect
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42ae03
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x42ae03
mov dword [ebp - 0x2c4], 0x1d4f0
jmp 0x42b51e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42aea9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4344bd
push 0
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42ae98
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42ae89
jmp 0x42ae1b
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42aea9
jmp 0x42ae1b
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x42aecc
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa], 0
je 0x42b165
mov ecx, 1
test ecx, ecx
je 0x42b165
cmp dword [ebp - 0x2c8], 0xa
jl 0x42af12
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42b165
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x42af47
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x2b0]
mov dword [ebp + edx*4 - 0x114], eax
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
xor edx, edx
test edx, edx
jne 0x42af1c
mov dword [ebp - 0x2e0], 2
mov dword [ebp - 0x2dc], 0
lea eax, [ebp - 0x2e0]
push eax
push 0
push 0
lea ecx, [ebp - 0x118]
push ecx
push 0x40
call sub.WSOCK32.dll_select
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42b067
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe]
xor edx, edx
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xa]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_recv
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
je 0x42afef
cmp dword [ebp - 0x2c4], 0
jne 0x42b014
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42b008
jmp 0x42af92
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x42b067
cmp dword [ebp - 0x2c4], 0x125
jne 0x42b062
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe]
mov dx, word [ebp - 0x2c4]
mov word [ecx], dx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xe]
xor edx, edx
mov dx, word [ecx]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 8]
call dword [ecx + 0x12]
add esp, 8
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x42b05d
jmp 0x42b51e
jmp 0x42af92
jmp 0x42af92
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42b088
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42b151
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
jbe 0x42b12e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4344bd
push 0
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42b11d
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42b10e
jmp 0x42b0a0
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42b12e
jmp 0x42b0a0
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x42b151
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x42aeed
jmp 0x42b51e
mov dword [ebp - 4], 1
push 4
lea edx, [ebp - 4]
push edx
push 4
push 0xffff
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x42b19e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42b51e
push 0xe
push 0
lea ecx, [ebp - 0x14]
push ecx
call fcn.0042988c
add esp, 0xc
mov word [ebp - 0x14], 6
push 0
call sub.WSOCK32.dll_htons
mov word [ebp - 8], ax
push 0xe
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
jne 0x42b1e5
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42b51e
lea ecx, [ebp - 0x2cc]
push ecx
push 0x8004667e
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x42b211
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42b51e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
jbe 0x42b2b7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x4344bd
push 0
mov ecx, dword [ebp + 8]
xor edx, edx
mov dx, word [ecx + 8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42b2a6
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42b297
jmp 0x42b229
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42b2b7
jmp 0x42b229
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x42b2da
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa], 0
je 0x42b51e
mov edx, 1
test edx, edx
je 0x42b51e
cmp dword [ebp - 0x2c8], 0xa
jl 0x42b320
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42b51e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
jbe 0x42b426
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0xe
lea ecx, [ebp - 0x2ac]
push ecx
push 0x4344bd
push 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xe]
xor ecx, ecx
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_recvfrom
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
je 0x42b3ab
cmp dword [ebp - 0x2c4], 0
jne 0x42b3d3
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42b3c7
jmp 0x42b338
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x42b426
cmp dword [ebp - 0x2c4], 0x125
jne 0x42b421
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xe]
mov cx, word [ebp - 0x2c4]
mov word [eax], cx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xe]
xor ecx, ecx
mov cx, word [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 8]
call dword [eax + 0x12]
add esp, 8
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
jne 0x42b41c
jmp 0x42b51e
jmp 0x42b338
jmp 0x42b338
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jbe 0x42b447
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42b50a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d4], eax
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42b4ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x4344bd
push 0
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cx, word [eax + 8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_sendto
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42b4d9
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42b4cd
jmp 0x42b45f
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42b4ea
jmp 0x42b45f
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x42b50a
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42b51e
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
jmp 0x42b2fb
cmp dword [ebp - 0x2b0], 0xffffffff
je 0x42b533
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov byte [0x4344cd], 0
mov eax, dword [ebp - 0x2c4]
mov esp, ebp
pop ebp
ret