Function at 0x43f010
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2dc
mov eax, dword [0x6a0f4c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2ac], 0
push 0
push 1
push 0x17
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jge 0x43f082
push 1
lea ecx, [ebp - 0xa8]
call fcn.00409eb0
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x2b4]
sub ecx, 4
call fcn.004016e0
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MSVCP90.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
or eax, 0xffffffff
jmp 0x43f210
push 4
push 0x618164
push 4
push 0xffff
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jge 0x43f0e1
push 1
lea ecx, [ebp - 0x128]
call fcn.00409eb0
mov dword [ebp - 0x2b8], eax
lea edx, [ebp - 0xdc]
mov dword [ebp - 0x2bc], edx
mov ecx, dword [ebp - 0x2bc]
sub ecx, 4
call fcn.004016e0
lea ecx, [ebp - 0xdc]
call dword [sym.imp.MSVCP90.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
or eax, 0xffffffff
jmp 0x43f210
push 4
push 0x618164
push 0x1b
push 0x29
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jge 0x43f13b
push 1
lea ecx, [ebp - 0x1a8]
call fcn.00409eb0
mov dword [ebp - 0x2c0], eax
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [ebp - 0x2c4]
sub ecx, 4
call fcn.004016e0
lea ecx, [ebp - 0x15c]
call dword [sym.imp.MSVCP90.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
or eax, 0xffffffff
jmp 0x43f210
push 0x1c
push 0
lea edx, [ebp - 0x20]
push edx
call sub.MSVCR90.dll_memset
add esp, 0xc
mov eax, 0x17
mov word [ebp - 0x20], ax
mov ecx, dword [0x61e7a8]
mov dword [ebp - 0x18], ecx
mov edx, dword [0x61e7ac]
mov dword [ebp - 0x14], edx
mov eax, dword [0x61e7b0]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x61e7b4]
mov dword [ebp - 0xc], ecx
movzx edx, word [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1e], ax
push 0x1c
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.WS2_32.dll_bind]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x43f1ce
push 1
lea ecx, [ebp - 0x228]
call fcn.00409eb0
mov dword [ebp - 0x2c8], eax
lea ecx, [ebp - 0x1dc]
call fcn.00409fa0
lea ecx, [ebp - 0x1dc]
call dword [sym.imp.MSVCP90.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
or eax, 0xffffffff
jmp 0x43f210
push 5
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.WS2_32.dll_listen]
test eax, eax
jge 0x43f20d
push 1
lea ecx, [ebp - 0x2a8]
call fcn.00409eb0
mov dword [ebp - 0x2d4], eax
lea ecx, [ebp - 0x25c]
call fcn.00409fa0
lea ecx, [ebp - 0x25c]
call dword [sym.imp.MSVCP90.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
or eax, 0xffffffff
jmp 0x43f210
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005fff12
mov esp, ebp
pop ebp
ret