Function at 0x1007d46d
Capabilities:
Create tcp socket
Get local ipv4 addresses
Get socket information
Start tcp server

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push 0xffffffffffffffff
lea eax, [esi + 0x18]
push 0xffffffffffffffff
push eax
call edi
xor ebx, ebx
inc ebx
cmp eax, ebx
je 0x1007d699
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [esi + 0x18]
push eax
call edi
cmp eax, ebx
je 0x1007d692
push 6
push ebx
mov dword [esi + 0x30], ebx
mov ebx, dword [sym.imp.WS2_32.dll_socket]
push 2
call ebx
xor edi, edi
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
jne 0x1007d4ec
push str.srv___INVALID_SOCKET
push 0x32b
push str...monometadata_threadpool.c
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
push 6
push 1
push 2
call ebx
mov dword [esi + 0x20], eax
cmp eax, 0xffffffff
jne 0x1007d51b
push str.data__pipe__1____INVALID_SOCKET
push 0x32d
push str...monometadata_threadpool.c
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
push 2
pop eax
push str.127.0.0.1
mov word [ebp - 0x14], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x10
mov dword [ebp - 0x10], eax
xor eax, eax
pop ebx
mov word [ebp - 0x12], ax
push ebx
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_bind]
test eax, eax
je 0x1007d55e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 0x10137508
call fcn.1000100d
pop ecx
pop ecx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call dword [sym.imp.WS2_32.dll_getsockname]
push 1
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_listen]
push edi
push edi
lea eax, [ebp - 0x14]
push eax
push 0x1007c045
push edi
push edi
call fcn.1007df7e
add esp, 0x18
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call dword [sym.imp.WS2_32.dll_accept]
mov dword [esi + 0x1c], eax
mov ebx, str...monometadata_threadpool.c
cmp eax, 0xffffffff
jne 0x1007d5d1
push str.data__pipe__0____INVALID_SOCKET
push 0x33d
push ebx
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
push dword [ebp - 0x28]
call dword [sym.imp.WS2_32.dll_closesocket]
push 0xffffffffffffffff
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 2
push 0x1000230d
push sym.mono.dll_mono_get_inflated_method
call sym.mono.dll_mono_g_hash_table_new_type
add esp, 0xc
mov dword [esi + 0x24], eax
cmp dword [esi + 0x30], edi
je 0x1007d638
push edi
push 1
push 1
push edi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov dword [esi + 0x28], eax
cmp eax, edi
jne 0x1007d638
push str.data__new_sem___NULL
push 0x346
push ebx
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
push edi
push bind
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov dword [0x101f77dc], eax
cmp eax, edi
jne 0x1007d66a
push str.io_job_added___NULL
push 0x349
push ebx
push str._Assertion_at__s:_d__condition___s_not_met_n
push 4
push edi
call fcn.100010d9
add esp, 0x18
cmp dword [esi + 0x30], edi
je 0x1007d685
push 1
push esi
push 0x1007d138
call sym.mono.dll_mono_get_root_domain
push eax
call fcn.1007faf9
add esp, 0x10
push edi
push 1
lea eax, [esi + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret