Function at 0x42b848
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 0x42b894
mov dword [ebp - 0x2c4], 0x1d4e8
jmp 0x42c53f
mov byte [0x4364cd], 1
mov dword [ebp - 0x2b0], 0xffffffff
xor ecx, ecx
mov cx, word [0x4364b6]
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e4], 1
je 0x42b8f7
cmp dword [ebp - 0x2e4], 8
je 0x42b8e4
cmp dword [ebp - 0x2e4], 0x10
je 0x42b8d1
jmp 0x42b90b
push 0
push 2
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42b90b
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42b90b
push 0x3e8
push 2
push 6
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0xffffffff
jne 0x42b923
mov dword [ebp - 0x2c4], 0x1d4e9
jmp 0x42c51e
xor edx, edx
mov dx, word [0x4364b6]
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0x2e8], 1
je 0x42c16a
cmp dword [ebp - 0x2e8], 8
je 0x42bd32
cmp dword [ebp - 0x2e8], 0x10
je 0x42b95a
jmp 0x42c51e
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 0x42b98e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42c51e
push 0x10
push 0
lea edx, [ebp - 0x2c0]
push edx
call fcn.0042a88c
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 0x42b9ee
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42c51e
lea edx, [ebp - 0x2cc]
push edx
push 0x8004667e
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x42ba1a
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42c51e
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 0x42bac0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4364bd
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 0x42baaf
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42baa0
jmp 0x42ba32
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42bac0
jmp 0x42ba32
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
ja 0x42bae3
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa], 0
je 0x42bd2d
mov eax, 1
test eax, eax
je 0x42bd2d
cmp dword [ebp - 0x2c8], 0xa
jl 0x42bb29
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42bd2d
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 0x42bc2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0x10
lea edx, [ebp - 0x2ac]
push edx
push 0x4364bd
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 0x42bbb4
cmp dword [ebp - 0x2c4], 0
jne 0x42bbdc
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42bbd0
jmp 0x42bb41
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x42bc2f
cmp dword [ebp - 0x2c4], 0x125
jne 0x42bc2a
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 0x42bc25
jmp 0x42c51e
jmp 0x42bb41
jmp 0x42bb41
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42bc50
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42bd19
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 0x42bcf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4364bd
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 0x42bce5
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42bcd6
jmp 0x42bc68
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42bcf6
jmp 0x42bc68
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x42bd19
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x42bb04
jmp 0x42c51e
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 0x42bd66
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42c51e
push 0x10
push 0
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.0042a88c
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 0x42bdc6
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42c51e
push 0x10
push 0x4364bd
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_connect
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42be03
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x42be03
mov dword [ebp - 0x2c4], 0x1d4f0
jmp 0x42c51e
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 0x42bea9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4364bd
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 0x42be98
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42be89
jmp 0x42be1b
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42bea9
jmp 0x42be1b
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x42becc
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa], 0
je 0x42c165
mov ecx, 1
test ecx, ecx
je 0x42c165
cmp dword [ebp - 0x2c8], 0xa
jl 0x42bf12
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42c165
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x42bf47
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 0x42bf1c
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 0x42c067
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 0x42bfef
cmp dword [ebp - 0x2c4], 0
jne 0x42c014
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42c008
jmp 0x42bf92
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x42c067
cmp dword [ebp - 0x2c4], 0x125
jne 0x42c062
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 0x42c05d
jmp 0x42c51e
jmp 0x42bf92
jmp 0x42bf92
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x42c088
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42c151
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 0x42c12e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4364bd
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 0x42c11d
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42c10e
jmp 0x42c0a0
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42c12e
jmp 0x42c0a0
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x42c151
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x42beed
jmp 0x42c51e
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 0x42c19e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42c51e
push 0xe
push 0
lea ecx, [ebp - 0x14]
push ecx
call fcn.0042a88c
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 0x42c1e5
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42c51e
lea ecx, [ebp - 0x2cc]
push ecx
push 0x8004667e
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x42c211
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42c51e
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 0x42c2b7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x4364bd
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 0x42c2a6
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42c297
jmp 0x42c229
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42c2b7
jmp 0x42c229
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x42c2da
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa], 0
je 0x42c51e
mov edx, 1
test edx, edx
je 0x42c51e
cmp dword [ebp - 0x2c8], 0xa
jl 0x42c320
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42c51e
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 0x42c426
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0xe
lea ecx, [ebp - 0x2ac]
push ecx
push 0x4364bd
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 0x42c3ab
cmp dword [ebp - 0x2c4], 0
jne 0x42c3d3
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42c3c7
jmp 0x42c338
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x42c426
cmp dword [ebp - 0x2c4], 0x125
jne 0x42c421
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 0x42c41c
jmp 0x42c51e
jmp 0x42c338
jmp 0x42c338
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jbe 0x42c447
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42c50a
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 0x42c4ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x4364bd
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 0x42c4d9
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42c4cd
jmp 0x42c45f
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
cmp dword [ebp - 0x2c4], 0x135
je 0x42c4ea
jmp 0x42c45f
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x42c50a
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42c51e
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
jmp 0x42c2fb
cmp dword [ebp - 0x2b0], 0xffffffff
je 0x42c533
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov byte [0x4364cd], 0
mov eax, dword [ebp - 0x2c4]
mov esp, ebp
pop ebp
ret