Function at 0x18004e8d0
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 - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1802ae740]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x40], rcx
xor r12d, r12d
mov byte [rcx], r12b
mov ecx, 0x202
lea rdx, [rbp + 0x30]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov edx, eax
test eax, eax
jne 0x18004efed
movzx eax, word [rbp + 0x30]
cmp al, 2
jne 0x18004efc4
shr ax, 8
cmp al, 2
jne 0x18004efc4
mov word [rbx], 1
lea rsi, [rbx + 8]
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r12
mov r14d, send
mov qword [rsi + 0x18], r14
mov byte [rsi], dl
movups xmmword [rbx + 0x28], xmm0
mov qword [rbx + 0x38], r12
mov qword [rbx + 0x40], r14
mov byte [rbx + 0x28], dl
movups xmmword [rbx + 0x48], xmm0
mov qword [rbx + 0x58], r12
mov qword [rbx + 0x60], r14
mov byte [rbx + 0x48], dl
lea r15, [rbx + 0x68]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], r14
mov byte [r15], dl
mov r12, qword [rdi + 0x10]
mov rcx, rdi
cmp qword [rdi + 0x18], r14
jbe 0x18004e9a2
mov rcx, qword [rdi]
mov qword [rsp + 0x20], 3
lea r9, [0x180264434]
xor r8d, r8d
mov rdx, r12
call fcn.180044a00
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x18004eb8c
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
mov r8, rax
cmp r12, rax
cmovb r8, r12
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18004e9f0
mov rdx, qword [rdi]
lea rcx, [rbp - 0x70]
call fcn.18000e780
lea rax, [rbp - 0x70]
cmp rsi, rax
je 0x18004ea5f
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x18004ea3c
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x18004ea37
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004efbe
mov rcx, r8
call fcn.180194660
mov qword [rsi + 0x10], 0
mov byte [rsi], 0
movups xmm0, xmmword [rbp - 0x70]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x60]
movups xmmword [rsi + 0x10], xmm1
mov rdx, r14
mov byte [rbp - 0x70], 0
jmp 0x18004ea63
mov rdx, qword [rbp - 0x58]
cmp rdx, 0xf
jbe 0x18004ea9a
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ea95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004efbe
call fcn.180194660
lea rcx, [r13 + 3]
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
mov rax, qword [rdi + 0x10]
cmp rax, rcx
jb 0x18004f018
sub rax, rcx
mov r13, 0xffffffffffffffff
mov r8, r13
cmp rax, r13
cmovb r8, rax
cmp qword [rdi + 0x18], 0xf
jbe 0x18004ead8
mov rdi, qword [rdi]
lea rdx, [rdi + rcx]
lea rcx, [rbp - 0x50]
call fcn.18000e780
lea rdi, [rbx + 0x68]
lea rax, [rbp - 0x50]
cmp rdi, rax
je 0x18004eb4f
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x18004eb2c
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x18004eb27
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004efbe
mov rcx, r8
call fcn.180194660
mov qword [rdi + 0x10], 0
mov byte [rdi], 0
movups xmm0, xmmword [rbp - 0x50]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x40]
movups xmmword [rdi + 0x10], xmm1
mov rdx, r14
mov byte [rbp - 0x50], 0
jmp 0x18004eb53
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x18004ebc6
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004eb85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004efbe
call fcn.180194660
jmp 0x18004ebc6
mov r8d, 4
lea rdx, str.http
mov rcx, rsi
call fcn.1800152d0
cmp r15, rdi
je 0x18004ebbf
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x18004ebb4
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, r15
call fcn.1800152d0
mov r13, 0xffffffffffffffff
lea rdi, [rbx + 0x68]
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x18004ebd8
mov rdi, qword [rdi]
test r8, r8
je 0x18004ec07
mov edx, 0x23
mov rcx, rdi
call fcn.1801caf80
test rax, rax
je 0x18004ec07
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x18004ec07
lea rcx, [rbx + 0x68]
xor r8d, r8d
mov rdx, rax
call fcn.18000f580
lea rdi, [rbx + 0x68]
mov r15, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
cmp r12, 0xf
jbe 0x18004ec1c
mov rdi, qword [rdi]
test r15, r15
je 0x18004ee0e
mov r8, r15
mov edx, 0x2f
mov rcx, rdi
call fcn.1801caf80
mov rsi, rax
test rax, rax
je 0x18004ee0e
sub rsi, rdi
cmp rsi, 0xffffffffffffffff
je 0x18004ee0e
lea rdx, [rbx + 0x68]
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x20], xmm1
mov r8, rsi
cmp r15, rsi
cmovb r8, r15
cmp r12, 0xf
jbe 0x18004ec74
mov rdx, qword [rdx]
lea rcx, [rbp - 0x30]
call fcn.18000e780
lea rdi, [rbx + 0x28]
lea rax, [rbp - 0x30]
cmp rdi, rax
je 0x18004ece7
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x18004ecc4
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x18004ecbf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004efbe
mov rcx, r8
call fcn.180194660
mov qword [rdi + 0x10], 0
mov byte [rdi], 0
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rdi + 0x10], xmm1
mov rdx, r14
mov byte [rbp - 0x30], 0
jmp 0x18004eceb
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x18004ed22
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ed1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004efbe
call fcn.180194660
lea rax, [rbx + 0x68]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov rcx, qword [rax + 0x10]
cmp rcx, rsi
jb 0x18004f018
sub rcx, rsi
mov r8, r13
cmp rcx, 0xffffffffffffffff
cmovb r8, rcx
cmp qword [rax + 0x18], 0xf
jbe 0x18004ed5a
mov rax, qword [rax]
lea rdx, [rax + rsi]
lea rcx, [rbp - 0x10]
call fcn.18000e780
lea rdi, [rbx + 0x68]
lea rax, [rbp - 0x10]
cmp rdi, rax
je 0x18004edd1
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x18004edae
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x18004eda9
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004efbe
mov rcx, r8
call fcn.180194660
mov qword [rdi + 0x10], 0
mov byte [rdi], 0
movups xmm0, xmmword [rbp - 0x10]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp]
movups xmmword [rdi + 0x10], xmm1
mov rdx, r14
mov byte [rbp - 0x10], 0
jmp 0x18004edd5
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x18004ee42
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ee07
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004efbe
call fcn.180194660
jmp 0x18004ee42
lea rdx, [rbx + 0x68]
lea rcx, [rbx + 0x28]
cmp rcx, rdx
je 0x18004ee2c
cmp r12, 0xf
jbe 0x18004ee24
mov rdx, qword [rdx]
mov r8, r15
call fcn.1800152d0
lea rcx, [rbx + 0x68]
mov r8d, 1
lea rdx, [0x180218798]
call fcn.1800152d0
lea rdi, [rbx + 0x28]
mov r15, qword [rdi + 0x10]
mov r12, qword [rdi + 0x18]
cmp r12, 0xf
jbe 0x18004ee57
mov rdi, qword [rdi]
test r15, r15
je 0x18004ee79
mov r8, r15
mov edx, 0x3a
mov rcx, rdi
call fcn.1801caf80
mov rsi, rax
test rax, rax
je 0x18004ee79
sub rsi, rdi
jmp 0x18004ee7c
mov rsi, r13
cmp rsi, 0xffffffffffffffff
je 0x18004ef7a
lea rax, [rbx + 0x28]
lea rcx, [rsi + 1]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x20], xmm1
cmp r15, rcx
jb 0x18004f018
sub r15, rcx
cmp r15, 0xffffffffffffffff
cmovb r13, r15
cmp r12, 0xf
jbe 0x18004eeba
mov rax, qword [rax]
lea rdx, [rcx + rax]
mov r8, r13
lea rcx, [rbp + 0x10]
call fcn.18000e780
lea rdi, [rbx + 0x48]
lea rax, [rbp + 0x10]
cmp rdi, rax
je 0x18004ef31
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x18004ef11
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x18004ef0c
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18004efbe
mov rcx, r8
call fcn.180194660
mov qword [rdi + 0x10], 0
mov byte [rdi], 0
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rdi + 0x10], xmm1
mov byte [rbp + 0x10], 0
jmp 0x18004ef35
mov r14, qword [rbp + 0x28]
cmp r14, 0xf
jbe 0x18004ef69
lea rdx, [r14 + 1]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004ef64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004efbe
call fcn.180194660
lea rcx, [rbx + 0x28]
xor r8d, r8d
mov rdx, rsi
call fcn.18000f580
jmp 0x18004ef91
lea rcx, [rbx + 0x48]
mov r8d, 2
lea rdx, [0x18026444c]
call fcn.1800152d0
nop
mov rax, rbx
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1801942d0
mov rbx, qword [rsp + 0x330]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18019bd7c
nop
call qword [sym.imp.WS2_32.dll_WSACleanup]
lea rdx, str.Invalid_WinSock_version
lea rcx, [rsp + 0x50]
call fcn.180024950
lea rdx, [0x1802ac1d0]
lea rcx, [rsp + 0x50]
call fcn.180197060
int3
call fcn.1800251f0
mov r8, rax
lea r9, str.WSAStartup_failed
lea rcx, [rsp + 0x68]
call fcn.180057010
lea rdx, [0x1802ac120]
lea rcx, [rsp + 0x68]
call fcn.180197060
nop
call fcn.18000ce40
int3