Function at 0x140004660
Capabilities:
Connect socket
Get socket status
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Set socket configuration

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x13d8]
mov eax, 0x14d8
call fcn.14000df80
sub rsp, rax
movaps xmmword [rsp + 0x14c0], xmm6
movaps xmmword [rsp + 0x14b0], xmm7
movaps xmmword [rsp + 0x14a0], xmm8
movaps xmmword [rsp + 0x1490], xmm9
mov r15, rcx
call fcn.14000a770
mov rbx, rax
call fcn.14000a754
cmp rbx, 0x989680
jne 0x1400046d1
imul rax, rax, 0x64
jmp 0x1400046ec
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r14, qword [rbp + 0x1448]
imul rcx, r14, 0xf4240
add rax, rcx
mov qword [rbp + 0x20], rax
lea rdx, [r15 + 8]
cmp qword [r15 + 0x20], 0x10
jb 0x140004710
mov rdx, qword [r15 + 8]
cmp qword [r15 + 0x18], 4
jne 0x1400058c1
xor ebx, ebx
mov ecx, ebx
lea r8, str.http
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140004748
cmp rcx, 4
jne 0x140004730
mov eax, ebx
jmp 0x14000474d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400058c1
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movzx eax, byte [r15 + 1]
mov r13d, 2
test al, al
jne 0x140004781
mov eax, r13d
jmp 0x14000478e
cmp al, 1
jne 0x14000587d
mov eax, reloc.WS2_32.dll_socket
mov dword [rbp + 0x154], eax
mov eax, 1
mov dword [rbp + 0x158], eax
cmp qword [r15 + 0x98], rbx
jne 0x1400047b1
lea rdx, [0x14003f320]
jmp 0x1400047c2
lea rdx, [r15 + 0x88]
cmp qword [rdx + 0x18], 0x10
jb 0x1400047c2
mov rdx, qword [rdx]
lea rcx, [r15 + 0x68]
cmp qword [r15 + 0x80], 0x10
jb 0x1400047d4
mov rcx, qword [r15 + 0x68]
lea r9, [rbp + 0x80]
lea r8, [rbp + 0x150]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x1400058e4
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp + 0x140], rax
mov rax, qword [rbp + 0x80]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0x148], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rbx
mov rax, qword [rbp + 0x1440]
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
cmp rdi, rsi
je 0x1400048a7
mov rdx, rsi
sub rdx, rdi
sar rdx, 6
lea rcx, [rsp + 0x40]
call fcn.1400066b0
lea rax, [rsp + 0x40]
mov qword [rbp + 0x1448], rax
mov rbx, qword [rsp + 0x40]
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
lea rax, [rsp + 0x40]
mov qword [rbp - 0x58], rax
nop word [rax + rax]
mov qword [rbp + 0x1420], rbx
mov rdx, rdi
mov rcx, rbx
call fcn.140006420
nop
lea rcx, [rbx + 0x20]
lea rdx, [rdi + 0x20]
call fcn.140006420
nop
add rbx, 0x40
mov qword [rbp - 0x60], rbx
add rdi, 0x40
cmp rdi, rsi
jne 0x140004870
mov qword [rsp + 0x48], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x1438]
mov r8, qword [rbp + 0x1430]
lea rdx, [r15 + 8]
lea rcx, [rsp + 0x78]
call fcn.140003b70
nop
movzx eax, byte [r15 + 1]
test al, al
je 0x1400048e5
cmp al, 1
jne 0x140005b76
mov r13d, reloc.WS2_32.dll_socket
mov ebx, 1
lea r8d, [rbx + 5]
mov edx, ebx
mov ecx, r13d
call qword [sym.imp.WS2_32.dll_socket]
mov rsi, rax
mov qword [rbp + 0x30], rax
cmp rax, 0xffffffffffffffff
je 0x140005923
mov dword [rbp + 0x1448], ebx
lea r8, [rbp + 0x1448]
mov edx, 0x8004667e
mov rcx, rax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x14000594c
movabs rdi, 0x431bde82d7b634db
test r14, r14
js 0x1400049a4
call fcn.14000a770
mov rbx, rax
call fcn.14000a754
cmp rbx, 0x989680
jne 0x140004959
imul rax, rax, 0x64
jmp 0x140004974
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r13, qword [rbp + 0x20]
mov rcx, r13
sub rcx, rax
mov rax, rdi
imul rcx
mov rbx, rdx
sar rbx, 0x12
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test rbx, rbx
mov r8d, 0
cmovle rbx, r8
jmp 0x1400049af
mov rbx, 0xffffffffffffffff
mov r13, qword [rbp + 0x20]
mov rax, qword [rbp - 0x70]
mov edi, dword [rax + 0x10]
mov r15, qword [rax + 0x20]
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1400049f1
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004a3b
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1400049d0
mov r15d, 1
mov rdi, qword [rbp - 0x80]
movabs rax, 0x20c49ba5e353f7cf
mov r12, qword [rsp + 0x78]
sub rdi, r12
je 0x140004c1e
test r14, r14
js 0x140004b01
call fcn.14000a770
mov rbx, rax
call fcn.14000a754
cmp rbx, 0x989680
jne 0x140004aaa
imul rax, rax, 0x64
jmp 0x140004ac5
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1400059ad
mov r8, rbx
mov r15d, 1
mov edx, r15d
lea rcx, [rbp + 0x30]
call fcn.140003260
mov dword [rbp + 0x1420], 4
lea rax, [rbp + 0x1420]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x140005984
mov edx, dword [rsp + 0x38]
test edx, edx
jne 0x1400058a0
jmp 0x1400049f7
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, r13
sub rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
mov r8, rdx
sar r8, 0x12
mov rax, r8
shr rax, 0x3f
add r8, rax
test r8, r8
mov eax, 0
cmovle r8, rax
movabs rax, 0x20c49ba5e353f7cf
jmp 0x140004b08
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x188], rsi
mov dword [rbp + 0x180], r15d
imul r8
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x1420], edx
imul eax, edx, 0x3e8
mov ecx, r8d
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rbp + 0x1424], eax
lea r15, [rbp + 0x1420]
test r8, r8
mov eax, 0
cmovs r15, rax
mov qword [rsp + 0x20], r15
xor r9d, r9d
lea r8, [rbp + 0x180]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140004ba4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004ba4
mov qword [rsp + 0x20], r15
xor r9d, r9d
lea r8, [rbp + 0x180]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140004b77
cmp ebx, 0xffffffff
je 0x140005a20
test ebx, ebx
je 0x1400059ff
xor r9d, r9d
mov r8d, edi
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140004bf6
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004bf6
xor r9d, r9d
mov r8d, edi
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140004bd0
cmp ebx, 0xffffffff
je 0x1400059d6
movsxd rax, ebx
add r12, rax
sub rdi, rax
movabs rax, 0x20c49ba5e353f7cf
mov r15d, 1
jne 0x140004a13
mov word [rsp + 0x34], 0xa0d
mov dword [rsp + 0x3c], 0xa0d0a0d
xor edi, edi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], select
mov byte [rbp - 0x38], dil
mov qword [rbp - 0x18], rdi
mov eax, edi
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rdi
mov byte [rbp + 0x1448], al
mov byte [rsp + 0x30], al
mov qword [rbp + 0x28], rdi
mov byte [rbp + 0x1420], al
mov r15d, edi
mov dword [rsp + 0x38], eax
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
test r14, r14
js 0x140004cfa
call fcn.14000a770
mov rbx, rax
call fcn.14000a754
cmp rbx, 0x989680
jne 0x140004cb1
imul rax, rax, 0x64
jmp 0x140004ccc
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, qword [rbp + 0x20]
sub rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
mov r8, rdx
sar r8, 0x12
mov rax, r8
shr rax, 0x3f
add r8, rax
test r8, r8
cmovle r8, rdi
jmp 0x140004d01
mov r8, 0xffffffffffffffff
mov qword [rbp + 0x188], rsi
mov eax, 1
mov dword [rbp + 0x180], eax
movabs rax, 0x20c49ba5e353f7cf
imul r8
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x38], edx
imul eax, edx, 0x3e8
mov ecx, r8d
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rbp + 0x3c], eax
lea rdi, [rbp + 0x38]
test r8, r8
mov eax, 0
cmovs rdi, rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x180]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140004da4
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004da4
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x180]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140004d76
cmp ebx, 0xffffffff
je 0x140005b4d
test ebx, ebx
je 0x140005b2c
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x390]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140004e02
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004e02
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x390]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140004dd5
cmp ebx, 0xffffffff
je 0x140005b03
movsxd rax, ebx
test ebx, ebx
je 0x140005789
lea r9, [rbp + 0x390]
add r9, rax
lea r8, [rbp + 0x390]
mov rdx, r13
lea rcx, [rsp + 0x40]
call fcn.1400095c0
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
cmp byte [rbp + 0x1448], 0
jne 0x140005345
mov rbx, r12
mov rax, r13
sub rax, r12
cmp rax, 4
jl 0x14000560f
lea rdx, [r13 - 4]
mov eax, dword [rsp + 0x3c]
cmp eax, dword [r12]
sete cl
test cl, cl
jne 0x140004e86
cmp rbx, rdx
je 0x14000560f
inc rbx
cmp eax, dword [rbx]
sete cl
test cl, cl
je 0x140004e71
cmp rbx, r13
je 0x14000560f
add rbx, 2
mov r8, rbx
mov rdx, r12
lea rcx, [rbp + 0xc0]
call fcn.140007e70
nop
mov rdi, qword [rbp + 0xc0]
mov eax, dword [rbp + 0xc8]
mov dword [rbp - 0x40], eax
movzx eax, word [rbp + 0xcc]
mov word [rbp - 0x3c], ax
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x140004efc
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004ef7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a49
call fcn.14000db9c
movups xmm0, xmmword [rbp + 0xd0]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rbp + 0xe0]
movups xmmword [rbp - 0x28], xmm1
xor eax, eax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], select
mov byte [rbp + 0xd0], al
nop dword [rax]
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0xf0]
call fcn.1400080c0
nop
mov rdi, qword [rbp + 0xf0]
movups xmm9, xmmword [rbp + 0xf8]
movups xmmword [rbp + 0x98], xmm9
movups xmm8, xmmword [rbp + 0x108]
movups xmmword [rbp + 0xa8], xmm8
xor eax, eax
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x110], select
mov byte [rbp + 0xf8], al
movups xmm7, xmmword [rbp + 0x118]
movups xmmword [rsp + 0x58], xmm7
movups xmm6, xmmword [rbp + 0x128]
movups xmmword [rsp + 0x68], xmm6
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x130], select
mov byte [rbp + 0x118], al
lea rcx, [rbp + 0x98]
movq rax, xmm9
mov qword [rbp + 0x1448], rax
movdqa xmm0, xmm8
psrldq xmm0, 8
movq rdx, xmm0
mov qword [rbp + 0x88], rdx
cmp rdx, 0x10
cmovae rcx, rax
movq r8, xmm8
mov qword [rbp + 0x90], r8
cmp r8, 0x11
jne 0x14000506e
lea rdx, str.transfer_encoding
call fcn.140010080
test eax, eax
jne 0x140005059
lea rcx, [rsp + 0x58]
movq rdx, xmm7
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rcx, rdx
movq rax, xmm6
cmp rax, 7
jne 0x140005a4f
mov r8, rax
lea rdx, str.chunked
call fcn.140010080
test eax, eax
jne 0x140005a4f
mov byte [rbp + 0x1420], 1
jmp 0x140005144
mov rax, qword [rbp + 0x1448]
mov rdx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
lea rcx, [rbp + 0x98]
cmp rdx, 0x10
cmovae rcx, rax
cmp r8, 0xe
jne 0x140005144
lea rdx, str.content_length
call fcn.140010080
test eax, eax
jne 0x140005144
lea r9, [rsp + 0x58]
movq r8, xmm7
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rcx, xmm0
cmp rcx, 0x10
cmovae r9, r8
movq rax, xmm6
add r9, rax
lea rax, [rsp + 0x58]
cmp rcx, 0x10
cmovae rax, r8
xor r8d, r8d
mov qword [rbp + 0x28], r8
cmp rax, r9
je 0x140005109
nop dword [rax]
movsx edx, byte [rax]
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x140005a82
lea ecx, [rdx - 0x30]
movsxd rdx, ecx
lea rcx, [r8 + r8*4]
lea r8, [rdx + rcx*2]
mov qword [rbp + 0x28], r8
inc rax
cmp rax, r9
jne 0x1400050e0
mov byte [rsp + 0x30], 1
mov rax, qword [rbp + 0x10]
sub rax, qword [rbp]
cmp r8, rax
jbe 0x140005144
movabs rax, 0x7fffffffffffffff
cmp r8, rax
ja 0x140005aa3
mov rdx, r8
lea rcx, [rbp]
call fcn.140006530
movups xmm6, xmmword [rsp + 0x68]
movups xmm7, xmmword [rsp + 0x58]
movups xmmword [rbp + 0x40], xmm9
movups xmmword [rbp + 0x50], xmm8
xor ecx, ecx
mov qword [rbp + 0xa8], rcx
mov qword [rbp + 0xb0], select
mov byte [rbp + 0x98], cl
movups xmmword [rbp + 0x60], xmm7
movups xmmword [rbp + 0x70], xmm6
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], select
mov byte [rsp + 0x58], cl
mov rax, qword [rbp - 0x10]
cmp rax, qword [rbp - 8]
je 0x1400051bb
movups xmmword [rax], xmm9
movups xmmword [rax + 0x10], xmm8
mov qword [rbp + 0x1448], select
mov byte [rbp + 0x40], cl
movups xmmword [rax + 0x20], xmm7
movups xmmword [rax + 0x30], xmm6
lea edx, [rcx + 0xf]
mov byte [rbp + 0x60], cl
add rax, 0x40
mov qword [rbp - 0x10], rax
jmp 0x1400051da
lea r8, [rbp + 0x40]
mov rdx, rax
lea rcx, [rbp - 0x18]
call fcn.140008a70
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x1448], rax
cmp rdx, 0x10
jb 0x140005211
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000520c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aa9
call fcn.14000db9c
mov rax, qword [rbp + 0x1448]
cmp rax, 0x10
jb 0x140005251
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000524b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aa9
call fcn.14000db9c
nop
mov rdx, qword [rsp + 0x70]
cmp rdi, rbx
je 0x1400052b8
cmp rdx, 0x10
jb 0x140005293
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000528e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aaf
call fcn.14000db9c
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], select
mov byte [rsp + 0x58], al
lea rcx, [rbp + 0xf8]
call fcn.1400045b0
jmp 0x140004f30
cmp rdx, 0x10
jb 0x1400052f0
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005aaf
call fcn.14000db9c
xor edi, edi
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], select
mov byte [rsp + 0x58], dil
lea rcx, [rbp + 0xf8]
call fcn.1400045b0
lea rdx, [rbx + 2]
cmp r12, rdx
je 0x140005330
sub r13, rdx
mov r8, r13
mov rcx, r12
call fcn.14000f790
add r13, r12
mov qword [rsp + 0x48], r13
mov byte [rbp + 0x1448], 1
lea rcx, [rbp + 0xc8]
call fcn.140005f10
jmp 0x140005347
xor edi, edi
cmp byte [rbp + 0x1420], 0
je 0x1400054e9
mov r8d, dword [rsp + 0x38]
movzx ecx, word [rsp + 0x34]
nop
test r15, r15
je 0x1400053d1
mov rax, r13
sub rax, r12
mov rdi, r15
cmp rax, r15
cmovb rdi, rax
lea rbx, [r12 + rdi]
mov r9, rbx
mov r8, r12
mov rdx, qword [rbp + 8]
lea rcx, [rbp]
call fcn.1400095c0
cmp r12, rbx
je 0x1400053aa
sub r13, rbx
mov r8, r13
mov rdx, rbx
mov rcx, r12
call fcn.14000f790
add r13, r12
mov qword [rsp + 0x48], r13
sub r15, rdi
mov r8d, dword [rsp + 0x38]
movzx r8d, r8b
mov eax, 1
cmove r8d, eax
mov dword [rsp + 0x38], r8d
cmp r12, r13
je 0x140005510
xor edi, edi
jmp 0x140005359
test r8b, r8b
je 0x140005421
mov rax, r13
sub rax, r12
cmp rax, 2
jb 0x140004c90
cmp cx, word [r12]
sete al
test al, al
je 0x140005ab5
xor al, al
mov dword [rsp + 0x38], eax
lea rdx, [r12 + 2]
cmp r12, rdx
je 0x140005421
sub r13, rdx
mov r8, r13
mov rcx, r12
call fcn.14000f790
add r13, r12
mov qword [rsp + 0x48], r13
movzx ecx, word [rsp + 0x34]
mov r9, r12
mov rax, r13
sub rax, r12
cmp rax, 2
jl 0x140004c90
lea rdx, [r13 - 2]
cmp cx, word [r12]
sete al
test al, al
jne 0x14000545b
cmp r9, rdx
je 0x140004c90
inc r9
cmp cx, word [r9]
sete al
test al, al
je 0x140005444
cmp r9, r13
je 0x140004c90
mov r15, rdi
mov rax, r12
cmp r12, r9
je 0x1400054b2
nop
movzx r8d, byte [rax]
lea edx, [r8 - 0x30]
cmp dl, 9
ja 0x140005483
lea rdx, [r8 - 0x30]
jmp 0x1400054a3
lea edx, [r8 - 0x41]
cmp dl, 5
ja 0x140005492
lea rdx, [r8 - 0x37]
jmp 0x1400054a3
lea edx, [r8 - 0x61]
cmp dl, 5
ja 0x140005ad6
lea rdx, [r8 - 0x57]
shl r15, 4
add r15, rdx
inc rax
cmp rax, r9
jne 0x140005470
lea rdx, [r9 + 2]
cmp r12, rdx
je 0x1400054d6
sub r13, rdx
mov r8, r13
mov rcx, r12
call fcn.14000f790
add r13, r12
mov qword [rsp + 0x48], r13
movzx ecx, word [rsp + 0x34]
test r15, r15
je 0x1400056cd
mov r8d, dword [rsp + 0x38]
jmp 0x140005360
mov r9, r13
mov r8, r12
mov rdx, qword [rbp + 8]
lea rcx, [rbp]
call fcn.1400095c0
mov r13, r12
mov qword [rsp + 0x48], r12
cmp byte [rsp + 0x30], 0
jne 0x140005517
nop dword [rax + rax]
xor edi, edi
jmp 0x140004c90
mov rax, qword [rbp + 8]
sub rax, qword [rbp]
cmp rax, qword [rbp + 0x28]
jb 0x140004c90
lea rdx, [rbp - 0x40]
mov rbx, qword [rbp + 0x1428]
mov rcx, rbx
call fcn.140005f70
nop
test r12, r12
je 0x140005579
mov rdx, qword [rsp + 0x50]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005570
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005af7
mov rcx, r12
call fcn.14000db9c
nop
lea rcx, [rbp - 0x40]
call fcn.140005e50
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400055d5
mov rdx, qword [rbp - 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400055c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005afd
call fcn.14000db9c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, rbx
lea r11, [rsp + 0x14d8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rbp - 0x40]
mov rbx, qword [rbp + 0x1428]
mov rcx, rbx
call fcn.140005f70
nop
test r12, r12
je 0x14000565f
mov rdx, qword [rsp + 0x50]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005656
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005af7
mov rcx, r12
call fcn.14000db9c
nop
lea rcx, [rbp - 0x40]
call fcn.140005e50
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400056bd
mov rdx, qword [rbp - 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400056a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005afd
call fcn.14000db9c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
xor eax, eax
mov qword [rbp - 0x78], rax
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x1400055e0
lea rdx, [rbp - 0x40]
mov rbx, qword [rbp + 0x1428]
mov rcx, rbx
call fcn.140005f70
nop
test r12, r12
je 0x14000571d
mov rdx, qword [rsp + 0x50]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005714
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005af7
mov rcx, r12
call fcn.14000db9c
nop
lea rcx, [rbp - 0x40]
call fcn.140005e50
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140005779
mov rdx, qword [rbp - 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005767
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005afd
call fcn.14000db9c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x1400055e0
mov eax, dword [rbp - 0x40]
mov rbx, qword [rbp + 0x1428]
mov dword [rbx], eax
movzx eax, word [rbp - 0x3c]
mov word [rbx + 4], ax
xor edi, edi
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rbx + 8], xmm0
movups xmm1, xmmword [rbp - 0x28]
movups xmmword [rbx + 0x18], xmm1
mov rax, qword [rbp - 0x18]
mov qword [rbx + 0x28], rax
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0x30], rax
mov rax, qword [rbp - 8]
mov qword [rbx + 0x38], rax
mov rax, qword [rbp]
mov qword [rbx + 0x40], rax
mov rax, qword [rbp + 8]
mov qword [rbx + 0x48], rax
mov rax, qword [rbp + 0x10]
mov qword [rbx + 0x50], rax
test r12, r12
je 0x14000581b
mov rdx, qword [rsp + 0x50]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005812
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005af7
mov rcx, r12
call fcn.14000db9c
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14000586d
mov rdx, qword [rbp - 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000585b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005afd
call fcn.14000db9c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x1400055e0
lea rdx, str.Unsupported_protocol
lea rcx, [rsp + 0x58]
call fcn.140003170
lea rdx, [0x1400436c8]
lea rcx, [rsp + 0x58]
call fcn.14000f6bc
nop
lea r9, str.Failed_to_connect
lea rcx, [rbp - 0x68]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
nop
lea rdx, str.Only_HTTP_scheme_is_supported
lea rcx, [rsp + 0x58]
call fcn.140003170
lea rdx, [0x1400436c8]
lea rcx, [rsp + 0x58]
call fcn.14000f6bc
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea r8, [r15 + 0x68]
lea rdx, str.Failed_to_get_address_info_of
lea rcx, [rbp + 0x98]
call fcn.140006a10
nop
mov r9, rax
mov edx, ebx
lea rcx, [rbp + 0x40]
call fcn.140001780
lea rdx, [0x1400435b8]
lea rcx, [rbp + 0x40]
call fcn.14000f6bc
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_create_socket
lea rcx, [rbp + 0x40]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp + 0x40]
call fcn.14000f6bc
int3
lea rcx, [rbp + 0x30]
call fcn.140003390
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_flags
lea rcx, [rbp + 0x98]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp + 0x98]
call fcn.14000f6bc
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_option
lea rcx, [rbp - 0x68]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_connect
lea rcx, [rbp - 0x68]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_send_data
lea rcx, [rbp - 0x68]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
lea rdx, str.Request_timed_out
lea rcx, [rbp - 0x68]
call fcn.1400033a0
lea rdx, [0x140043758]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_select_socket
lea rcx, [rbp - 0x68]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
nop
call fcn.1400151dc
nop
lea r8, [rsp + 0x58]
lea rdx, str.Unsupported_transfer_encoding:
lea rcx, [rbp + 0x40]
call fcn.140006a10
nop
mov rdx, rax
lea rcx, [rbp - 0x68]
call fcn.140006070
lea rdx, [0x140043758]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
nop
lea rdx, str.Invalid_digit
lea rcx, [rbp - 0x68]
call fcn.1400033a0
lea rdx, [0x140043758]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
call fcn.140006510
int3
call fcn.1400151dc
nop
call fcn.1400151dc
nop
lea rdx, str.Invalid_chunk
lea rcx, [rbp - 0x68]
call fcn.1400033a0
lea rdx, [0x140043758]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
lea rdx, str.Invalid_hex_digit
lea rcx, [rbp - 0x68]
call fcn.1400033a0
lea rdx, [0x140043758]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
nop
call fcn.1400151dc
nop
call fcn.1400151dc
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_read_data
lea rcx, [rbp + 0x40]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp + 0x40]
call fcn.14000f6bc
int3
lea rdx, str.Request_timed_out
lea rcx, [rbp - 0x68]
call fcn.1400033a0
lea rdx, [0x140043758]
lea rcx, [rbp - 0x68]
call fcn.14000f6bc
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_select_socket
lea rcx, [rbp + 0x40]
call fcn.1400017d0
lea rdx, [0x1400435b8]
lea rcx, [rbp + 0x40]
call fcn.14000f6bc
nop
lea rdx, str.Unsupported_protocol
lea rcx, [rsp + 0x58]
call fcn.140003170
lea rdx, [0x1400436c8]
lea rcx, [rsp + 0x58]
call fcn.14000f6bc
int3