Function at 0x1405d60
Capabilities:
Accept command line arguments
Initialize winsock library

Disassembly:
sub esp, 0x194
lea eax, [esp + 4]
push ebx
push esi
push eax
push 2
call sub.WSOCK32.dll_WSAStartup
mov ecx, dword [0x145783c]
mov esi, dword [ecx]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ecx, dword [0x145783c]
push eax
call dword [esi]
mov edx, dword [str.swds.dll]
push edx
call fcn.01404f10
add esp, 4
xor ebx, ebx
cmp eax, ebx
mov dword [0x145fecc], eax
push ebx
jne 0x1405dc3
push str.Half_Life_Dedicated_Server_Error
push str.Unable_to_load_engine__image_is_corrupt.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x194
ret
mov ecx, dword [0x145783c]
mov dword [0x145fe90], 0x14053c0
push str._steam
mov esi, str.filesystem_stdio.dll
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
je 0x1405deb
mov esi, str.filesystem_steam.dll
push esi
call fcn.01404f10
push eax
mov dword [0x145fea4], eax
call fcn.01404f60
add esp, 8
cmp eax, ebx
mov dword [0x145fea8], eax
jne 0x1405e14
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x194
ret
push ebx
push str.VFileSystem009
call eax
add esp, 8
cmp eax, ebx
mov dword [0x145de08], eax
jne 0x1405e34
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x194
ret
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov ecx, dword [0x145783c]
mov byte [0x145feb4], 1
push ebx
push str._steam
mov eax, dword [ecx]
call dword [eax + 8]
test eax, eax
jne 0x1405eb0
mov ecx, dword [0x145783c]
lea eax, [esp + 8]
mov dword [esp + 8], ebx
push eax
mov edx, dword [ecx]
push str._console
call dword [edx + 8]
test eax, eax
je 0x1405eb0
cmp dword [esp + 8], ebx
je 0x1405eb0
mov byte [0x145feb4], bl
push ebx
mov ecx, 0x145de10
call fcn.01404500
test al, al
jne 0x1405f79
push ebx
push str.Half_Life_Dedicated_Server_Error
push str.Failed_to_initialize_console.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
xor eax, eax
pop ebx
add esp, 0x194
ret
cmp byte [0x145feb4], bl
je 0x1405e80
call fcn.01405a40
mov dword [0x145fec4], ebx
call fcn.01405560
cmp byte [0x145feb4], bl
je 0x1405f1d
mov ecx, dword [0x145fec8]
cmp byte [ecx + 0x83], bl
je 0x1405f07
call fcn.01406050
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x14]
test al, al
je 0x1405f07
call fcn.01406050
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x18]
mov eax, dword [0x145fec8]
cmp byte [eax + 0x83], bl
jne 0x1405ede
cmp byte [0x145feb4], bl
je 0x1405f1d
mov ecx, dword [0x145fec8]
cmp byte [ecx + 0x82], bl
jne 0x1405f22
call fcn.01405780
mov eax, dword [0x145fec0]
cmp eax, ebx
je 0x1405f34
push eax
call fcn.0142ebc0
add esp, 4
mov ecx, dword [0x145de08]
cmp ecx, ebx
je 0x1405f43
mov edx, dword [ecx]
call dword [edx + 8]
mov eax, dword [0x145fea4]
push eax
call fcn.014053f0
mov eax, dword [0x145febc]
add esp, 4
cmp eax, ebx
je 0x1405f69
push eax
call fcn.014053f0
add esp, 4
mov dword [0x145febc], ebx
call sub.WSOCK32.dll_WSACleanup
pop esi
xor eax, eax
pop ebx
add esp, 0x194
ret
call fcn.01405590
test eax, eax
je 0x1405f6e
push 0x8c
mov ecx, 0x145de10
call fcn.014048f0
push 1
push 0x1405600
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x1405ebd
push ebx
push str.Half_Life_Dedicated_Server_Error
push str.Unable_to_set_control_handler
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop esi
xor eax, eax
pop ebx
add esp, 0x194
ret