Function at 0x481780
Capabilities:
Act as tcp client
Check for time delay via gettickcount
Connect socket
Connect tcp socket
Connect udp socket
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
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x569535
mov eax, dword fs:[0]
push eax
mov eax, 0x3504
call fcn.00528110
mov eax, dword [0x5c5ebc]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34a0], ecx
lea ecx, [ebp - 0x1254]
call fcn.00482230
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0x23d
push 8
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x1253]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x34a0]
call fcn.004c7cd0
test eax, eax
jne 0x481818
mov dword [ebp - 0x3448], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1254]
call fcn.00482260
mov eax, dword [ebp - 0x3448]
jmp 0x48220e
mov ecx, dword [ebp + 8]
push ecx
mov ecx, 0x5c8578
call fcn.00451350
test eax, eax
je 0x481876
push 0
push 0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x1152]
push eax
lea ecx, [ebp - 0x1252]
push ecx
mov ecx, 0x5c8578
call fcn.0044e330
cmp eax, 1
je 0x481876
mov dword [ebp - 0x344c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1254]
call fcn.00482260
mov eax, dword [ebp - 0x344c]
jmp 0x48220e
movzx edx, word [ebp - 0x1050]
push edx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
mov ecx, dword [ebp - 0x104e]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str.CONNECT__s:_d_outgoing
lea edx, [ebp - 0x1014]
push edx
call fcn.0052a9d1
add esp, 0x10
cmp dword [ebp - 0x101a], 1
jne 0x481a3b
push ecx
mov ecx, esp
mov dword [ebp - 0x3450], esp
push 0x58331c
call fcn.00415da0
mov dword [ebp - 0x34a4], eax
mov eax, dword [ebp - 0x34a4]
mov dword [ebp - 0x34a8], eax
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x3454], esp
push 0x583320
call fcn.00415da0
mov dword [ebp - 0x34ac], eax
mov ecx, dword [ebp - 0x34ac]
mov dword [ebp - 0x34b0], ecx
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x3458], esp
push 0x583328
call fcn.00415da0
mov dword [ebp - 0x34b4], eax
mov edx, dword [ebp - 0x34b4]
mov dword [ebp - 0x34b8], edx
mov byte [ebp - 4], 3
push 0
push 0
push 0xc8
push ecx
mov eax, esp
mov dword [ebp - 0x345c], esp
lea ecx, [ebp - 0x1014]
push ecx
push eax
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x34bc], eax
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 0
mov ecx, 0x5c8578
call fcn.004514c0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1258], eax
push 0x10
lea eax, [ebp - 0x1052]
push eax
mov ecx, dword [ebp - 0x1258]
push ecx
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x4819db
push 2
mov edx, dword [ebp - 0x1258]
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebp - 0x1258]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x3460], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1254]
call fcn.00482260
mov eax, dword [ebp - 0x3460]
jmp 0x48220e
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x1258]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x34a0]
call fcn.004c81e0
push 2
mov edx, dword [ebp - 0x1258]
push edx
call dword [sym.imp.WS2_32.dll_shutdown]
mov eax, dword [ebp - 0x1258]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x3464], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1254]
call fcn.00482260
mov eax, dword [ebp - 0x3464]
jmp 0x48220e
cmp dword [ebp - 0x101a], 2
jne 0x4821ec
push ecx
mov ecx, esp
mov dword [ebp - 0x3468], esp
push 0x583338
call fcn.00415da0
mov dword [ebp - 0x34c0], eax
mov ecx, dword [ebp - 0x34c0]
mov dword [ebp - 0x34c4], ecx
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0x346c], esp
push 0x58333c
call fcn.00415da0
mov dword [ebp - 0x34c8], eax
mov edx, dword [ebp - 0x34c8]
mov dword [ebp - 0x34cc], edx
mov byte [ebp - 4], 5
push ecx
mov ecx, esp
mov dword [ebp - 0x3470], esp
push 0x583344
call fcn.00415da0
mov dword [ebp - 0x34d0], eax
mov eax, dword [ebp - 0x34d0]
mov dword [ebp - 0x34d4], eax
mov byte [ebp - 4], 6
push 0
push 0
push 0xc8
push ecx
mov ecx, esp
mov dword [ebp - 0x3474], esp
lea edx, [ebp - 0x1014]
push edx
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x34d8], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0
mov ecx, 0x5c8578
call fcn.004514c0
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1368], eax
mov dword [ebp - 0x2414], 1
mov dword [ebp - 0x23fc], 0x2000
push 4
lea ecx, [ebp - 0x23fc]
push ecx
push 0x1001
push 0xffff
mov edx, dword [ebp - 0x1368]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea eax, [ebp - 0x23fc]
push eax
push 0x1002
push 0xffff
mov ecx, dword [ebp - 0x1368]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 0x23f8], 0
mov dword [ebp - 0x2410], 0
push 0
push 0
lea edx, [ebp - 0x23f8]
push edx
push 0
push 0
push 4
lea eax, [ebp - 0x2410]
push eax
push 0x9800000c
mov ecx, dword [ebp - 0x1368]
push ecx
call dword [sym.imp.WS2_32.dll_WSAIoctl]
mov dword [ebp - 0x137c], 0x10
lea edx, [ebp - 0x137c]
push edx
lea eax, [ebp - 0x1032]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
xor eax, eax
mov word [ebp - 0x1030], ax
push 0x10
lea ecx, [ebp - 0x1032]
push ecx
mov edx, dword [ebp - 0x1368]
push edx
call dword [sym.imp.WS2_32.dll_bind]
mov dword [ebp - 0x137c], 0x10
lea eax, [ebp - 0x137c]
push eax
lea ecx, [ebp - 0x1032]
push ecx
mov edx, dword [ebp - 0x1368]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
push 0x23e
lea eax, [ebp - 0x1254]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
mov ecx, dword [ebp - 0x34a0]
call fcn.004c7f70
mov dword [ebp - 0x1370], 1
mov dword [ebp - 0x136c], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1378], eax
mov eax, dword [ebp + 8]
cmp dword [eax], 2
jne 0x4821ac
mov ecx, dword [ebp - 0x34a0]
cmp dword [ecx + 0x210], 0
je 0x4821ac
mov dword [ebp - 0x1364], 0
mov dword [ebp - 0x241c], 0
jmp 0x481c8c
mov edx, dword [ebp - 0x241c]
add edx, 1
mov dword [ebp - 0x241c], edx
mov eax, dword [ebp - 0x241c]
cmp eax, dword [ebp - 0x1364]
jae 0x481cb3
mov ecx, dword [ebp - 0x241c]
mov edx, dword [ebp + ecx*4 - 0x1360]
cmp edx, dword [ebp - 0x1368]
jne 0x481cb1
jmp 0x481cb3
jmp 0x481c7d
mov eax, dword [ebp - 0x241c]
cmp eax, dword [ebp - 0x1364]
jne 0x481cec
cmp dword [ebp - 0x1364], 0x40
jae 0x481cec
mov ecx, dword [ebp - 0x241c]
mov edx, dword [ebp - 0x1368]
mov dword [ebp + ecx*4 - 0x1360], edx
mov eax, dword [ebp - 0x1364]
add eax, 1
mov dword [ebp - 0x1364], eax
xor ecx, ecx
jne 0x481c71
mov dword [ebp - 0x2420], 0
jmp 0x481d0b
mov edx, dword [ebp - 0x2420]
add edx, 1
mov dword [ebp - 0x2420], edx
mov eax, dword [ebp - 0x2420]
cmp eax, dword [ebp - 0x1364]
jae 0x481d32
mov ecx, dword [ebp - 0x2420]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + ecx*4 - 0x1360]
cmp eax, dword [edx + 4]
jne 0x481d30
jmp 0x481d32
jmp 0x481cfc
mov ecx, dword [ebp - 0x2420]
cmp ecx, dword [ebp - 0x1364]
jne 0x481d6b
cmp dword [ebp - 0x1364], 0x40
jae 0x481d6b
mov edx, dword [ebp - 0x2420]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [ebp + edx*4 - 0x1360], ecx
mov edx, dword [ebp - 0x1364]
add edx, 1
mov dword [ebp - 0x1364], edx
xor eax, eax
jne 0x481cf0
lea ecx, [ebp - 0x1370]
push ecx
push 0
push 0
lea edx, [ebp - 0x1364]
push edx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x2418], eax
cmp dword [ebp - 0x2418], 0
jne 0x481dcc
cmp dword [0x5fa5b4], 0
jg 0x481da6
jmp 0x481c48
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x1378]
mov ecx, dword [0x5fa5b4]
imul ecx, ecx, 0x3e8
cmp eax, ecx
jbe 0x481dc7
jmp 0x4821ac
jmp 0x481c48
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x1378], eax
cmp dword [ebp - 0x2418], 0
jge 0x481de6
jmp 0x4821ac
lea edx, [ebp - 0x1364]
push edx
mov eax, dword [ebp - 0x1368]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x48218e
mov dword [ebp - 0x1374], 0x10
lea ecx, [ebp - 0x1374]
push ecx
lea edx, [ebp - 0x240c]
push edx
push 0
push 0x1064
lea eax, [ebp - 0x23f4]
push eax
mov ecx, dword [ebp - 0x1368]
push ecx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x2424], eax
cmp dword [ebp - 0x2424], 0
jge 0x481e48
jmp 0x4821ac
push 0xa
push 0x583354
lea edx, [ebp - 0x23f4]
push edx
call fcn.0052d241
add esp, 0xc
test eax, eax
jne 0x482009
mov eax, dword [ebp - 0x240c]
mov dword [ebp - 0x138c], eax
mov ecx, dword [ebp - 0x2408]
mov dword [ebp - 0x1388], ecx
mov edx, dword [ebp - 0x2404]
mov dword [ebp - 0x1384], edx
mov eax, dword [ebp - 0x2400]
mov dword [ebp - 0x1380], eax
lea ecx, [ebp - 0x2440]
call fcn.00482270
push 0x1c
lea ecx, [ebp - 0x23f4]
push ecx
lea edx, [ebp - 0x2440]
push edx
call fcn.005289e0
add esp, 0xc
mov eax, dword [ebp - 0x2408]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x1014]
push ecx
call fcn.0052a310
add esp, 8
push 0x583360
lea edx, [ebp - 0x1014]
push edx
call fcn.0052a320
add esp, 8
mov eax, dword [ebp - 0x2430]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x1014]
push ecx
call fcn.0052a320
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3478], esp
push 0x583364
call fcn.00415da0
mov dword [ebp - 0x34dc], eax
mov edx, dword [ebp - 0x34dc]
mov dword [ebp - 0x34e0], edx
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0x347c], esp
push 0x583368
call fcn.00415da0
mov dword [ebp - 0x34e4], eax
mov eax, dword [ebp - 0x34e4]
mov dword [ebp - 0x34e8], eax
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3480], esp
push 0x583370
call fcn.00415da0
mov dword [ebp - 0x34ec], eax
mov ecx, dword [ebp - 0x34ec]
mov dword [ebp - 0x34f0], ecx
mov byte [ebp - 4], 9
push 0
push 0
push 0xc8
push ecx
mov edx, esp
mov dword [ebp - 0x3484], esp
lea eax, [ebp - 0x1014]
push eax
push edx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x34f4], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0
mov ecx, 0x5c8578
call fcn.004514c0
push 0x10
lea edx, [ebp - 0x2434]
push edx
push 0
mov eax, dword [ebp - 0x2424]
sub eax, 0x1c
push eax
lea ecx, [ebp - 0x23d8]
push ecx
mov edx, dword [ebp - 0x1368]
push edx
call dword [sym.imp.WS2_32.dll_sendto]
cmp dword [0x5fa5b0], 0
je 0x482004
push 0
mov eax, dword [ebp - 0x2424]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [0x5fa5b0]
add esp, 0xc
jmp 0x482189
mov edx, dword [ebp - 0x2408]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x1014]
push eax
call fcn.0052a310
add esp, 8
push 0x583380
lea ecx, [ebp - 0x1014]
push ecx
call fcn.0052a320
add esp, 8
mov edx, dword [ebp - 0x1388]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x1014]
push eax
call fcn.0052a320
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3488], esp
push 0x583384
call fcn.00415da0
mov dword [ebp - 0x34f8], eax
mov ecx, dword [ebp - 0x34f8]
mov dword [ebp - 0x34fc], ecx
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x348c], esp
push 0x583388
call fcn.00415da0
mov dword [ebp - 0x3500], eax
mov edx, dword [ebp - 0x3500]
mov dword [ebp - 0x3504], edx
mov byte [ebp - 4], 0xb
push ecx
mov ecx, esp
mov dword [ebp - 0x3490], esp
push str.SOCKS6
call fcn.00415da0
mov dword [ebp - 0x3508], eax
mov eax, dword [ebp - 0x3508]
mov dword [ebp - 0x350c], eax
mov byte [ebp - 4], 0xc
push 0
push 0
push 0xc8
push ecx
mov ecx, esp
mov dword [ebp - 0x3494], esp
lea edx, [ebp - 0x1014]
push edx
push ecx
call fcn.00499f80
add esp, 8
mov dword [ebp - 0x3510], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0
mov ecx, 0x5c8578
call fcn.004514c0
push 0x10
lea ecx, [ebp - 0x240c]
push ecx
lea edx, [ebp - 0x3444]
push edx
call fcn.005289e0
add esp, 0xc
mov eax, dword [ebp - 0x2424]
push eax
lea ecx, [ebp - 0x23f4]
push ecx
lea edx, [ebp - 0x3434]
push edx
call fcn.005289e0
add esp, 0xc
push 0x10
lea eax, [ebp - 0x138c]
push eax
push 0
mov ecx, dword [ebp - 0x2424]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x3444]
push edx
mov eax, dword [ebp - 0x1368]
push eax
call dword [sym.imp.WS2_32.dll_sendto]
cmp dword [0x5fa5b0], 0
je 0x482189
push 1
mov ecx, dword [ebp - 0x2424]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [0x5fa5b0]
add esp, 0xc
jmp 0x481c48
lea eax, [ebp - 0x1364]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4821a7
jmp 0x4821ac
jmp 0x481c48
push 2
mov eax, dword [ebp - 0x1368]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov ecx, dword [ebp - 0x1368]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x3498], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1254]
call fcn.00482260
mov eax, dword [ebp - 0x3498]
jmp 0x48220e
mov dword [ebp - 0x349c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1254]
call fcn.00482260
mov eax, dword [ebp - 0x349c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00527aad
mov esp, ebp
pop ebp
ret 4