Function at 0x180013bd0
Capabilities:
Initialize winsock library

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x980
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [r11 + 0x18], rbx
mov rax, qword [0x1800c34c8]
xor rax, rsp
mov qword [rsp + 0x970], rax
mov rbp, rdx
mov r12, rcx
mov qword [r11 - 0x738], rcx
mov qword [r11 - 0x918], rdx
mov qword [r11 - 0x8f0], 0xf
xor ebx, ebx
mov qword [r11 - 0x8f8], rbx
mov byte [rsp + 0xb0], bl
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rcx
lea rcx, [r11 - 0x910]
call fcn.180003f00
nop
movzx r13d, word [r12 + 0x28]
call fcn.1800148b0
movzx r14d, ax
call fcn.180016420
mov dword [rsp + 0x30], eax
mov word [rsp + 0x7d0], bx
xor edx, edx
mov r8d, 0x196
lea rcx, [rsp + 0x7d2]
call fcn.18003bb80
mov ecx, 0x202
lea rdx, [rsp + 0x7d0]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x180013ce8
cmp qword [rsp + 0xc8], 0x10
jb 0x180013cb1
mov rcx, qword [rsp + 0xb0]
call fcn.18003b7f8
mov qword [rsp + 0xc8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xc0], rbx
mov byte [rsp + 0xb0], 0
mov rcx, r12
call fcn.180013440
nop
mov rcx, rbp
call fcn.180014ac0
mov eax, 4
jmp 0x18001486c
cmp qword [rbp + 0x38], 0
jne 0x180013d3e
cmp qword [rsp + 0xc8], 0x10
jb 0x180013d07
mov rcx, qword [rsp + 0xb0]
call fcn.18003b7f8
mov qword [rsp + 0xc8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xc0], rbx
mov byte [rsp + 0xb0], 0
mov rcx, r12
call fcn.180013440
nop
mov rcx, rbp
call fcn.180014ac0
mov eax, 3
jmp 0x18001486c
lea rcx, [rsp + 0x180]
call fcn.18000baf0
nop
and dword [rsp + 0x58], 0xfffffe00
mov qword [rsp + 0x60], rbx
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov qword [rsp + 0xe8], rbx
mov byte [rsp + 0xd8], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [0x1800b1bec]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [0x1800b1bec]
lea rcx, [rsp + 0xd0]
call fcn.180005710
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x200]
call fcn.180003f00
lea rdx, [rsp + 0x208]
cmp qword [rsp + 0x220], 0x10
cmovae rdx, qword [rsp + 0x208]
mov r8, qword [rsp + 0x218]
add r8, rdx
mov byte [rsp + 0x20], 1
lea r9, [rsp + 0x50]
lea rcx, [rsp + 0x180]
call fcn.18000bbe0
nop
cmp qword [rsp + 0xf0], 0x10
jb 0x180013e11
mov rcx, qword [rsp + 0xd8]
call fcn.18003b7f8
and dword [rsp + 0x88], 0xfffffe00
mov qword [rsp + 0x90], rbx
mov rax, qword [rbp + 0x30]
mov rdi, qword [rax]
mov rbx, qword [rbp]
lea r15, vtable.Json::DefaultValueAllocator.0
mov rsi, qword [rbp + 0x30]
test rbx, rbx
je 0x180013e45
cmp rbx, qword [rbp]
je 0x180013e4a
call fcn.18003d5e8
cmp rdi, rsi
je 0x1800140eb
test rbx, rbx
jne 0x180013e62
call fcn.18003d5e8
xor r11d, r11d
jmp 0x180013e65
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x30]
jne 0x180013e70
call fcn.18003d5e8
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov qword [rsp + 0xe8], 0
mov byte [rsp + 0xd8], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rdi + 0x18]
lea rcx, [rsp + 0xd0]
call fcn.180003f00
nop
test rbx, rbx
jne 0x180013eb8
call fcn.18003d5e8
xor r11d, r11d
jmp 0x180013ebb
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x30]
jne 0x180013ec6
call fcn.18003d5e8
lea rdx, [rdi + 0x40]
mov qword [rsp + 0x150], reloc.WS2_32.dll_ntohs
xor esi, esi
mov qword [rsp + 0x148], rsi
mov byte [rsp + 0x138], sil
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rsp + 0x130]
call fcn.180003f00
nop
mov eax, dword [rsp + 0x70]
and eax, 0xffffff04
or eax, 0x104
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x78], rsi
mov eax, dword [0x1800c6db4]
test al, 1
jne 0x180013f3a
or eax, 1
mov dword [0x1800c6db4], eax
mov qword [0x1800c6d80], r15
lea rcx, [0x18009d8e0]
call fcn.18003b94c
lea rdx, [rsp + 0x138]
cmp qword [rsp + 0x150], 0x10
cmovae rdx, qword [rsp + 0x138]
mov rcx, qword [0x1800c5570]
mov rax, qword [rcx]
mov r8d, dword [rsp + 0x148]
call qword [rax + Ordinal_26]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae rdx, qword [rsp + 0xd8]
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.1800099f0
mov rsi, rax
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x38]
call fcn.180008b30
movsx edx, byte [rsi + 8]
movzx ecx, byte [rsp + 0x40]
mov byte [rsi + 8], cl
mov r8d, dword [rsp + 0x40]
xor edx, r8d
movzx ecx, dl
xor r8d, ecx
lea rax, [rsp + 0x38]
cmp rsi, rax
je 0x180013fdb
mov rax, qword [rsi]
mov rcx, qword [rsp + 0x38]
mov qword [rsi], rcx
mov qword [rsp + 0x38], rax
mov ecx, dword [rsi + 8]
mov edx, ecx
shl edx, 0x17
sar edx, 0x1f
mov eax, r8d
shl eax, 0x17
sar eax, 0x17
xor eax, ecx
and eax, 0x100
xor eax, ecx
mov dword [rsi + 8], eax
shl edx, 8
xor edx, r8d
and edx, 0x100
xor r8d, edx
mov dword [rsp + 0x40], r8d
lea rcx, [rsp + 0x38]
call fcn.180008ca0
nop
lea rcx, [rsp + 0x68]
call fcn.180008ca0
nop
cmp qword [rsp + 0x150], 0x10
jb 0x18001403d
mov rcx, qword [rsp + 0x138]
call fcn.18003b7f8
mov qword [rsp + 0x150], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x148], 0
mov byte [rsp + 0x138], 0
cmp qword [rsp + 0xf0], 0x10
jb 0x180014075
mov rcx, qword [rsp + 0xd8]
call fcn.18003b7f8
test rbx, rbx
jne 0x18001407f
call fcn.18003d5e8
cmp byte [rdi + 0x69], 0
je 0x18001408f
call fcn.18003d5e8
jmp 0x180013e36
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x1800140c1
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x180013e36
nop dword [rax]
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
je 0x1800140b0
jmp 0x180013e36
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x1800140e3
nop dword [rax + rax]
cmp rdi, qword [rax + 0x10]
jne 0x1800140e3
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], 0
je 0x1800140d0
mov rdi, rax
jmp 0x180013e36
lea rax, vtable.Json::FastWriter.0
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x120], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rsp + 0x118], rbx
mov byte [rsp + 0x108], bl
mov byte [rsp + 0x128], bl
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0xf8]
call fcn.180002700
nop
lea rax, vtable.CProtoHeader.0
mov qword [rsp + 0x290], rax
mov byte [rsp + 0x298], bl
mov dword [rsp + 0x29c], ebx
mov word [rsp + 0x2a4], bx
mov byte [rsp + 0x2a8], bl
mov byte [rsp + 0x299], bl
mov dword [rsp + 0x2a0], ebx
mov word [rsp + 0x2a6], bx
mov byte [rsp + 0x2a9], bl
lea r8, str.127.0.0.1
lea edx, [rbx + 0x20]
lea rcx, [rsp + 0x2aa]
call fcn.180043eb8
mov edx, 0x1f54
mov word [rsp + 0x2ca], dx
mov dword [rsp + 0x2cc], 5
xor edx, edx
mov r8d, 0x4b0
lea rcx, [rsp + 0x2d0]
call fcn.18003bb80
xor edx, edx
mov qword [rsp + 0x780], rdx
mov qword [rsp + 0x788], rdx
lea rcx, [rsp + 0x290]
call fcn.180018570
lea rsi, vtable.CProtoActionReport.0
mov qword [rsp + 0x290], rsi
lea rdi, vtable.CProtoString.0
mov qword [rsp + 0x7b0], rdi
mov qword [rsp + 0x7c0], rbx
mov word [rsp + 0x7b8], bx
mov byte [rsp + 0x7c8], bl
mov byte [rsp + 0x298], 1
mov dword [rsp + 0x29c], ebx
mov eax, 0xf05f
mov word [rsp + 0x2a4], ax
mov byte [rsp + 0x2a8], 1
mov word [rsp + 0x792], bx
mov word [rsp + 0x790], bx
mov qword [rsp + 0x798], rbx
mov eax, 8
mov word [rsp + 0x7a0], ax
mov dword [rsp + 0x7a4], 0xffffffff
mov qword [rsp + 0x7a8], rbx
cmp qword [rsp + 0xc8], 0x10
jb 0x180014290
mov r8, qword [rsp + 0xb0]
test r8, r8
je 0x1800142aa
jmp 0x180014298
lea r8, [rsp + 0xb0]
mov edx, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [rsp + 0x2aa]
call fcn.180043eb8
mov word [rsp + 0x2ca], r13w
mov dword [rsp + 0x2cc], 0xa
lea rdx, [rsp + 0x2aa]
lea rcx, [rsp + 0x290]
call fcn.1800184b0
mov rdx, qword [r12 + 0x60]
movzx ecx, word [r12 + 0x5a]
movzx eax, word [r12 + 0x58]
mov word [rsp + 0x790], ax
mov word [rsp + 0x792], cx
mov qword [rsp + 0x798], rdx
mov word [rsp + 0x7a0], r14w
mov r15d, dword [rsp + 0x30]
mov dword [rsp + 0x7a4], r15d
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov qword [rsp + 0xe8], rbx
mov byte [rsp + 0xd8], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0xd0]
call fcn.180003f00
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x290]
call fcn.1800191d0
test al, al
jne 0x1800145e2
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov qword [rsp + 0x290], rsi
mov rcx, qword [rsp + 0x7a8]
test rcx, rcx
je 0x180014388
call fcn.18003b7f8
mov qword [rsp + 0x7a8], rbx
mov qword [rsp + 0x7b0], rdi
cmp byte [rsp + 0x7c8], 0
je 0x1800143b4
mov rcx, qword [rsp + 0x7c0]
test rcx, rcx
je 0x1800143b4
call fcn.18003c748
mov qword [rsp + 0x7c0], rbx
mov word [rsp + 0x7b8], bx
mov byte [rsp + 0x7c8], 0
lea rax, vtable.CProtocol.0
mov qword [rsp + 0x7b0], rax
mov qword [rsp + 0x290], rax
cmp qword [rsp + 0x178], 0x10
jb 0x1800143fb
mov rcx, qword [rsp + 0x160]
call fcn.18003b7f8
mov qword [rsp + 0x178], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x170], rbx
mov byte [rsp + 0x160], 0
lea rax, vtable.Json::FastWriter.0
mov qword [rsp + 0xf8], rax
cmp qword [rsp + 0x120], 0x10
jb 0x18001443e
mov rcx, qword [rsp + 0x108]
call fcn.18003b7f8
mov qword [rsp + 0x120], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x118], rbx
mov byte [rsp + 0x108], 0
lea rax, vtable.Json::Writer.0
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0x80]
call fcn.180008ca0
nop
lea rcx, [rsp + 0x50]
call fcn.180008ca0
nop
cmp qword [rsp + 0x270], 0x10
jb 0x18001449a
mov rcx, qword [rsp + 0x258]
call fcn.18003b7f8
mov qword [rsp + 0x270], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x268], rbx
mov byte [rsp + 0x258], 0
cmp qword [rsp + 0x220], 0x10
jb 0x1800144ce
mov rcx, qword [rsp + 0x208]
call fcn.18003b7f8
mov qword [rsp + 0x220], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x218], rbx
mov byte [rsp + 0x208], 0
lea rcx, [rsp + 0x1c0]
call fcn.18000e660
mov rcx, qword [rsp + 0x1c0]
call fcn.18003b7f8
mov rdx, qword [rsp + 0x1b8]
test rdx, rdx
je 0x18001452c
test rdx, rdx
je 0x18001452c
sub rdx, 1
mov qword [rsp + 0x1b8], rdx
jne 0x180014511
mov qword [rsp + 0x1b0], rbx
mov rdi, qword [rsp + 0x1a8]
test rdi, rdi
je 0x180014563
mov rcx, qword [rsp + 0x1a0]
dec rdi
cmp qword [rcx + rdi*8], 0
je 0x18001455c
mov rcx, qword [rcx + rdi*8]
call fcn.18003b7f8
mov rcx, qword [rsp + 0x1a0]
test rdi, rdi
jne 0x180014541
jmp 0x18001456b
mov rcx, qword [rsp + 0x1a0]
test rcx, rcx
je 0x180014575
call fcn.18003b7f8
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x1a0], rbx
mov rcx, qword [rsp + 0x180]
call fcn.18003b7f8
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x1800145ab
mov rcx, qword [rsp + 0xb0]
call fcn.18003b7f8
mov qword [rsp + 0xc8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xc0], rbx
mov byte [rsp + 0xb0], 0
mov rcx, r12
call fcn.180013440
nop
mov rcx, rbp
call fcn.180014ac0
mov eax, 6
jmp 0x18001486c
xor edx, edx
lea rcx, [rsp + 0x290]
call fcn.180018ba0
call qword [sym.imp.WS2_32.dll_WSACleanup]
nop
mov qword [rsp + 0x290], rsi
mov rcx, qword [rsp + 0x7a8]
test rcx, rcx
je 0x180014612
call fcn.18003b7f8
mov qword [rsp + 0x7a8], rbx
mov qword [rsp + 0x7b0], rdi
cmp byte [rsp + 0x7c8], 0
je 0x18001463e
mov rcx, qword [rsp + 0x7c0]
test rcx, rcx
je 0x18001463e
call fcn.18003c748
mov qword [rsp + 0x7c0], rbx
mov word [rsp + 0x7b8], bx
mov byte [rsp + 0x7c8], 0
lea rax, vtable.CProtocol.0
mov qword [rsp + 0x7b0], rax
mov qword [rsp + 0x290], rax
cmp qword [rsp + 0x178], 0x10
jb 0x180014685
mov rcx, qword [rsp + 0x160]
call fcn.18003b7f8
mov qword [rsp + 0x178], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x170], rbx
mov byte [rsp + 0x160], 0
lea rax, vtable.Json::FastWriter.0
mov qword [rsp + 0xf8], rax
cmp qword [rsp + 0x120], 0x10
jb 0x1800146c8
mov rcx, qword [rsp + 0x108]
call fcn.18003b7f8
mov qword [rsp + 0x120], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x118], rbx
mov byte [rsp + 0x108], 0
lea rax, vtable.Json::Writer.0
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0x80]
call fcn.180008ca0
nop
lea rcx, [rsp + 0x50]
call fcn.180008ca0
nop
cmp qword [rsp + 0x270], 0x10
jb 0x180014724
mov rcx, qword [rsp + 0x258]
call fcn.18003b7f8
mov qword [rsp + 0x270], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x268], rbx
mov byte [rsp + 0x258], 0
cmp qword [rsp + 0x220], 0x10
jb 0x180014758
mov rcx, qword [rsp + 0x208]
call fcn.18003b7f8
mov qword [rsp + 0x220], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x218], rbx
mov byte [rsp + 0x208], 0
lea rcx, [rsp + 0x1c0]
call fcn.18000e660
mov rcx, qword [rsp + 0x1c0]
call fcn.18003b7f8
mov rdx, qword [rsp + 0x1b8]
test rdx, rdx
je 0x1800147bb
nop dword [rax + rax]
test rdx, rdx
je 0x1800147bb
sub rdx, 1
mov qword [rsp + 0x1b8], rdx
jne 0x1800147a0
mov qword [rsp + 0x1b0], rbx
mov rdi, qword [rsp + 0x1a8]
test rdi, rdi
je 0x1800147f2
mov rcx, qword [rsp + 0x1a0]
dec rdi
cmp qword [rcx + rdi*8], 0
je 0x1800147eb
mov rcx, qword [rcx + rdi*8]
call fcn.18003b7f8
mov rcx, qword [rsp + 0x1a0]
test rdi, rdi
jne 0x1800147d0
jmp 0x1800147fa
mov rcx, qword [rsp + 0x1a0]
test rcx, rcx
je 0x180014804
call fcn.18003b7f8
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x1a0], rbx
mov rcx, qword [rsp + 0x180]
call fcn.18003b7f8
nop
cmp qword [rsp + 0xc8], 0x10
jb 0x18001483a
mov rcx, qword [rsp + 0xb0]
call fcn.18003b7f8
mov qword [rsp + 0xc8], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xc0], rbx
mov byte [rsp + 0xb0], 0
mov rcx, r12
call fcn.180013440
nop
mov rcx, rbp
call fcn.180014ac0
mov eax, 3
mov rcx, qword [rsp + 0x970]
xor rcx, rsp
call fcn.18003c690
mov rbx, qword [rsp + 0x9d0]
add rsp, 0x980
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret