Function at 0x140004a60
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.140070310
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 [0x140086010]
xor rax, rsp
mov qword [rbp + 0x1150], rax
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
mov rsi, rcx
mov qword [rbp - 0x50], rdx
mov r13, qword [rbp + 0x1210]
mov edi, 1
mov dword [rbp + 0x38], edi
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140004af8
imul rax, rax, 0x64
jmp 0x140004b13
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r14, qword [rbp + 0x1218]
imul rcx, r14, 0xf4240
add rax, rcx
mov qword [rsp + 0x58], rax
mov r8, qword [rsi + 0x18]
lea rcx, [rsi + 8]
cmp qword [rsi + 0x20], 0x10
jb 0x140004b3c
mov rcx, qword [rsi + 8]
cmp r8, 4
jne 0x140005b04
lea rdx, str.http
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140005b04
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movzx eax, byte [rsi + 1]
mov ebx, 2
test al, al
jne 0x140004b83
mov eax, ebx
jmp 0x140004b91
cmp al, dil
jne 0x140005ac2
mov eax, reloc.WS2_32.dll_socket
mov dword [rbp + 0x124], eax
mov dword [rbp + 0x128], edi
cmp qword [rsi + 0x98], 0
jne 0x140004bb0
lea rdx, [0x1400734b8]
jmp 0x140004bc1
lea rdx, [rsi + 0x88]
cmp qword [rdx + 0x18], 0x10
jb 0x140004bc1
mov rdx, qword [rdx]
lea rcx, [rsi + 0x68]
cmp qword [rsi + 0x80], 0x10
jb 0x140004bd3
mov rcx, qword [rsi + 0x68]
lea r9, [rbp - 0x40]
lea r8, [rbp + 0x120]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x140005b25
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp + 0xe0], rax
mov r15, qword [rbp - 0x40]
mov qword [rsp + 0x48], r15
mov qword [rbp + 0xe8], r15
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rax
movdqu xmmword [rbp + 0x40], xmm0
xor ecx, ecx
mov qword [rbp + 0x50], rcx
mov rdi, qword [r13 + 8]
sub rdi, qword [r13]
sar rdi, 6
test rdi, rdi
je 0x140004d1d
movabs rax, 0x3ffffffffffffff
cmp rdi, rax
ja 0x140005b63
shl rdi, 6
cmp rdi, 0x1000
jb 0x140004c8a
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x140005b69
call fcn.14006f290
test rax, rax
je 0x140004c83
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140004c9f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rdi, rdi
je 0x140004c9c
mov rcx, rdi
call fcn.14006f290
mov rbx, rax
jmp 0x140004c9f
mov rbx, rcx
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], rbx
lea rax, [rdi + rbx]
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x60], rax
mov r15, qword [r13 + 8]
mov rdi, qword [r13]
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp - 8], rbx
mov qword [rbp], rbx
lea rax, [rbp + 0x40]
mov qword [rbp + 8], rax
cmp rdi, r15
je 0x140004d0f
nop dword [rax]
mov qword [rbp + 0x38], rbx
mov rdx, rdi
mov rcx, rbx
call fcn.14000afc0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rdi + 0x20]
call fcn.14000afc0
nop
add rbx, 0x40
mov qword [rbp], rbx
add rdi, 0x40
cmp rdi, r15
jne 0x140004ce0
mov qword [rbp + 0x48], rbx
mov ebx, 2
mov r15, qword [rsp + 0x48]
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x40]
lea rdx, [rsi + 8]
lea rcx, [rbp - 0x20]
call fcn.140003d40
nop
movzx eax, byte [rsi + 1]
test al, al
je 0x140004d53
cmp al, 1
jne 0x140005d0f
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 + 0x40], rax
cmp rax, 0xffffffffffffffff
je 0x140005b6f
mov dword [rbp - 0x34], edi
lea r8, [rbp - 0x34]
mov edx, 0x8004667e
mov rcx, rax
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x140005b9a
movabs rdi, 0x431bde82d7b634db
test r14, r14
js 0x140004e0f
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140004dc3
imul rax, rax, 0x64
jmp 0x140004dde
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov r12, qword [rsp + 0x58]
mov rcx, r12
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 r13d, 0
cmovle rbx, r13
jmp 0x140004e1e
mov rbx, 0xffffffffffffffff
mov r12, qword [rsp + 0x58]
xor r13d, r13d
mov edi, dword [r15 + 0x10]
mov r15, qword [r15 + 0x20]
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140004e61
nop word [rax + rax]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004e99
mov r8d, edi
mov rdx, r15
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x140004e40
mov rdi, qword [rbp - 0x18]
mov r15, qword [rbp - 0x20]
sub rdi, r15
je 0x140004fbe
test r14, r14
js 0x140004f42
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140004efd
imul rax, rax, 0x64
jmp 0x140004f18
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140005bf6
mov r8, rbx
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.1400035f0
mov dword [rbp - 0x28], 4
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x38]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x140005bcd
mov edx, dword [rbp + 0x38]
test edx, edx
jne 0x140005ae3
jmp 0x140004e61
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, r12
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, r13
jmp 0x140004f49
mov rdx, 0xffffffffffffffff
mov r8, rdx
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.1400035f0
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 0x140004fb0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x140004fa7
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 0x140004f74
cdqe
add r15, rax
sub rdi, rax
jmp 0x140004e6c
cmp ebx, 0xffffffff
je 0x140005c1f
movsxd rax, ebx
add r15, rax
sub rdi, rax
jmp 0x140004e6c
mov word [rbp - 0x38], 0xa0d
mov dword [rbp - 0x30], 0xa0d0a0d
mov rax, qword [rsp + 0x38]
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], r13
mov qword [rax + 0x20], select
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 [rbp + 0x38], 1
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x68], xmm1
mov qword [rbp + 0x78], r13
mov byte [rsp + 0x30], al
mov byte [rsp + 0x32], al
mov qword [rbp - 0x28], r13
mov byte [rsp + 0x31], al
xor r8d, r8d
mov r15d, r8d
mov dword [rbp - 0x34], eax
mov rdi, qword [rbp + 0x70]
mov r12, qword [rbp + 0x68]
test r14, r14
js 0x1400050a4
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x140005058
imul rax, rax, 0x64
jmp 0x140005073
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
mov rcx, qword [rsp + 0x58]
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 0x1400050ab
mov rdx, 0xffffffffffffffff
mov r8, rdx
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400035f0
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 0x140005118
nop word [rax + rax]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
jne 0x14000510f
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 0x1400050e0
jmp 0x140005118
cmp ebx, 0xffffffff
je 0x140005c48
movsxd r9, ebx
test ebx, ebx
je 0x140005a18
lea r8, [rbp + 0x150]
mov rdx, rdi
lea rcx, [rbp + 0x68]
call fcn.140012940
mov r12, qword [rbp + 0x68]
cmp byte [rsp + 0x30], 0
jne 0x140005672
mov rdx, qword [rbp + 0x70]
mov qword [rsp + 0x50], rdx
mov rax, rdx
sub rax, r12
cmp rax, 4
jl 0x1400058d2
lea r8, [rdx - 4]
mov eax, dword [rbp - 0x30]
cmp eax, dword [r12]
sete cl
mov rbx, r12
test cl, cl
jne 0x140005188
cmp rbx, r8
je 0x1400058d2
inc rbx
cmp eax, dword [rbx]
sete cl
test cl, cl
je 0x140005173
cmp rbx, rdx
je 0x1400058d2
add rbx, 2
mov r8, rbx
mov rdx, r12
lea rcx, [rbp + 0xf0]
call fcn.14000d1f0
nop
mov rdi, qword [rbp + 0xf0]
mov eax, dword [rbp + 0xf8]
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
movzx eax, word [rbp + 0xfc]
mov word [rcx + 4], ax
lea rdx, [rbp + 0x100]
add rcx, 8
call fcn.14000aef0
nop word [rax + rax]
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x90]
call fcn.14000d460
nop
mov rdi, qword [rbp + 0x90]
movups xmm9, xmmword [rbp + 0x98]
movups xmmword [rbp + 0x40], xmm9
movups xmm8, xmmword [rbp + 0xa8]
movups xmmword [rbp + 0x50], xmm8
xor eax, eax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], select
mov byte [rbp + 0x98], al
movups xmm7, xmmword [rbp + 0xb8]
movups xmmword [rbp + 0x18], xmm7
movups xmm6, xmmword [rbp + 0xc8]
movups xmmword [rbp + 0x28], xmm6
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], select
mov byte [rbp + 0xb8], al
lea rcx, [rbp + 0x40]
movdqa xmm0, xmm8
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
setae dl
mov byte [rsp + 0x30], dl
movq r13, xmm9
cmovae rcx, r13
movq rax, xmm8
mov qword [rsp + 0x60], rax
cmp rax, 0x11
jne 0x1400052ff
mov r8, rax
lea rdx, str.transfer_encoding
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400052f5
lea rcx, [rbp + 0x18]
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 0x140005c73
mov r8, rax
lea rdx, str.chunked
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140005c73
mov byte [rsp + 0x31], 1
jmp 0x1400053d6
mov rax, qword [rsp + 0x60]
movzx edx, byte [rsp + 0x30]
lea rcx, [rbp + 0x40]
test dl, dl
cmovne rcx, r13
cmp rax, 0xe
jne 0x1400053d6
mov r8, rax
lea rdx, str.content_length
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400053d6
lea r9, [rbp + 0x18]
movdqa xmm0, xmm6
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
setae dl
movq rcx, xmm7
cmovae r9, rcx
movq rax, xmm6
add r9, rax
lea rax, [rbp + 0x18]
test dl, dl
cmovne rax, rcx
xor r8d, r8d
mov qword [rbp - 0x28], r8
cmp rax, r9
je 0x140005399
nop word [rax + rax]
movsx edx, byte [rax]
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x140005ca6
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 0x140005370
mov byte [rsp + 0x32], 1
mov rcx, qword [rsp + 0x38]
add rcx, 0x40
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx]
cmp r8, rax
jbe 0x1400053d6
movabs rax, 0x7fffffffffffffff
cmp r8, rax
ja 0x140005cc7
mov rdx, r8
call fcn.14000b3b0
movups xmm6, xmmword [rbp + 0x28]
movups xmm7, xmmword [rbp + 0x18]
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rbp - 0x80], xmm8
xor r8d, r8d
mov qword [rbp + 0x50], r8
mov qword [rbp + 0x58], select
mov byte [rbp + 0x40], r8b
movaps xmmword [rbp - 0x70], xmm7
movaps xmmword [rbp - 0x60], xmm6
mov qword [rbp + 0x28], r8
mov qword [rbp + 0x30], select
mov byte [rbp + 0x18], r8b
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx + 0x30]
cmp rdx, qword [rcx + 0x38]
je 0x140005445
movups xmmword [rdx], xmm9
movups xmmword [rdx + 0x10], xmm8
mov r13d, select
mov byte [rsp + 0x70], r8b
movups xmmword [rdx + 0x20], xmm7
movups xmmword [rdx + 0x30], xmm6
mov edx, r13d
mov byte [rbp - 0x70], r8b
add qword [rcx + 0x30], 0x40
jmp 0x14000545b
lea r8, [rsp + 0x70]
add rcx, 0x28
call fcn.140013310
mov rdx, qword [rbp - 0x58]
mov r13, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140005492
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000548d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400058bd
call fcn.14006f5ec
cmp r13, 0x10
jb 0x1400054cc
lea rdx, [r13 + 1]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400054c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400058bd
call fcn.14006f5ec
nop
mov rdx, qword [rbp + 0x30]
cmp rdi, rbx
je 0x14000552e
cmp rdx, 0x10
jb 0x14000550c
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005507
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400058c4
call fcn.14006f5ec
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], select
mov byte [rbp + 0x18], al
lea rcx, [rbp + 0x98]
call fcn.1400047c0
jmp 0x1400051e0
cmp rdx, 0x10
jb 0x140005565
inc rdx
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005560
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400058c4
call fcn.14006f5ec
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], select
mov byte [rbp + 0x18], al
lea rcx, [rbp + 0x98]
call fcn.1400047c0
lea rdx, [rbx + 2]
mov rdi, qword [rsp + 0x50]
cmp r12, rdx
je 0x1400055a5
sub rdi, rdx
mov r8, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rbp + 0x70], rdi
mov byte [rsp + 0x30], 1
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x1400055eb
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400055e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400058cb
call fcn.14006f5ec
mov r13, qword [rbp - 0x28]
cmp byte [rsp + 0x31], 0
je 0x14000579c
mov r8d, dword [rbp - 0x34]
xor ebx, ebx
movzx edx, word [rbp - 0x38]
test r15, r15
je 0x14000567b
mov rax, rdi
sub rax, r12
mov rbx, r15
cmp rax, r15
cmovb rbx, rax
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx + 0x48]
mov r9, rbx
mov r8, r12
add rcx, 0x40
call fcn.140012940
lea rdx, [r12 + rbx]
cmp r12, rdx
je 0x14000564f
sub rdi, rdx
mov r8, rdi
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rbp + 0x70], rdi
sub r15, rbx
mov r8d, dword [rbp - 0x34]
movzx r8d, r8b
mov eax, 1
cmove r8d, eax
mov dword [rbp - 0x34], r8d
cmp r12, rdi
je 0x140005035
jmp 0x1400055fe
mov rdi, qword [rbp + 0x70]
jmp 0x1400055ef
test r8b, r8b
je 0x1400056cb
mov rax, rdi
sub rax, r12
cmp rax, 2
jb 0x140005035
cmp dx, word [r12]
sete al
test al, al
je 0x140005ccd
xor al, al
mov dword [rbp - 0x34], eax
lea rax, [r12 + 2]
cmp r12, rax
je 0x1400056cb
sub rdi, rax
mov r8, rdi
mov rdx, rax
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rbp + 0x70], rdi
movzx edx, word [rbp - 0x38]
mov rcx, rdi
mov rax, rdi
sub rax, r12
cmp rax, 2
jl 0x140005706
lea r9, [rdi - 2]
cmp dx, word [r12]
sete al
mov r8, r12
test al, al
jne 0x140005703
nop dword [rax]
cmp r8, r9
je 0x140005706
inc r8
cmp dx, word [r8]
sete al
test al, al
je 0x1400056f0
mov rcx, r8
cmp rcx, rdi
je 0x140005035
mov r15, rbx
cmp r12, rcx
je 0x140005765
mov rax, r12
nop word [rax + rax]
movzx r9d, byte [rax]
lea r8d, [r9 - 0x30]
cmp r8b, 9
ja 0x140005734
lea r8, [r9 - 0x30]
jmp 0x140005756
lea r8d, [r9 - 0x41]
cmp r8b, 5
ja 0x140005744
lea r8, [r9 - 0x37]
jmp 0x140005756
lea r8d, [r9 - 0x61]
cmp r8b, 5
ja 0x140005cee
lea r8, [r9 - 0x57]
shl r15, 4
add r15, r8
inc rax
cmp rax, rcx
jne 0x140005720
add rcx, 2
cmp r12, rcx
je 0x14000578a
sub rdi, rcx
mov r8, rdi
mov rdx, rcx
mov rcx, r12
call sub.VCRUNTIME140.dll_memmove
add rdi, r12
mov qword [rbp + 0x70], rdi
movzx edx, word [rbp - 0x38]
test r15, r15
je 0x140005976
mov r8d, dword [rbp - 0x34]
jmp 0x140005604
mov r9, rdi
sub r9, r12
mov rbx, qword [rsp + 0x38]
mov rdx, qword [rbx + 0x48]
mov r8, r12
lea rcx, [rbx + 0x40]
call fcn.140012940
cmp r12, rdi
cmovne rdi, r12
mov qword [rbp + 0x70], rdi
cmp byte [rsp + 0x32], 0
je 0x140005035
mov rax, qword [rbx + 0x48]
sub rax, qword [rbx + 0x40]
cmp rax, r13
jb 0x140005035
test r12, r12
je 0x140005819
mov rdx, qword [rbp + 0x78]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005810
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a46
mov rcx, r12
call fcn.14006f5ec
nop
cmp rsi, 0xffffffffffffffff
je 0x140005829
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140005871
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000585e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a97
call fcn.14006f5ec
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, qword [rsp + 0x38]
mov rcx, qword [rbp + 0x1150]
xor rcx, rsp
call fcn.14006f270
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
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 0x14000590d
mov rdx, qword [rbp + 0x78]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005904
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a46
mov rcx, r12
call fcn.14006f5ec
nop
cmp rsi, 0xffffffffffffffff
je 0x14000591d
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140005965
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005952
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a97
call fcn.14006f5ec
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000587d
test r12, r12
je 0x1400059b1
mov rdx, qword [rbp + 0x78]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x1400059a8
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a46
mov rcx, r12
call fcn.14006f5ec
nop
cmp rsi, 0xffffffffffffffff
je 0x1400059c1
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140005a07
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400059f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005a97
call fcn.14006f5ec
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rbx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000587d
test r12, r12
je 0x140005a56
mov rdx, qword [rbp + 0x78]
sub rdx, r12
mov rax, r12
cmp rdx, 0x1000
jb 0x140005a4d
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005a4d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.14006f5ec
nop
cmp rsi, 0xffffffffffffffff
je 0x140005a66
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140005ab1
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005a9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005a9e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14006f5ec
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
xor eax, eax
mov qword [rbp - 0x10], rax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000587d
lea rdx, str.Unsupported_protocol
lea rcx, [rbp - 8]
call fcn.1400034e0
lea rdx, [0x1400846c0]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r9, str.Failed_to_connect
lea rcx, [rbp + 0x40]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rbp + 0x40]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Only_HTTP_scheme_is_supported
lea rcx, [rbp - 8]
call fcn.1400034e0
lea rdx, [0x1400846c0]
lea rcx, [rbp - 8]
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 - 8]
call fcn.14000bd40
nop
mov r9, rax
mov edx, ebx
lea rcx, [rsp + 0x70]
call fcn.140001620
lea rdx, [0x1400844a8]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.14000b390
int3
call fcn.140001210
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_create_socket
lea rcx, [rsp + 0x70]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rcx, [rsp + 0x40]
call fcn.140003750
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, eax
lea r9, str.Failed_to_get_socket_flags
lea rcx, [rbp + 0x68]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rbp + 0x68]
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, [rbp + 0x40]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rbp + 0x40]
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, [rbp + 0x40]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rbp + 0x40]
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, [rbp + 0x40]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rbp + 0x40]
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, [rsp + 0x70]
call fcn.140001670
lea rdx, [0x1400844a8]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rbp + 0x18]
lea rdx, str.Unsupported_transfer_encoding:
lea rcx, [rsp + 0x70]
call fcn.14000bd40
nop
mov rdx, rax
lea rcx, [rbp - 8]
call fcn.140006120
lea rdx, [0x140084750]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Invalid_digit
lea rcx, [rbp - 8]
call fcn.140003760
lea rdx, [0x140084750]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call fcn.14000b390
nop
lea rdx, str.Invalid_chunk
lea rcx, [rbp - 8]
call fcn.140003760
lea rdx, [0x140084750]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, str.Invalid_hex_digit
lea rcx, [rbp - 8]
call fcn.140003760
lea rdx, [0x140084750]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, str.Unsupported_protocol
lea rcx, [rbp - 8]
call fcn.1400034e0
lea rdx, [0x1400846c0]
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll__CxxThrowException
int3