Function at 0x14000e590
Capabilities:
Initialize winsock library

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x1400c0688]
xor rax, rsp
mov qword [rbp + 0x140], rax
movzx edi, r8b
mov rsi, rdx
mov r14, rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x68], rcx
xor r12d, r12d
mov byte [rcx], r12b
mov ecx, 0x202
lea rdx, [rbp - 0x60]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov ebx, eax
test eax, eax
jne 0x14000ef4b
movzx eax, word [rbp - 0x60]
cmp al, 2
jne 0x14000ef22
shr ax, 8
cmp al, 2
jne 0x14000ef22
mov byte [r14], 1
mov byte [r14 + 1], dil
mov qword [r14 + 8], r12
mov qword [r14 + 0x18], r12
mov qword [r14 + 0x20], reloc.WS2_32.dll_ntohs
mov byte [r14 + 8], bl
lea r15, [r14 + 0x28]
mov qword [r15], r12
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r15], bl
lea rax, [r14 + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rax], r12
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
lea rax, [r14 + 0x68]
mov qword [rsp + 0x60], rax
mov qword [rax], r12
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], bl
add r14, 0x88
mov qword [r14], r12
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], bl
mov rax, qword [rsi + 0x10]
mov r13, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x14000e69b
mov r13, qword [rsi]
movabs r12, 0x7fffffffffffffff
cmp rax, 3
jb 0x14000e711
lea rbx, [rax + r13]
lea r8, [rbx - 2]
sub r8, r13
mov edx, 0x3a
mov rcx, r13
call fcn.14006c710
mov rdi, rax
test rax, rax
je 0x14000e711
nop dword [rax + rax]
cmp byte [rdi], 0x3a
jne 0x14000e6e5
cmp byte [rdi + 1], 0x2f
jne 0x14000e6e5
cmp byte [rdi + 2], 0x2f
jne 0x14000e6e5
xor eax, eax
jmp 0x14000e6ea
sbb eax, eax
or eax, 1
test eax, eax
je 0x14000e833
inc rdi
lea r8, [rbx - 2]
sub r8, rdi
mov edx, 0x3a
mov rcx, rdi
call fcn.14006c710
mov rdi, rax
test rax, rax
jne 0x14000e6d0
mov r8d, 4
lea rdx, str.http
mov rcx, qword [rsp + 0x50]
add rcx, 8
call fcn.140015d20
cmp r14, rsi
je 0x14000e74a
mov r8, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x14000e73f
mov rsi, qword [rsi]
mov rdx, rsi
mov rcx, r14
call fcn.140015d20
mov r8, qword [r14 + 0x10]
mov rbx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14000e75b
mov rbx, qword [r14]
test r8, r8
je 0x14000e789
mov edx, 0x23
mov rcx, rbx
call fcn.14006c710
test rax, rax
je 0x14000e789
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x14000e789
xor r8d, r8d
mov rdx, rax
mov rcx, r14
call fcn.140025420
mov rbx, qword [r14 + 0x10]
mov rdi, r14
mov rsi, qword [r14 + 0x18]
cmp rsi, 0x10
jb 0x14000e79d
mov rdi, qword [r14]
test rbx, rbx
je 0x14000ec31
mov r8, rbx
mov edx, 0x2f
mov rcx, rdi
call fcn.14006c710
mov r13, rax
test rax, rax
je 0x14000ec31
sub r13, rdi
cmp r13, 0xffffffffffffffff
je 0x14000ec31
mov qword [rsp + 0x20], 0
mov rdi, r13
cmp rbx, r13
cmovb rdi, rbx
mov rax, r14
mov qword [rsp + 0x40], rax
cmp rsi, 0x10
jb 0x14000e7f8
mov rax, qword [r14]
mov qword [rsp + 0x40], rax
cmp rdi, r12
ja 0x14000ef1c
cmp rdi, 0x10
jae 0x14000ea76
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14006ae80
mov byte [rsp + rdi + 0x20], 0
jmp 0x14000ead6
sub rdi, r13
cmp rdi, 0xffffffffffffffff
je 0x14000e711
mov qword [rsp + 0x20], 0
mov r13, rdi
cmp qword [rsi + 0x10], rdi
cmovb r13, qword [rsi + 0x10]
mov rax, rsi
mov qword [rsp + 0x40], rax
cmp qword [rsi + 0x18], 0x10
jb 0x14000e86c
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
cmp r13, r12
ja 0x14000ef1c
cmp r13, 0x10
jae 0x14000e8a1
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov r8, r13
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14006ae80
mov byte [rsp + r13 + 0x20], 0
jmp 0x14000e90c
mov rax, r13
or rax, 0xf
cmp rax, r12
jbe 0x14000e8b2
mov rax, r12
jmp 0x14000e8bf
cmp rax, 0x16
mov ecx, reloc.WS2_32.dll_shutdown
cmovb rax, rcx
mov qword [rsp + 0x48], rax
mov rdx, rax
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140003ac0
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov r8, r13
mov rdx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.14006ae80
mov byte [rbx + r13], 0
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
add rcx, 8
call fcn.1400107a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000e95c
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e957
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef7e
call fcn.140069a84
lea rcx, [rdi + 3]
mov qword [rsp + 0x20], 0
mov rax, qword [rsi + 0x10]
cmp rax, rcx
jb 0x14000ef78
sub rax, rcx
mov r8, 0xffffffffffffffff
mov rdi, r8
cmp rax, r8
cmovb rdi, rax
cmp qword [rsi + 0x18], 0x10
jb 0x14000e994
mov rsi, qword [rsi]
lea r13, [rsi + rcx]
cmp rdi, r12
ja 0x14000ef1c
cmp rdi, 0x10
jae 0x14000e9cc
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov r8, rdi
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.14006ae80
mov byte [rsp + rdi + 0x20], 0
jmp 0x14000ea23
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x14000e9dd
mov rsi, r12
jmp 0x14000e9ea
cmp rsi, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rsi, rax
mov rdx, rsi
add rdx, 1
cmovb rdx, r8
lea rcx, [rsp + 0x20]
call fcn.140003ac0
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov r8, rdi
mov rdx, r13
mov rcx, rax
call fcn.14006ae80
mov byte [rbx + rdi], 0
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.1400107a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000e74a
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ea6c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef7e
call fcn.140069a84
jmp 0x14000e74a
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x14000ea87
mov rsi, r12
jmp 0x14000ea94
cmp rsi, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rsi, rax
mov rdx, rsi
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140003ac0
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov r8, rdi
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call fcn.14006ae80
mov byte [rdi + rbx], 0
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.1400107a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000eb20
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000eb1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef7e
call fcn.140069a84
mov qword [rsp + 0x20], 0
mov rax, qword [r14 + 0x10]
cmp rax, r13
jb 0x14000ef78
sub rax, r13
mov rcx, 0xffffffffffffffff
mov rdi, rcx
cmp rax, rcx
cmovb rdi, rax
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x14000eb57
mov rax, qword [r14]
add r13, rax
cmp rdi, r12
ja 0x14000ef1c
cmp rdi, 0x10
jae 0x14000eb8e
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov r8, rdi
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.14006ae80
mov byte [rsp + rdi + 0x20], 0
jmp 0x14000ebe5
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x14000eb9f
mov rsi, r12
jmp 0x14000ebac
cmp rsi, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rsi, rax
mov rdx, rsi
add rdx, 1
cmovb rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.140003ac0
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov r8, rdi
mov rdx, r13
mov rcx, rax
call fcn.14006ae80
mov byte [rbx + rdi], 0
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.1400107a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000ec62
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ec2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef7e
call fcn.140069a84
jmp 0x14000ec62
cmp r15, r14
je 0x14000ec4d
mov rdx, r14
cmp rsi, 0x10
jb 0x14000ec42
mov rdx, qword [r14]
mov r8, rbx
mov rcx, r15
call fcn.140015d20
mov r8d, 1
lea rdx, [0x1400970a4]
mov rcx, r14
call fcn.140015d20
mov rbx, qword [r15 + 0x10]
mov rdi, r15
mov rsi, qword [r15 + 0x18]
cmp rsi, 0x10
jb 0x14000ec76
mov rdi, qword [r15]
test rbx, rbx
je 0x14000eeb7
mov r8, rbx
mov edx, 0x3a
mov rcx, rdi
call fcn.14006c710
mov r14, rax
test rax, rax
je 0x14000eeb7
sub r14, rdi
cmp r14, 0xffffffffffffffff
je 0x14000eeb7
mov qword [rsp + 0x20], 0
mov rdi, r14
cmp rbx, r14
cmovb rdi, rbx
mov r13, r15
cmp rsi, 0x10
jb 0x14000ecc7
mov r13, qword [r15]
cmp rdi, r12
ja 0x14000ef1c
cmp rdi, 0x10
jae 0x14000ecfb
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov r8, rdi
mov rdx, r13
lea rcx, [rsp + 0x20]
call fcn.14006ae80
mov byte [rsp + rdi + 0x20], 0
jmp 0x14000ed59
mov rsi, rdi
or rsi, 0xf
cmp rsi, r12
jbe 0x14000ed0c
mov rsi, r12
jmp 0x14000ed19
cmp rsi, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rsi, rax
mov rdx, rsi
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140003ac0
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov r8, rdi
mov rdx, r13
mov rcx, rax
call fcn.14006ae80
mov byte [rdi + rbx], 0
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x58]
call fcn.1400107a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000eda5
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000eda0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef7e
call fcn.140069a84
inc r14
mov qword [rsp + 0x20], 0
mov rax, qword [r15 + 0x10]
cmp rax, r14
jb 0x14000ef78
sub rax, r14
mov rcx, 0xffffffffffffffff
mov rdi, rcx
cmp rax, rcx
cmovb rdi, rax
cmp qword [r15 + 0x18], 0x10
jb 0x14000eddc
mov r15, qword [r15]
lea rsi, [r15 + r14]
cmp rdi, r12
ja 0x14000ef1c
cmp rdi, 0x10
jae 0x14000ee14
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov r8, rdi
mov rdx, rsi
lea rcx, [rsp + 0x20]
call fcn.14006ae80
mov byte [rsp + rdi + 0x20], 0
jmp 0x14000ee69
mov rax, rdi
or rax, 0xf
cmp rax, r12
ja 0x14000ee30
mov r12, rax
cmp rax, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb r12, rax
mov rdx, r12
add rdx, 1
cmovb rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.140003ac0
mov rbx, rax
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r12
mov r8, rdi
mov rdx, rsi
mov rcx, rax
call fcn.14006ae80
mov byte [rbx + rdi], 0
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
call fcn.1400107a0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x14000eeed
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000eeb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ef7e
call fcn.140069a84
jmp 0x14000eeed
mov rcx, qword [rsp + 0x58]
cmp rcx, r15
je 0x14000eed5
cmp rsi, 0x10
jb 0x14000eeca
mov r15, qword [r15]
mov r8, rbx
mov rdx, r15
call fcn.140015d20
mov r8d, 2
lea rdx, [0x1400970a8]
mov rcx, qword [rsp + 0x60]
call fcn.140015d20
nop
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.140069ba0
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140001dd0
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rdx, str.Invalid_WinSock_version
lea rcx, [rsp + 0x20]
call fcn.14000f670
lea rdx, [0x1400bcfc8]
lea rcx, [rsp + 0x20]
call fcn.14006adb0
int3
call fcn.140029c80
mov r8, rax
lea r9, str.WSAStartup_failed
mov edx, ebx
lea rcx, [rsp + 0x70]
call fcn.14000f800
lea rdx, [0x1400bceb8]
lea rcx, [rsp + 0x70]
call fcn.14006adb0
nop
call fcn.140015b70
int3
call fcn.14007049c
int3