Function at 0x10045dc0
Capabilities:
Create tcp socket
Create udp socket
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e8
mov eax, dword [0x1006de68]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x194], 1
mov dword [ebp - 0x17c], 0
lea eax, [ebp - 0x164]
push eax
call fcn.1002e7d0
add esp, 4
mov ecx, 1
imul edx, ecx, 0
mov dword [ebp - 0x190], edx
cmp dword [ebp - 0x190], 0x100
jae 0x10045e12
jmp 0x10045e17
call fcn.10059a86
mov eax, dword [ebp - 0x190]
mov byte [ebp + eax - 0x104], 0
mov dword [ebp - 0x168], 0xffffffff
mov dword [ebp - 0x16c], 0xffffffff
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x170], 0
call dword [sym.imp.MSVCR120.dll__errno]
mov dword [eax], 0
push 0
push 1
push 2
call sub.WSOCK32.dll_socket
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0
jae 0x10045eed
push 0x105a3eb0
call dword [sym.imp.MSVCR120.dll__errno]
push eax
call fcn.10046a60
add esp, 8
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [0x105a3eb0]
push ecx
push 1
call fcn.1002ed90
add esp, 0xc
mov edx, dword [ebp + 0x18]
push edx
push 0x7d2
push 2
call fcn.1002ed90
add esp, 0xc
mov dword [ebp - 0x16c], 0x3ee
push str.Failed_call_to_system_routine_socket
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
mov dword [ebp - 0x170], 0xffffffff
jmp 0x10046632
call dword [sym.imp.MSVCR120.dll__errno]
mov dword [eax], 0
push 4
lea ecx, [ebp - 0x194]
push ecx
push 8
push 0xffff
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call sub.WSOCK32.dll_setsockopt
test eax, eax
jge 0x10045fa1
push 0x105a3eb0
call dword [sym.imp.MSVCR120.dll__errno]
push eax
call fcn.10046a60
add esp, 8
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [0x105a3eb0]
push edx
push 1
call fcn.1002ed90
add esp, 0xc
mov eax, dword [ebp + 0x18]
push eax
push 0x7d3
push 2
call fcn.1002ed90
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x16c], 0x3ee
push str.Failed_call_to_system_routine_setsockopt_for_option_SO_KEEPALIVE
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
push 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.10044b40
add esp, 8
mov dword [ebp - 0x170], 0xffffffff
jmp 0x10046632
call dword [sym.imp.MSVCR120.dll__errno]
mov dword [eax], 0
push 4
lea eax, [ebp - 0x194]
push eax
push 4
push 0xffff
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call sub.WSOCK32.dll_setsockopt
test eax, eax
jge 0x10046055
push 0x105a3eb0
call dword [sym.imp.MSVCR120.dll__errno]
push eax
call fcn.10046a60
add esp, 8
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [0x105a3eb0]
push ecx
push 1
call fcn.1002ed90
add esp, 0xc
mov edx, dword [ebp + 0x18]
push edx
push 0x7d4
push 2
call fcn.1002ed90
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x16c], 0x3ee
push str.Failed_call_to_system_routine_setsockopt_for_option_SO_REUSEADDR
lea edx, [ebp - 0x104]
push edx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
push 0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.10044b40
add esp, 8
mov dword [ebp - 0x170], 0xffffffff
jmp 0x10046632
call dword [sym.imp.MSVCR120.dll__errno]
mov dword [eax], 0
mov dword [ebp - 0x180], 0xfa00
push 4
lea edx, [ebp - 0x180]
push edx
push 0x1002
push 0xffff
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call sub.WSOCK32.dll_setsockopt
test eax, eax
jge 0x10046115
push 0x105a3eb0
call dword [sym.imp.MSVCR120.dll__errno]
push eax
call fcn.10046a60
add esp, 8
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [0x105a3eb0]
push eax
push 1
call fcn.1002ed90
add esp, 0xc
mov ecx, dword [ebp + 0x18]
push ecx
push 0x7d8
push 2
call fcn.1002ed90
add esp, 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x16c], 0x3ee
push str.Failed_call_to_system_routine_setsockopt_for_option_SO_RCVBUF
lea ecx, [ebp - 0x104]
push ecx
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
push 0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call fcn.10044b40
add esp, 8
mov dword [ebp - 0x170], 0xffffffff
jmp 0x10046632
mov dword [ebp - 0x180], 0xfa00
push 4
lea ecx, [ebp - 0x180]
push ecx
push 0x1001
push 0xffff
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call sub.WSOCK32.dll_setsockopt
test eax, eax
jge 0x100461ca
push 0x105a3eb0
call dword [sym.imp.MSVCR120.dll__errno]
push eax
call fcn.10046a60
add esp, 8
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [0x105a3eb0]
push edx
push 1
call fcn.1002ed90
add esp, 0xc
mov eax, dword [ebp + 0x18]
push eax
push 0x7ed
push 2
call fcn.1002ed90
add esp, 0xc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x16c], 0x3ee
push str.Failed_call_to_system_routine_setsockopt_for_option_SO_SNDBUF
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
add esp, 8
push 0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.10044b40
add esp, 8
mov dword [ebp - 0x170], 0xffffffff
jmp 0x10046632
jmp 0x105b6a98
cmp dword [ebp - 0x16c], 0
jle 0x10046678
lea edx, [ebp - 0x164]
push edx
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x184]
push edx
mov eax, dword [ebp - 0x18c]
push eax
mov ecx, dword [ebp - 0x178]
push ecx
mov edx, dword [ebp - 0x168]
push edx
mov eax, dword [ebp - 0x16c]
push eax
call fcn.1001d030
add esp, 0x20
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10059cde
mov esp, ebp
pop ebp
ret