Function at 0x429ed0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x14b4
call fcn.00414360
mov eax, dword [0x43e268]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0
xor eax, eax
mov word [ebp - 0x1488], ax
lea ecx, [ebp - 0x1480]
call fcn.00401550
push 0x1370
push 0
lea ecx, [ebp - 0x1480]
push ecx
call fcn.00409ed0
add esp, 0xc
mov edx, 2
mov word [ebp - 0x14c], dx
push 0x35
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x14a], ax
mov eax, dword [0x4415b8]
mov dword [ebp - 0x148], eax
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0xffffffff
jne 0x429f66
jmp 0x42a5bd
mov dword [ebp - 0x13c], 0x10
push 0
call fcn.0041a650
add esp, 4
mov dword [ebp - 0x1498], eax
mov dword [ebp - 0x1494], edx
mov ecx, dword [ebp - 0x13c]
push ecx
lea edx, [ebp - 0x14c]
push edx
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jl 0x42a563
lea ecx, [ebp - 0x147c]
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
add edx, 2
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x1480], eax
push 1
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [ebp - 0x1480]
mov word [ecx + 4], ax
push 0
push 0xffff
mov edx, dword [ebp - 0x1494]
push edx
mov eax, dword [ebp - 0x1498]
push eax
call fcn.004119d0
mov ecx, dword [ebp - 0x1480]
mov word [ecx], ax
mov edx, dword [ebp - 0x1480]
add edx, 0xc
mov dword [ebp - 0x47c], edx
push 0x4410ad
mov eax, dword [ebp - 0x47c]
push eax
call fcn.0041d2e0
add esp, 8
movzx ecx, ax
add ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x47c], ecx
push 0xfc
mov edx, dword [ebp - 0x47c]
push edx
call fcn.0041a0d0
add esp, 8
movzx eax, al
add eax, dword [ebp - 0x47c]
mov dword [ebp - 0x47c], eax
push 1
mov ecx, dword [ebp - 0x47c]
push ecx
call fcn.0041a0d0
add esp, 8
movzx edx, al
add edx, dword [ebp - 0x47c]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
lea ecx, [ebp - 0x147c]
sub eax, ecx
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
sub edx, 2
push edx
lea eax, [ebp - 0x147c]
push eax
call fcn.0041a0d0
add esp, 8
push 0
mov ecx, dword [ebp - 0x124]
push ecx
lea edx, [ebp - 0x147c]
push edx
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, dword [ebp - 0x124]
jge 0x42a0de
mov ecx, dword [ebp - 0x150]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x42a5bd
mov edx, 1
test edx, edx
je 0x42a538
push 0
lea eax, [ebp - 0x147c]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
call fcn.0041baf0
add esp, 0xc
movzx edx, ax
mov dword [ebp - 0x124], edx
cmp dword [ebp - 0x124], 2
jge 0x42a11a
jmp 0x42a538
lea eax, [ebp - 0x147c]
push eax
call fcn.0041a120
add esp, 4
mov word [ebp - 0x149c], ax
movzx ecx, word [ebp - 0x124]
movzx edx, word [ebp - 0x149c]
add edx, 2
cmp ecx, edx
jge 0x42a14a
jmp 0x42a538
lea eax, [ebp - 0x147a]
mov dword [ebp - 0x1480], eax
mov ecx, dword [ebp - 0x1480]
add ecx, 0xc
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x1480]
mov al, byte [edx + 2]
shr al, 7
and al, 1
movzx ecx, al
test ecx, ecx
je 0x42a1a4
mov edx, dword [ebp - 0x1480]
mov al, byte [edx + 3]
and al, 0xf
movzx ecx, al
test ecx, ecx
jne 0x42a1a4
mov edx, dword [ebp - 0x1480]
movzx eax, word [edx + 6]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
test ecx, ecx
jne 0x42a1a9
jmp 0x42a538
mov dword [ebp - 0x14a0], 1
jmp 0x42a1c4
mov edx, dword [ebp - 0x14a0]
add edx, 1
mov dword [ebp - 0x14a0], edx
mov eax, dword [ebp - 0x1480]
movzx ecx, word [eax + 4]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
cmp dword [ebp - 0x14a0], edx
jg 0x42a21d
mov eax, dword [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 0x1480]
push ecx
lea edx, [ebp - 0x110]
push edx
call fcn.0041a140
add esp, 0xc
movzx eax, ax
add eax, dword [ebp - 0x47c]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
add ecx, 4
mov dword [ebp - 0x47c], ecx
jmp 0x42a1b5
mov dword [ebp - 0x14a4], 1
jmp 0x42a238
mov edx, dword [ebp - 0x14a4]
add edx, 1
mov dword [ebp - 0x14a4], edx
mov eax, dword [ebp - 0x1480]
movzx ecx, word [eax + 6]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
cmp dword [ebp - 0x14a4], edx
jg 0x42a533
mov eax, dword [ebp - 0x47c]
push eax
mov ecx, dword [ebp - 0x1480]
push ecx
lea edx, [ebp - 0x110]
push edx
call fcn.0041a140
add esp, 0xc
movzx eax, ax
add eax, dword [ebp - 0x47c]
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
push ecx
call fcn.0041a120
add esp, 4
mov word [ebp - 0x11e], ax
mov edx, dword [ebp - 0x47c]
add edx, 2
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
push eax
call fcn.0041a120
add esp, 4
mov word [ebp - 0x11c], ax
mov ecx, dword [ebp - 0x47c]
add ecx, 2
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
push edx
call fcn.0041a100
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x47c]
add eax, 4
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
push ecx
call fcn.0041a120
add esp, 4
movzx edx, ax
mov dword [ebp - 0x14a8], edx
mov eax, dword [ebp - 0x47c]
add eax, 2
mov dword [ebp - 0x47c], eax
mov ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x148c], ecx
mov edx, dword [ebp - 0x47c]
add edx, dword [ebp - 0x14a8]
mov dword [ebp - 0x47c], edx
movzx eax, word [ebp - 0x11e]
mov dword [ebp - 0x14b4], eax
cmp dword [ebp - 0x14b4], 0xc
je 0x42a34f
jmp 0x42a52e
lea ecx, [ebp - 0x110]
push ecx
call fcn.00419050
add esp, 4
push str..in_addr.arpa
lea edx, [ebp - 0x110]
push edx
call fcn.00401040
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x42a52e
mov eax, dword [ebp - 8]
mov byte [eax], 0
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.WS2_32.dll_inet_addr]
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov dword [ebp - 0x1484], eax
mov edx, dword [ebp - 0x148c]
push edx
mov eax, dword [ebp - 0x1480]
push eax
lea ecx, [ebp - 0x110]
push ecx
call fcn.0041a140
add esp, 0xc
lea edx, [ebp - 0x110]
push edx
call fcn.0041bd70
add esp, 4
movzx eax, byte [0x43f062]
test eax, eax
je 0x42a52e
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 4]
jae 0x42a52e
mov edx, dword [ebp - 0x1484]
push edx
call fcn.00419dc0
add esp, 4
mov byte [ebp - 0x14ad], al
mov eax, dword [ebp - 0x1484]
push eax
movzx ecx, byte [ebp - 0x14ad]
push ecx
call fcn.00419d50
add esp, 8
mov dword [ebp - 0x14ac], eax
cmp dword [ebp - 0xc], 0x7fffffff
jbe 0x42a428
mov dword [ebp - 0xc], SysReAllocString
cmp dword [ebp - 0x14ac], 0
jl 0x42a47a
movsx edx, byte [ebp - 0x14ad]
imul edx, edx, 0x1c
mov eax, dword [edx + 0x4463dc]
mov ecx, dword [ebp - 0x14ac]
cmp dword [eax + ecx*4], 0
je 0x42a47a
push 0
mov edx, dword [ebp - 0xc]
xor eax, eax
push eax
push edx
movsx ecx, byte [ebp - 0x14ad]
imul ecx, ecx, 0x1c
mov edx, dword [ecx + 0x4463dc]
mov eax, dword [ebp - 0x14ac]
mov ecx, dword [edx + eax*4]
push ecx
call fcn.00426bd0
add esp, 0x10
jmp 0x42a48d
push 0
push 0
mov edx, dword [ebp - 0x1484]
push edx
call fcn.0041c4f0
add esp, 0xc
mov eax, SysReAllocString
sub eax, dword [ebp - 0x1498]
mov ecx, 0
sbb ecx, dword [ebp - 0x1494]
cmp dword [ebp - 0xc], eax
jae 0x42a4bc
mov edx, dword [ebp - 0xc]
xor eax, eax
add edx, dword [ebp - 0x1498]
adc eax, dword [ebp - 0x1494]
mov dword [ebp - 0xc], edx
mov ecx, dword [0x442014]
push ecx
push 0
push 1
mov edx, dword [ebp - 0xc]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x1484]
push ecx
lea edx, [ebp - 0x110]
push edx
movzx eax, byte [0x461db8]
push eax
call fcn.004281b0
add esp, 0x20
mov ecx, dword [0x442018]
push ecx
push 2
push 0
mov edx, dword [ebp - 0xc]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x1484]
push ecx
lea edx, [ebp - 0x110]
push edx
movzx eax, byte [0x461db8]
push eax
call fcn.004281b0
add esp, 0x20
mov cx, word [ebp - 0x1488]
add cx, 1
mov word [ebp - 0x1488], cx
jmp 0x42a229
jmp 0x42a0de
movzx edx, word [ebp - 0x1488]
push edx
push str._u_RRs_imported_from_Secondary_Server
push 0x44bd18
call fcn.00407379
add esp, 0xc
push 2
push 0x44bd18
call fcn.0041b050
add esp, 8
jmp 0x42a5b0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call fcn.00409828
mov dword [eax], esi
call fcn.00409828
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x148]
push ecx
push 0x43fd60
call fcn.004198c0
add esp, 8
push eax
push str.Server__s__Error__u
push 0x44bd18
call fcn.00407379
add esp, 0x10
push 1
push 0x44bd18
call fcn.0041b050
add esp, 8
mov edx, dword [ebp - 0x150]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00406dc0
mov esp, ebp
pop ebp
ret