Function at 0x4831e0
Capabilities:
Check for time delay via gettickcount
Create raw socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Get socket status
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56964b
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x14544
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x34], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x144cc], ecx
push 0
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
mov ecx, 0x5c8578
call fcn.0044e330
test eax, eax
jne 0x48323d
xor eax, eax
jmp 0x4847eb
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp - 0x228c], ecx
mov byte [ebp - 0x1240], 0
push 0x1000
push 0
lea edx, [ebp - 0x123f]
push edx
call fcn.005281f0
add esp, 0xc
mov dword [ebp - 0x24], 0
mov byte [ebp - 0x1240], 1
mov dword [ebp - 0x24], 0xf
push 8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x123f]
push ecx
mov edx, dword [ebp - 0x228c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
test eax, eax
jne 0x4832a7
xor eax, eax
jmp 0x4847eb
push 4
lea ecx, [ebp - 0x1238]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.005289e0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
push 8
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x1230]
push edx
mov eax, dword [ebp - 0x228c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
test eax, eax
jne 0x4832ee
xor eax, eax
jmp 0x4847eb
push 4
lea edx, [ebp - 0x1230]
push edx
lea eax, [ebp - 0x30]
push eax
call fcn.005289e0
add esp, 0xc
push 4
lea ecx, [ebp - 0x1220]
push ecx
lea edx, [ebp - 0x2288]
push edx
call fcn.005289e0
add esp, 0xc
push 4
lea eax, [ebp - 0x121c]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.005289e0
add esp, 0xc
lea edx, [ebp - 0x120c]
push edx
push 0x583408
lea eax, [ebp - 0x238]
push eax
call fcn.0052a9d1
add esp, 0xc
push 0x58340c
lea ecx, [ebp - 0x238]
push ecx
call fcn.00420b60
add esp, 8
mov dword [ebp - 0x22a4], eax
cmp dword [ebp - 0x22a4], 0
je 0x483389
push str.Host:
call fcn.00529140
add esp, 4
add eax, dword [ebp - 0x22a4]
mov dword [ebp - 0x22a4], eax
jmp 0x483390
xor eax, eax
jmp 0x4847eb
mov dword [ebp - 0x22a0], 0x6db
push 0x58341c
mov edx, dword [ebp - 0x22a4]
push edx
call fcn.00420b60
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4833d8
mov eax, dword [ebp - 0x18]
mov byte [eax], 0
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.0052a6f6
add esp, 4
mov dword [ebp - 0x22a0], eax
mov byte [ebp - 0x2258], 0
push 0x1000
push 0
lea eax, [ebp - 0x2257]
push eax
call fcn.005281f0
add esp, 0xc
mov ecx, dword [ebp - 0x22a0]
push ecx
mov edx, dword [ebp - 0x22a4]
push edx
push 0x583420
lea eax, [ebp - 0x2258]
push eax
call fcn.0052a9d1
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x1443c], esp
push 0x583430
call fcn.00415da0
mov dword [ebp - 0x144d0], eax
mov ecx, dword [ebp - 0x144d0]
mov dword [ebp - 0x144d4], ecx
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x14440], esp
push 0x583434
call fcn.00415da0
mov dword [ebp - 0x144d8], eax
mov edx, dword [ebp - 0x144d8]
mov dword [ebp - 0x144dc], edx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x14444], esp
push 0x583438
call fcn.00415da0
mov dword [ebp - 0x144e0], eax
mov eax, dword [ebp - 0x144e0]
mov dword [ebp - 0x144e4], eax
mov byte [ebp - 4], 2
push 0
push 0
push 0xc8
push ecx
mov ecx, esp
mov dword [ebp - 0x14448], esp
lea edx, [ebp - 0x2258]
push edx
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x144e8], eax
mov eax, dword [ebp + 8]
push eax
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x5c8578
call fcn.004514c0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x2284]
call fcn.00460d70
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2284]
push ecx
push 1
mov ecx, 0x5ca8a8
call fcn.0048bcd0
mov dword [ebp - 0x225c], 0
cmp dword [0x5ec65c], 0
je 0x48354a
mov dword [ebp - 0x22b8], 0x10
lea edx, [ebp - 0x22b8]
push edx
lea eax, [ebp - 0x22b4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
mov eax, dword [ebp - 0x22b0]
mov dword [ebp - 0x225c], eax
mov ecx, dword [ebp - 0x22a4]
push ecx
lea edx, [ebp - 0x14450]
push edx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x144ec], eax
mov eax, dword [ebp - 0x144ec]
mov dword [ebp - 0x144f0], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x225c]
push ecx
lea edx, [ebp - 0x2284]
push edx
mov eax, dword [ebp - 0x22a0]
push eax
mov ecx, dword [ebp - 0x144f0]
call fcn.00415f60
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c8720
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0x14449], al
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14450]
call fcn.00415e20
movzx edx, byte [ebp - 0x14449]
test edx, edx
je 0x48360a
push 2
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x14454], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2284]
call fcn.00460d20
mov eax, dword [ebp - 0x14454]
jmp 0x4847eb
mov edx, dword [ebp - 0x2c]
add edx, 0x10
push edx
lea eax, [ebp - 0x1240]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
test eax, eax
jne 0x483668
push 2
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x14458], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2284]
call fcn.00460d20
mov eax, dword [ebp - 0x14458]
jmp 0x4847eb
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x229c], 0xffffffff
mov dword [ebp - 0x2298], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2294], 0
mov dword [ebp - 0x2290], 0x10
mov byte [ebp - 4], 5
mov dword [ebp - 0x27cc], 1
mov dword [ebp - 0x27c8], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x27d0], eax
mov dword [ebp - 0x27d4], 0
mov dword [ebp - 0x2bdc], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx], 2
jne 0x483b4a
mov edx, dword [ebp - 0x144cc]
cmp dword [edx + 0x210], 0
je 0x483b4a
mov dword [ebp - 0x27c0], 0
mov dword [ebp - 0x2be4], 0
jmp 0x48371a
mov eax, dword [ebp - 0x2be4]
add eax, 1
mov dword [ebp - 0x2be4], eax
mov ecx, dword [ebp - 0x2be4]
cmp ecx, dword [ebp - 0x27c0]
jae 0x48373e
mov edx, dword [ebp - 0x2be4]
mov eax, dword [ebp + edx*4 - 0x27bc]
cmp eax, dword [ebp - 0x1c]
jne 0x48373c
jmp 0x48373e
jmp 0x48370b
mov ecx, dword [ebp - 0x2be4]
cmp ecx, dword [ebp - 0x27c0]
jne 0x483774
cmp dword [ebp - 0x27c0], 0x40
jae 0x483774
mov edx, dword [ebp - 0x2be4]
mov eax, dword [ebp - 0x1c]
mov dword [ebp + edx*4 - 0x27bc], eax
mov ecx, dword [ebp - 0x27c0]
add ecx, 1
mov dword [ebp - 0x27c0], ecx
xor edx, edx
jne 0x4836ff
mov dword [ebp - 0x2be8], 0
jmp 0x483793
mov eax, dword [ebp - 0x2be8]
add eax, 1
mov dword [ebp - 0x2be8], eax
mov ecx, dword [ebp - 0x2be8]
cmp ecx, dword [ebp - 0x27c0]
jae 0x4837bc
mov edx, dword [ebp - 0x2be8]
mov eax, dword [ebp - 0x228c]
mov ecx, dword [ebp + edx*4 - 0x27bc]
cmp ecx, dword [eax]
jne 0x4837ba
jmp 0x4837bc
jmp 0x483784
mov edx, dword [ebp - 0x2be8]
cmp edx, dword [ebp - 0x27c0]
jne 0x4837f7
cmp dword [ebp - 0x27c0], 0x40
jae 0x4837f7
mov eax, dword [ebp - 0x2be8]
mov ecx, dword [ebp - 0x228c]
mov edx, dword [ecx]
mov dword [ebp + eax*4 - 0x27bc], edx
mov eax, dword [ebp - 0x27c0]
add eax, 1
mov dword [ebp - 0x27c0], eax
xor ecx, ecx
jne 0x483778
lea edx, [ebp - 0x27cc]
push edx
push 0
push 0
lea eax, [ebp - 0x27c0]
push eax
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x2be0], eax
cmp dword [ebp - 0x2be0], 0
jne 0x48386d
cmp dword [0x5fa5b4], 0
jg 0x483836
jmp 0x4836d6
mov esi, dword [0x5fa5b4]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x27d0]
cmp eax, esi
jle 0x48386d
mov dword [ebp - 0x1445c], 0xffffffff
push 0x5b15cc
lea ecx, [ebp - 0x1445c]
push ecx
call fcn.005286d1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x27d0], eax
cmp dword [ebp - 0x2be0], 0
jge 0x48389d
mov dword [ebp - 0x14460], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x14460]
push edx
call fcn.005286d1
lea eax, [ebp - 0x27c0]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4839d8
mov dword [ebp - 0x24], 0x10
push 8
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x1240]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
mov dword [ebp - 0x144f4], eax
cmp dword [ebp - 0x144f4], 0
jne 0x483902
mov dword [ebp - 0x14464], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x14464]
push edx
call fcn.005286d1
push 4
lea eax, [ebp - 0x1238]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.005289e0
add esp, 0xc
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], edx
push 8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1230]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
mov dword [ebp - 0x144f8], eax
cmp dword [ebp - 0x144f8], 0
jne 0x483963
mov dword [ebp - 0x14468], 0xffffffff
push 0x5b15cc
lea eax, [ebp - 0x14468]
push eax
call fcn.005286d1
mov ecx, dword [ebp - 0x2c]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x1240]
push edx
mov eax, dword [ebp - 0x228c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x144fc], eax
cmp dword [ebp - 0x144fc], 0
jne 0x4839af
mov dword [ebp - 0x1446c], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x1446c]
push edx
call fcn.005286d1
push 2
push 0x583440
lea eax, [ebp - 0x1228]
push eax
call fcn.0052f054
add esp, 0xc
test eax, eax
jne 0x4839d3
mov dword [ebp - 0x2bdc], 1
jmp 0x4836d6
lea ecx, [ebp - 0x27c0]
push ecx
mov edx, dword [ebp - 0x228c]
mov eax, dword [edx]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x483b45
mov dword [ebp - 0x24], 0x10
push 8
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x1240]
push edx
mov eax, dword [ebp - 0x228c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
mov dword [ebp - 0x14500], eax
cmp dword [ebp - 0x14500], 0
jne 0x483a47
mov dword [ebp - 0x14470], 0
push 0x5b15cc
lea edx, [ebp - 0x14470]
push edx
call fcn.005286d1
push 4
lea eax, [ebp - 0x1238]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.005289e0
add esp, 0xc
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], edx
push 8
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1230]
push ecx
mov edx, dword [ebp - 0x228c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
mov dword [ebp - 0x14504], eax
cmp dword [ebp - 0x14504], 0
jne 0x483aad
mov dword [ebp - 0x14474], 0
push 0x5b15cc
lea ecx, [ebp - 0x14474]
push ecx
call fcn.005286d1
push 4
lea edx, [ebp - 0x121c]
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.005289e0
add esp, 0xc
lea ecx, [ebp - 0x1204]
push ecx
push 0x583444
lea edx, [ebp - 0x238]
push edx
call fcn.0052a9d1
add esp, 0xc
push 2
push 0x583448
lea eax, [ebp - 0x238]
push eax
call fcn.0055bb6c
add esp, 0xc
test eax, eax
jne 0x483af9
jmp 0x483b4a
mov ecx, dword [ebp - 0x2c]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x1240]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14508], eax
cmp dword [ebp - 0x14508], 0
jne 0x483b40
mov dword [ebp - 0x14478], 0xffffffff
push 0x5b15cc
lea ecx, [ebp - 0x14478]
push ecx
call fcn.005286d1
jmp 0x4836d6
jmp 0x4836d6
mov byte [ebp - 0x26b8], 0
push 0x3ff
push 0
lea edx, [ebp - 0x26b7]
push edx
call fcn.005281f0
add esp, 0xc
mov byte [ebp - 0x2bd8], 0
push 0x3ff
push 0
lea eax, [ebp - 0x2bd7]
push eax
call fcn.005281f0
add esp, 0xc
lea ecx, [ebp - 0x236]
push ecx
lea edx, [ebp - 0x26b8]
push edx
call fcn.0052a310
add esp, 8
push 0x58344c
lea eax, [ebp - 0x26b8]
push eax
call fcn.00420b60
add esp, 8
mov dword [ebp - 0x1450c], eax
mov ecx, dword [ebp - 0x1450c]
mov dword [ebp - 0x27c4], ecx
cmp dword [ebp - 0x27c4], 0
jne 0x483be4
mov dword [ebp - 0x1447c], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x1447c]
push edx
call fcn.005286d1
mov eax, dword [ebp - 0x27c4]
mov byte [eax], 0
mov ecx, dword [ebp - 0x27c4]
add ecx, 1
push ecx
lea edx, [ebp - 0x2bd8]
push edx
call fcn.0052a310
add esp, 8
push 0x583450
lea eax, [ebp - 0x2bd8]
push eax
call fcn.00420b60
add esp, 8
mov dword [ebp - 0x14510], eax
mov ecx, dword [ebp - 0x14510]
mov dword [ebp - 0x27c4], ecx
cmp dword [ebp - 0x27c4], 0
jne 0x483c50
mov dword [ebp - 0x14480], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x14480]
push edx
call fcn.005286d1
mov eax, dword [ebp - 0x27c4]
mov byte [eax], 0
mov ecx, dword [ebp - 0x27c4]
add ecx, 1
push ecx
call fcn.0052a6f6
add esp, 4
mov dword [ebp - 0x2298], eax
push 0x583454
lea edx, [ebp - 0x2bd8]
push edx
call fcn.005578fc
add esp, 8
test eax, eax
jne 0x483e78
mov dword [ebp - 0x27d4], 1
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x229c], eax
mov eax, 2
mov word [ebp - 0x1250], ax
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x124e], ax
mov dword [ebp - 0x124c], 0
push 0x10
lea ecx, [ebp - 0x1250]
push ecx
mov edx, dword [ebp - 0x229c]
push edx
call dword [sym.imp.WS2_32.dll_bind]
lea eax, [ebp - 0x2290]
push eax
lea ecx, [ebp - 0x1250]
push ecx
mov edx, dword [ebp - 0x229c]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
movzx eax, word [ebp - 0x124e]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x2290]
push edx
lea eax, [ebp - 0x1250]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [ebp - 0x124c]
mov dword [ebp - 0x2294], edx
lea eax, [ebp - 0x26b8]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2294]
mov dword [ebp - 0x2bec], ecx
mov dword [ebp - 0x2bf0], 0x400
lea edx, [ebp - 0x2bf0]
push edx
lea eax, [ebp - 0x33f0]
push eax
push 0
push 0x10
lea ecx, [ebp - 0x1250]
push ecx
call dword [sym.imp.WS2_32.dll_WSAAddressToStringW]
lea edx, [ebp - 0x33f0]
push edx
lea eax, [ebp - 0x14484]
push eax
call fcn.00499e90
add esp, 8
mov dword [ebp - 0x14514], eax
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x2bd8]
push edx
mov eax, dword [ebp - 0x14514]
mov ecx, dword [eax]
push ecx
push 0x583458
lea edx, [ebp - 0x238]
push edx
call fcn.0052a9d1
add esp, 0x14
lea ecx, [ebp - 0x14484]
call fcn.00412130
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x33f4]
call fcn.0043b7b0
mov dword [ebp - 0x14518], eax
mov byte [ebp - 4], 6
push 1
lea ecx, [ebp - 0x33f4]
call fcn.0044b110
mov dword [ebp - 0x1451c], eax
lea ecx, [ebp - 0x238]
push ecx
call fcn.00529140
add esp, 4
shl eax, 1
push eax
mov edx, dword [ebp - 0x1451c]
push edx
lea eax, [ebp - 0x1204]
push eax
call fcn.005289e0
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x1240]
push edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14520], eax
cmp dword [ebp - 0x14520], 0
jne 0x483e69
mov dword [ebp - 0x14488], 0xffffffff
push 0x5b15cc
lea ecx, [ebp - 0x14488]
push ecx
call fcn.005286d1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x33f4]
call fcn.00435f40
push 0x583464
lea edx, [ebp - 0x2bd8]
push edx
call fcn.005578fc
add esp, 8
test eax, eax
jne 0x484208
cmp dword [ebp - 0x2bdc], 0
je 0x484085
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x229c], eax
mov eax, 2
mov word [ebp - 0x1250], ax
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x124e], ax
mov dword [ebp - 0x124c], 0
push 0x10
lea ecx, [ebp - 0x1250]
push ecx
mov edx, dword [ebp - 0x229c]
push edx
call dword [sym.imp.WS2_32.dll_bind]
lea eax, [ebp - 0x2290]
push eax
lea ecx, [ebp - 0x1250]
push ecx
mov edx, dword [ebp - 0x229c]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
movzx eax, word [ebp - 0x124e]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x2290]
push edx
lea eax, [ebp - 0x1250]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [ebp - 0x124c]
mov dword [ebp - 0x2294], edx
lea eax, [ebp - 0x26b8]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2294]
mov dword [ebp - 0x33f8], ecx
mov dword [ebp - 0x33fc], 0x400
lea edx, [ebp - 0x33fc]
push edx
lea eax, [ebp - 0x3c00]
push eax
push 0
push 0x10
lea ecx, [ebp - 0x1250]
push ecx
call dword [sym.imp.WS2_32.dll_WSAAddressToStringW]
lea edx, [ebp - 0x3c00]
push edx
lea eax, [ebp - 0x1448c]
push eax
call fcn.00499e90
add esp, 8
mov dword [ebp - 0x14524], eax
mov ecx, dword [ebp - 0x14]
push ecx
push 0x583468
mov edx, dword [ebp - 0x14524]
mov eax, dword [edx]
push eax
push 0x58346c
lea ecx, [ebp - 0x238]
push ecx
call fcn.0052a9d1
add esp, 0x14
lea ecx, [ebp - 0x1448c]
call fcn.00412130
lea edx, [ebp - 0x238]
push edx
lea ecx, [ebp - 0x3c04]
call fcn.0043b7b0
mov dword [ebp - 0x14528], eax
mov byte [ebp - 4], 7
push 1
lea ecx, [ebp - 0x3c04]
call fcn.0044b110
mov dword [ebp - 0x1452c], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00529140
add esp, 4
shl eax, 1
push eax
mov ecx, dword [ebp - 0x1452c]
push ecx
lea edx, [ebp - 0x1204]
push edx
call fcn.005289e0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
add eax, 0x10
push eax
lea ecx, [ebp - 0x1240]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14530], eax
cmp dword [ebp - 0x14530], 0
jne 0x484071
mov dword [ebp - 0x14490], 0xffffffff
push 0x5b15cc
lea eax, [ebp - 0x14490]
push eax
call fcn.005286d1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3c04]
call fcn.00435f40
jmp 0x484208
mov dword [ebp - 0x229c], 0xffffffff
lea ecx, [ebp - 0x2290]
push ecx
lea edx, [ebp - 0x1250]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
movzx ecx, word [ebp - 0x124e]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x124c]
mov dword [ebp - 0x2294], eax
lea ecx, [ebp - 0x26b8]
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x2294]
mov dword [ebp - 0x3c08], edx
mov dword [ebp - 0x3c0c], 0x400
lea eax, [ebp - 0x3c0c]
push eax
lea ecx, [ebp - 0x4410]
push ecx
push 0
push 0x10
lea edx, [ebp - 0x1250]
push edx
call dword [sym.imp.WS2_32.dll_WSAAddressToStringW]
lea eax, [ebp - 0x4410]
push eax
lea ecx, [ebp - 0x14494]
push ecx
call fcn.00499e90
add esp, 8
mov dword [ebp - 0x14534], eax
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x2bd8]
push eax
mov ecx, dword [ebp - 0x14534]
mov edx, dword [ecx]
push edx
push str._s_s_d
lea eax, [ebp - 0x238]
push eax
call fcn.0052a9d1
add esp, 0x14
lea ecx, [ebp - 0x14494]
call fcn.00412130
lea ecx, [ebp - 0x238]
push ecx
lea ecx, [ebp - 0x4414]
call fcn.0043b7b0
mov dword [ebp - 0x14538], eax
mov byte [ebp - 4], 8
push 1
lea ecx, [ebp - 0x4414]
call fcn.0044b110
mov dword [ebp - 0x1453c], eax
lea edx, [ebp - 0x238]
push edx
call fcn.00529140
add esp, 4
shl eax, 1
push eax
mov eax, dword [ebp - 0x1453c]
push eax
lea ecx, [ebp - 0x1204]
push ecx
call fcn.005289e0
add esp, 0xc
mov edx, dword [ebp - 0x2c]
add edx, 0x10
push edx
lea eax, [ebp - 0x1240]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14540], eax
cmp dword [ebp - 0x14540], 0
jne 0x4841f9
mov dword [ebp - 0x14498], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x14498]
push edx
call fcn.005286d1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4414]
call fcn.00435f40
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x27d0], eax
mov eax, dword [ebp + 8]
cmp dword [eax], 2
jne 0x48471c
mov ecx, dword [ebp - 0x144cc]
cmp dword [ecx + 0x210], 0
je 0x48471c
mov dword [ebp - 0x27c0], 0
mov dword [ebp - 0x441c], 0
jmp 0x484258
mov edx, dword [ebp - 0x441c]
add edx, 1
mov dword [ebp - 0x441c], edx
mov eax, dword [ebp - 0x441c]
cmp eax, dword [ebp - 0x27c0]
jae 0x48427c
mov ecx, dword [ebp - 0x441c]
mov edx, dword [ebp + ecx*4 - 0x27bc]
cmp edx, dword [ebp - 0x1c]
jne 0x48427a
jmp 0x48427c
jmp 0x484249
mov eax, dword [ebp - 0x441c]
cmp eax, dword [ebp - 0x27c0]
jne 0x4842b2
cmp dword [ebp - 0x27c0], 0x40
jae 0x4842b2
mov ecx, dword [ebp - 0x441c]
mov edx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x27bc], edx
mov eax, dword [ebp - 0x27c0]
add eax, 1
mov dword [ebp - 0x27c0], eax
xor ecx, ecx
jne 0x48423d
mov dword [ebp - 0x4420], 0
jmp 0x4842d1
mov edx, dword [ebp - 0x4420]
add edx, 1
mov dword [ebp - 0x4420], edx
mov eax, dword [ebp - 0x4420]
cmp eax, dword [ebp - 0x27c0]
jae 0x4842fa
mov ecx, dword [ebp - 0x4420]
mov edx, dword [ebp - 0x228c]
mov eax, dword [ebp + ecx*4 - 0x27bc]
cmp eax, dword [edx]
jne 0x4842f8
jmp 0x4842fa
jmp 0x4842c2
mov ecx, dword [ebp - 0x4420]
cmp ecx, dword [ebp - 0x27c0]
jne 0x484335
cmp dword [ebp - 0x27c0], 0x40
jae 0x484335
mov edx, dword [ebp - 0x4420]
mov eax, dword [ebp - 0x228c]
mov ecx, dword [eax]
mov dword [ebp + edx*4 - 0x27bc], ecx
mov edx, dword [ebp - 0x27c0]
add edx, 1
mov dword [ebp - 0x27c0], edx
xor eax, eax
jne 0x4842b6
cmp dword [ebp - 0x229c], 0xffffffff
je 0x4843c5
mov dword [ebp - 0x4424], 0
jmp 0x484361
mov ecx, dword [ebp - 0x4424]
add ecx, 1
mov dword [ebp - 0x4424], ecx
mov edx, dword [ebp - 0x4424]
cmp edx, dword [ebp - 0x27c0]
jae 0x484388
mov eax, dword [ebp - 0x4424]
mov ecx, dword [ebp + eax*4 - 0x27bc]
cmp ecx, dword [ebp - 0x229c]
jne 0x484386
jmp 0x484388
jmp 0x484352
mov edx, dword [ebp - 0x4424]
cmp edx, dword [ebp - 0x27c0]
jne 0x4843c1
cmp dword [ebp - 0x27c0], 0x40
jae 0x4843c1
mov eax, dword [ebp - 0x4424]
mov ecx, dword [ebp - 0x229c]
mov dword [ebp + eax*4 - 0x27bc], ecx
mov edx, dword [ebp - 0x27c0]
add edx, 1
mov dword [ebp - 0x27c0], edx
xor eax, eax
jne 0x484346
lea ecx, [ebp - 0x27cc]
push ecx
push 0
push 0
lea edx, [ebp - 0x27c0]
push edx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x4418], eax
cmp dword [ebp - 0x4418], 0
jne 0x484438
cmp dword [0x5fa5b4], 0
jg 0x4843fc
jmp 0x484214
mov esi, dword [0x5fa5b4]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x27d0]
cmp eax, esi
jle 0x484433
mov dword [ebp - 0x1449c], 0xffffffff
push 0x5b15cc
lea eax, [ebp - 0x1449c]
push eax
call fcn.005286d1
jmp 0x484214
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x27d0], eax
cmp dword [ebp - 0x4418], 0
jge 0x484468
mov dword [ebp - 0x144a0], 0xffffffff
push 0x5b15cc
lea ecx, [ebp - 0x144a0]
push ecx
call fcn.005286d1
lea edx, [ebp - 0x27c0]
push edx
mov eax, dword [ebp - 0x1c]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x484570
mov dword [ebp - 0x14434], 0x10000
mov byte [ebp - 0x14430], 0
push 0x10000
push 0
lea ecx, [ebp - 0x1442f]
push ecx
call fcn.005281f0
add esp, 0xc
push 0
lea edx, [ebp - 0x14434]
push edx
lea eax, [ebp - 0x14430]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
mov dword [ebp - 0x14544], eax
cmp dword [ebp - 0x14544], 0
jne 0x484516
cmp dword [ebp - 0x14434], 0
jne 0x4844fb
mov dword [ebp - 0x144a4], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x144a4]
push edx
call fcn.005286d1
jmp 0x484516
mov dword [ebp - 0x144a8], 0xffffffff
push 0x5b15cc
lea eax, [ebp - 0x144a8]
push eax
call fcn.005286d1
cmp dword [ebp - 0x14434], 0
jbe 0x48456b
mov ecx, dword [ebp - 0x14434]
push ecx
lea edx, [ebp - 0x14430]
push edx
mov eax, dword [ebp - 0x228c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14548], eax
cmp dword [ebp - 0x14548], 0
jne 0x48456b
mov dword [ebp - 0x144ac], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x144ac]
push edx
call fcn.005286d1
jmp 0x484214
lea eax, [ebp - 0x27c0]
push eax
mov ecx, dword [ebp - 0x228c]
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x484658
mov dword [ebp - 0x24], 0x1000
mov byte [ebp - 0x1240], 0
push 0
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1240]
push ecx
mov edx, dword [ebp - 0x228c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7cd0
mov dword [ebp - 0x1454c], eax
cmp dword [ebp - 0x1454c], 0
jne 0x484609
cmp dword [ebp - 0x24], 0
jne 0x4845ee
mov dword [ebp - 0x144b0], 0xffffffff
push 0x5b15cc
lea ecx, [ebp - 0x144b0]
push ecx
call fcn.005286d1
jmp 0x484609
mov dword [ebp - 0x144b4], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x144b4]
push edx
call fcn.005286d1
cmp dword [ebp - 0x24], 0
jbe 0x484653
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp - 0x1240]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14550], eax
cmp dword [ebp - 0x14550], 0
jne 0x484653
mov dword [ebp - 0x144b8], 0xffffffff
push 0x5b15cc
lea eax, [ebp - 0x144b8]
push eax
call fcn.005286d1
jmp 0x484214
cmp dword [ebp - 0x229c], 0xffffffff
je 0x484717
lea ecx, [ebp - 0x27c0]
push ecx
mov edx, dword [ebp - 0x229c]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x484717
mov dword [ebp - 0x24], 0x1000
mov byte [ebp - 0x1240], 0
mov dword [ebp - 0x14438], 0x10
lea eax, [ebp - 0x14438]
push eax
lea ecx, [ebp - 0x1250]
push ecx
push 0
mov edx, dword [ebp - 0x24]
push edx
lea eax, [ebp - 0x1240]
push eax
mov ecx, dword [ebp - 0x229c]
push ecx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jbe 0x484712
mov edx, dword [ebp - 0x24]
push edx
lea eax, [ebp - 0x1240]
push eax
mov ecx, dword [ebp - 0x228c]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x144cc]
call fcn.004c7f70
mov dword [ebp - 0x14554], eax
cmp dword [ebp - 0x14554], 0
jne 0x484712
mov dword [ebp - 0x144bc], 0xffffffff
push 0x5b15cc
lea eax, [ebp - 0x144bc]
push eax
call fcn.005286d1
jmp 0x484214
jmp 0x484214
mov dword [ebp - 0x144c0], 0xffffffff
push 0x5b15cc
lea ecx, [ebp - 0x144c0]
push ecx
call fcn.005286d1
cmp dword [ebp - 0x229c], 0xffffffff
je 0x48475c
push 2
mov edx, dword [ebp - 0x229c]
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebp - 0x229c]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x229c], 0xffffffff
cmp dword [ebp - 0x1c], 0xffffffff
je 0x484782
push 2
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x144c4], 0
mov dword [ebp - 4], 3
mov eax, 0x4847af
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret 4