Function at 0x14000c3b0
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 [0x1400130b0]
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 0x14000c3f9
mov edx, eax
lea rcx, str.Fatal:_Could_not_initialize_Windows_sockets__Error:__d_._n
mov ebx, eax
call fcn.14000ce50
jmp 0x14000ccd6
mov r13, qword [0x140013100]
xor ecx, ecx
mov rsi, qword [0x140013090]
mov rbx, qword [0x140013080]
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.1400030d0
test eax, eax
jle 0x14000c8c7
lea edx, [rax - 0x41]
cmp edx, 0x37
ja case.0x14000c447.70
lea rcx, [0x140010b74]
movsxd rdx, dword [rcx + rdx*4]
add rdx, rcx
jmp rdx
mov ecx, 0x1d
call fcn.14000ba60
mov rax, qword [0x1400130f0]
mov rax, qword [rax]
mov qword [0x14000ff50], rax
jmp case.0x14000c447.68
mov ecx, 0x1c
call fcn.14000ba60
mov rax, qword [0x1400130f0]
mov rdx, qword [rax]
mov rax, qword [0x140013050]
mov qword [rax], rdx
mov rax, qword [0x140012cc0]
jmp 0x14000c719
mov ecx, 0x1e
call fcn.14000ba60
xor edx, edx
mov r8d, 1
mov ecx, 0x78
call fcn.14000b330
mov rdx, qword [0x140012cb0]
mov byte [rdx], al
jmp case.0x14000c447.68
mov ecx, 0xe
call fcn.14000ba60
jmp 0x14000c5f4
mov edx, 1
mov ecx, 0x6d
mov r8d, 0x7fffffff
call fcn.14000b330
mov rdx, qword [0x140012d70]
mov ecx, 4
mov dword [rdx], eax
jmp 0x14000c87b
mov edx, 1
mov ecx, 0x74
mov r8d, 0x258
call fcn.14000b330
mov rdx, qword [0x140012db0]
mov ecx, 5
mov dword [rdx], eax
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov ecx, 6
mov rax, qword [rax]
mov qword [0x14000fe00], rax
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
lea rdx, [0x140010a58]
mov rcx, qword [rax]
mov qword [0x14000fde0], rcx
call sub.msvcrt.dll_strcmp
test eax, eax
jne case.0x14000c447.68
xor edx, edx
mov qword [0x14000fde0], rdx
jmp case.0x14000c447.68
mov rax, qword [0x1400130f0]
mov rcx, qword [0x140012d40]
mov rdx, qword [rax]
call fcn.14000b050
test eax, eax
je case.0x14000c447.70
mov ecx, 0x13
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov ecx, 7
mov rdx, qword [rax]
mov rax, qword [0x140013070]
mov qword [rax], rdx
jmp 0x14000c87b
cmp eax, 0x76
mov rax, qword [0x1400130d0]
mov ecx, 8
sete byte [rax]
jmp 0x14000c87b
mov ecx, 0x12
call fcn.14000ba60
xor edx, edx
mov r8d, 3
mov ecx, 0x6f
call fcn.14000b330
mov rdx, qword [0x140012d90]
mov dword [rdx], eax
jmp case.0x14000c447.68
inc byte [0x14000fee0]
mov ecx, 3
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rax, qword [rax]
mov qword [0x14000fc00], rax
jmp case.0x14000c447.68
mov rax, qword [0x1400130f0]
mov rax, qword [rax]
mov qword [0x14000fbe0], rax
jmp case.0x14000c447.68
mov rax, qword [0x140012ce0]
cmp byte [rax], 0
jne case.0x14000c447.70
mov rax, qword [0x140012d00]
cmp byte [rax], 0
jne case.0x14000c447.68
mov byte [0x14000fe60], 1
jmp case.0x14000c447.68
mov rax, qword [0x140012d00]
cmp byte [rax], 0
jne case.0x14000c447.68
mov byte [0x14000fe60], 2
jmp case.0x14000c447.68
xor edx, edx
mov ecx, 0x4b
mov r8d, 3
call fcn.14000b330
mov rdx, qword [0x140012e40]
mov ecx, 0x18
movsx eax, al
mov dword [rdx], eax
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [0x140012c80]
mov rdx, qword [rax]
call fcn.14000b050
test eax, eax
je case.0x14000c447.70
mov ecx, 0x19
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [0x140012de0]
mov rdx, qword [rax]
call fcn.14000b050
test eax, eax
je case.0x14000c447.70
mov ecx, 0x1b
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [0x140012d50]
mov rdx, qword [rax]
call fcn.14000b050
test eax, eax
je case.0x14000c447.70
mov ecx, 0x1a
jmp 0x14000c87b
mov rax, qword [0x1400130c0]
mov byte [rax], 1
jmp case.0x14000c447.68
xor edx, edx
mov ecx, 0x72
mov r8d, 2
call fcn.14000b330
mov rdx, qword [0x140012da0]
mov ecx, 1
mov byte [rdx], al
jmp 0x14000c87b
xor edx, edx
mov ecx, 0x43
mov r8d, 0x7fff
call fcn.14000b330
mov rdx, qword [0x140012d30]
mov ecx, 2
mov word [rdx], ax
jmp 0x14000c87b
xor edx, edx
mov ecx, 0x48
mov r8d, 0xffff
call fcn.14000b330
mov rdx, qword [0x140012cd0]
mov ecx, 0x14
mov word [rdx], ax
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [rax]
call fcn.14000e750
mov r8d, 0x3c
xor edx, edx
mov ecx, eax
div r8d
cmp ecx, 0x3b
ja 0x14000c7ba
mov edx, 0x52
jmp 0x14000c7f3
mov rdx, qword [0x140012e20]
mov ecx, 0xa
mov dword [rdx], eax
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [rax]
call fcn.14000e750
mov r8d, 0x3c
xor edx, edx
mov ecx, eax
div r8d
cmp ecx, 0x3b
ja 0x14000c809
mov edx, 0x41
lea rcx, [0x140010a5a]
call fcn.14000ce50
mov ecx, 0x57
call sub.msvcrt.dll_exit
mov rdx, qword [0x140012e10]
mov ecx, 9
mov dword [rdx], eax
jmp 0x14000c87b
cmp eax, 0x64
mov rax, qword [0x140012ca0]
mov ecx, 0xb
sete byte [rax]
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [0x140012e00]
mov rdx, qword [rax]
call fcn.14000b050
test eax, eax
je case.0x14000c447.70
mov rax, qword [0x140012cf0]
mov ecx, 0xf
mov byte [rax], 1
jmp 0x14000c87b
mov rax, qword [0x1400130f0]
mov rcx, qword [0x140012df0]
mov rdx, qword [rax]
call fcn.14000b050
test eax, eax
je case.0x14000c447.70
mov ecx, 0x10
call fcn.14000ba60
jmp case.0x14000c447.68
mov rax, qword [0x140012d00]
cmp byte [rax], 0
jne case.0x14000c447.68
mov rax, qword [0x140012e30]
lea rcx, str.vlmcsd__s__i_bit_n
mov r8d, 0x40
mov rdx, qword [rax]
call fcn.14000cf90
call fcn.14000cdf0
call fcn.14000cdd0
call fcn.14000ce30
xor ecx, ecx
jmp 0x14000c804
mov rax, qword [0x140013110]
mov edi, dword [rbx]
cmp dword [rax], edi
je 0x14000c8d9
call fcn.14000e8f0
cmp qword [0x14000fc00], 0
jne 0x14000c8ef
mov rax, qword [0x14000fbe0]
cmp byte [rax], 0
je 0x14000c8f8
cmp byte [0x14000fe60], 1
jne case.0x14000c447.70
cmp qword [0x14000fde0], 0
je 0x14000c933
mov ecx, 1
call fcn.14000d140
test eax, eax
jne 0x14000c933
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [0x14000fde0]
lea rcx, str.Warning:_Cant_read__s:__s_n
mov r8, rax
call fcn.14000ce50
call fcn.14000bc80
mov rax, qword [0x140012cf0]
mov rbp, qword [0x140012d10]
cmp byte [rax], 0
jne 0x14000c980
mov rax, qword [rbp]
mov rdx, qword [0x140012e00]
mov al, byte [rax + 9]
and eax, 1
mov byte [rdx], al
mov rax, qword [0x140012cd0]
mov ax, word [rax]
test ax, ax
je 0x14000c980
mov rcx, qword [0x140012da0]
cmp byte [rcx], 0
je 0x14000c980
cmp ax, 0x1db1
seta byte [rdx]
mov rax, qword [rbp]
movzx ecx, byte [rax + 8]
shl rcx, 5
call fcn.14000eab0
mov rdx, rax
mov rax, qword [0x140012d20]
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.14000ccf0
xor eax, eax
mov dword [r13], eax
mov rdx, qword [rsi]
mov ecx, dword [rbx]
mov r8, rdi
call fcn.1400030d0
test eax, eax
jle 0x14000c9fa
cmp eax, 0x61
jne 0x14000c9c3
mov rax, qword [0x1400130f0]
xor edx, edx
lea r8, str.command_line
mov rcx, qword [rax]
call fcn.14000b7e0
test eax, eax
jne 0x14000c9c3
jmp case.0x14000c447.70
cmp qword [0x14000fde0], 0
je 0x14000ca35
mov ecx, 2
call fcn.14000d140
test eax, eax
jne 0x14000ca35
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [0x14000fde0]
lea rcx, str.Warning:_Cant_read__s:__s_n
mov r8, rax
call fcn.14000ce50
mov rax, qword [0x140012d50]
cmp byte [rax], 0
je 0x14000ca46
call fcn.140009620
mov rbx, qword [0x140012d70]
mov edx, dword [rbx]
cmp edx, 0x7ffffffe
ja 0x14000caa2
mov rax, qword [0x140012ce0]
cmp byte [rax], 0
jne 0x14000caa2
mov r8d, edx
xor r9d, r9d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov rdx, qword [0x140012d60]
mov qword [rdx], rax
test rax, rax
jne 0x14000caa2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14000ec00
lea rcx, str.Warning:_Could_not_create_semaphore:__s_n
mov rdx, rax
call fcn.14000ce50
mov dword [rbx], 0x7fffffff
movsx ecx, byte [0x14000fe60]
test cl, cl
je 0x14000cac7
mov r8, qword [0x14000fbe0]
mov rdx, qword [0x14000fc00]
call fcn.1400097b0
mov ebx, eax
jmp 0x14000ccd6
mov rsi, qword [0x140012ce0]
mov rcx, qword [0x14000ff50]
mov al, byte [rsi]
test rcx, rcx
je 0x14000cafd
test al, al
je 0x14000caf8
call fcn.14000cfe0
mov rax, qword [0x140012da0]
cmp byte [rax], 1
jne 0x14000cb12
call fcn.14000d010
jmp 0x14000cb12
call fcn.14000e290
cmp byte [rsi], 0
jne 0x14000cae0
call fcn.14000e010
mov ebx, eax
test eax, eax
je 0x14000cae0
jmp 0x14000ccd6
mov rax, qword [0x1400130d0]
cmp byte [rax], 0
jne 0x14000cb33
mov rdi, qword [0x140012d00]
cmp byte [rdi], 0
je 0x14000cbe7
jmp 0x14000cc11
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 0x14000cb1e
mov r13, rbx
shl r13, 5
lea r12, [rax + r13 + 0x48]
mov rcx, qword [r12]
call fcn.14000b310
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.14000b310
mov rdx, qword [rsp + 0x38]
cmp byte [rax], 0
mov r8, rax
jne 0x14000cb88
mov r8, r15
mov rcx, qword [0x140012d20]
mov r10, qword [0x140012da0]
mov rax, qword [rcx]
mov r11b, byte [r10]
add rax, r13
mov rcx, qword [rax]
test rcx, rcx
jne 0x14000cbbb
lea rcx, [0x140010a16]
mov r9, r14
cmp r11b, 2
je 0x14000cbce
mov rcx, qword [r12]
dec r11b
mov r9, rdi
jne 0x14000cbce
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.14000c290
jmp 0x14000cb4a
mov edx, 1
lea rcx, [0x14000e730]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x14000cc11
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.14000c290
mov rcx, qword [0x14000fe00]
mov al, byte [rsi]
test rcx, rcx
je 0x14000cc7b
test al, al
jne 0x14000cc96
lea rdx, [0x140010b27]
call sub.msvcrt.dll_fopen
mov rbx, rax
test rax, rax
je 0x14000cc58
call sub.msvcrt.dll__getpid
mov rcx, rbx
lea rdx, [0x14001084c]
mov r8d, eax
call fcn.14000acd0
mov rcx, rbx
call sub.msvcrt.dll_fclose
jmp 0x14000cc7b
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rdx, qword [0x14000fe00]
lea rcx, str.Warning:_Cannot_write_pid_file__s.__s._n
mov r8, rax
call fcn.14000c290
cmp byte [rsi], 0
jne 0x14000cc96
mov rax, qword [0x140012e30]
lea rcx, str.vlmcsd__s_started_successfully_n
mov rdx, qword [rax]
call fcn.14000c290
cmp byte [rdi], 0
je 0x14000ccad
mov r8d, 0xc8
xor edx, edx
mov ecx, 4
call fcn.140009db0
call fcn.14000dcc0
mov ebx, eax
mov rax, qword [0x140012dc0]
cmp byte [rax], 0
jne 0x14000ccc7
call fcn.14000ab10
jmp 0x14000ccd6
xor r8d, r8d
xor edx, edx
mov ecx, 1
call fcn.140009db0
add rsp, 0x1e8
mov eax, ebx
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret