Function at 0x4822b0
Capabilities:
Check for time delay via gettickcount
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Get socket status
Start tcp server

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5695cb
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x471c
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x1c], 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 - 0x46bc], ecx
cmp dword [0x5ca8b8], 0
jne 0x4822fc
xor eax, eax
jmp 0x4831c2
cmp dword [0x5ca8bc], 0
jne 0x48230c
xor eax, eax
jmp 0x4831c2
push 0
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
mov ecx, 0x5c8578
call fcn.0044e330
cmp eax, 1
je 0x48232e
xor eax, eax
jmp 0x4831c2
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp - 0x102c], ecx
mov byte [ebp - 0x1028], 4
mov dword [ebp - 0x18], 1
push 8
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x1027]
push eax
mov ecx, dword [ebp - 0x102c]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7cd0
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x18], 7
push 8
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1026]
push ecx
mov edx, dword [ebp - 0x102c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7cd0
test eax, eax
jne 0x4823a0
xor eax, eax
jmp 0x4831c2
mov ecx, dword [ebp - 0x18]
movsx edx, byte [ebp + ecx - 0x1027]
test edx, edx
je 0x482407
mov dword [ebp - 0x1030], 1
push 8
lea eax, [ebp - 0x1030]
push eax
mov ecx, dword [ebp - 0x18]
lea edx, [ebp + ecx - 0x1026]
push edx
mov eax, dword [ebp - 0x102c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7cd0
test eax, eax
jne 0x4823ec
xor eax, eax
jmp 0x4831c2
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0x106
jbe 0x482405
xor eax, eax
jmp 0x4831c2
jmp 0x4823a0
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], 0
movsx eax, byte [ebp - 0x1027]
cmp eax, 1
jne 0x482a5d
mov byte [ebp - 0x1028], 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x14], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x482484
mov byte [ebp - 0x1027], 0x5b
push 8
lea ecx, [ebp - 0x1028]
push ecx
mov edx, dword [ebp - 0x102c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7f70
mov dword [ebp - 0x463c], 0
push 0x5b15cc
lea ecx, [ebp - 0x463c]
push ecx
call fcn.005286d1
mov edx, 2
mov word [ebp - 0x1444], dx
push 4
lea eax, [ebp - 0x1024]
push eax
lea ecx, [ebp - 0x1440]
push ecx
call fcn.005289e0
add esp, 0xc
push 2
lea edx, [ebp - 0x1026]
push edx
lea eax, [ebp - 0x1442]
push eax
call fcn.005289e0
add esp, 0xc
mov byte [ebp - 0x1430], 0
push 0x3ff
push 0
lea ecx, [ebp - 0x142f]
push ecx
call fcn.005281f0
add esp, 0xc
mov edx, dword [ebp - 0x1440]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
test eax, eax
je 0x48250b
mov eax, dword [ebp - 0x1440]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x1430]
push ecx
call fcn.0052a310
add esp, 8
push 6
push str.0.0.0.
lea edx, [ebp - 0x1430]
push edx
call fcn.0055bb6c
add esp, 0xc
test eax, eax
jne 0x482680
lea eax, [ebp - 0x1020]
mov dword [ebp - 0x2490], eax
mov ecx, dword [ebp - 0x2490]
push ecx
call fcn.00529140
add esp, 4
add eax, dword [ebp - 0x2490]
mov dword [ebp - 0x2490], eax
mov edx, dword [ebp - 0x2490]
lea eax, [ebp - 0x1028]
sub edx, eax
add edx, 1
mov dword [ebp - 0x2494], edx
mov ecx, dword [ebp + 8]
cmp dword [ecx], 2
jne 0x482644
mov edx, dword [ebp - 0x46bc]
cmp dword [edx + 0x210], 0
je 0x482644
mov dword [ebp - 0x2498], 1
push 8
lea eax, [ebp - 0x2498]
push eax
mov ecx, dword [ebp - 0x2494]
lea edx, [ebp + ecx - 0x1028]
push edx
mov eax, dword [ebp - 0x102c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7cd0
mov dword [ebp - 0x46c0], eax
cmp dword [ebp - 0x46c0], 0
jne 0x4825e5
mov dword [ebp - 0x4640], 0
push 0x5b15cc
lea edx, [ebp - 0x4640]
push edx
call fcn.005286d1
mov eax, dword [ebp - 0x2494]
movsx ecx, byte [ebp + eax - 0x1028]
test ecx, ecx
jne 0x4825f9
jmp 0x482644
mov edx, dword [ebp - 0x2494]
add edx, 1
mov dword [ebp - 0x2494], edx
lea eax, [ebp - 0x1020]
push eax
call fcn.00529140
add esp, 4
add eax, 0xff
cmp dword [ebp - 0x2494], eax
jle 0x48263f
mov dword [ebp - 0x4644], 0
push 0x5b15cc
lea ecx, [ebp - 0x4644]
push ecx
call fcn.005286d1
jmp 0x482567
mov edx, dword [ebp + 8]
cmp dword [edx], 2
je 0x482667
mov dword [ebp - 0x4648], 0
push 0x5b15cc
lea eax, [ebp - 0x4648]
push eax
call fcn.005286d1
mov ecx, dword [ebp - 0x2490]
add ecx, 1
push ecx
lea edx, [ebp - 0x1430]
push edx
call fcn.0052a310
add esp, 8
mov byte [ebp - 0x2450], 0
push 0x1000
push 0
lea eax, [ebp - 0x244f]
push eax
call fcn.005281f0
add esp, 0xc
movzx ecx, word [ebp - 0x1442]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
push edx
lea eax, [ebp - 0x1430]
push eax
push 0x5833b4
lea ecx, [ebp - 0x2450]
push ecx
call fcn.0052a9d1
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x464c], esp
push 0x5833c4
call fcn.00415da0
mov dword [ebp - 0x46c4], eax
mov edx, dword [ebp - 0x46c4]
mov dword [ebp - 0x46c8], edx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x4650], esp
push 0x5833c8
call fcn.00415da0
mov dword [ebp - 0x46cc], eax
mov eax, dword [ebp - 0x46cc]
mov dword [ebp - 0x46d0], eax
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x4654], esp
push 0x5833cc
call fcn.00415da0
mov dword [ebp - 0x46d4], eax
mov ecx, dword [ebp - 0x46d4]
mov dword [ebp - 0x46d8], ecx
mov byte [ebp - 4], 3
push 0
push 0
push 0xc8
push ecx
mov edx, esp
mov dword [ebp - 0x4658], esp
lea eax, [ebp - 0x2450]
push eax
push edx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x46dc], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0
mov ecx, 0x5c8578
call fcn.004514c0
push 0x5833dc
lea ecx, [ebp - 0x4660]
call fcn.00415da0
mov dword [ebp - 0x46e0], eax
mov edx, dword [ebp - 0x46e0]
mov dword [ebp - 0x46e4], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x46e4]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x4664], esp
push 0x5833e0
call fcn.00415da0
mov dword [ebp - 0x46e8], eax
mov ecx, dword [ebp - 0x46e8]
mov dword [ebp - 0x46ec], ecx
mov byte [ebp - 4], 5
movzx edx, word [ebp - 0x1442]
push edx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x4668], esp
lea edx, [ebp - 0x1430]
push edx
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x46f0], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 4
mov ecx, 0x5c8578
call fcn.00452ff0
mov dword [ebp - 0x46f4], eax
mov ecx, dword [ebp - 0x46f4]
mov dword [ebp - 0x465c], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4660]
call fcn.00415e20
cmp dword [ebp - 0x465c], 0
je 0x48285d
mov dword [ebp - 0x466c], 0
push 0x5b15cc
lea edx, [ebp - 0x466c]
push edx
call fcn.005286d1
lea ecx, [ebp - 0x247c]
call fcn.00460d70
mov dword [ebp - 0x46f8], eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x247c]
push eax
push 1
mov ecx, 0x5ca8a8
call fcn.0048bcd0
mov dword [ebp - 0x2454], 0
cmp dword [0x5ec65c], 0
je 0x4828c9
mov dword [ebp - 0x24ac], 0x10
lea ecx, [ebp - 0x24ac]
push ecx
lea edx, [ebp - 0x24a8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [ebp - 0x24a4]
mov dword [ebp - 0x2454], edx
lea eax, [ebp - 0x1430]
push eax
lea ecx, [ebp - 0x4674]
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x46fc], eax
mov edx, dword [ebp - 0x46fc]
mov dword [ebp - 0x4700], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x2454]
push eax
lea ecx, [ebp - 0x247c]
push ecx
movzx edx, word [ebp - 0x1442]
push edx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
mov ecx, dword [ebp - 0x4700]
call fcn.00415f60
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c8720
mov dword [ebp - 0x4704], eax
xor edx, edx
cmp dword [ebp - 0x4704], 0
sete dl
mov byte [ebp - 0x466d], dl
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4674]
call fcn.00415e20
movzx eax, byte [ebp - 0x466d]
test eax, eax
je 0x4829a1
mov byte [ebp - 0x1027], 0x5c
push 0xa
lea ecx, [ebp - 0x1028]
push ecx
mov edx, dword [ebp - 0x102c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7f70
mov dword [ebp - 0x4678], 0
push 0x5b15cc
lea ecx, [ebp - 0x4678]
push ecx
call fcn.005286d1
mov dword [ebp - 0x1434], 0x10
lea edx, [ebp - 0x1434]
push edx
lea eax, [ebp - 0x248c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov byte [ebp - 0x1027], 0x5a
push 4
lea edx, [ebp - 0x2488]
push edx
lea eax, [ebp - 0x1026]
push eax
call fcn.005289e0
add esp, 0xc
push 2
lea ecx, [ebp - 0x248a]
push ecx
lea edx, [ebp - 0x1024]
push edx
call fcn.005289e0
add esp, 0xc
push 8
lea eax, [ebp - 0x1028]
push eax
mov ecx, dword [ebp - 0x102c]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7f70
mov eax, dword [ebp - 0x102c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c81e0
mov dword [ebp - 0x467c], 0
push 0x5b15cc
lea ecx, [ebp - 0x467c]
push ecx
call fcn.005286d1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x247c]
call fcn.00460d20
movsx edx, byte [ebp - 0x1027]
cmp edx, 2
jne 0x48316e
mov byte [ebp - 0x4600], 0
push 0x1000
push 0
lea eax, [ebp - 0x45ff]
push eax
call fcn.005281f0
add esp, 0xc
mov byte [ebp - 0x35e8], 0
push 0x1000
push 0
lea ecx, [ebp - 0x35e7]
push ecx
call fcn.005281f0
add esp, 0xc
mov edx, dword [ebp - 0x1024]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov dword [ebp - 0x4604], eax
cmp dword [ebp - 0x4604], 0
je 0x482ad9
mov eax, dword [ebp - 0x4604]
push eax
lea ecx, [ebp - 0x35e8]
push ecx
call fcn.0052a310
add esp, 8
push 2
lea edx, [ebp - 0x1026]
push edx
lea eax, [ebp - 0x35f6]
push eax
call fcn.005289e0
add esp, 0xc
movzx ecx, word [ebp - 0x35f6]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
push edx
lea eax, [ebp - 0x35e8]
push eax
push str.BIND__s:_d
lea ecx, [ebp - 0x4600]
push ecx
call fcn.0052a9d1
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x4680], esp
push 0x5833f0
call fcn.00415da0
mov dword [ebp - 0x4708], eax
mov edx, dword [ebp - 0x4708]
mov dword [ebp - 0x470c], edx
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x4684], esp
push 0x5833f4
call fcn.00415da0
mov dword [ebp - 0x4710], eax
mov eax, dword [ebp - 0x4710]
mov dword [ebp - 0x4714], eax
mov byte [ebp - 4], 9
push ecx
mov ecx, esp
mov dword [ebp - 0x4688], esp
push 0x5833f8
call fcn.00415da0
mov dword [ebp - 0x4718], eax
mov ecx, dword [ebp - 0x4718]
mov dword [ebp - 0x471c], ecx
mov byte [ebp - 4], 0xa
push 0
push 0
push 0xc8
push ecx
mov edx, esp
mov dword [ebp - 0x468c], esp
lea eax, [ebp - 0x4600]
push eax
push edx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x4720], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0
mov ecx, 0x5c8578
call fcn.004514c0
mov byte [ebp - 0x1028], 0
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov dword [ebp - 0x14], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test eax, eax
je 0x482c38
mov byte [ebp - 0x1027], 0x5b
push 0xa
lea edx, [ebp - 0x1028]
push edx
mov eax, dword [ebp - 0x102c]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7f70
mov dword [ebp - 0x4690], 0
push 0x5b15cc
lea edx, [ebp - 0x4690]
push edx
call fcn.005286d1
mov dword [ebp - 0x25e0], 0
cmp dword [0x5ec65c], 0
je 0x482c7c
mov dword [ebp - 0x4618], 0x10
lea eax, [ebp - 0x4618]
push eax
lea ecx, [ebp - 0x4614]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [ebp - 0x4610]
mov dword [ebp - 0x25e0], ecx
xor edx, edx
mov word [ebp - 0x25da], dx
mov eax, 2
mov word [ebp - 0x25dc], ax
mov ecx, dword [ebp - 0x25e0]
mov dword [ebp - 0x25d8], ecx
push 0x10
lea edx, [ebp - 0x25dc]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x482ccf
mov dword [ebp - 0x4694], 0
push 0x5b15cc
lea ecx, [ebp - 0x4694]
push ecx
call fcn.005286d1
push 5
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WS2_32.dll_listen]
mov dword [ebp - 0x25c4], 0x10
lea eax, [ebp - 0x25c4]
push eax
lea ecx, [ebp - 0x25dc]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
mov dword [ebp - 0x25d8], 0
mov byte [ebp - 0x1027], 0x5a
push 2
lea eax, [ebp - 0x25da]
push eax
lea ecx, [ebp - 0x1026]
push ecx
call fcn.005289e0
add esp, 0xc
push 4
lea edx, [ebp - 0x25d8]
push edx
lea eax, [ebp - 0x1024]
push eax
call fcn.005289e0
add esp, 0xc
push 8
lea ecx, [ebp - 0x1028]
push ecx
mov edx, dword [ebp - 0x102c]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7f70
mov dword [ebp - 0x4724], eax
cmp dword [ebp - 0x4724], 0
jne 0x482d85
mov dword [ebp - 0x4698], 0
push 0x5b15cc
lea ecx, [ebp - 0x4698]
push ecx
call fcn.005286d1
mov dword [ebp - 0x25c0], 1
mov dword [ebp - 0x25bc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x25c8], eax
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x483153
mov eax, dword [ebp - 0x46bc]
cmp dword [eax + 0x210], 0
je 0x483153
mov dword [ebp - 0x25b8], 0
mov dword [ebp - 0x4620], 0
jmp 0x482de9
mov ecx, dword [ebp - 0x4620]
add ecx, 1
mov dword [ebp - 0x4620], ecx
mov edx, dword [ebp - 0x4620]
cmp edx, dword [ebp - 0x25b8]
jae 0x482e0d
mov eax, dword [ebp - 0x4620]
mov ecx, dword [ebp + eax*4 - 0x25b4]
cmp ecx, dword [ebp - 0x14]
jne 0x482e0b
jmp 0x482e0d
jmp 0x482dda
mov edx, dword [ebp - 0x4620]
cmp edx, dword [ebp - 0x25b8]
jne 0x482e43
cmp dword [ebp - 0x25b8], 0x40
jae 0x482e43
mov eax, dword [ebp - 0x4620]
mov ecx, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x25b4], ecx
mov edx, dword [ebp - 0x25b8]
add edx, 1
mov dword [ebp - 0x25b8], edx
xor eax, eax
jne 0x482dce
mov dword [ebp - 0x4624], 0
jmp 0x482e62
mov ecx, dword [ebp - 0x4624]
add ecx, 1
mov dword [ebp - 0x4624], ecx
mov edx, dword [ebp - 0x4624]
cmp edx, dword [ebp - 0x25b8]
jae 0x482e8b
mov eax, dword [ebp - 0x4624]
mov ecx, dword [ebp - 0x102c]
mov edx, dword [ebp + eax*4 - 0x25b4]
cmp edx, dword [ecx]
jne 0x482e89
jmp 0x482e8b
jmp 0x482e53
mov eax, dword [ebp - 0x4624]
cmp eax, dword [ebp - 0x25b8]
jne 0x482ec6
cmp dword [ebp - 0x25b8], 0x40
jae 0x482ec6
mov ecx, dword [ebp - 0x4624]
mov edx, dword [ebp - 0x102c]
mov eax, dword [edx]
mov dword [ebp + ecx*4 - 0x25b4], eax
mov ecx, dword [ebp - 0x25b8]
add ecx, 1
mov dword [ebp - 0x25b8], ecx
xor edx, edx
jne 0x482e47
lea eax, [ebp - 0x25c0]
push eax
push 0
push 0
lea ecx, [ebp - 0x25b8]
push ecx
push 0x40
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x461c], eax
cmp dword [ebp - 0x461c], 0
jne 0x482f41
cmp dword [0x5fa5b4], 0
jg 0x482f05
jmp 0x482da5
mov esi, dword [0x5fa5b4]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x25c8]
cmp eax, esi
jle 0x482f3c
mov dword [ebp - 0x469c], 0xffffffff
push 0x5b15cc
lea edx, [ebp - 0x469c]
push edx
call fcn.005286d1
jmp 0x482da5
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x25c8], eax
cmp dword [ebp - 0x461c], 0
jge 0x482f71
mov dword [ebp - 0x46a0], 0
push 0x5b15cc
lea eax, [ebp - 0x46a0]
push eax
call fcn.005286d1
lea ecx, [ebp - 0x25b8]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48309e
mov dword [ebp - 0x25c4], 0x10
lea eax, [ebp - 0x25c4]
push eax
lea ecx, [ebp - 0x4634]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WS2_32.dll_accept]
mov dword [ebp - 0x25cc], eax
cmp dword [ebp - 0x25cc], 0
jne 0x482fbf
jmp 0x483153
mov byte [ebp - 0x1028], 0
mov byte [ebp - 0x1027], 0x5a
push 2
lea eax, [ebp - 0x4632]
push eax
lea ecx, [ebp - 0x1026]
push ecx
call fcn.005289e0
add esp, 0xc
push 4
lea edx, [ebp - 0x4630]
push edx
lea eax, [ebp - 0x1024]
push eax
call fcn.005289e0
add esp, 0xc
push 8
lea ecx, [ebp - 0x1028]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7f70
mov dword [ebp - 0x4728], eax
cmp dword [ebp - 0x4728], 0
jne 0x483048
push 2
mov ecx, dword [ebp - 0x25cc]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [ebp - 0x25cc]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x483153
mov eax, dword [ebp - 0x102c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x25cc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x46bc]
call fcn.004c81e0
push 2
mov ecx, dword [ebp - 0x25cc]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [ebp - 0x25cc]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x46a4], 0
push 0x5b15cc
lea eax, [ebp - 0x46a4]
push eax
call fcn.005286d1
lea ecx, [ebp - 0x25b8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48314e
mov dword [ebp - 0x4638], 0x1000
push 0
lea ecx, [ebp - 0x4638]
push ecx
lea edx, [ebp - 0x1028]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x46bc]
call fcn.004c7cd0
mov dword [ebp - 0x472c], eax
cmp dword [ebp - 0x472c], 0
jne 0x48310f
mov dword [ebp - 0x46a8], 0
push 0x5b15cc
lea edx, [ebp - 0x46a8]
push edx
call fcn.005286d1
cmp dword [ebp - 0x4638], 0
jne 0x483133
mov dword [ebp - 0x46ac], 0
push 0x5b15cc
lea eax, [ebp - 0x46ac]
push eax
call fcn.005286d1
mov dword [ebp - 0x46b0], 0
push 0x5b15cc
lea ecx, [ebp - 0x46b0]
push ecx
call fcn.005286d1
jmp 0x482da5
mov dword [ebp - 0x46b4], 0
push 0x5b15cc
lea edx, [ebp - 0x46b4]
push edx
call fcn.005286d1
mov dword [ebp - 0x46b8], 0
push 0x5b15cc
lea eax, [ebp - 0x46b8]
push eax
call fcn.005286d1
cmp dword [ebp - 0x14], 0xffffffff
je 0x4831ac
push 2
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov eax, 0x4831c0
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret 4