Function at 0x405a8f
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x198
push ebx
push ebp
push esi
push edi
push 0x40ab20
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [esp + 0x18]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov esi, eax
test esi, esi
je 0x405ad1
push esi
push str.Fatal:_Could_not_initialize_Windows_sockets__Error:__d_._n
call fcn.00404029
pop ecx
jmp 0x405dd8
call fcn.00405358
cmp dword [0x40a9b0], 0
mov ebp, str.Warning:_Cant_read__s:__s_n
mov edi, dword [sym.imp.msvcrt.dll_strerror]
mov ebx, dword [sym.imp.msvcrt.dll__errno]
je 0x405b12
mov cl, 1
call fcn.004051ba
test eax, eax
jne 0x405b12
call ebx
push dword [eax]
call edi
pop ecx
push eax
push dword [0x40a9b0]
push ebp
call fcn.00404029
add esp, 0xc
call fcn.0040200b
cmp byte [0x40a985], 0
mov esi, dword [0x40a980]
jne 0x405b53
mov al, byte [esi + 9]
and al, 1
mov byte [0x40a83e], al
mov ax, word [0x40a98c]
test ax, ax
je 0x405b53
cmp byte [0x40a83d], 0
je 0x405b53
mov ecx, 0x1db1
cmp ax, cx
seta byte [0x40a83e]
movzx eax, byte [esi + 8]
shl eax, 4
push eax
call dword [sym.imp.msvcrt.dll_malloc]
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x405b75
call fcn.00401dca
mov esi, dword [0x40a980]
mov ecx, eax
movzx eax, byte [esi + 8]
shl eax, 4
push eax
push 0
push ecx
mov dword [0x40ab48], ecx
call sub.msvcrt.dll_memset
and dword [0x40a938], 0
add esp, 8
mov dword [0x40a934], 1
jmp 0x405bc2
cmp eax, 0x61
jne 0x405bc1
mov ecx, dword [0x40ab04]
xor dl, dl
push str.command_line
call fcn.00404fe2
pop ecx
test eax, eax
je 0x405de3
push ecx
call fcn.00405edc
pop ecx
test eax, eax
jg 0x405ba1
cmp dword [0x40a9b0], 0
je 0x405bf7
mov cl, 2
call fcn.004051ba
test eax, eax
jne 0x405bf7
call ebx
push dword [eax]
call edi
pop ecx
push eax
push dword [0x40a9b0]
push ebp
call fcn.00404029
add esp, 0xc
cmp byte [0x40a987], 0
je 0x405c05
call fcn.004022a0
call fcn.00405881
cmp byte [0x40a9ad], 0
je 0x405c1f
push ecx
call fcn.00403eba
pop ecx
jmp 0x405ddb
cmp dword [0x40a9b4], 0
je 0x405c36
cmp byte [0x40a976], 0
jne 0x405c4c
call fcn.00406772
cmp byte [0x40a976], 0
jne 0x405c4c
call fcn.004058d0
test eax, eax
jne 0x405ddb
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.msvcrt.dll_srand]
pop ecx
mov cl, byte [0x40a83d]
cmp cl, 1
jne 0x405c70
call fcn.004027d9
mov cl, byte [0x40a83d]
cmp byte [0x40a986], 0
je 0x405d50
mov edx, dword [0x40a980]
xor ebx, ebx
cmp byte [edx + 8], bl
jbe 0x405d50
xor edi, edi
xor ebp, ebp
mov esi, dword [edx + ebp + 0x48]
mov edx, esi
lea eax, [edx + 1]
mov dword [esp + 0x10], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x405c9f
sub edx, dword [esp + 0x10]
lea eax, [edx + 1]
add eax, esi
mov edx, eax
mov dword [esp + 0x10], eax
lea eax, [edx + 1]
mov dword [esp + 0x14], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x405cbc
sub edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
inc eax
add eax, edx
mov edx, str.unknown
cmp byte [eax], 0
cmovne edx, eax
mov dword [esp + 0x14], edx
mov edx, dword [0x40ab48]
mov eax, dword [edi + edx]
test eax, eax
je 0x405d08
mov esi, eax
cmp cl, 1
jne 0x405cf8
cmp byte [edi + edx + 0xc], 0
jne 0x405d01
cmp cl, 2
jne 0x405d14
test eax, eax
jne 0x405d14
mov eax, str.random
jmp 0x405d19
cmp cl, 2
jne 0x405cec
mov esi, 0x40819d
jmp 0x405cfd
mov eax, str.fixed
push esi
push eax
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push str.Using_CSVLK__s___s__with__s_ePID__s_n
call fcn.00404019
mov edx, dword [0x40a980]
add esp, 0x14
inc ebx
add ebp, 0x20
add edi, 0x10
movzx eax, byte [edx + 8]
cmp ebx, eax
jge 0x405d50
mov cl, byte [0x40a83d]
jmp 0x405c92
cmp byte [0x40a83f], 0
jne 0x405d7d
push 1
push 0x405334
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x405d7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Warning:_Could_not_register_Windows_signal_handler:_Error__u_n
call fcn.00404019
pop ecx
pop ecx
call fcn.004057cc
cmp byte [0x40a976], 0
jne 0x405d9c
push str.1114_dev_39_gb646710__built_2023_08_28_23:23:37_UTC
push str.vlmcsd__s_started_successfully_n
call fcn.00404019
pop ecx
pop ecx
cmp byte [0x40a83f], 0
je 0x405db5
push 0xc8
push 4
xor edx, edx
pop ecx
call fcn.004039d1
pop ecx
call fcn.004038e2
cmp byte [0x40a98f], 0
mov esi, eax
jne 0x405dcc
call fcn.00405833
jmp 0x405dd9
xor ecx, ecx
xor edx, edx
push 0
inc ecx
call fcn.004039d1
pop ecx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040498c
int3