Function at 0x40ab20
Capabilities:
Create tcp socket
Create udp socket
Initialize winsock library
Set socket configuration

Disassembly:
sub esp, 0x9c
mov eax, dword [0x4c002c]
xor eax, esp
mov dword [esp + 0x94], eax
push ebx
push ebp
push esi
push edi
push 0x3f
xor edi, edi
lea eax, [esp + 0x25]
mov ebx, ecx
mov esi, edx
push edi
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], esi
mov byte [esp + 0x2c], 0
call fcn.0048635c
add esp, 0xc
push 0x3f
lea eax, [esp + 0x65]
push edi
push eax
mov byte [esp + 0x6c], 0
call fcn.0048635c
add esp, 0xc
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, esi
call fcn.00409fd3
pop ecx
pop ecx
lea eax, [esp + 0x20]
call fcn.0040a21b
test al, al
je 0x40b32a
lea eax, [esp + 0x60]
call fcn.0040a21b
test al, al
je 0x40b32a
mov eax, ebx
call fcn.0040a21b
test al, al
je 0x40b32a
push 0x4ccab0
mov esi, 0x101
push esi
call dword [0x4969c4]
cmp word [0x4ccab0], si
mov ebx, 0x4c5820
je 0x40abf2
call dword [0x4969c0]
push eax
push str.WSAStartup_Error:___d_
push ebx
call fcn.0040d69e
add esp, 0xc
push 1
push ebx
call fcn.0040bdf3
pop ecx
pop ecx
mov ecx, dword [0x4cdf14]
cmp ecx, edi
mov dword [0x4cdf08], 0x8ca0
jne 0x40ac11
mov ecx, 0xe10
mov dword [0x4cdf14], ecx
mov eax, dword [0x4cdf18]
cmp eax, edi
je 0x40ac1e
cmp eax, ecx
jbe 0x40ac49
mov eax, ecx
push 5
xor edx, edx
pop ecx
div ecx
mov ecx, 0x258
cmp eax, ecx
mov dword [0x4cdf18], eax
jbe 0x40ac3c
mov eax, ecx
mov dword [0x4cdf18], eax
cmp eax, 0x3c
jae 0x40ac49
push 0x3c
pop eax
mov dword [0x4cdf18], eax
cmp dword [0x4cdf1c], edi
jne 0x40ac5b
mov dword [0x4cdf1c], 0xd2f00
cmp dword [0x4cdf20], edi
jne 0x40ac68
mov dword [0x4cdf20], eax
call fcn.00402def
mov ecx, 0x4c7650
call fcn.0040b364
push 0x4ccc40
push 0x4cd342
push str._s._s
mov ebp, 0x4cd3c2
push ebp
call fcn.0040d69e
mov eax, dword [0x4cdf58]
add esp, 0x10
cmp eax, edi
mov edx, 0x4cc4c8
jne 0x40acb1
cmp dword [0x4cdf5c], edi
je 0x40ad26
push str.Section__ZONE_REPLICATION__Missing_Primary_Server
jmp 0x40ad10
mov esi, dword [0x4cdf5c]
cmp esi, edi
jne 0x40acc2
push str.Section__ZONE_REPLICATION__Missing_Secondary_Server
jmp 0x40ad10
push eax
push 0x7d
call fcn.0040a1ea
mov edi, eax
test edi, edi
pop ecx
pop ecx
je 0x40acf4
push esi
push 0x7d
call fcn.0040a1ea
test eax, eax
pop ecx
pop ecx
je 0x40ace7
push str.Section__ZONE_REPLICATION__Primary__Secondary_should_be_Different_Boxes
jmp 0x40ad10
test edi, edi
je 0x40acf4
mov byte [0x4f5e85], 1
jmp 0x40ad2f
push esi
push 0x7d
call fcn.0040a1ea
test eax, eax
pop ecx
pop ecx
je 0x40ad0b
mov byte [0x4f5e85], 2
jmp 0x40ad63
push str.Section__ZONE_REPLICATION__No_Server_IP_not_found_on_this_Machine
push ebx
call fcn.0040d69e
cmp byte [0x4f5e82], 1
pop ecx
pop ecx
jb 0x40ad26
call fcn.0040be4d
cmp byte [0x4f5e85], 2
je 0x40ad63
push ebp
push 0x4cd042
call fcn.0040d70d
push ebp
push 0x4ccf42
call fcn.0040d70d
mov esi, 0x4cd342
push esi
push 0x4cd242
call fcn.0040d70d
push esi
push 0x4cd142
call fcn.0040d70d
add esp, 0x20
push dword [esp + 0x18]
push dword [esp + 0x20]
call fcn.00409902
and dword [esp + 0x20], 0
cmp byte [0x4f5e80], 0
pop ecx
pop ecx
mov ebp, 0x4c5b20
jbe 0x40ae3f
mov edi, 0x4de464
cmp byte [0x4f5e82], 1
jb 0x40ae3f
push str.DHCP_Range:
lea eax, [esp + 0x18]
mov dword [esp + 0x18], ebx
call fcn.0040d92e
pop ecx
push dword [edi - 4]
mov esi, eax
add esi, ebx
mov dword [esp + 0x18], esi
call dword [0x4969b0]
push ebp
call fcn.0040a18e
pop ecx
push eax
push 0x49b564
lea eax, [esp + 0x1c]
call fcn.0040d92e
pop ecx
pop ecx
push dword [edi]
add esi, eax
mov dword [esp + 0x18], esi
call dword [0x4969b0]
push ebp
call fcn.0040a18e
pop ecx
push eax
push 0x49c244
lea eax, [esp + 0x1c]
call fcn.0040d92e
add esi, eax
mov eax, dword [edi + 4]
push ebp
mov dword [esp + 0x20], esi
call fcn.0040a18e
add esp, 0xc
push eax
push 0x49c248
lea eax, [esp + 0x1c]
call fcn.0040d92e
push 2
push ebx
call fcn.0040bdf3
movzx eax, byte [0x4f5e80]
add esp, 0x10
inc dword [esp + 0x18]
add edi, 0x1c
cmp dword [esp + 0x18], eax
jl 0x40ad8e
cmp byte [0x4f5e85], 0
je 0x40ae60
push dword [0x4cdf58]
call fcn.0040903d
pop ecx
push dword [0x4cdf5c]
call fcn.0040903d
pop ecx
mov eax, dword [0x4cded8]
cmp dword [0x4ccaa4], eax
jae 0x40ae72
mov dword [0x4ccaa4], eax
push dword [esp + 0x1c]
mov byte [esp + 0x17], 0
call dword [0x496994]
and dword [esp + 0x14], 0
mov dword [0x4cc0e0], eax
mov ebp, 0x4cc0e0
mov esi, 0x4c7656
cmp dword [ebp], 0
je 0x40af93
and dword [esp + 0x18], 0
push 0x11
push 2
push 2
call dword [0x4969bc]
cmp eax, 0xffffffff
mov dword [esi - 6], eax
jne 0x40aed8
push str.Failed_to_Create_Socket
push ebx
mov byte [esp + 0x1b], 1
call fcn.0040d69e
push 1
push ebx
call fcn.0040bdf3
add esp, 0x10
jmp 0x40af84
lea edi, [esi - 2]
mov word [edi], 2
mov eax, dword [ebp]
push 0x43
mov dword [esi + 2], eax
call dword [0x4969b4]
push 4
pop ecx
push ecx
mov word [esi], ax
lea eax, [esi + 0x1a]
push eax
push 0x20
push 0xffff
push dword [esi - 6]
mov dword [eax], 1
mov dword [esi + 0x1e], ecx
call dword [0x4969a8]
jmp 0x40af3f
call dword [0x4969c0]
cmp eax, 0x2741
jne 0x40afe3
cmp dword [esp + 0x18], 4
jge 0x40afe3
inc dword [esp + 0x18]
push 0x3e8
call dword [0x4961f0]
push 0x10
push edi
push dword [esi - 6]
call dword [0x4969ac]
cmp eax, 0xffffffff
je 0x40af14
mov eax, dword [esi - 6]
mov byte [esi + 0x32], 1
mov byte [esi + 0x33], 1
cmp dword [0x4ccaa4], eax
jae 0x40af68
mov dword [0x4ccaa4], eax
mov eax, dword [ebp]
inc dword [esp + 0x14]
mov dword [esi + 0xe], eax
mov eax, dword [ebp + 0x1f4]
mov dword [esi + 0x16], eax
mov word [esi + 0x12], 0x43
add esi, 0x3c
add ebp, 4
cmp ebp, 0x4cc2d4
jl 0x40ae95
mov ebp, 0x4cc0e0
mov edi, 0x4c939c
cmp dword [ebp], 0
je 0x40b0c8
push 0x11
push 2
push 2
call dword [0x4969bc]
cmp eax, 0xffffffff
mov dword [edi], eax
jne 0x40b016
push str.Failed_to_Create_Socket
push ebx
mov byte [esp + 0x1b], 1
call fcn.0040d69e
pop ecx
pop ecx
cmp byte [0x4f5e82], 1
jb 0x40b0b9
call fcn.0040be4d
jmp 0x40b0b9
push eax
push str.Failed_to_bind_Socket___d_
push ebx
call fcn.0040d69e
add esp, 0xc
push 1
push ebx
call fcn.0040bdf3
mov eax, dword [esp + 0x1c]
imul eax, eax, 0x3c
pop ecx
pop ecx
push dword [eax + 0x4c7650]
call dword [0x496998]
push 0x10
jmp 0x40b34a
lea esi, [edi + 4]
mov word [esi], 2
mov eax, dword [ebp]
push 0x35
mov dword [esi + 4], eax
call dword [0x4969b4]
push 4
mov word [esi + 2], ax
lea eax, [esp + 0x20]
push eax
push 4
push 0xffff
push dword [edi]
mov dword [esp + 0x30], 1
call dword [0x4969a8]
push 0x10
push esi
push dword [edi]
call dword [0x4969ac]
cmp eax, 0xffffffff
jne 0x40b093
call dword [0x4969c0]
push dword [edi]
mov byte [esp + 0x17], 1
call dword [0x496998]
mov eax, dword [ebp]
push 0x4c5b20
call fcn.0040a18e
pop ecx
push eax
push str.Warning:__s_UDP_Port_53_already_in_use
push ebx
call fcn.0040d69e
add esp, 0xc
jmp 0x40afcc
mov eax, dword [edi]
mov byte [esi + 0x26], 1
mov byte [esi + 0x27], 1
cmp dword [0x4ccaa4], eax
jae 0x40b0aa
mov dword [0x4ccaa4], eax
mov eax, dword [ebp]
mov dword [edi + 0x24], eax
mov word [edi + 0x28], 0x35
add edi, 0x2c
add ebp, 4
cmp ebp, 0x4cc2d4
jl 0x40af9d
push 0x11
push 2
push 2
call dword [0x4969bc]
cmp eax, 0xffffffff
mov dword [0x4ca918], eax
jne 0x40b100
push str.Failed_to_Create_Socket
push ebx
mov byte [esp + 0x1b], 1
call fcn.0040d69e
cmp byte [0x4f5e82], 1
pop ecx
pop ecx
jb 0x40b139
call fcn.0040be4d
jmp 0x40b139
cmp dword [0x4ccaa4], eax
mov ecx, dword [0x4cc8b0]
mov word [0x4ca91c], 2
mov dword [0x4ca93c], ecx
mov word [0x4ca940], 0x35
mov byte [0x4ca942], 1
mov byte [0x4ca943], 1
jae 0x40b139
mov dword [0x4ccaa4], eax
mov ebp, dword [0x496998]
mov edi, 0x4cc0e0
mov esi, 0x4ca948
cmp dword [edi], 0
je 0x40b22b
push 6
push 1
push 2
call dword [0x4969bc]
cmp eax, 0xffffffff
mov dword [esi - 4], eax
jne 0x40b172
mov byte [esp + 0x13], 1
push str.Failed_to_Create_Socket
jmp 0x40b1de
mov word [esi], 2
mov eax, dword [edi]
push 0x35
mov dword [esi + 4], eax
call dword [0x4969b4]
push 0x10
push esi
push dword [esi - 4]
mov word [esi + 2], ax
call dword [0x4969ac]
cmp eax, 0xffffffff
jne 0x40b1c1
push dword [esi - 4]
mov byte [esp + 0x17], 1
call ebp
mov eax, dword [edi]
push 0x4c5b20
call fcn.0040a18e
pop ecx
push eax
push str.Warning:__s_TCP_Port_53_already_in_use
push ebx
call fcn.0040d69e
add esp, 0xc
jmp 0x40b1e6
push 0x7fffffff
push dword [esi - 4]
call dword [0x496984]
cmp eax, 0xffffffff
jne 0x40b1f6
push dword [esi - 4]
call ebp
push str.TCP_Port_53_Error_on_Listen
push ebx
call fcn.0040d69e
pop ecx
pop ecx
cmp byte [0x4f5e82], 1
jb 0x40b21c
call fcn.0040be4d
jmp 0x40b21c
mov eax, dword [edi]
mov dword [esi + 0x20], eax
mov eax, dword [esi - 4]
mov word [esi + 0x24], 0x35
mov byte [esi + 0x26], 1
mov byte [esi + 0x27], 1
cmp dword [0x4ccaa4], eax
jae 0x40b219
mov dword [0x4ccaa4], eax
add esi, 0x2c
add edi, 4
cmp edi, 0x4cc2d4
jl 0x40b149
inc dword [0x4ccaa4]
mov byte [esp + 0x12], 0
movzx eax, byte [esp + 0x12]
mov eax, dword [eax*4 + 0x4cbeec]
test eax, eax
je 0x40b258
push eax
call fcn.0040903d
inc byte [esp + 0x16]
cmp byte [esp + 0x16], 0x7d
pop ecx
jb 0x40b236
mov byte [esp + 0x12], 0
movzx eax, byte [esp + 0x12]
mov eax, dword [eax*4 + 0x4cc8b0]
test eax, eax
je 0x40b27f
push eax
call fcn.0040903d
inc byte [esp + 0x16]
cmp byte [esp + 0x16], 0x7d
pop ecx
jb 0x40b25d
cmp byte [esp + 0x13], 0
je 0x40b28e
inc dword [0x4f5e68]
jmp 0x40b295
and dword [0x4f5e68], 0
cmp byte [0x4c7689], 0
je 0x40b2b0
cmp byte [0x4c93c7], 0
je 0x40b2b0
cmp byte [0x4ca96f], 0
jne 0x40b2c4
push str.No_Static_Interface_ready__Waiting...
push ebx
call fcn.0040d69e
pop ecx
pop ecx
call fcn.0040bdb4
jmp 0x40b326
mov esi, 0x4cc4c8
mov eax, dword [esi]
test eax, eax
je 0x40b31f
xor dl, dl
movzx ecx, dl
mov edi, ecx
imul edi, edi, 0x3c
cmp dword [edi + 0x4c7664], eax
je 0x40b2f5
imul ecx, ecx, 0x2c
cmp dword [ecx + 0x4c93c0], eax
je 0x40b2f5
inc dl
cmp dl, 0x7d
jb 0x40b2d1
jmp 0x40b314
push 0x4c5b20
call fcn.0040a18e
pop ecx
push eax
push str.Listening_On:__s
push ebx
call fcn.0040d69e
add esp, 0xc
call fcn.0040bdb4
add esi, 4
cmp esi, 0x4cc6bc
jl 0x40b2c9
mov byte [0x4ccaa9], 1
xor eax, eax
jmp 0x40b34b
push ebx
push str.IpV4_is_Error__s
mov ebx, 0x4c5820
push ebx
call fcn.0040d69e
add esp, 0xc
push 1
push ebx
call fcn.0040bdf3
pop ecx
pop ecx
push 0x20
pop eax
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004862e5
add esp, 0x9c
ret