Function at 0x140015d54
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
mov rdi, r9
mov r15, r8
mov r13, rdx
mov r12, rcx
xor r14d, r14d
mov dword [rsp + 0x44], r14d
mov rbx, qword [rbp + 0xe8]
mov qword [rsp + 0x20], rbx
mov r9b, byte [rbp + 0xe0]
call fcn.140015460
test al, al
je 0x1400161eb
mov r9, rdi
mov r8, r15
mov rdx, r13
call fcn.140013014
test al, al
je 0x1400161e5
lea rdx, [rdi + 0x48]
mov rcx, r13
call fcn.1400108d8
test al, al
je 0x1400161e5
mov esi, dword [rdi + 0x20]
cmp esi, 0xcc
je 0x140016058
lea rdx, str.HEAD
mov rcx, r15
call fcn.140024054
test al, al
je 0x140016058
lea rdx, str.CONNECT
mov rcx, r15
call fcn.140024054
test al, al
je 0x140016058
lea eax, [rsi - 0x12d]
cmp eax, 0x62
ja 0x140015e2c
cmp byte [r12 + 0x1e9], r14b
mov al, 1
jne 0x140015e2f
mov al, r14b
mov byte [rsp + 0x40], al
mov rcx, qword [r15 + 0x1b8]
test rcx, rcx
je 0x140015e5b
test al, al
jne 0x140015e5b
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
jne 0x140015e5b
mov dword [rbx], 7
jmp 0x1400161eb
cmp qword [r15 + 0x1f8], r14
je 0x140015e98
lea rax, [0x1400702f0]
mov qword [rbp + 0x10], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], rbx
lea rax, [rbp + 0x10]
mov qword [rbp + 0x48], rax
lea rsi, [rbp + 0x10]
mov r14d, 1
mov rcx, qword [rbp + 8]
jmp 0x140015eb9
lea rax, [0x14006fe30]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdi
lea rcx, [rbp - 0x30]
mov qword [rbp + 8], rcx
lea rsi, [rbp - 0x30]
mov r14d, 2
xor r8d, r8d
mov qword [rbp - 0x78], r8
mov r9, qword [rsi + 0x38]
test r9, r9
je 0x140015f0e
cmp r9, rsi
jne 0x140015efe
mov rax, qword [r9]
lea rdx, [rsp + 0x50]
mov rcx, r9
call qword [rax + reloc.WS2_32.dll_htonl]
mov r8, rax
mov qword [rbp - 0x78], rax
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x140015f0a
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp - 0x78]
jmp 0x140015f05
mov r8, r9
mov qword [rbp - 0x78], r9
and qword [rsi + 0x38], 0
mov rcx, qword [rbp + 8]
test r14b, 2
je 0x140015f36
and r14d, 0xfffffffd
test rcx, rcx
je 0x140015f36
mov rax, qword [rcx]
lea rdx, [rbp - 0x30]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
and qword [rbp + 8], 0
mov r8, qword [rbp - 0x78]
test r14b, 1
je 0x140015f62
mov rcx, qword [rbp + 0x48]
xor r14d, r14d
test rcx, rcx
je 0x140015f65
mov rax, qword [rcx]
lea rdx, [rbp + 0x10]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x48], r14
mov r8, qword [rbp - 0x78]
jmp 0x140015f65
xor r14d, r14d
mov qword [rbp + 0x88], r14
test r8, r8
je 0x140015fb6
lea rax, [rsp + 0x50]
cmp r8, rax
jne 0x140015fab
mov rax, qword [r8]
lea rdx, [rbp + 0x50]
mov rcx, r8
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp + 0x88], rax
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140015fb6
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x140015fb2
mov qword [rbp + 0x88], r8
mov qword [rbp - 0x78], r14
lea rax, [0x140070718]
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], r15
lea rax, [rsp + 0x40]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rbx
lea rax, [rbp - 0x70]
mov qword [rbp - 0x38], rax
mov al, byte [r12 + 0x239]
mov byte [rsp + 0x30], al
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x44]
or r8, 0xffffffffffffffff
mov rdx, rdi
mov rcx, r13
call fcn.140027050
test al, al
jne 0x14001603e
cmp dword [rbx], 7
je 0x14001601b
mov dword [rbx], 4
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1400161eb
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x1400161eb
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140016058
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rdx, str.Connection
lea rcx, [rdi + 0x48]
call fcn.140010828
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x60], xmm1
or r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14001607e
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140027e60
lea rcx, [rbp - 0x70]
mov rbx, qword [rbp - 0x70]
mov r14, qword [rbp - 0x58]
cmp r14, 0xf
cmova rcx, rbx
mov r8, qword [rbp - 0x60]
cmp r8, 5
jne 0x1400160c1
lea rdx, str.close
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400160fc
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x1400160ce
mov rcx, qword [rdi]
mov r8, qword [rdi + 0x10]
cmp r8, 8
jne 0x140016101
lea rdx, str.HTTP_1.0
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140016101
lea rcx, [rdi + 0x28]
lea rdx, str.Connection_established
call fcn.140024054
test al, al
je 0x140016101
mov sil, 1
jmp 0x140016104
xor sil, sil
cmp r14, 0xf
jbe 0x14001613e
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140016136
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140016136
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140059748
test sil, sil
je 0x1400161c7
lea rbx, [r12 + 0x58]
mov qword [rsp + 0x48], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x14001616a
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
jne 0x140016185
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rsi, [r12 + 0x50]
mov rax, qword [r12]
mov r8b, 1
mov rdx, rsi
mov rcx, r12
call qword [rax + 0x18]
cmp qword [rsi], r13
je 0x1400161be
mov edx, 2
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_shutdown]
cmp qword [rsi], r13
je 0x1400161be
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [rsi], r13
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rcx, qword [r12 + 0x320]
test rcx, rcx
je 0x1400161e1
mov r9, qword [rcx]
mov r8, rdi
mov rdx, r15
call qword [r9 + reloc.WS2_32.dll_recv]
mov al, 1
jmp 0x1400161ed
mov dword [rbx], 4
xor al, al
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret