Function at 0x14017c410
Capabilities:
Initialize winsock library

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov r15, r9
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov rdx, qword [rdx + 0x170]
test rdx, rdx
je 0x140170780
mov r8, qword [rdi + 0x178]
lea rcx, [rbp + 0x10]
call fcn.14003a6f0
mov rax, qword [rbp + 0x10]
mov r13, qword [rbp + 0x18]
mov r12, qword [rbp + 0x20]
mov rcx, rax
neg rcx
jo 0x140170793
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x1401707c4
mov qword [rsi + 8], r13
mov qword [rsi + 0x10], r12
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x140170f02
mov qword [rbp - 8], 0
mov r13d, 1
xor r12d, r12d
jmp 0x1401707e4
test r12, r12
js 0x140170ff2
je 0x1401707ca
movzx eax, byte [0x1402a6198]
xor ecx, ecx
mov rdx, r12
call fcn.140188040
mov rbx, rax
test rax, rax
jne 0x1401707cf
mov ecx, 1
mov rdx, r12
call fcn.14003a3fc
mov qword [rbp - 8], rax
jmp 0x1401707e4
mov ebx, 1
mov rcx, rbx
mov rdx, r13
mov r8, r12
call sub.msvcrt.dll_memcpy
mov qword [rbp - 8], r12
mov r13, rbx
movabs rbx, 0x8000000000000000
mov qword [rbp], r13
mov qword [rbp + 8], r12
mov rax, qword [r14 + 0x18]
test rax, rax
je case.default.0x140170863
cmp word [r15 + 0xea], 5
jae 0x14017083b
dec rax
cmp rax, qword [r15 + 0x68]
jae case.default.0x140170863
mov rdx, qword [r15 + 0x60]
lea rax, [rax + rax*2]
lea rcx, [rdx + rax*8]
mov rax, qword [rdx + rax*8]
lea rdx, [0x1401a7ec4]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp qword [r15 + 0x68], rax
jbe case.default.0x140170863
mov rdx, qword [r15 + 0x60]
lea rax, [rax + rax*2]
lea rcx, [rdx + rax*8]
mov rax, qword [rdx + rax*8]
lea rdx, [0x1401a7e0c]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rax, qword [rcx + 8]
mov ecx, eax
shr ecx, 8
mov rdx, rax
shr rdx, 0x10
movabs r9, 0xffffffff00000000
and r9, rax
xor r8d, r8d
jmp 0x140170d7f
mov eax, dword [rcx + 8]
mov ecx, eax
shr ecx, 8
mov edx, eax
shr edx, 0x10
mov r8d, 4
jmp 0x140170d7c
movzx eax, byte [rcx + 8]
mov r8d, 2
jmp 0x140170d78
movzx eax, word [rcx + 8]
mov ecx, eax
shr ecx, 8
mov r8d, 3
jmp 0x140170d7a
mov rax, qword [rcx + 8]
mov ecx, eax
shr ecx, 8
mov rdx, rax
shr rdx, 0x10
movabs r9, 0xffffffff00000000
and r9, rax
mov r8d, 7
jmp 0x140170d7f
mov rax, qword [rcx + 8]
mov r10, qword [rcx + 0x10]
mov ecx, eax
shr ecx, 8
mov rdx, rax
shr rdx, 0x10
movabs r9, 0xffffffff00000000
and r9, rax
mov r8d, 1
jmp 0x140170d7f
mov rax, qword [rcx + 8]
mov ecx, eax
shr ecx, 8
mov rdx, rax
shr rdx, 0x10
movabs r9, 0xffffffff00000000
and r9, rax
mov r8d, 5
jmp 0x140170d7f
mov rax, qword [rcx + 8]
mov ecx, eax
shr ecx, 8
mov rdx, rax
shr rdx, 0x10
movabs r9, 0xffffffff00000000
and r9, rax
mov r8d, 6
jmp 0x140170d7f
mov rax, qword [rcx + 8]
mov r10, qword [rcx + 0x10]
mov ecx, eax
shr ecx, 8
mov rdx, rax
shr rdx, 0x10
movabs r9, 0xffffffff00000000
and r9, rax
mov r8d, 8
jmp 0x140170d7f
xor ecx, ecx
xor edx, edx
xor r9d, r9d
shl ecx, 8
movzx eax, al
or eax, ecx
shl edx, 0x10
movzx eax, ax
or eax, edx
or rax, r9
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r10
movzx r8d, byte [rdi + 0x49]
mov r9, qword [rdi + 0x188]
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x10]
mov rdx, qword [rbp + 0x90]
call fcn.14016bb50
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x20]
test byte [rbp + 0x10], 1
jne 0x140170e8c
lea rcx, [rbp - 0x20]
call fcn.14003a6f0
mov r12, qword [rbp - 0x20]
mov r15, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
lea rax, [rbx + 1]
cmp r12, rax
jne 0x140170dfc
mov qword [rsi + 8], r15
jmp 0x140170eb4
lea rcx, [rbp - 8]
mov rdx, r15
call fcn.1400173d4
shl r12, 1
test r12, r12
jne 0x140170e2d
mov rax, qword [r14]
lea rcx, [0x1401a7f7c]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp rdx
mov rcx, qword [r14 + 8]
mov qword [rbp + 0x18], rcx
jmp 0x140170e55
mov edx, 1
mov rcx, r15
call fcn.14003fe40
mov rax, qword [r14]
lea rcx, [0x1401a7f7c]
movsxd rdx, dword [rcx + rax*4]
add rdx, rcx
jmp rdx
movzx ecx, byte [r14 + 8]
mov byte [rbp + 0x18], cl
mov qword [rbp + 0x10], rax
movzx r8d, byte [rdi + 0x49]
mov r9, qword [rdi + 0x188]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x20]
mov rdx, qword [rbp + 0x90]
call fcn.14016bb50
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
test byte [rbp - 0x20], 1
je 0x140170e92
mov qword [rsi + 8], rdx
jmp 0x140170eb4
lea rcx, [rbp - 0x50]
call fcn.14003a6f0
mov r14, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x48]
mov r8, qword [rbp - 0x40]
lea rax, [rbx + 1]
cmp r14, rax
jne 0x140170ed2
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], r8
mov qword [rsi], rbx
cmp qword [rbp - 8], 0
je 0x140170f02
mov rcx, qword [rbp]
mov edx, 1
call fcn.14003fe40
jmp 0x140170f02
lea rcx, [rbp - 8]
mov rdx, rdi
call fcn.1400173d4
shl r14, 1
test r14, r14
je 0x140170ef3
mov edx, 1
mov rcx, rdi
call fcn.14003fe40
mov rax, qword [rbp + 8]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbp - 8]
movups xmmword [rsi], xmm0
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movups xmm0, xmmword [r14 + 8]
movups xmmword [rbp + 0x18], xmm0
jmp 0x140170e55
movzx ecx, word [r14 + 8]
mov word [rbp + 0x18], cx
jmp 0x140170e55
mov ecx, dword [r14 + 8]
mov dword [rbp + 0x18], ecx
jmp 0x140170e55
call fcn.14003a420
mov rsi, rax
shl r12, 1
test r12, r12
je 0x140171030
mov edx, 1
mov rcx, r15
call fcn.14003fe40
jmp 0x140171030
cmp qword [rbp - 8], 0
je 0x140171045
mov rcx, qword [rbp]
mov edx, 1
call fcn.14003fe40
mov rcx, rsi
call fcn.14019fd30
int3
and byte [rdi + 0x5e], bl
add byte [rax], al
add byte [rax - 0x77], cl
int1
call fcn.14003fe40
mov rcx, rdi
call fcn.14019fd30
call fcn.14006c5e1
int3
invalid
test eax, 0xbbe80010
xchg ebx, eax
out dx, eax
dec esp
nop word cs:[rax + rax]
add byte [rax], 0
add byte [rax - 0x77], cl
loopne 0x14017300c
mov esp, dword [rbp + 0x70]
xor eax, 0x35056
mov dword [rbp - 8], 0
add byte [rax], al
mov dword [rbp - 0x48], edx
mov eax, 0xc84d8948
mov dword [rbp - 0x38], ecx
add byte [rax], al
add byte [rax], al
add byte [rcx - 0x7d], cl
invalid
invalid
invalid
invalid
add cl, byte [rcx + rcx*4 - 7]
mov ecx, dword [rbp - 0x60]
cmp eax, 4
invalid
add eax, dword [rax]
leave
clc
nop dword cs:[rax + rax]
or cl, byte [rax - 0x75]
or byte [rax - 0x7d], cl
stc
add dword [rdi], ecx
xchg byte [rax + 7], bh
add byte [rax], al
and dword [rdi], ebx
add byte [rax], al
add dword [rcx - 0x3f], ecx
loope 0x1401735a7
lea ecx, [rcx + 3]
lea ecx, [rax + 0x10]
dec ecx
mov ebx, 9
or byte [r9 + rcx*4 + 0xa], cl
mov ecx, eax
invalid
or byte [rbp - 0x75], al
or dword [rcx + rbp - 0x37], ecx
add byte [rax], al
or cl, byte [rbx + rcx*4 + 0x42]
or byte [rbp - 0x7b], cl
ror byte [rdi], 0x84
invalid
sti
add cl, byte [rdi]
xor dword [rcx + 4], 0
add byte [rdi], cl
mov dh, 0xf3
add dword [rax], eax
add byte [rax], al
mov ecx, dword [rax + 0x20]
mov ecx, edi
mov rcx, qword [rsi + 8]
mov edx, 1
call fcn.14003fe40
mov eax, ebx
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop rbp
ret
cmp rcx, rdi
je 0x140178530
lea r8, [r15 + rcx]
mov r12, rcx
mov rdx, r8
jmp 0x1401783ef
add rdx, 2
cmp rax, r13
cmovne rax, rdx
mov r9d, 2
nop word cs:[rax + rax]
add r12, r9
mov rdx, rax
cmp rax, r13
je 0x140178533
lea rax, [rdx + 1]
movzx r10d, byte [rdx]
mov r9d, 1
test r10b, r10b
jns 0x1401783e0
cmp r10b, 0xe0
jb 0x1401783c1
cmp r10b, 0xed
jne 0x140178441
cmp rax, r13
je 0x140178533
lea r9, [rdx + 2]
cmp r9, r13
je 0x140178533
movzx eax, byte [rdx + 1]
movzx eax, ax
cmp eax, 0x9f
ja 0x14017847d
add rdx, 3
mov r9d, 3
mov rax, rdx
jmp 0x1401783e0
add rdx, 2
cmp rax, r13
cmove rdx, rax
xor eax, eax
cmp rdx, r13
setne al
add rax, rdx
mov r9d, 3
cmp r10b, 0xf0
jb 0x1401783e0
xor edx, edx
cmp rax, r13
setne dl
add rax, rdx
mov r9d, 4
jmp 0x1401783e0
movzx edx, byte [r9]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
add eax, edx
add eax, 0xd800
mov word [rbp + 6], ax
mov r9, r12
sub r9, rcx
jb 0x14017858b
cmp r12, rdi
ja 0x140178579
mov rcx, rsi
mov rdx, r14
call fcn.1401785a0
test al, al
jne 0x140178566
lea rax, [rbp + 6]
mov qword [rbp - 0x18], rax
lea rax, [fcn.140069f20]
mov qword [rbp - 0x10], rax
lea rax, str.u
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 2
mov qword [rbp - 0x28], 0
lea rax, [rbp - 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
mov rcx, rsi
mov rdx, r14
lea r8, [rbp - 0x48]
call fcn.140069450
out dx, eax
invalid
test al, al
jne 0x140178566
out dx, eax
inc dword [rax + rax*8 - 0x7cb6a78b]
invalid
add r12, 3
mov rcx, r12
cmp r12, rdi
jbe 0x1401783ac
lea r8, str.std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov rcx, r12
mov rdx, rdi
call fcn.140068390
mov rcx, rdi
sub rdi, rcx
add r15, rcx
mov rcx, rsi
mov rdx, r14
mov r8, r15
mov eax, edi
mov eax, edi
mov r9, rdi
call fcn.1401785a0
add byte [rax], al
add byte [rax], al
test al, al
mov rax, qword [rbp - 8]
jne 0x140178566
lea rdx, str.___cannot_be_set_to_0
mov r8d, 1
add byte [rcx - 0x48], al
add dword [rax], eax
add byte [rax], al
mov rcx, rsi
call rax
mov ebx, eax
mov eax, ebx
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov rcx, r12
mov rdx, rdi
call fcn.140068dd0
lea r8, str.std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov rdx, r12
call fcn.14006bdd0
int3
ror byte [rcx + 0x39], 0xc1
dec dword [rcx + 0x31d231c1]
rol byte [rax - 0x6af0f407], 0xc0
cmovne rdx, rsi
add rsp, 0xa8
add byte [rax], al
adc byte gs:[rax], al
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], 1
lea rax, [rbp + 0x20]
mov qword [rbp - 0x28], rax
fmul dword [rdi]
push rdi
ror byte [rdi], 0x11
adc dword [rbp - 0x20], eax
adc dword [rbp - 0x20], eax
lea rcx, [rbp + 0x18]
invalid
or byte [rax], al
add byte [rax], al
movsb byte [rdi], byte [rsi]
imul ebp, esp, 0xffffffff
and esi, dword [rsi + rcx*4 - 0x15]
cmp ecx, dword [rax - 0x7d]
cli
and dword [rbx + 0x69], esi
mov esi, eax
invalid
mov ecx, esi
push r15
push r14
lea edx, [rax + 1]
invalid
add byte [rax - 0x77], cl
mov rbx, qword [rbp + 0x140]
pop rcx
js 0x140179789
mov dword [rbp + 0x80], 0x9d880200
invalid
add eax, 0x2b9
add byte [rax - 0x75], cl
add bl, ch
sbb dword [rax - 0x73], ecx
lea rdx, [rax + 1]
invalid
invalid
ror byte [rax + 0xf], 0x44
ror byte [rax + 1], 1
ror dword [rax - 0x7d], 1
rol dword [rdx], 0xeb
add eax, 0x2b9
mov ecx, 2
cmp rcx, qword [rbp + 0x140]
add al, byte [rax]
add byte [rax], al
cmp byte [rcx], al
add byte [rax], al
adc byte [rbp + 0x58], cl
loopne 0x140179a71
add byte [rax], al
invalid
add dword [rax], eax
add byte [rax - 0x77], cl
invalid
and al, 8
or byte [rcx], r10b
and dword [rax - 0x75], ecx
push rsi
invalid
sbb eax, 0xffffffff
test dword [rax], edx
add dword [rax], eax
add byte [rax - 0x77], cl
stc
call 0x14f5c9b10
mov dh, 0x65
cmp r12, 0xa
and al, 0xfa
and al, 0xfa
test dword [rax], edx
add dword [rax], eax
add byte [rax - 0x7d], cl
call 0x188cc0d54
mov ecx, dword [rbp + 0x108]
mov ecx, 0x48ffec5e
cmp dword [rbp + 0x28], 0
je 0x140179fb7
mov rcx, qword [rbp + 0x30]
mov edx, 1
jmp 0x140179fb2
add byte [rcx], al
add byte [rax], al
add byte [rcx + rdx + 0x48], dh
mov ecx, dword [rbp + 0x108]
mov edx, 8
add ah, cl
clc
add eax, 0x4bf
add byte [rax + 0xf], cl
clc
invalid
add ebp, esp
dec esp
add byte [rax], al
add byte [rax - 0x73], cl
lodsb al, byte [rsi]
and al, 0x80
add byte [rax], 0
add byte [rax], 0
add byte [rax - 0x77], cl
invalid
or cl, byte [rax - 0x7f]
invalid
xlatb
mov eax, dword [rbp + 0x18]
add al, byte [rax]
add byte [rax], al
call fcn.14006c350
call fcn.14003a420
sub al, 0xe0
jmp 0x14017c3f3
invalid
mov ecx, 1
mov rdx, r14
call fcn.14003a3fc
int3
nop word cs:[rax + rax]
push rbp
push rsi
add byte [rax], al
add byte [rax], al
add byte [rbp + 0x56], dl
push rdi
sub rsp, 0x1f0
lea rbp, [rsp + 0x80]
add byte [rax], al
add byte [rax - 0x75], cl
add dword [rax - 0x75], ecx
cmp byte [rax - 0x39], cl
add byte [rax], al
add byte [rax], al
add byte [rax - 0x7b], cl
invalid
add byte [rax], al
add byte [rax - 0x75], cl
add dword [rax - 0x75], ecx
cmp byte [rax - 0x39], cl
add byte [rax], al
add byte [rax], al
add byte [rax - 0x7b], cl
push qword [rdi + rdi + 0x48]
je 0x14017c473
lea rsi, [rbp - 0x60]
je 0x14017c473
lea rsi, [rbp - 0x60]
mov r8d, 0x198
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov cx, 0x202
mov rdx, rsi
call sub.ws2_32.dll_WSAStartup
mov dword [rbp + 0x16c], eax
test eax, eax
jne 0x14017c47f
lea rax, [0x14019f854]
mov qword [rdi], rax
add rsp, 0x1f0
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.std_src_synconce.rs
call fcn.14006c350
mov qword [rbp + 0x138], 0
lea rdx, [0x14027f708]
lea r9, str.std_src_syspalwindows_net.rs
lea rcx, [rbp + 0x16c]
lea r8, [rbp + 0x138]
call fcn.1401547c3
int3