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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x11f8]
mov eax, 0x12f8
call fcn.14000e410
sub rsp, rax
movaps xmmword [rsp + 0x12e0], xmm6
movaps xmmword [rsp + 0x12d0], xmm7
movaps xmmword [rsp + 0x12c0], xmm8
movaps xmmword [rsp + 0x12b0], xmm9
mov rax, qword [0x140045048]
xor rax, rsp
mov qword [rbp + 0x11a0], rax
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x60], rdx
mov r15, rcx
mov qword [rbp - 0x40], rdx
mov r14, qword [rbp + 0x1260]
call fcn.14000b040
mov rbx, rax
call fcn.14000b024
cmp rbx, 0x989680
jne 0x1400096cd
imul rax, rax, 0x64
jmp 0x1400096e8
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r13, qword [rbp + 0x1268]
imul rcx, r13, 0xf4240
add rax, rcx
mov qword [rbp - 0x38], rax
lea rdx, [r15 + 8]
cmp qword [r15 + 0x20], 0x10
jb 0x14000970c
mov rdx, qword [r15 + 8]
cmp qword [r15 + 0x18], 4
jne 0x14000aafa
xor esi, esi
mov ecx, esi
lea r8, str.http
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14000973a
cmp rcx, 4
jne 0x140009722
mov eax, esi
jmp 0x14000973f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x14000aafa
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movzx eax, byte [r15 + 1]
mov ebx, 2
test al, al
jne 0x140009768
mov eax, ebx
jmp 0x140009775
cmp al, 1
jne 0x14000aaab
mov eax, reloc.WS2_32.dll_socket
mov dword [rbp - 0xc], eax
mov eax, 1
mov dword [rbp - 8], eax
cmp qword [r15 + 0x98], rsi
jne 0x140009792
lea rdx, [0x140031298]
jmp 0x1400097a3
lea rdx, [r15 + 0x88]
cmp qword [rdx + 0x18], 0x10
jb 0x1400097a3
mov rdx, qword [rdx]
lea rcx, [r15 + 0x68]
cmp qword [r15 + 0x80], 0x10
jb 0x1400097b5
mov rcx, qword [r15 + 0x68]
lea r9, [rbp - 0x28]
lea r8, [rbp - 0x10]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x14000ab1b
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp - 0x20], rax
mov rdi, qword [rbp - 0x28]
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x18], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], rsi
mov rsi, qword [r14]
mov r14, qword [r14 + 8]
cmp rsi, r14
je 0x1400098a0
mov rbx, r14
sub rbx, rsi
sar rbx, 6
mov rdx, rbx
lea rcx, [rbp + 0x80]
call fcn.140007fe0
mov rdi, rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
shl rbx, 6
add rbx, rax
mov qword [rbp + 0x90], rbx
lea rax, [rbp + 0x80]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea rax, [rbp + 0x80]
mov qword [rbp - 0x48], rax
nop dword [rax + rax]
mov qword [rbp - 0x30], rdi
mov rdx, rsi
mov rcx, rdi
call fcn.140006640
nop
lea rcx, [rdi + 0x20]
lea rdx, [rsi + 0x20]
call fcn.140006640
nop
add rdi, 0x40
mov qword [rbp - 0x50], rdi
add rsi, 0x40
cmp rsi, r14
jne 0x140009860
mov qword [rbp + 0x88], rdi
mov ebx, 2
mov rdi, qword [rsp + 0x70]
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
lea rdx, [r15 + 8]
lea rcx, [rbp - 0x80]
call fcn.1400086e0
nop
movzx eax, byte [r15 + 1]
test al, al
je 0x1400098da
cmp al, 1
jne 0x14000ad7a
mov ebx, reloc.WS2_32.dll_socket
mov r8d, 6
mov r14d, 1
mov edx, r14d
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_socket]
mov rsi, rax
mov qword [rsp + 0x78], rax
cmp rax, 0xffffffffffffffff
je 0x14000ab67
mov dword [rsp + 0x38], r14d
lea r8, [rsp + 0x38]
mov edx, 0x8004667e
mov rcx, rax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x14000ab9d
movabs r14, 0x431bde82d7b634db
test r13, r13
js 0x14000999a
call fcn.14000b040
mov rbx, rax
call fcn.14000b024
cmp rbx, 0x989680
jne 0x14000994f
imul rax, rax, 0x64
jmp 0x14000996a
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r15, qword [rbp - 0x38]
mov rcx, r15
sub rcx, rax
mov rax, r14
imul rcx
mov rbx, rdx
sar rbx, 0x12
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test rbx, rbx
mov r12d, 0
cmovle rbx, r12
jmp 0x1400099a8
mov rbx, 0xffffffffffffffff
mov r15, qword [rbp - 0x38]
xor r12d, r12d
mov edi, dword [rdi + 0x10]
mov r14, qword [rsp + 0x70]
mov r14, qword [r14 + 0x20]
mov r8d, edi
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1400099e9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140009a28
mov r8d, edi
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1400099c8
mov rdi, qword [rbp - 0x78]
mov r14, qword [rbp - 0x80]
sub rdi, r14
je 0x140009b43
nop word [rax + rax]
test r13, r13
js 0x140009ad3
call fcn.14000b040
mov rbx, rax
call fcn.14000b024
cmp rbx, 0x989680
jne 0x140009a8e
imul rax, rax, 0x64
jmp 0x140009aa9
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14000ac13
mov r8, rbx
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.1400094e0
mov dword [rbp - 0x68], 4
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x14000abdd
mov edx, dword [rsp + 0x68]
test edx, edx
jne 0x14000aacc
jmp 0x1400099e9
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, r15
sub rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
cmovle rdx, r12
jmp 0x140009ada
mov rdx, 0xffffffffffffffff
mov r8, rdx
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.1400094e0
xor r9d, r9d
mov r8d, edi
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140009b2b
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140009b2b
xor r9d, r9d
mov r8d, edi
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140009b05
cmp ebx, 0xffffffff
je 0x14000ac49
movsxd rax, ebx
add r14, rax
sub rdi, rax
jne 0x140009a00
mov word [rsp + 0x34], 0xa0d
mov dword [rsp + 0x58], 0xa0d0a0d
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], recv
mov byte [rbp + 0x28], 0
mov qword [rbp + 0x48], r12
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
xor dil, dil
mov byte [rsp + 0x30], dil
mov byte [rsp + 0x31], dil
mov qword [rbp - 0x68], r12
mov byte [rsp + 0x32], dil
mov qword [rsp + 0x68], r12
xor al, al
mov dword [rsp + 0x38], eax
movzx r12d, byte [rsp + 0x31]
movzx r14d, byte [rsp + 0x31]
movzx r15d, byte [rsp + 0x31]
jmp 0x140009bc6
movzx edi, byte [rsp + 0x30]
test r13, r13
js 0x140009c32
call fcn.14000b040
mov rbx, rax
call fcn.14000b024
cmp rbx, 0x989680
jne 0x140009be7
imul rax, rax, 0x64
jmp 0x140009c02
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, qword [rbp - 0x38]
sub rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
mov eax, 0
cmovle rdx, rax
jmp 0x140009c39
mov rdx, 0xffffffffffffffff
mov r8, rdx
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.1400094e0
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140009c95
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140009c95
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
je 0x140009c68
cmp ebx, 0xffffffff
je 0x14000ad44
movsxd rax, ebx
test ebx, ebx
je 0x14000a8a8
lea r9, [rbp + 0x1a0]
add r9, rax
mov byte [rsp + 0x20], r12b
lea r8, [rbp + 0x1a0]
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x40]
call fcn.1400038b0
test dil, dil
jne 0x14000a20f
mov rdx, qword [rsp + 0x40]
mov rbx, rdx
mov r9, qword [rsp + 0x48]
mov rax, r9
sub rax, rdx
cmp rax, 4
jl 0x14000a4b2
lea r8, [r9 - 4]
mov eax, dword [rsp + 0x58]
cmp eax, dword [rdx]
sete cl
test cl, cl
jne 0x140009d1a
cmp rbx, r8
je 0x14000a4b2
inc rbx
cmp eax, dword [rbx]
sete cl
test cl, cl
je 0x140009d05
cmp rbx, r9
je 0x14000a4b2
add rbx, 2
mov r8, rbx
lea rcx, [rbp + 0x118]
call fcn.1400052a0
nop
mov rdi, qword [rbp + 0x118]
mov eax, dword [rbp + 0x120]
mov dword [rbp + 0x20], eax
movzx eax, word [rbp + 0x124]
mov word [rbp + 0x24], ax
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x140009d8d
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009d88
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ac7f
call fcn.14000e0ac
movups xmm0, xmmword [rbp + 0x128]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rbp + 0x138]
movups xmmword [rbp + 0x38], xmm1
xor eax, eax
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x140], recv
mov byte [rbp + 0x128], al
nop dword [rax]
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x150]
call fcn.140004de0
nop
mov rdi, qword [rbp + 0x150]
movups xmm9, xmmword [rbp + 0x158]
movups xmmword [rbp + 0xf0], xmm9
movups xmm8, xmmword [rbp + 0x168]
movups xmmword [rbp + 0x100], xmm8
xor eax, eax
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x170], recv
mov byte [rbp + 0x158], al
movups xmm7, xmmword [rbp + 0x178]
movups xmmword [rbp + 0x80], xmm7
movups xmm6, xmmword [rbp + 0x188]
movups xmmword [rbp + 0x90], xmm6
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x190], recv
mov byte [rbp + 0x178], al
lea rcx, [rbp + 0xf0]
movq rax, xmm9
mov qword [rsp + 0x60], rax
movdqa xmm0, xmm8
psrldq xmm0, 8
movq rdx, xmm0
mov qword [rbp - 0x30], rdx
cmp rdx, 0x10
cmovae rcx, rax
movq r8, xmm8
mov qword [rbp - 0x40], r8
cmp r8, 0x11
jne 0x140009ef2
lea rdx, str.transfer_encoding
call fcn.14000ff20
test eax, eax
jne 0x140009ee5
lea rcx, [rbp + 0x80]
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 0x14000ac85
mov r8, rax
lea rdx, str.chunked
call fcn.14000ff20
test eax, eax
jne 0x14000ac85
mov byte [rsp + 0x32], 1
jmp 0x140009fd8
mov rax, qword [rsp + 0x60]
mov rdx, qword [rbp - 0x30]
mov r8, qword [rbp - 0x40]
lea rcx, [rbp + 0xf0]
cmp rdx, 0x10
cmovae rcx, rax
cmp r8, 0xe
jne 0x140009fd8
lea rdx, str.content_length
call fcn.14000ff20
test eax, eax
jne 0x140009fd8
lea r9, [rbp + 0x80]
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, [rbp + 0x80]
cmp rcx, 0x10
cmovae rax, r8
xor r8d, r8d
mov qword [rbp - 0x68], r8
cmp rax, r9
je 0x140009f99
nop dword [rax]
nop dword [rax + rax]
movsx edx, byte [rax]
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x14000acbd
lea ecx, [rdx - 0x30]
movsxd rdx, ecx
lea rcx, [r8 + r8*4]
lea r8, [rdx + rcx*2]
mov qword [rbp - 0x68], r8
inc rax
cmp rax, r9
jne 0x140009f70
mov byte [rsp + 0x31], 1
mov rax, qword [rbp + 0x70]
sub rax, qword [rbp + 0x60]
cmp r8, rax
jbe 0x140009fd8
movabs rax, 0x7fffffffffffffff
cmp r8, rax
ja 0x14000acde
mov rdx, r8
lea rcx, [rbp + 0x60]
call fcn.140007d90
movups xmm6, xmmword [rbp + 0x90]
movups xmm7, xmmword [rbp + 0x80]
movaps xmmword [rbp + 0xb0], xmm9
movaps xmmword [rbp + 0xc0], xmm8
xor eax, eax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], recv
mov byte [rbp + 0xf0], al
movaps xmmword [rbp + 0xd0], xmm7
movaps xmmword [rbp + 0xe0], xmm6
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], recv
mov byte [rbp + 0x80], al
mov rdx, qword [rbp + 0x50]
cmp rdx, qword [rbp + 0x58]
je 0x14000a062
movups xmmword [rdx], xmm9
movups xmmword [rdx + 0x10], xmm8
mov qword [rsp + 0x60], recv
mov byte [rbp + 0xb0], al
movups xmmword [rdx + 0x20], xmm7
movups xmmword [rdx + 0x30], xmm6
lea edx, [rax + 0xf]
mov byte [rbp + 0xd0], al
add qword [rbp + 0x50], 0x40
jmp 0x14000a085
lea r8, [rbp + 0xb0]
lea rcx, [rbp + 0x48]
call fcn.1400036e0
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xc8]
mov qword [rsp + 0x60], rax
cmp rdx, 0x10
jb 0x14000a0bf
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a0ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ace4
call fcn.14000e0ac
mov rax, qword [rsp + 0x60]
cmp rax, 0x10
jb 0x14000a100
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a0fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ace4
call fcn.14000e0ac
nop
mov rdx, qword [rbp + 0x98]
cmp rdi, rbx
je 0x14000a171
cmp rdx, 0x10
jb 0x14000a146
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a141
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000acea
call fcn.14000e0ac
xor eax, eax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], recv
mov byte [rbp + 0x80], al
lea rcx, [rbp + 0x158]
call fcn.140007580
jmp 0x140009dc0
cmp rdx, 0x10
jb 0x14000a1ab
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a1a6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000acea
call fcn.14000e0ac
xor eax, eax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], recv
mov byte [rbp + 0x80], al
lea rcx, [rbp + 0x158]
call fcn.140007580
lea rdx, [rbx + 2]
mov rdi, qword [rsp + 0x40]
cmp rdi, rdx
je 0x14000a1fb
mov rbx, qword [rsp + 0x48]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.140010020
lea rax, [rbx + rdi]
mov qword [rsp + 0x48], rax
mov dil, 1
mov byte [rsp + 0x30], dil
lea rcx, [rbp + 0x120]
call fcn.140007520
cmp byte [rsp + 0x32], 0
je 0x14000a408
mov rbx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x38]
movzx ecx, word [rsp + 0x34]
test r10, r10
je 0x14000a2d1
sub rbx, rdi
mov rax, r10
cmp rbx, r10
cmovb rax, rbx
mov qword [rsp + 0x60], rax
lea r9, [rdi + rax]
mov byte [rsp + 0x20], r14b
mov r8, rdi
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.1400038b0
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
lea rdx, [rdi + rax]
mov rbx, qword [rsp + 0x48]
cmp rdi, rdx
je 0x14000a29f
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.140010020
add rbx, rdi
mov qword [rsp + 0x48], rbx
mov rdi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
sub r10, rax
mov qword [rsp + 0x68], r10
mov r8d, dword [rsp + 0x38]
movzx r8d, r8b
mov eax, 1
cmove r8d, eax
mov dword [rsp + 0x38], r8d
cmp rdi, rbx
je 0x140009bc1
jmp 0x14000a22e
test r8b, r8b
je 0x14000a323
mov rax, rbx
sub rax, rdi
cmp rax, 2
jb 0x140009bc1
cmp cx, word [rdi]
sete al
test al, al
je 0x14000acf0
xor al, al
mov dword [rsp + 0x38], eax
lea rdx, [rdi + 2]
cmp rdi, rdx
je 0x14000a323
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.140010020
add rbx, rdi
mov qword [rsp + 0x48], rbx
movzx ecx, word [rsp + 0x34]
mov rdi, qword [rsp + 0x40]
mov r9, rdi
mov rax, rbx
sub rax, rdi
cmp rax, 2
jl 0x140009bc1
lea rdx, [rbx - 2]
cmp cx, word [rdi]
sete al
test al, al
jne 0x14000a35b
cmp r9, rdx
je 0x140009bc1
inc r9
cmp cx, word [r9]
sete al
test al, al
je 0x14000a344
cmp r9, rbx
je 0x140009bc1
xor eax, eax
mov r10d, eax
mov qword [rsp + 0x68], rax
mov rax, rdi
cmp rdi, r9
je 0x14000a3c7
nop word [rax + rax]
movzx r8d, byte [rax]
lea edx, [r8 - 0x30]
cmp dl, 9
ja 0x14000a393
lea rdx, [r8 - 0x30]
jmp 0x14000a3b3
lea edx, [r8 - 0x41]
cmp dl, 5
ja 0x14000a3a2
lea rdx, [r8 - 0x37]
jmp 0x14000a3b3
lea edx, [r8 - 0x61]
cmp dl, 5
ja 0x14000ad11
lea rdx, [r8 - 0x57]
shl r10, 4
add r10, rdx
mov qword [rsp + 0x68], r10
inc rax
cmp rax, r9
jne 0x14000a380
lea rdx, [r9 + 2]
cmp rdi, rdx
je 0x14000a3f5
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call fcn.140010020
add rbx, rdi
mov qword [rsp + 0x48], rbx
movzx ecx, word [rsp + 0x34]
mov rdi, qword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
test r10, r10
je 0x14000a64c
mov r8d, dword [rsp + 0x38]
jmp 0x14000a233
mov byte [rsp + 0x20], r15b
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp + 0x60]
call fcn.1400038b0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
cmp byte [rsp + 0x31], 0
je 0x140009bc6
mov rax, qword [rbp + 0x68]
sub rax, qword [rbp + 0x60]
cmp rax, qword [rbp - 0x68]
jb 0x140009bc6
lea rdx, [rbp + 0x20]
mov r14, qword [rbp - 0x60]
mov rcx, r14
call fcn.140006a80
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000a7aa
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a497
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad32
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xor r15d, r15d
mov qword [rsp + 0x50], r15
jmp 0x14000a7ad
lea rdx, [rbp + 0x20]
mov r14, qword [rbp - 0x60]
mov rcx, r14
call fcn.140006a80
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000a512
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a4fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad32
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xor r15d, r15d
mov qword [rsp + 0x50], r15
jmp 0x14000a515
xor r15d, r15d
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14000a55b
mov rdx, qword [rbp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a54a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad38
call fcn.14000e0ac
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], r15
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x14000a5a8
mov rdi, qword [rbp + 0x50]
cmp rbx, rdi
je 0x14000a585
nop dword [rax]
mov rcx, rbx
call fcn.140007580
add rbx, 0x40
cmp rbx, rdi
jne 0x14000a570
mov rbx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
sub r8, rbx
sar r8, 6
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.140008290
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
lea rcx, [rbp + 0x20]
call fcn.140007520
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14000a602
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a5f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad3e
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, r14
mov rcx, qword [rbp + 0x11a0]
xor rcx, rsp
call fcn.14000e470
lea r11, [rsp + 0x12f8]
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 + 0x20]
mov r14, qword [rbp - 0x60]
mov rcx, r14
call fcn.140006a80
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000a6ac
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a694
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad32
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
xor r15d, r15d
mov qword [rsp + 0x50], r15
jmp 0x14000a6af
xor r15d, r15d
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14000a6f5
mov rdx, qword [rbp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a6e4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad38
call fcn.14000e0ac
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], r15
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x14000a73f
mov rdi, qword [rbp + 0x50]
cmp rbx, rdi
je 0x14000a71c
mov rcx, rbx
call fcn.140007580
add rbx, 0x40
cmp rbx, rdi
jne 0x14000a707
mov rbx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
sub r8, rbx
sar r8, 6
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.140008290
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
lea rcx, [rbp + 0x20]
call fcn.140007520
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14000a799
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a788
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad3e
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000a60e
xor r15d, r15d
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14000a7f3
mov rdx, qword [rbp + 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a7e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad38
call fcn.14000e0ac
mov qword [rbp + 0x60], r15
mov qword [rbp + 0x68], r15
mov qword [rbp + 0x70], r15
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x14000a83d
mov rdi, qword [rbp + 0x50]
cmp rbx, rdi
je 0x14000a81a
mov rcx, rbx
call fcn.140007580
add rbx, 0x40
cmp rbx, rdi
jne 0x14000a805
mov rbx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x58]
sub r8, rbx
sar r8, 6
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.140008290
mov qword [rbp + 0x48], r15
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
lea rcx, [rbp + 0x20]
call fcn.140007520
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14000a897
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a886
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad3e
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r15
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000a60e
mov eax, dword [rbp + 0x20]
mov rdi, qword [rbp - 0x60]
mov dword [rdi], eax
movzx eax, word [rbp + 0x24]
mov word [rdi + 4], ax
xor r14d, r14d
movups xmm0, xmmword [rbp + 0x28]
movups xmmword [rdi + 8], xmm0
movups xmm1, xmmword [rbp + 0x38]
movups xmmword [rdi + 0x18], xmm1
mov qword [rbp + 0x38], r14
mov qword [rbp + 0x40], recv
mov byte [rbp + 0x28], r14b
mov rdx, qword [rbp + 0x58]
mov qword [rbp + 0x58], r14
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x50], r14
mov rax, qword [rbp + 0x48]
mov ebx, r14d
mov qword [rbp + 0x48], rbx
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rcx
mov qword [rdi + 0x38], rdx
mov rdx, qword [rbp + 0x70]
mov r9d, r14d
mov qword [rbp + 0x70], r14
mov rcx, qword [rbp + 0x68]
mov qword [rbp + 0x68], r14
mov rax, qword [rbp + 0x60]
mov r8d, r14d
mov qword [rbp + 0x60], r14
mov qword [rdi + 0x40], rax
mov qword [rdi + 0x48], rcx
mov qword [rdi + 0x50], rdx
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14000a983
mov rdx, qword [rsp + 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a964
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad32
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov r9, qword [rbp + 0x70]
mov r8, qword [rbp + 0x60]
mov rbx, qword [rbp + 0x48]
test r8, r8
je 0x14000a9cb
sub r9, r8
mov rax, r8
cmp r9, 0x1000
jb 0x14000a9b0
add r9, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad38
mov rdx, r9
mov rcx, r8
call fcn.14000e0ac
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], r14
mov qword [rbp + 0x70], r14
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x14000aa3d
mov rdi, qword [rbp + 0x50]
cmp rbx, rdi
je 0x14000a9f5
nop dword [rax]
mov rcx, rbx
call fcn.140007580
add rbx, 0x40
cmp rbx, rdi
jne 0x14000a9e0
mov rbx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
sub rdx, rbx
and rdx, 0xffffffffffffffc0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000aa25
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad38
mov rcx, rbx
call fcn.14000e0ac
mov qword [rbp + 0x48], r14
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x58], r14
mov rdi, qword [rbp - 0x60]
lea rcx, [rbp + 0x20]
call fcn.140007520
nop
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x14000aa97
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000aa86
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad3e
call fcn.14000e0ac
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, rdi
jmp 0x14000a611
lea rdx, str.Unsupported_protocol
lea rcx, [rbp - 0x58]
call fcn.140006a30
lea rdx, [0x140043748]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
nop
lea r9, str.Failed_to_connect
lea r8, section..data
lea rcx, [rbp + 0x80]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0x80]
call fcn.14000f14c
nop
lea rdx, str.Only_HTTP_scheme_is_supported
lea rcx, [rbp - 0x58]
call fcn.140006a30
lea rdx, [0x140043748]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
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 + 0xf0]
call fcn.140003630
nop
mov r9, rax
lea r8, section..data
mov edx, ebx
lea rcx, [rbp + 0xb0]
call fcn.140007300
lea rdx, [0x140043678]
lea rcx, [rbp + 0xb0]
call fcn.14000f14c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_create_socket
lea r8, section..data
lea rcx, [rbp + 0xb0]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0xb0]
call fcn.14000f14c
int3
lea rcx, [rsp + 0x78]
call fcn.140008240
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_flags
lea r8, section..data
lea rcx, [rbp + 0xf0]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0xf0]
call fcn.14000f14c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_option
lea r8, section..data
lea rcx, [rbp + 0x80]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0x80]
call fcn.14000f14c
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_connect
lea r8, section..data
lea rcx, [rbp + 0x80]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0x80]
call fcn.14000f14c
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_send_data
lea r8, section..data
lea rcx, [rbp + 0x80]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0x80]
call fcn.14000f14c
nop
call fcn.14001443c
nop
lea r8, [rbp + 0x80]
lea rdx, str.Unsupported_transfer_encoding:
lea rcx, [rbp + 0xb0]
call fcn.140003630
nop
mov rdx, rax
lea rcx, [rbp - 0x58]
call fcn.140006b50
lea rdx, [0x1400437d8]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
nop
lea rdx, str.Invalid_digit
lea rcx, [rbp - 0x58]
call fcn.140006bb0
lea rdx, [0x1400437d8]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
int3
call fcn.140007f40
int3
call fcn.14001443c
nop
call fcn.14001443c
nop
lea rdx, str.Invalid_chunk
lea rcx, [rbp - 0x58]
call fcn.140006bb0
lea rdx, [0x1400437d8]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
int3
lea rdx, str.Invalid_hex_digit
lea rcx, [rbp - 0x58]
call fcn.140006bb0
lea rdx, [0x1400437d8]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
nop
call fcn.14001443c
nop
call fcn.14001443c
nop
call fcn.14001443c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_read_data
lea r8, section..data
lea rcx, [rbp + 0xb0]
call fcn.140007340
lea rdx, [0x140043678]
lea rcx, [rbp + 0xb0]
call fcn.14000f14c
nop
lea rdx, str.Unsupported_protocol
lea rcx, [rbp - 0x58]
call fcn.140006a30
lea rdx, [0x140043748]
lea rcx, [rbp - 0x58]
call fcn.14000f14c
int3