Function at 0x402ddd
Capabilities:
Get socket status
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x134
call dbg.debug_is_active
test eax, eax
je 0x402e5c
call dbg.debug_get_time_stack_tabs
mov ebx, eax
call dbg.debug_get_time_str_now
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408475
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sym._fprintf
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x25
mov dword [esp + 4], 1
mov dword [esp], 0x408728
call sym._fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sym._fputc
mov eax, dword [0x40c020]
add eax, 1
mov dword [0x40c020], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.socket_list_debug_dump
jmp 0x402efb
call dbg.debug_is_active
test eax, eax
je 0x402eee
call dbg.debug_get_time_stack_tabs
mov ebx, eax
call dbg.debug_get_time_str_now
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408475
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sym._fprintf
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x12
mov dword [esp + 4], 1
mov dword [esp], str.Going_to_remove...
call sym._fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sym._fputc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
call sym._liblist_list_remove_curr
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], dbg.sock_remove_marked_for_removal_list_traverse_func
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._liblist_list_traverse
cmp eax, 1
je 0x402e79
lea eax, [ebp - 0x110]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dbg.socket_list2fd_set
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
test eax, eax
jne 0x402f51
mov dword [ebp - 0xc], 0
jmp 0x402f6e
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x114], 0
lea eax, [ebp - 0x118]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
call sym._liblist_list_empty
test eax, eax
jne 0x403065
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [ebp - 0x110]
mov dword [esp + 4], eax
mov dword [esp], 0x1f4
call sym._select_20
sub esp, 0x14
test eax, eax
js 0x403059
call dbg.debug_is_active
test eax, eax
je 0x403030
call dbg.debug_get_time_stack_tabs
mov ebx, eax
call dbg.debug_get_time_str_now
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408475
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sym._fprintf
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xb
mov dword [esp + 4], 1
mov dword [esp], str.selected...
call sym._fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sym._fputc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], dbg.sock_handle_event_list_traverse_func
lea edx, [ebp - 0x110]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._liblist_list_traverse
jmp 0x403065
mov dword [esp], str.select_failed
call sym._perror
mov eax, dword [0x40c020]
sub eax, 1
mov dword [0x40c020], eax
call dbg.debug_is_active
test eax, eax
je 0x4030e7
call dbg.debug_get_time_stack_tabs
mov ebx, eax
call dbg.debug_get_time_str_now
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x408475
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sym._fprintf
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x25
mov dword [esp + 4], 1
mov dword [esp], str._socket_list_select_and_handle_events
call sym._fwrite
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sym._fputc
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp], eax
call sym._liblist_list_empty
test eax, eax
sete al
movzx eax, al
mov ebx, dword [ebp - 4]
leave
ret