Function at 0x140067250
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 - 0x11a8]
mov eax, 0x12a8
call fcn.1400b8600
sub rsp, rax
movaps xmmword [rsp + 0x1290], xmm6
movaps xmmword [rsp + 0x1280], xmm7
movaps xmmword [rsp + 0x1270], xmm8
movaps xmmword [rsp + 0x1260], xmm9
mov rax, qword [0x1400ee040]
xor rax, rsp
mov qword [rbp + 0x1150], rax
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x40], rdx
mov rsi, rcx
mov qword [rbp - 0x10], rdx
mov r13, qword [rbp + 0x1210]
mov edi, 1
mov dword [rsp + 0x58], edi
lea rcx, [rsp + 0x68]
call fcn.1400642d0
mov r14, qword [rbp + 0x1218]
imul r15, r14, 0xf4240
add r15, qword [rax]
mov qword [rbp - 0x28], r15
mov r8, qword [rsi + 0x18]
lea rcx, [rsi + 8]
cmp qword [rsi + 0x20], 0xf
jbe 0x1400672fd
mov rcx, qword [rsi + 8]
cmp r8, 4
jne 0x140068349
lea rdx, str.http
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140068349
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movzx eax, byte [rsi + 1]
mov ebx, 2
test al, al
jne 0x14006733b
mov eax, ebx
jmp 0x140067349
cmp al, dil
jne 0x140068305
mov eax, reloc.WS2_32.dll_socket
mov dword [rbp + 0x14], eax
mov dword [rbp + 0x18], edi
cmp qword [rsi + 0x98], 0
jne 0x140067362
lea rdx, [0x1400d2130]
jmp 0x140067373
lea rdx, [rsi + 0x88]
cmp qword [rdx + 0x18], 0xf
jbe 0x140067373
mov rdx, qword [rdx]
lea rcx, [rsi + 0x68]
cmp qword [rsi + 0x80], 0xf
jbe 0x140067385
mov rcx, qword [rsi + 0x68]
lea r9, [rbp - 0x18]
lea r8, [rbp + 0x10]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x14006836a
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x48], rax
mov qword [rbp + 8], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
xor ecx, ecx
mov qword [rbp - 0x80], rcx
mov rdi, qword [r13 + 8]
sub rdi, qword [r13]
sar rdi, 6
test rdi, rdi
je 0x1400674ae
movabs rax, 0x3ffffffffffffff
cmp rdi, rax
ja 0x1400683af
shl rdi, 6
cmp rdi, 0x1000
jb 0x140067422
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x1400683b5
call fcn.1400b7ae4
test rax, rax
je 0x14006741b
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140067437
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rdi, rdi
je 0x140067434
mov rcx, rdi
call fcn.1400b7ae4
mov rbx, rax
jmp 0x140067437
mov rbx, rcx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
lea rax, [rbx + rdi]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x68], rax
mov r15, qword [r13 + 8]
mov rdi, qword [r13]
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rbx
lea rax, [rsp + 0x70]
mov qword [rbp - 0x30], rax
cmp rdi, r15
je 0x1400674a0
mov qword [rbp - 0x20], rbx
mov rdx, rdi
mov rcx, rbx
call fcn.14006f450
nop
lea rcx, [rbx + 0x20]
lea rdx, [rdi + 0x20]
call fcn.14006f450
nop
add rbx, 0x40
mov qword [rbp - 0x38], rbx
add rdi, 0x40
cmp rdi, r15
jne 0x140067471
mov qword [rsp + 0x78], rbx
mov ebx, 2
mov r15, qword [rbp - 0x28]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
lea rdx, [rsi + 8]
lea rcx, [rbp - 0x68]
call fcn.140066900
nop
movzx eax, byte [rsi + 1]
test al, al
je 0x1400674e5
cmp al, 1
jne 0x140068571
mov ebx, reloc.WS2_32.dll_socket
mov edi, 1
lea r8d, [rdi + 5]
mov edx, edi
mov ecx, ebx
call qword [sym.imp.WS2_32.dll_socket]
mov rsi, rax
mov qword [rsp + 0x60], rax
cmp rax, 0xffffffffffffffff
je 0x1400683bb
mov dword [rsp + 0x38], edi
lea r8, [rsp + 0x38]
mov edx, 0x8004667e
mov rcx, rax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x1400683ea
movabs rbx, 0x431bde82d7b634db
test r14, r14
js 0x140067571
lea rcx, [rsp + 0x50]
call fcn.1400642d0
mov rcx, r15
sub rcx, qword [rsp + 0x50]
mov rax, rbx
imul rcx
mov rbx, rdx
sar rbx, 0x12
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test rbx, rbx
mov r13d, 0
cmovle rbx, r13
jmp 0x14006757b
mov rbx, 0xffffffffffffffff
xor r13d, r13d
mov rax, qword [rbp - 0x48]
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 0x1400675c1
nop word [rax + rax]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x14006761f
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x1400675a0
mov ebx, 1
mov rdi, qword [rbp - 0x60]
mov r15, qword [rbp - 0x68]
sub rdi, r15
je 0x1400676fc
mov r12, qword [rbp - 0x28]
nop dword [rax + rax]
test r14, r14
js 0x140067687
lea rcx, [rsp + 0x50]
call fcn.1400642d0
mov rcx, r12
sub rcx, qword [rsp + 0x50]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
cmovle rdx, r13
jmp 0x14006768e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x14006844e
mov r8, rbx
mov ebx, 1
mov edx, ebx
lea rcx, [rsp + 0x60]
call fcn.140066190
mov dword [rbp - 0x50], 4
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x140068423
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x140068326
jmp 0x1400675c6
mov rdx, 0xffffffffffffffff
mov r8, rdx
mov edx, ebx
lea rcx, [rsp + 0x60]
call fcn.140066190
xor r9d, r9d
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1400676e7
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x1400676de
xor r9d, r9d
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400676b6
jmp 0x1400676e7
cmp ebx, 0xffffffff
je 0x140068479
movsxd rax, ebx
add r15, rax
sub rdi, rax
je 0x1400676fc
mov ebx, 1
jmp 0x1400675e0
mov word [rsp + 0x34], 0xa0d
mov dword [rsp + 0x48], 0xa0d0a0d
mov rax, qword [rsp + 0x40]
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], send
mov byte [rax + 8], 0
mov qword [rax + 0x28], r13
mov qword [rax + 0x30], r13
mov qword [rax + 0x38], r13
mov qword [rax + 0x40], r13
mov qword [rax + 0x48], r13
mov qword [rax + 0x50], r13
mov dword [rsp + 0x58], 1
movdqu xmmword [rsp + 0x70], xmm0
xor ebx, ebx
mov qword [rbp - 0x80], rbx
xor r13b, r13b
mov byte [rsp + 0x31], r13b
mov qword [rbp - 0x50], rbx
mov byte [rsp + 0x30], r13b
mov r15d, ebx
xor al, al
mov dword [rsp + 0x38], eax
mov rdi, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
jmp 0x140067782
xor ebx, ebx
test r14, r14
js 0x1400677bc
lea rcx, [rbp - 0x20]
call fcn.1400642d0
mov rcx, qword [rbp - 0x28]
sub rcx, qword [rbp - 0x20]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test rdx, rdx
cmovle rdx, rbx
jmp 0x1400677c3
mov rdx, 0xffffffffffffffff
mov r8, rdx
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.140066190
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x150]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x14006782a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140067821
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x150]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
je 0x1400677f2
jmp 0x14006782a
cmp ebx, 0xffffffff
je 0x1400684a4
movsxd r9, ebx
test ebx, ebx
je 0x14006825c
lea r8, [rbp + 0x150]
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.1400afcd0
mov r12, qword [rsp + 0x70]
test r13b, r13b
jne 0x140067e4b
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x50], r8
mov rax, r8
sub rax, r12
cmp rax, 4
jl 0x1400681b9
lea rdx, [r8 - 4]
mov rdi, r12
mov eax, dword [rsp + 0x48]
nop dword [rax]
cmp eax, dword [rdi]
sete cl
test cl, cl
jne 0x140067897
cmp rdi, rdx
je 0x1400681b9
inc rdi
jmp 0x140067880
cmp rdi, r8
je 0x1400681b9
add rdi, 2
mov r8, rdi
mov rdx, r12
lea rcx, [rbp + 0x118]
call fcn.1400acd40
nop
mov rbx, qword [rbp + 0x118]
mov eax, dword [rbp + 0x120]
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
movzx eax, word [rbp + 0x124]
mov word [rcx + 4], ax
lea rdx, [rbp + 0x128]
add rcx, 8
call fcn.1400aa290
xor r13d, r13d
nop dword [rax]
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0x60]
call fcn.1400acfb0
nop
mov rbx, qword [rbp + 0x60]
movups xmm9, xmmword [rbp + 0x68]
movups xmmword [rbp + 0xf0], xmm9
movups xmm8, xmmword [rbp + 0x78]
movups xmmword [rbp + 0x100], xmm8
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], send
mov byte [rbp + 0x68], 0
movups xmm7, xmmword [rbp + 0x88]
movups xmmword [rbp + 0x40], xmm7
movups xmm6, xmmword [rbp + 0x98]
movups xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x98], r13
mov qword [rbp + 0xa0], send
mov byte [rbp + 0x88], 0
lea rcx, [rbp + 0xf0]
movdqa xmm0, xmm8
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
seta dl
mov byte [rsp + 0x32], dl
movq r13, xmm9
cmova rcx, r13
movq rax, xmm8
mov qword [rsp + 0x68], rax
cmp rax, 0x11
jne 0x140067a06
mov r8, rax
lea rdx, str.transfer_encoding
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400679fc
lea rcx, [rbp + 0x40]
movq rdx, xmm7
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
cmova rcx, rdx
movq rax, xmm6
cmp rax, 7
jne 0x1400684d3
mov r8, rax
lea rdx, str.chunked
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400684d3
mov byte [rsp + 0x30], 1
jmp 0x140067aed
mov rax, qword [rsp + 0x68]
movzx edx, byte [rsp + 0x32]
lea rcx, [rbp + 0xf0]
test dl, dl
cmovne rcx, r13
cmp rax, 0xe
jne 0x140067aed
mov r8, rax
lea rdx, str.content_length
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140067aed
lea r9, [rbp + 0x40]
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0xf
seta dl
movq rcx, xmm7
cmova r9, rcx
movq rax, xmm6
add r9, rax
lea rax, [rbp + 0x40]
test dl, dl
cmovne rax, rcx
xor ecx, ecx
mov r8d, ecx
mov qword [rbp - 0x50], rcx
cmp rax, r9
je 0x140067aa9
nop word [rax + rax]
movsx edx, byte [rax]
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x140068508
lea ecx, [rdx - 0x30]
movsxd rdx, ecx
lea rcx, [r8 + r8*4]
lea r8, [rdx + rcx*2]
mov qword [rbp - 0x50], r8
inc rax
cmp rax, r9
jne 0x140067a80
mov byte [rsp + 0x31], 1
mov qword [rsp + 0x68], r8
mov rcx, qword [rsp + 0x40]
add rcx, 0x40
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
cmp r8, rax
jbe 0x140067aed
movabs rax, 0x7fffffffffffffff
cmp r8, rax
ja 0x140068529
lea rdx, [rsp + 0x68]
call fcn.1400aed10
movups xmm6, xmmword [rbp + 0x50]
movups xmm7, xmmword [rbp + 0x40]
movaps xmmword [rbp + 0xb0], xmm9
movaps xmmword [rbp + 0xc0], xmm8
xor r8d, r8d
mov qword [rbp + 0x100], r8
mov qword [rbp + 0x108], send
mov byte [rbp + 0xf0], r8b
movaps xmmword [rbp + 0xd0], xmm7
movaps xmmword [rbp + 0xe0], xmm6
mov qword [rbp + 0x50], r8
mov qword [rbp + 0x58], send
mov byte [rbp + 0x40], r8b
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x30]
cmp rdx, qword [rcx + 0x38]
je 0x140067b75
movups xmmword [rdx], xmm9
movups xmmword [rdx + 0x10], xmm8
mov r13d, send
mov byte [rbp + 0xb0], r8b
movups xmmword [rdx + 0x20], xmm7
movups xmmword [rdx + 0x30], xmm6
mov edx, r13d
mov byte [rbp + 0xd0], r8b
add qword [rcx + 0x30], 0x40
jmp 0x140067b93
lea r8, [rbp + 0xb0]
add rcx, 0x28
call fcn.1400b38d0
mov rdx, qword [rbp + 0xe8]
mov r13, qword [rbp + 0xc8]
cmp rdx, 0xf
jbe 0x140067bcd
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067bc8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006819d
call fcn.1400b7700
cmp r13, 0xf
jbe 0x140067c09
lea rdx, [r13 + 1]
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067c03
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006819d
call fcn.1400b7700
nop
mov rdx, qword [rbp + 0x58]
cmp rbx, rdi
je 0x140067d01
cmp rdx, 0xf
jbe 0x140067c4d
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067c48
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681a4
call fcn.1400b7700
xor r13d, r13d
mov qword [rbp + 0x50], r13
mov qword [rbp + 0x58], send
mov byte [rbp + 0x40], r13b
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x140067ca1
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067c9c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681ab
call fcn.1400b7700
mov qword [rbp + 0x98], r13
mov qword [rbp + 0xa0], send
mov byte [rbp + 0x88], 0
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x1400678f0
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067cf7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681ab
call fcn.1400b7700
jmp 0x1400678f0
cmp rdx, 0xf
jbe 0x140067d38
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067d33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681a4
call fcn.1400b7700
xor ebx, ebx
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], send
mov byte [rbp + 0x40], bl
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x140067d8a
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067d85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681ab
call fcn.1400b7700
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], send
mov byte [rbp + 0x88], 0
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x140067de1
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067ddc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681ab
call fcn.1400b7700
lea rdx, [rdi + 2]
mov rdi, qword [rsp + 0x50]
cmp r12, rdx
je 0x140067e05
sub rdi, rdx
mov r8, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rsp + 0x78], rdi
mov r13b, 1
mov rdx, qword [rbp + 0x140]
cmp rdx, 0xf
jbe 0x140067e52
inc rdx
mov rcx, qword [rbp + 0x128]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140067e44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400681b2
call fcn.1400b7700
jmp 0x140067e52
mov rdi, qword [rsp + 0x78]
xor ebx, ebx
cmp byte [rsp + 0x30], 0
je 0x1400680b6
mov r8d, dword [rsp + 0x38]
test r15, r15
je 0x140067ed6
mov rax, rdi
sub rax, r12
mov rbx, r15
cmp rax, r15
cmovb rbx, rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x48]
mov r9, rbx
mov r8, r12
add rcx, 0x40
call fcn.1400afcd0
lea rdx, [r12 + rbx]
cmp r12, rdx
je 0x140067eae
sub rdi, rdx
mov r8, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rsp + 0x78], rdi
sub r15, rbx
mov r8d, dword [rsp + 0x38]
movzx r8d, r8b
mov eax, 1
cmove r8d, eax
mov dword [rsp + 0x38], r8d
cmp r12, rdi
lea ebx, [rax - 1]
je 0x140067782
jmp 0x140067e62
test r8b, r8b
je 0x140067f26
mov rax, rdi
sub rax, r12
cmp rax, 2
jb 0x140067782
movzx eax, word [rsp + 0x34]
cmp ax, word [r12]
sete al
test al, al
je 0x14006852f
xor al, al
mov dword [rsp + 0x38], eax
lea rdx, [r12 + 2]
cmp r12, rdx
je 0x140067f26
sub rdi, rdx
mov r8, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rsp + 0x78], rdi
mov rcx, rdi
mov rax, rdi
sub rax, r12
cmp rax, 2
jl 0x140067f5c
lea r8, [rdi - 2]
mov rdx, r12
nop dword [rax]
movzx eax, word [rsp + 0x34]
cmp ax, word [rdx]
sete al
test al, al
jne 0x140067f59
cmp rdx, r8
je 0x140067f5c
inc rdx
jmp 0x140067f40
mov rcx, rdx
cmp rcx, rdi
je 0x140067782
mov r15, rbx
cmp r12, rcx
je 0x140067fb2
mov rax, r12
movzx r8d, byte [rax]
lea edx, [r8 - 0x30]
cmp dl, 9
ja 0x140067f83
lea rdx, [r8 - 0x30]
jmp 0x140067fa3
lea edx, [r8 - 0x41]
cmp dl, 5
ja 0x140067f92
lea rdx, [r8 - 0x37]
jmp 0x140067fa3
lea edx, [r8 - 0x61]
cmp dl, 5
ja 0x140068550
lea rdx, [r8 - 0x57]
shl r15, 4
add r15, rdx
inc rax
cmp rax, rcx
jne 0x140067f70
lea rdx, [rcx + 2]
cmp r12, rdx
je 0x140067fd1
sub rdi, rdx
mov r8, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rsp + 0x78], rdi
test r15, r15
jne 0x140067e5d
test r12, r12
je 0x140068015
mov rdx, qword [rbp - 0x80]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x14006800c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006828a
mov rcx, r12
call fcn.1400b7700
nop
cmp rsi, 0xffffffffffffffff
je 0x140068025
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14006806b
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006805a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400682db
call fcn.1400b7700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rbx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbp + 0x1150]
xor rcx, rsp
call fcn.1400b7380
lea r11, [rsp + 0x12a8]
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
mov r9, rdi
sub r9, r12
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rbx + 0x48]
mov r8, r12
lea rcx, [rbx + 0x40]
call fcn.1400afcd0
cmp r12, rdi
cmovne rdi, r12
mov qword [rsp + 0x78], rdi
cmp byte [rsp + 0x31], 0
je 0x140067780
mov rax, qword [rbx + 0x48]
sub rax, qword [rbx + 0x40]
cmp rax, qword [rbp - 0x50]
jb 0x140067780
test r12, r12
je 0x140068135
mov rdx, qword [rbp - 0x80]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x14006812c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006828a
mov rcx, r12
call fcn.1400b7700
nop
cmp rsi, 0xffffffffffffffff
je 0x140068145
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14006818d
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006817a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400682db
call fcn.1400b7700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x140068076
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test r12, r12
je 0x1400681f4
mov rdx, qword [rbp - 0x80]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x1400681eb
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006828a
mov rcx, r12
call fcn.1400b7700
nop
cmp rsi, 0xffffffffffffffff
je 0x140068204
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14006824c
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140068239
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400682db
call fcn.1400b7700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x140068076
test r12, r12
je 0x14006829a
mov rdx, qword [rbp - 0x80]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140068291
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140068291
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.1400b7700
nop
cmp rsi, 0xffffffffffffffff
je 0x1400682aa
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400682f5
mov rdx, qword [rbp - 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400682e2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400682e2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b7700
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
xor ecx, ecx
mov qword [rbp - 0x58], rcx
mov rcx, qword [rbp - 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x140068076
lea rdx, str.Unsupported_protocol
lea rcx, [rbp - 0x40]
call fcn.1400660a0
lea rdx, [0x1400ea340]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r9, str.Failed_to_connect
lea rcx, [rsp + 0x70]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Only_HTTP_scheme_is_supported
lea rcx, [rbp - 0x40]
call fcn.1400660a0
lea rdx, [0x1400ea340]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea r8, [rsi + 0x68]
lea rdx, str.Failed_to_get_address_info_of
lea rcx, [rbp + 0xf0]
call fcn.14006a5a0
nop
mov r9, rax
mov edx, ebx
lea rcx, [rbp + 0xb0]
call fcn.140064690
lea rdx, [0x1400ea180]
lea rcx, [rbp + 0xb0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.1400a7d50
int3
call fcn.140064230
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_create_socket
lea rcx, [rbp + 0xb0]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rbp + 0xb0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rsp + 0x60]
call fcn.1400662f0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_flags
lea rcx, [rbp + 0xf0]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rbp + 0xf0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_option
lea rcx, [rsp + 0x70]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_connect
lea rcx, [rsp + 0x70]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_send_data
lea rcx, [rsp + 0x70]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_read_data
lea rcx, [rbp + 0xb0]
call fcn.1400647a0
lea rdx, [0x1400ea180]
lea rcx, [rbp + 0xb0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rbp + 0x40]
lea rdx, str.Unsupported_transfer_encoding:
lea rcx, [rbp + 0xb0]
call fcn.14006a5a0
nop
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.140068990
lea rdx, [0x1400ea3b0]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Invalid_digit
lea rcx, [rbp - 0x40]
call fcn.140066300
lea rdx, [0x1400ea3b0]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call fcn.1400a7d50
nop
lea rdx, str.Invalid_chunk
lea rcx, [rbp - 0x40]
call fcn.140066300
lea rdx, [0x1400ea3b0]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, str.Invalid_hex_digit
lea rcx, [rbp - 0x40]
call fcn.140066300
lea rdx, [0x1400ea3b0]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Unsupported_protocol
lea rcx, [rbp - 0x40]
call fcn.1400660a0
lea rdx, [0x1400ea340]
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
int3