Function at 0x422848
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 0x422894
mov dword [ebp - 0x2c4], 0x1d4e8
jmp 0x42353f
mov byte [0x42b4cd], 1
mov dword [ebp - 0x2b0], 0xffffffff
xor ecx, ecx
mov cx, word [0x42b4b6]
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e4], 1
je 0x4228f7
cmp dword [ebp - 0x2e4], 8
je 0x4228e4
cmp dword [ebp - 0x2e4], 0x10
je 0x4228d1
jmp 0x42290b
push 0
push 2
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42290b
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
jmp 0x42290b
push 0x3e8
push 2
push 6
call sub.WSOCK32.dll_socket
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0xffffffff
jne 0x422923
mov dword [ebp - 0x2c4], 0x1d4e9
jmp 0x42351e
xor edx, edx
mov dx, word [0x42b4b6]
mov dword [ebp - 0x2e8], edx
cmp dword [ebp - 0x2e8], 1
je 0x42316a
cmp dword [ebp - 0x2e8], 8
je 0x422d32
cmp dword [ebp - 0x2e8], 0x10
je 0x42295a
jmp 0x42351e
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 0x42298e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42351e
push 0x10
push 0
lea edx, [ebp - 0x2c0]
push edx
call fcn.0042188c
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 0x4229ee
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42351e
lea edx, [ebp - 0x2cc]
push edx
push 0x8004667e
mov eax, dword [ebp - 0x2b0]
push eax
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x422a1a
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42351e
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 0x422ac0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x42b4bd
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 0x422aaf
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x422aa0
jmp 0x422a32
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
cmp dword [ebp - 0x2c4], 0x135
je 0x422ac0
jmp 0x422a32
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
ja 0x422ae3
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa], 0
je 0x422d2d
mov eax, 1
test eax, eax
je 0x422d2d
cmp dword [ebp - 0x2c8], 0xa
jl 0x422b29
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x422d2d
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 0x422c2f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0x10
lea edx, [ebp - 0x2ac]
push edx
push 0x42b4bd
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 0x422bb4
cmp dword [ebp - 0x2c4], 0
jne 0x422bdc
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x422bd0
jmp 0x422b41
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x422c2f
cmp dword [ebp - 0x2c4], 0x125
jne 0x422c2a
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 0x422c25
jmp 0x42351e
jmp 0x422b41
jmp 0x422b41
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x422c50
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x422d19
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 0x422cf6
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x42b4bd
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 0x422ce5
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x422cd6
jmp 0x422c68
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
cmp dword [ebp - 0x2c4], 0x135
je 0x422cf6
jmp 0x422c68
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x422d19
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x422b04
jmp 0x42351e
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 0x422d66
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42351e
push 0x10
push 0
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.0042188c
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 0x422dc6
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42351e
push 0x10
push 0x42b4bd
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_connect
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x422e03
call sub.WSOCK32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x422e03
mov dword [ebp - 0x2c4], 0x1d4f0
jmp 0x42351e
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 0x422ea9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x42b4bd
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 0x422e98
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x422e89
jmp 0x422e1b
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
cmp dword [ebp - 0x2c4], 0x135
je 0x422ea9
jmp 0x422e1b
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x422ecc
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa], 0
je 0x423165
mov ecx, 1
test ecx, ecx
je 0x423165
cmp dword [ebp - 0x2c8], 0xa
jl 0x422f12
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x423165
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0x40
jae 0x422f47
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 0x422f1c
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 0x423067
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 0x422fef
cmp dword [ebp - 0x2c4], 0
jne 0x423014
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x423008
jmp 0x422f92
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x423067
cmp dword [ebp - 0x2c4], 0x125
jne 0x423062
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 0x42305d
jmp 0x42351e
jmp 0x422f92
jmp 0x422f92
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
jbe 0x423088
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x423151
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 0x42312e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0x10
push 0x42b4bd
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 0x42311d
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x42310e
jmp 0x4230a0
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
cmp dword [ebp - 0x2c4], 0x135
je 0x42312e
jmp 0x4230a0
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x423151
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
mov ecx, dword [ebp - 0x2c8]
add ecx, 1
mov dword [ebp - 0x2c8], ecx
jmp 0x422eed
jmp 0x42351e
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 0x42319e
mov dword [ebp - 0x2c4], 0x1d4ea
jmp 0x42351e
push 0xe
push 0
lea ecx, [ebp - 0x14]
push ecx
call fcn.0042188c
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 0x4231e5
mov dword [ebp - 0x2c4], 0x1d4eb
jmp 0x42351e
lea ecx, [ebp - 0x2cc]
push ecx
push 0x8004667e
mov edx, dword [ebp - 0x2b0]
push edx
call sub.WSOCK32.dll_ioctlsocket
cmp eax, 0xffffffff
jne 0x423211
mov dword [ebp - 0x2c4], 0x1d4ec
jmp 0x42351e
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 0x4232b7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x42b4bd
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 0x4232a6
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x423297
jmp 0x423229
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
cmp dword [ebp - 0x2c4], 0x135
je 0x4232b7
jmp 0x423229
mov eax, dword [ebp - 0x2d4]
add eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d8]
ja 0x4232da
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa], 0
je 0x42351e
mov edx, 1
test edx, edx
je 0x42351e
cmp dword [ebp - 0x2c8], 0xa
jl 0x423320
mov dword [ebp - 0x2c4], 0x1d4f8
jmp 0x42351e
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 0x423426
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2ac], 0xe
lea ecx, [ebp - 0x2ac]
push ecx
push 0x42b4bd
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 0x4233ab
cmp dword [ebp - 0x2c4], 0
jne 0x4233d3
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x4233c7
jmp 0x423338
mov dword [ebp - 0x2c4], 0xffffffff
jmp 0x423426
cmp dword [ebp - 0x2c4], 0x125
jne 0x423421
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 0x42341c
jmp 0x42351e
jmp 0x423338
jmp 0x423338
mov ecx, dword [ebp - 0x2d4]
add ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2d8]
jbe 0x423447
cmp dword [ebp - 0x2c4], 0xffffffff
jne 0x42350a
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 0x4234ea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x2d8], eax
push 0xe
push 0x42b4bd
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 0x4234d9
call sub.WSOCK32.dll_WSAGetLastError
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x2733
jne 0x4234cd
jmp 0x42345f
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
cmp dword [ebp - 0x2c4], 0x135
je 0x4234ea
jmp 0x42345f
mov edx, dword [ebp - 0x2d4]
add edx, dword [ebp - 0x2d0]
cmp edx, dword [ebp - 0x2d8]
ja 0x42350a
mov dword [ebp - 0x2c4], 0x1d4ed
jmp 0x42351e
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
jmp 0x4232fb
cmp dword [ebp - 0x2b0], 0xffffffff
je 0x423533
mov ecx, dword [ebp - 0x2b0]
push ecx
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
mov byte [0x42b4cd], 0
mov eax, dword [ebp - 0x2c4]
mov esp, ebp
pop ebp
ret