Function at 0x140009568
Capabilities:
Resolve dns

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1178]
mov eax, 0x1278
call fcn.14000ba50
sub rsp, rax
movaps xmmword [rsp + 0x1260], xmm6
movaps xmmword [rsp + 0x1250], xmm7
movaps xmmword [rsp + 0x1240], xmm8
movaps xmmword [rsp + 0x1230], xmm9
mov rax, qword [0x140013028]
xor rax, rsp
mov qword [rbp + 0x1120], rax
mov qword [rbp - 0x78], r9
mov r13, r8
mov r12, rdx
mov rbx, rcx
mov qword [rbp - 0x28], rdx
mov r15, qword [rbp + 0x11e0]
mov r14d, 1
mov dword [rbp - 0x58], r14d
call sub.MSVCP140.dll__Query_perf_frequency
mov rdi, rax
call sub.MSVCP140.dll__Query_perf_counter
cmp rdi, 0x989680
jne 0x1400095fb
imul rax, rax, 0x64
jmp 0x140009616
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
add rax, rcx
mov rsi, qword [rbp + 0x11e8]
imul rcx, rsi, 0xf4240
add rax, rcx
mov qword [rbp - 0x50], rax
lea rdi, [rbx + 8]
mov r8, qword [rdi + 0x10]
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140009640
mov rcx, qword [rdi]
cmp r8, 4
jne 0x14000a0cb
lea rdx, str.http
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000a0cb
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov al, byte [rbx + 1]
test al, al
jne 0x14000967b
mov eax, 2
jmp 0x140009689
cmp al, r14b
jne 0x14000a0aa
mov eax, reloc.WS2_32.dll_socket
mov dword [rbp - 0xc], eax
mov dword [rbp - 8], r14d
cmp qword [rbx + 0x98], 0
jne 0x1400096a3
lea rdx, [0x14000e3c0]
jmp 0x1400096b4
lea rdx, [rbx + 0x88]
cmp qword [rdx + 0x18], 0x10
jb 0x1400096b4
mov rdx, qword [rdx]
lea r14, [rbx + 0x68]
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1400096c5
mov rcx, qword [r14]
lea r9, [rbp - 0x40]
lea r8, [rbp - 0x10]
call qword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x14000a0ec
mov rax, qword [sym.imp.WS2_32.dll_freeaddrinfo]
mov qword [rbp - 0x20], rax
mov r14, qword [rbp - 0x40]
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x18], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
and qword [rbp - 0x60], 0
lea r9, [r15 + 8]
mov rdx, qword [r9]
sub rdx, qword [r15]
sar rdx, 6
mov r8, r15
lea rcx, [rbp - 0x70]
call fcn.140002964
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x78]
mov r8, r13
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.1400081c8
nop
mov dl, byte [rbx + 1]
lea rcx, [rsp + 0x40]
call fcn.14000616c
nop
or r13, 0xffffffffffffffff
mov r15, qword [rbp - 0x50]
test rsi, rsi
js 0x140009761
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.1400070b0
jmp 0x140009764
mov rax, r13
mov r9, rax
mov r8d, dword [r14 + 0x10]
mov rdx, qword [r14 + 0x20]
lea rcx, [rsp + 0x40]
call fcn.140007c4c
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
sub rbx, rdi
je 0x1400097ba
test rsi, rsi
js 0x14000979c
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.1400070b0
jmp 0x14000979f
mov rax, r13
mov r9, rax
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.14000a190
add rdi, rax
sub rbx, rax
jne 0x140009788
mov word [rsp + 0x34], 0xa0d
mov dword [rsp + 0x38], 0xa0d0a0d
xorps xmm0, xmm0
movups xmmword [r12 + 8], xmm0
xor ebx, ebx
mov qword [r12 + 0x18], rbx
mov qword [r12 + 0x20], send
mov byte [r12 + 8], bl
mov qword [r12 + 0x28], rbx
mov qword [r12 + 0x30], rbx
mov qword [r12 + 0x38], rbx
lea r13, [r12 + 0x40]
mov qword [r13], rbx
mov qword [r13 + 8], rbx
mov qword [r13 + 0x10], rbx
lea eax, [rbx + 1]
mov dword [rbp - 0x58], eax
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rbx
mov dil, bl
mov byte [rsp + 0x32], bl
mov qword [rbp - 0x78], rbx
mov byte [rsp + 0x31], bl
mov qword [rsp + 0x60], rbx
mov al, bl
mov dword [rsp + 0x3c], eax
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
jmp 0x140009840
xor ebx, ebx
test rsi, rsi
js 0x140009855
mov rdx, qword [rbp - 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400070b0
jmp 0x140009859
or rax, 0xffffffffffffffff
mov r9, rax
mov r8d, 0x1000
lea rdx, [rbp + 0x120]
lea rcx, [rsp + 0x40]
call fcn.1400090bc
test rax, rax
je 0x140009fc4
mov r9, rax
lea r8, [rbp + 0x120]
mov rdx, r15
lea rcx, [rsp + 0x68]
call fcn.140002e14
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
test dil, dil
jne 0x140009c3e
mov byte [rsp + 0x28], bl
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x38]
mov r8, r15
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.14000582c
mov rax, qword [rbp - 0x38]
cmp rax, r15
je 0x140009f1d
lea rbx, [rax + 2]
mov r8, rbx
mov rdx, r14
lea rcx, [rbp + 0xf0]
call fcn.140004840
nop
mov rdi, qword [rbp + 0xf0]
mov eax, dword [rbp + 0xf8]
mov dword [r12], eax
movzx eax, word [rbp + 0xfc]
mov word [r12 + 4], ax
lea rdx, [rbp + 0x100]
lea rcx, [r12 + 8]
call fcn.140007028
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x60]
call fcn.14000432c
nop
mov rdi, qword [rbp + 0x60]
movups xmm9, xmmword [rbp + 0x68]
movups xmmword [rbp + 0x40], xmm9
movups xmm8, xmmword [rbp + 0x78]
movups xmmword [rbp + 0x50], xmm8
and qword [rbp + 0x78], 0
mov eax, send
mov qword [rbp + 0x80], rax
mov byte [rbp + 0x68], 0
movups xmm7, xmmword [rbp + 0x88]
movups xmmword [rbp + 0x20], xmm7
movups xmm6, xmmword [rbp + 0x98]
movups xmmword [rbp + 0x30], xmm6
and qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], rax
mov byte [rbp + 0x88], 0
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 [rbp - 0x30], rax
cmp rax, 0x11
jne 0x140009aeb
mov r8, rax
lea rdx, str.transfer_encoding
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140009ae3
lea rcx, [rbp + 0x20]
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 0x14000a134
mov r8, rax
lea rdx, str.chunked
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14000a134
mov byte [rsp + 0x31], 1
lea r13, [r12 + 0x40]
movaps xmmword [rbp + 0xb0], xmm9
movaps xmmword [rbp + 0xc0], xmm8
and qword [rbp + 0x50], 0
mov eax, send
mov qword [rbp + 0x58], rax
mov byte [rbp + 0x40], 0
movaps xmmword [rbp + 0xd0], xmm7
movaps xmmword [rbp + 0xe0], xmm6
and qword [rbp + 0x30], 0
mov qword [rbp + 0x38], rax
mov byte [rbp + 0x20], 0
lea rdx, [rbp + 0xb0]
lea rcx, [r12 + 0x28]
call fcn.140002b08
nop
lea rcx, [rbp + 0xb0]
call fcn.140006ab8
nop
mov rdx, qword [rbp + 0x38]
cmp rdi, rbx
je 0x140009b86
cmp rdx, 0x10
jb 0x140009ac4
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009abf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f0f
call fcn.14000b6e8
and qword [rbp + 0x30], 0
mov qword [rbp + 0x38], send
mov byte [rbp + 0x20], 0
lea rcx, [rbp + 0x68]
call fcn.140006ab8
jmp 0x14000991b
mov rax, qword [rbp - 0x30]
mov dl, byte [rsp + 0x30]
lea rcx, [rbp + 0x40]
test dl, dl
cmovne rcx, r13
cmp rax, 0xe
jne 0x140009a1f
mov r8, rax
lea rdx, str.content_length
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140009a1f
lea rdx, [rbp + 0x20]
cmp qword [rbp + 0x38], 0x10
setae r8b
cmovae rdx, qword [rbp + 0x20]
add rdx, qword [rbp + 0x30]
lea rcx, [rbp + 0x20]
test r8b, r8b
cmovne rcx, qword [rbp + 0x20]
call fcn.140005970
mov rcx, rax
mov qword [rbp - 0x78], rax
mov byte [rsp + 0x32], 1
lea r13, [r12 + 0x40]
mov rax, qword [r13 + 0x10]
sub rax, qword [r13]
cmp rcx, rax
jbe 0x140009b79
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14000a169
mov rdx, rcx
mov rcx, r13
call fcn.140007820
movups xmm6, xmmword [rbp + 0x30]
movups xmm7, xmmword [rbp + 0x20]
jmp 0x140009a24
cmp rdx, 0x10
jb 0x140009bbd
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009bb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f0f
call fcn.14000b6e8
and qword [rbp + 0x30], 0
mov qword [rbp + 0x38], send
mov byte [rbp + 0x20], 0
lea rcx, [rbp + 0x68]
call fcn.140006ab8
lea rdx, [rbx + 2]
cmp r14, rdx
je 0x140009bf6
sub r15, rdx
mov r8, r15
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
add r15, r14
mov qword [rsp + 0x70], r15
mov edi, 1
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x140009c3c
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009c37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009f16
call fcn.14000b6e8
xor ebx, ebx
cmp byte [rsp + 0x31], bl
je 0x140009e2b
mov rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x3c]
test rcx, rcx
je 0x140009cc6
mov rax, r15
sub rax, r14
mov rbx, rcx
cmp rax, rcx
cmovb rbx, rax
mov rdx, qword [r12 + 0x48]
mov r9, rbx
mov r8, r14
mov rcx, r13
call fcn.140002e14
lea rdx, [rbx + r14]
cmp r14, rdx
je 0x140009c98
sub r15, rdx
mov r8, r15
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
add r15, r14
mov qword [rsp + 0x70], r15
mov rcx, qword [rsp + 0x60]
sub rcx, rbx
mov qword [rsp + 0x60], rcx
mov eax, dword [rsp + 0x3c]
movzx eax, al
mov edx, 1
cmove eax, edx
mov dword [rsp + 0x3c], eax
cmp r14, r15
lea ebx, [rdx - 1]
je 0x140009840
jmp 0x140009c51
test al, al
je 0x140009d13
mov rax, r15
sub rax, r14
cmp rax, 2
jb 0x140009840
movzx eax, word [rsp + 0x34]
cmp ax, word [r14]
sete al
test al, al
je 0x14000a16f
mov al, bl
mov dword [rsp + 0x3c], eax
lea rdx, [r14 + 2]
cmp r14, rdx
je 0x140009d13
sub r15, rdx
mov r8, r15
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
add r15, r14
mov qword [rsp + 0x70], r15
mov byte [rsp + 0x28], bl
lea rax, [rsp + 0x36]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x34]
mov r8, r15
mov rdx, r14
lea rcx, [rbp - 0x48]
call fcn.14000582c
mov rbx, qword [rbp - 0x48]
cmp rbx, r15
je 0x14000983e
mov rdx, rbx
mov rcx, r14
call fcn.140003fbc
mov rcx, rax
mov qword [rsp + 0x60], rax
lea rdx, [rbx + 2]
cmp r14, rdx
je 0x140009d79
sub r15, rdx
mov r8, r15
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
add r15, r14
mov qword [rsp + 0x70], r15
mov rcx, qword [rsp + 0x60]
xor ebx, ebx
test rcx, rcx
jne 0x140009c4d
test r14, r14
je 0x140009dbf
mov rdx, qword [rsp + 0x78]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x140009db6
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009ff2
mov rcx, r14
call fcn.14000b6e8
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, 0xffffffffffffffff
je 0x140009dd1
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140009e1b
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009e08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a047
call fcn.14000b6e8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000a06c
mov r9, r15
sub r9, r14
mov rdx, qword [r13 + 8]
mov r8, r14
mov rcx, r13
call fcn.140002e14
cmp r14, r15
cmovne r15, r14
mov qword [rsp + 0x70], r15
cmp byte [rsp + 0x32], bl
je 0x140009840
mov rax, qword [r13 + 8]
sub rax, qword [r13]
cmp rax, qword [rbp - 0x78]
jb 0x140009840
test r14, r14
je 0x140009ea3
mov rdx, qword [rsp + 0x78]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x140009e9a
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009ff2
mov rcx, r14
call fcn.14000b6e8
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, 0xffffffffffffffff
je 0x140009eb5
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140009eff
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009eec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a047
call fcn.14000b6e8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000a06c
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 r14, r14
je 0x140009f58
mov rdx, qword [rsp + 0x78]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x140009f4f
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140009ff2
mov rcx, r14
call fcn.14000b6e8
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, 0xffffffffffffffff
je 0x140009f6a
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140009fb4
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009fa1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a047
call fcn.14000b6e8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
jmp 0x14000a06c
test r14, r14
je 0x14000a002
mov rdx, qword [rsp + 0x78]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x140009ff9
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009ff9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.14000b6e8
nop
mov rcx, qword [rsp + 0x40]
cmp rcx, 0xffffffffffffffff
je 0x14000a014
call qword [sym.imp.WS2_32.dll_closesocket]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14000a061
mov rdx, qword [rsp + 0x58]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a04e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000a04e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000b6e8
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
mov rcx, qword [rbp - 0x80]
call qword [sym.imp.WS2_32.dll_freeaddrinfo]
nop
mov rax, r12
mov rcx, qword [rbp + 0x1120]
xor rcx, rsp
call fcn.14000bab0
lea r11, [rsp + 0x1278]
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, str.Unsupported_protocol
lea rcx, [rbp - 0x70]
call fcn.14000604c
lea rdx, [0x140010750]
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
lea rdx, str.Only_HTTP_scheme_is_supported
lea rcx, [rbp - 0x70]
call fcn.14000604c
lea rdx, [0x140010750]
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov r8, r14
lea rdx, str.Failed_to_get_address_info_of
lea rcx, [rbp + 0x40]
call fcn.140002548
nop
mov r9, rax
lea r8, section..data
mov edx, ebx
lea rcx, [rbp + 0xb0]
call fcn.140006754
lea rdx, [0x140010620]
lea rcx, [rbp + 0xb0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea r8, [rbp + 0x20]
lea rdx, str.Unsupported_transfer_encoding:
lea rcx, [rbp + 0xb0]
call fcn.140002548
nop
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.1400060d0
lea rdx, [0x1400107e0]
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
call fcn.140007a78
nop
lea rdx, str.Invalid_chunk
lea rcx, [rbp - 0x70]
call fcn.140006124
lea rdx, [0x1400107e0]
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3