Function at 0x401951
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x34
mov eax, dword [ebp + 8]
mov word [ebp - 0x1c], ax
call dbg.debug_is_active
test eax, eax
je 0x4019d4
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], 0x40e064
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], 0xf
mov dword [esp + 4], 1
mov dword [esp], 0x40e19c
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 [0x413020]
add eax, 1
mov dword [0x413020], eax
cmp word [ebp - 0x1c], 0
je 0x4019f8
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call dbg.try_listen
mov dword [ebp - 0xc], eax
jmp 0x401a06
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call dbg.try_ipv4_listen
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x401aac
call dbg.debug_is_active
test eax, eax
je 0x401a7c
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], 0x40e064
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sym._fprintf
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], str....listening_in_port:_hu
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 + 4], eax
mov dword [esp], 0xa
call sym._fputc
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], dbg.vsocket_listen_event_handler
mov eax, dword [ebp - 0xc]
mov dword [esp + 4], eax
mov dword [esp], 0x418978
call dbg.socket_list_insert
jmp 0x401b3a
mov eax, dword [0x413020]
sub eax, 1
mov dword [0x413020], eax
call dbg.debug_is_active
test eax, eax
je 0x401b2e
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], 0x40e064
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], 0xf
mov dword [esp + 4], 1
mov dword [esp], str._listening_mode
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 dword [esp], 0
call sym._exit
call dbg.debug_is_active
test eax, eax
je 0x401baf
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], 0x40e064
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], 0x16
mov dword [esp + 4], 1
mov dword [esp], str....entering_main_cycle
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 dword [esp], 0x418978
call dbg.socket_list_select_and_handle_events
jmp 0x401b3a