Function at 0x140196cf0
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x140518628]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r14, r9
mov rsi, r8
mov rbx, rdx
mov qword [rsp + 0x48], rdx
mov r13, rcx
mov qword [rsp + 0x38], rcx
mov r12, qword [rbp + 0x128]
xor edi, edi
mov dword [rsp + 0x34], edi
mov qword [rsp + 0x20], r12
movzx r9d, byte [rbp + 0x120]
call fcn.140195f00
test al, al
je 0x1401972cc
mov r9, r14
mov r8, rsi
mov rdx, rbx
call fcn.140192b90
test al, al
je 0x1401972c4
lea rdx, [r14 + 0x48]
mov rcx, rbx
call fcn.14018d060
test al, al
je 0x1401972c4
mov ebx, dword [r14 + 0x20]
cmp ebx, 0xcc
je 0x140197127
mov rdx, rsi
mov r8, qword [rsi + 0x18]
cmp r8, 0x10
jb 0x140196da4
mov rdx, qword [rsi]
mov r9, qword [rsi + 0x10]
cmp r9, 4
jne 0x140196de5
mov rcx, rdi
lea r10, str.HEAD
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r10 + rcx - 1]
jne 0x140196dd8
cmp rcx, 4
jne 0x140196dc0
mov eax, edi
jmp 0x140196ddd
sbb eax, eax
or eax, 1
test eax, eax
je 0x140197127
mov rcx, rsi
cmp r8, 0x10
jb 0x140196df1
mov rcx, qword [rsi]
cmp r9, 7
jne 0x140196e0e
mov r8, r9
lea rdx, str.CONNECT
call fcn.140363690
test eax, eax
je 0x140197127
lea eax, [rbx - 0x12d]
cmp eax, 0x62
ja 0x140196e26
cmp byte [r13 + 0x231], dil
je 0x140196e26
mov al, 1
jmp 0x140196e28
xor al, al
mov byte [rsp + 0x30], al
mov rcx, qword [rsi + 0x1b8]
test rcx, rcx
je 0x140196e56
test al, al
jne 0x140196e56
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
jne 0x140196e56
mov dword [r12], 7
jmp 0x1401972cc
cmp qword [rsi + 0x1f8], rdi
je 0x140196ea8
lea rax, [rsp + 0x30]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], r12
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_8c88a3df46b01d71d8ef5c0ff51bab49___bool__char_const____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__.0
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x18], xmm0
movsd xmm1, qword [rbp - 0x50]
movsd qword [rbp - 8], xmm1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x18], rax
lea r15, [rbp - 0x20]
mov ebx, 1
lea r13, [rbp + 0x18]
mov rcx, qword [rbp + 0x58]
jmp 0x140196ecc
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_4c84074cd69ef7a113fa1311e3ab4a77___bool__char_const____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__.0
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], r14
lea rcx, [rbp + 0x20]
mov qword [rbp + 0x58], rcx
lea r15, [rbp + 0x20]
mov ebx, 2
lea r13, [rbp + 0x58]
mov r8, rdi
mov qword [rbp + 0x98], rdi
mov r9, qword [r15 + 0x38]
test r9, r9
je 0x140196f2f
cmp r9, r15
jne 0x140196f1d
mov rax, qword [r9]
lea rdx, [rbp + 0x60]
mov rcx, r9
call qword [rax + reloc.WS2_32.dll_htonl]
mov r8, rax
mov qword [rbp + 0x98], rax
mov rcx, qword [r13]
test rcx, rcx
je 0x140196f2b
mov rax, qword [rcx]
cmp rcx, r15
setne dl
call qword [rax + 0x20]
mov qword [r15 + 0x38], rdi
mov r8, qword [rbp + 0x98]
jmp 0x140196f2b
mov r8, r9
mov qword [rbp + 0x98], r9
mov qword [r13], rdi
mov rcx, qword [rbp + 0x58]
test bl, 2
je 0x140196f57
and ebx, 0xfffffffd
test rcx, rcx
je 0x140196f57
mov rax, qword [rcx]
lea rdx, [rbp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp + 0x58], rdi
mov r8, qword [rbp + 0x98]
test bl, 1
je 0x140196f7c
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140196f7c
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov r8, qword [rbp + 0x98]
mov qword [rbp - 0x60], rsi
lea rax, [rsp + 0x30]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x70], rdi
test r8, r8
je 0x140196fda
lea rax, [rbp + 0x60]
cmp r8, rax
jne 0x140196fcf
mov rax, qword [r8]
lea rdx, [rsp + 0x58]
mov rcx, r8
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x70], rax
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x140196fda
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x140196fd3
mov qword [rbp - 0x70], r8
mov qword [rbp + 0x98], rdi
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_f0a65666dc9b03b1b99cc705250459b7___bool__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__.0
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x18], xmm0
movsd xmm1, qword [rbp - 0x50]
movsd qword [rbp - 8], xmm1
lea rax, [rbp - 0x20]
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x20]
mov qword [rbp - 0x68], rax
mov r13, qword [rsp + 0x38]
movzx ebx, byte [r13 + 0x281]
mov qword [rsp + 0x38], 0xffffffffffffffff
mov qword [rbp - 0x60], r14
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x58], rax
lea rax, [rsp + 0x38]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x20]
mov qword [rbp - 0x48], rax
lea rax, [rsp + 0x34]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rbp - 0x50]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm0, qword [rbp - 0x40]
movsd qword [rbp + 0x40], xmm0
mov qword [rbp - 0x28], rdi
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x60]
call fcn.14019d290
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
movzx r9d, bl
lea r8, [rbp - 0x60]
lea rdx, [rsp + 0x34]
mov rcx, r14
call fcn.14019fe80
movzx ebx, al
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x1401970b9
mov r8, qword [rcx]
lea rax, [rbp - 0x20]
cmp rcx, rax
setne dl
call qword [r8 + 0x20]
mov qword [rbp + 0x18], rdi
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1401970d3
mov rax, qword [rcx]
lea rdx, [rsp + 0x58]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
test bl, bl
jne 0x14019710b
cmp dword [r12], 7
je 0x1401970e6
mov dword [r12], 4
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x1401972cc
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x1401972cc
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x140197127
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rdx, str.Connection
lea rcx, [r14 + 0x48]
call fcn.14018cf50
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140197150
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140005260
lea rdx, [rbp - 0x60]
mov rbx, qword [rbp - 0x60]
mov r15, qword [rbp - 0x48]
cmp r15, 0x10
cmovae rdx, rbx
cmp qword [rbp - 0x50], 5
jne 0x1401971af
mov rcx, rdi
lea r8, str.close
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x1401971a6
cmp rcx, 5
jne 0x140197190
jmp 0x1401971ab
sbb edi, edi
or edi, 1
test edi, edi
je 0x140197205
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1401971bc
mov rcx, qword [r14]
cmp qword [r14 + 0x10], 8
jne 0x14019720a
mov r8d, 8
lea rdx, str.HTTP_1.0
call fcn.140363690
test eax, eax
jne 0x14019720a
lea rcx, [r14 + 0x28]
cmp qword [r14 + 0x40], 0x10
jb 0x1401971e8
mov rcx, qword [r14 + 0x28]
cmp qword [r14 + 0x38], 0x16
jne 0x140197205
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Connection_established
call fcn.140363690
test eax, eax
je 0x14019720a
mov dil, 1
jmp 0x14019720d
xor dil, dil
cmp r15, 0x10
jb 0x140197244
lea rdx, [r15 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14019723c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401972f9
mov rcx, rbx
call fcn.14036115c
test dil, dil
je 0x1401972a8
lea rbx, [r13 + 0x60]
mov qword [rsp + 0x50], rbx
mov rcx, rbx
call fcn.14035fbf4
test eax, eax
jne 0x1401972f1
mov rax, qword [r13]
mov r8b, 1
lea rdx, [r13 + 0x50]
mov rcx, r13
call qword [rax + 0x18]
mov rcx, qword [r13 + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140197288
mov edx, 2
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [r13 + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x1401972a0
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r13 + 0x50], 0xffffffffffffffff
mov rcx, rbx
call fcn.14035fc18
mov rcx, qword [r13 + 0x3f8]
test rcx, rcx
je 0x1401972c0
mov rax, qword [rcx]
mov r8, r14
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
mov al, 1
jmp 0x1401972ce
mov dword [r12], 4
xor al, al
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140361100
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, eax
call fcn.14035f8e8
int3
call fcn.140367fdc
int3