Function at 0x40faf5
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040fa75
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x40fb5f
mov eax, 0
jmp 0x40ff50
mov dword [ebp - 0x28], esp
push 4
push dword [ebp + 0xc]
lea eax, [ebp - 4]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x40fb94
push 0x62
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 0xc]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e6be]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
fld qword [ebp - 0x34]
call fcn.00401272
push eax
lea eax, [ebp - 8]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fbe1
push 0xb7
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 0xc]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e831]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
fld qword [ebp - 0x34]
call fcn.00401272
push eax
lea eax, [ebp - 0xc]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fc2e
push 0xfd
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp + 0xc]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e839]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
fld qword [ebp - 0x34]
call fcn.00401272
push eax
lea eax, [ebp - 0x10]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fc7b
push 0x143
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x28], esp
push 1
push 0
push 0
push 6
push 1
push 2
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSASocketW]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x40fcc2
push 0x284
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40fcd9
mov eax, 0
jmp 0x40ff50
push 0xa000
push dword [ebp - 4]
call fcn.0040ff56
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x40fd29
mov dword [ebp - 0x28], esp
push dword [ebp - 0x14]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x40fd1f
push 0x397
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
mov eax, 0
jmp 0x40ff50
fild dword [ebp - 0x18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e839]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
mov eax, 0x65
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
fld qword [ebp - 0x34]
call fcn.00401272
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fd7e
push 0x3f5
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp - 0x18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e893]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
lea eax, [ebp - 0x14]
push eax
fld qword [ebp - 0x34]
call fcn.00401272
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fdcb
push 0x43e
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp - 0x18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e88b]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
lea eax, [ebp + 0xc]
push eax
fld qword [ebp - 0x34]
call fcn.00401272
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fe18
push 0x48d
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
fild dword [ebp - 0x18]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x46e841]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
push 4
fld qword [ebp - 0x34]
call fcn.00401272
push eax
lea eax, [ebp - 0x1c]
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlMoveMemory]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x40fe65
push 0x4e8
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
push 0x80000301
push 0
push dword [ebp - 0x14]
push 1
mov ebx, 0x9dc
call fcn.004405b0
add esp, 0x10
push eax
push 0x3c
push dword [ebp - 0x1c]
call fcn.00410668
push dword [ebp - 0x18]
mov eax, 0
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push 0x20
push 0x20
push 0
push dword [ebp - 0x1c]
push dword [ebp - 0x14]
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.004106c7
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x40ff46
mov dword [ebp - 0x28], esp
xor eax, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x40fef4
push 0x662
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x3e5
je 0x40ff46
mov dword [ebp - 0x28], esp
push dword [ebp - 0x14]
xor eax, eax
call dword [sym.imp.WS2_32.dll_closesocket]
nop
nop
cmp dword [ebp - 0x28], esp
je 0x40ff30
push 0x6a8
push 0x402ecb7
push 6
call fcn.0043e37c
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.004106e1
mov eax, 0
jmp 0x40ff50
mov eax, 1
jmp 0x40ff50
mov esp, ebp
pop ebp
ret 8