Function at 0x140009fc0
Capabilities:
Initialize winsock library

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1e8
mov rcx, qword [0x140011030]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rdx, [rsp + 0x48]
mov ecx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x14000a009
mov edx, eax
lea rcx, str.Fatal:_Could_not_initialize_Windows_sockets__Error:__d_._n
mov ebx, eax
call fcn.14000aa60
jmp 0x14000a8e6
mov r13, qword [0x140011080]
xor ecx, ecx
mov rsi, qword [0x140011010]
mov rbx, qword [0x140011000]
mov dword [r13], ecx
mov rdx, qword [rsi]
mov ecx, dword [rbx]
lea r8, str.a:N:B:m:t:A:R:u:g:L:p:i:H:P:l:r:U:W:C:c:F:O:o:x:T:K:E:M:j:SseDdVvqkZ
call fcn.140002970
test eax, eax
jle 0x14000a4d7
lea edx, [rax - 0x41]
cmp edx, 0x37
ja case.0x14000a057.70
lea rcx, [0x14000eb74]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
mov ecx, 0x1d
call fcn.140009670
mov rax, qword [0x140011070]
mov rax, qword [rax]
mov qword [0x14000df30], rax
jmp case.0x14000a057.68
mov ecx, 0x1c
call fcn.140009670
mov rax, qword [0x140011070]
mov rdx, qword [rax]
mov rax, qword [0x140010fd0]
mov qword [rax], rdx
mov rax, qword [0x140010c40]
jmp 0x14000a329
mov ecx, 0x1e
call fcn.140009670
xor edx, edx
mov r8d, 1
mov ecx, 0x78
call fcn.140008f40
mov rdx, qword [0x140010c30]
mov byte [rdx], al
jmp case.0x14000a057.68
mov ecx, 0xe
call fcn.140009670
jmp 0x14000a204
mov edx, 1
mov ecx, 0x6d
mov r8d, 0x7fffffff
call fcn.140008f40
mov rdx, qword [0x140010cf0]
mov ecx, 4
mov dword [rdx], eax
jmp 0x14000a48b
mov edx, 1
mov ecx, 0x74
mov r8d, 0x258
call fcn.140008f40
mov rdx, qword [0x140010d30]
mov ecx, 5
mov dword [rdx], eax
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov ecx, 6
mov rax, qword [rax]
mov qword [0x14000dde0], rax
jmp 0x14000a48b
mov rax, qword [0x140011070]
lea rdx, [0x14000ea58]
mov rcx, qword [rax]
mov qword [0x14000ddc0], rcx
call sub.msvcrt.dll_strcmp
test eax, eax
jne case.0x14000a057.68
xor edx, edx
mov qword [0x14000ddc0], rdx
jmp case.0x14000a057.68
mov rax, qword [0x140011070]
mov rcx, qword [0x140010cc0]
mov rdx, qword [rax]
call fcn.140008c60
test eax, eax
je case.0x14000a057.70
mov ecx, 0x13
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov ecx, 7
mov rdx, qword [rax]
mov rax, qword [0x140010ff0]
mov qword [rax], rdx
jmp 0x14000a48b
cmp eax, 0x76
mov rax, qword [0x140011050]
mov ecx, 8
sete byte [rax]
jmp 0x14000a48b
mov ecx, 0x12
call fcn.140009670
xor edx, edx
mov r8d, 3
mov ecx, 0x6f
call fcn.140008f40
mov rdx, qword [0x140010d10]
mov dword [rdx], eax
jmp case.0x14000a057.68
inc byte [0x14000dec0]
mov ecx, 3
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rax, qword [rax]
mov qword [0x14000dbe0], rax
jmp case.0x14000a057.68
mov rax, qword [0x140011070]
mov rax, qword [rax]
mov qword [0x14000dbc0], rax
jmp case.0x14000a057.68
mov rax, qword [0x140010c60]
cmp byte [rax], 0
jne case.0x14000a057.70
mov rax, qword [0x140010c80]
cmp byte [rax], 0
jne case.0x14000a057.68
mov byte [0x14000de40], 1
jmp case.0x14000a057.68
mov rax, qword [0x140010c80]
cmp byte [rax], 0
jne case.0x14000a057.68
mov byte [0x14000de40], 2
jmp case.0x14000a057.68
xor edx, edx
mov ecx, 0x4b
mov r8d, 3
call fcn.140008f40
mov rdx, qword [0x140010dc0]
mov ecx, 0x18
movsx eax, al
mov dword [rdx], eax
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [0x140010c00]
mov rdx, qword [rax]
call fcn.140008c60
test eax, eax
je case.0x14000a057.70
mov ecx, 0x19
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [0x140010d60]
mov rdx, qword [rax]
call fcn.140008c60
test eax, eax
je case.0x14000a057.70
mov ecx, 0x1b
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [0x140010cd0]
mov rdx, qword [rax]
call fcn.140008c60
test eax, eax
je case.0x14000a057.70
mov ecx, 0x1a
jmp 0x14000a48b
mov rax, qword [0x140011040]
mov byte [rax], 1
jmp case.0x14000a057.68
xor edx, edx
mov ecx, 0x72
mov r8d, 2
call fcn.140008f40
mov rdx, qword [0x140010d20]
mov ecx, 1
mov byte [rdx], al
jmp 0x14000a48b
xor edx, edx
mov ecx, 0x43
mov r8d, 0x7fff
call fcn.140008f40
mov rdx, qword [0x140010cb0]
mov ecx, 2
mov word [rdx], ax
jmp 0x14000a48b
xor edx, edx
mov ecx, 0x48
mov r8d, 0xffff
call fcn.140008f40
mov rdx, qword [0x140010c50]
mov ecx, 0x14
mov word [rdx], ax
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [rax]
call fcn.14000c360
mov r8d, 0x3c
xor edx, edx
mov ecx, eax
div r8d
cmp ecx, 0x3b
ja 0x14000a3ca
mov edx, 0x52
jmp 0x14000a403
mov rdx, qword [0x140010da0]
mov ecx, 0xa
mov dword [rdx], eax
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [rax]
call fcn.14000c360
mov r8d, 0x3c
xor edx, edx
mov ecx, eax
div r8d
cmp ecx, 0x3b
ja 0x14000a419
mov edx, 0x41
lea rcx, [0x14000ea5a]
call fcn.14000aa60
mov ecx, 0x57
call sub.msvcrt.dll_exit
mov rdx, qword [0x140010d90]
mov ecx, 9
mov dword [rdx], eax
jmp 0x14000a48b
cmp eax, 0x64
mov rax, qword [0x140010c20]
mov ecx, 0xb
sete byte [rax]
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [0x140010d80]
mov rdx, qword [rax]
call fcn.140008c60
test eax, eax
je case.0x14000a057.70
mov rax, qword [0x140010c70]
mov ecx, 0xf
mov byte [rax], 1
jmp 0x14000a48b
mov rax, qword [0x140011070]
mov rcx, qword [0x140010d70]
mov rdx, qword [rax]
call fcn.140008c60
test eax, eax
je case.0x14000a057.70
mov ecx, 0x10
call fcn.140009670
jmp case.0x14000a057.68
mov rax, qword [0x140010c80]
cmp byte [rax], 0
jne case.0x14000a057.68
mov rax, qword [0x140010db0]
lea rcx, str.vlmcsd__s__i_bit_n
mov r8d, 0x40
mov rdx, qword [rax]
call fcn.14000aba0
call fcn.14000aa00
call fcn.14000a9e0
call fcn.14000aa40
xor ecx, ecx
jmp 0x14000a414
mov rax, qword [0x140011090]
mov edi, dword [rbx]
cmp dword [rax], edi
je 0x14000a4e9
call fcn.14000c500
cmp qword [0x14000dbe0], 0
jne 0x14000a4ff
mov rax, qword [0x14000dbc0]
cmp byte [rax], 0
je 0x14000a508
cmp byte [0x14000de40], 1
jne case.0x14000a057.70
cmp qword [0x14000ddc0], 0
je 0x14000a543
mov ecx, 1
call fcn.14000ad50
test eax, eax
jne 0x14000a543
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [0x14000ddc0]
lea rcx, str.Warning:_Cant_read__s:__s_n
mov r8, rax
call fcn.14000aa60
call fcn.140009890
mov rax, qword [0x140010c70]
mov rbp, qword [0x140010c90]
cmp byte [rax], 0
jne 0x14000a590
mov rax, qword [rbp]
mov rdx, qword [0x140010d80]
mov al, byte [rax + 9]
and eax, 1
mov byte [rdx], al
mov rax, qword [0x140010c50]
mov ax, word [rax]
test ax, ax
je 0x14000a590
mov rcx, qword [0x140010d20]
cmp byte [rcx], 0
je 0x14000a590
cmp ax, 0x1db1
seta byte [rdx]
mov rax, qword [rbp]
movzx ecx, byte [rax + 8]
shl rcx, 5
call fcn.14000c6c0
mov rdx, rax
mov rax, qword [0x140010ca0]
mov rdi, rdx
mov qword [rax], rdx
mov rax, qword [rbp]
movzx ecx, byte [rax + 8]
xor eax, eax
shl rcx, 5
rep stosb byte [rdi], al
lea rdi, str.a:N:B:m:t:A:R:u:g:L:p:i:H:P:l:r:U:W:C:c:F:O:o:x:T:K:E:M:j:SseDdVvqkZ
call fcn.14000a900
xor eax, eax
mov dword [r13], eax
mov rdx, qword [rsi]
mov ecx, dword [rbx]
mov r8, rdi
call fcn.140002970
test eax, eax
jle 0x14000a60a
cmp eax, 0x61
jne 0x14000a5d3
mov rax, qword [0x140011070]
xor edx, edx
lea r8, str.command_line
mov rcx, qword [rax]
call fcn.1400093f0
test eax, eax
jne 0x14000a5d3
jmp case.0x14000a057.70
cmp qword [0x14000ddc0], 0
je 0x14000a645
mov ecx, 2
call fcn.14000ad50
test eax, eax
jne 0x14000a645
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [0x14000ddc0]
lea rcx, str.Warning:_Cant_read__s:__s_n
mov r8, rax
call fcn.14000aa60
mov rax, qword [0x140010cd0]
cmp byte [rax], 0
je 0x14000a656
call fcn.140007230
mov rbx, qword [0x140010cf0]
mov edx, dword [rbx]
cmp edx, 0x7ffffffe
ja 0x14000a6b2
mov rax, qword [0x140010c60]
cmp byte [rax], 0
jne 0x14000a6b2
mov r8d, edx
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov rdx, qword [0x140010ce0]
mov qword [rdx], rax
test rax, rax
jne 0x14000a6b2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000c810
lea rcx, str.Warning:_Could_not_create_semaphore:__s_n
mov rdx, rax
call fcn.14000aa60
mov dword [rbx], 0x7fffffff
movsx ecx, byte [0x14000de40]
test cl, cl
je 0x14000a6d7
mov r8, qword [0x14000dbc0]
mov rdx, qword [0x14000dbe0]
call fcn.1400073c0
mov ebx, eax
jmp 0x14000a8e6
mov rsi, qword [0x140010c60]
mov rcx, qword [0x14000df30]
mov al, byte [rsi]
test rcx, rcx
je 0x14000a70d
test al, al
je 0x14000a708
call fcn.14000abf0
mov rax, qword [0x140010d20]
cmp byte [rax], 1
jne 0x14000a722
call fcn.14000ac20
jmp 0x14000a722
call fcn.14000bea0
cmp byte [rsi], 0
jne 0x14000a6f0
call fcn.14000bc20
mov ebx, eax
test eax, eax
je 0x14000a6f0
jmp 0x14000a8e6
mov rax, qword [0x140011050]
cmp byte [rax], 0
jne 0x14000a743
mov rdi, qword [0x140010c80]
cmp byte [rdi], 0
je 0x14000a7f7
jmp 0x14000a821
xor ebx, ebx
lea r15, str.unknown
lea rdi, str.fixed
lea r14, str.random
mov rax, qword [rbp]
movzx edx, byte [rax + 8]
cmp edx, ebx
jle 0x14000a72e
mov r13, rbx
shl r13, 5
lea r12, [rax + r13 + 0x48]
mov rcx, qword [r12]
call fcn.140008f20
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.140008f20
mov rdx, qword [rsp + 0x38]
cmp byte [rax], 0
mov r8, rax
jne 0x14000a798
mov r8, r15
mov rcx, qword [0x140010ca0]
mov r10, qword [0x140010d20]
mov rax, qword [rcx]
mov r11b, byte [r10]
add rax, r13
mov rcx, qword [rax]
test rcx, rcx
jne 0x14000a7cb
lea rcx, [0x14000ea16]
mov r9, r14
cmp r11b, 2
je 0x14000a7de
mov rcx, qword [r12]
dec r11b
mov r9, rdi
jne 0x14000a7de
cmp byte [rax + 0x18], 0
mov r9, rdi
cmovne r9, r14
mov qword [rsp + 0x20], rcx
lea rcx, str.Using_CSVLK__s___s__with__s_ePID__s_n
inc rbx
call fcn.140009ea0
jmp 0x14000a75a
mov edx, 1
lea rcx, [0x14000c340]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x14000a821
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Warning:_Could_not_register_Windows_signal_handler:_Error__u_n
mov edx, eax
call fcn.140009ea0
mov rcx, qword [0x14000dde0]
mov al, byte [rsi]
test rcx, rcx
je 0x14000a88b
test al, al
jne 0x14000a8a6
lea rdx, [0x14000eb27]
call sub.msvcrt.dll_fopen
mov rbx, rax
test rax, rax
je 0x14000a868
call sub.msvcrt.dll__getpid
mov rcx, rbx
lea rdx, [0x14000e84c]
mov r8d, eax
call fcn.1400088e0
mov rcx, rbx
call sub.msvcrt.dll_fclose
jmp 0x14000a88b
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [0x14000dde0]
lea rcx, str.Warning:_Cannot_write_pid_file__s.__s._n
mov r8, rax
call fcn.140009ea0
cmp byte [rsi], 0
jne 0x14000a8a6
mov rax, qword [0x140010db0]
lea rcx, str.vlmcsd__s_started_successfully_n
mov rdx, qword [rax]
call fcn.140009ea0
cmp byte [rdi], 0
je 0x14000a8bd
mov r8d, 0xc8
xor edx, edx
mov ecx, 4
call fcn.1400079c0
call fcn.14000b8d0
mov ebx, eax
mov rax, qword [0x140010d40]
cmp byte [rax], 0
jne 0x14000a8d7
call fcn.140008720
jmp 0x14000a8e6
xor r8d, r8d
xor edx, edx
mov ecx, 1
call fcn.1400079c0
add rsp, 0x1e8
mov eax, ebx
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret