Function at 0x427848
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 0x427894
mov dword [ebp - 0x2c4], 0x1d4e8
jmp 0x42853f
mov byte [0x4314cd], 1
mov dword [ebp - 0x2b0], 0xffffffff
xor ecx, ecx
mov cx, word [0x4314b6]
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e4], 1
je 0x4278f7
cmp dword [ebp - 0x2e4], 8
je 0x4278e4
cmp dword [ebp - 0x2e4], 0x10
je 0x4278d1
jmp 0x42790b
push 0
push 2
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42790b
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42790b
push 0x3e8
push 2
push 6
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0xffffffff
jne 0x427923
mov dword [ebp - 0x2c4], 0x1d4e9
jmp 0x42851e
xor edx, edx
mov dx, word [0x4314b6]
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0x2e8], 1
je 0x42816a
cmp dword [ebp - 0x2e8], 8
je 0x427d32
cmp dword [ebp - 0x2e8], 0x10
je 0x42795a
jmp 0x42851e
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 0x42798e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42851e
push 0x10
push 0
lea edx, [ebp - 0x2c0]
push edx
call fcn.0042688c
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 0x4279ee
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42851e
lea edx, [ebp - 0x2cc]
push edx
push 0x8004667e
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x427a1a
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42851e
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 0x427ac0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4314bd
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 0x427aaf
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x427aa0
jmp 0x427a32
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
cmp dword [ebp - 0x2c4], 0x135
je 0x427ac0
jmp 0x427a32
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
ja 0x427ae3
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa], 0
je 0x427d2d
mov eax, 1
test eax, eax
je 0x427d2d
cmp dword [ebp - 0x2c8], 0xa
jl 0x427b29
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x427d2d
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 0x427c2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0x10
lea edx, [ebp - 0x2ac]
push edx
push 0x4314bd
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 0x427bb4
cmp dword [ebp - 0x2c4], 0
jne 0x427bdc
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x427bd0
jmp 0x427b41
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x427c2f
cmp dword [ebp - 0x2c4], 0x125
jne 0x427c2a
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 0x427c25
jmp 0x42851e
jmp 0x427b41
jmp 0x427b41
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x427c50
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x427d19
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 0x427cf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4314bd
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 0x427ce5
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x427cd6
jmp 0x427c68
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
cmp dword [ebp - 0x2c4], 0x135
je 0x427cf6
jmp 0x427c68
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x427d19
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x427b04
jmp 0x42851e
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 0x427d66
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42851e
push 0x10
push 0
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.0042688c
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 0x427dc6
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42851e
push 0x10
push 0x4314bd
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_connect
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x427e03
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x427e03
mov dword [ebp - 0x2c4], 0x1d4f0
jmp 0x42851e
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 0x427ea9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4314bd
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 0x427e98
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x427e89
jmp 0x427e1b
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
cmp dword [ebp - 0x2c4], 0x135
je 0x427ea9
jmp 0x427e1b
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x427ecc
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa], 0
je 0x428165
mov ecx, 1
test ecx, ecx
je 0x428165
cmp dword [ebp - 0x2c8], 0xa
jl 0x427f12
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x428165
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x427f47
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 0x427f1c
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 0x428067
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 0x427fef
cmp dword [ebp - 0x2c4], 0
jne 0x428014
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x428008
jmp 0x427f92
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x428067
cmp dword [ebp - 0x2c4], 0x125
jne 0x428062
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 0x42805d
jmp 0x42851e
jmp 0x427f92
jmp 0x427f92
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x428088
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x428151
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 0x42812e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x4314bd
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 0x42811d
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42810e
jmp 0x4280a0
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
cmp dword [ebp - 0x2c4], 0x135
je 0x42812e
jmp 0x4280a0
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x428151
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x427eed
jmp 0x42851e
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 0x42819e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42851e
push 0xe
push 0
lea ecx, [ebp - 0x14]
push ecx
call fcn.0042688c
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 0x4281e5
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42851e
lea ecx, [ebp - 0x2cc]
push ecx
push 0x8004667e
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x428211
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42851e
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 0x4282b7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x4314bd
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 0x4282a6
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x428297
jmp 0x428229
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
cmp dword [ebp - 0x2c4], 0x135
je 0x4282b7
jmp 0x428229
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x4282da
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa], 0
je 0x42851e
mov edx, 1
test edx, edx
je 0x42851e
cmp dword [ebp - 0x2c8], 0xa
jl 0x428320
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42851e
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 0x428426
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0xe
lea ecx, [ebp - 0x2ac]
push ecx
push 0x4314bd
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 0x4283ab
cmp dword [ebp - 0x2c4], 0
jne 0x4283d3
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x4283c7
jmp 0x428338
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x428426
cmp dword [ebp - 0x2c4], 0x125
jne 0x428421
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 0x42841c
jmp 0x42851e
jmp 0x428338
jmp 0x428338
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jbe 0x428447
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42850a
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 0x4284ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x4314bd
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 0x4284d9
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x4284cd
jmp 0x42845f
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
cmp dword [ebp - 0x2c4], 0x135
je 0x4284ea
jmp 0x42845f
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x42850a
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42851e
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
jmp 0x4282fb
cmp dword [ebp - 0x2b0], 0xffffffff
je 0x428533
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov byte [0x4314cd], 0
mov eax, dword [ebp - 0x2c4]
mov esp, ebp
pop ebp
ret