Function at 0x140078d10
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 [0x1403b8550]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r14, r9
mov rsi, r8
mov rbx, rdx
mov qword [rsp + 0x48], rdx
mov r12, rcx
mov qword [rsp + 0x38], rcx
mov r15, qword [rbp + 0x128]
xor edi, edi
mov dword [rsp + 0x34], edi
mov qword [rsp + 0x20], r15
movzx r9d, byte [rbp + 0x120]
call fcn.140077730
test al, al
je 0x1400792e5
mov r9, r14
mov r8, rsi
mov rdx, rbx
call fcn.140074230
test al, al
je 0x1400792de
lea rdx, [r14 + 0x48]
mov rcx, rbx
call fcn.14006e780
test al, al
je 0x1400792de
mov ebx, dword [r14 + 0x20]
cmp ebx, 0xcc
je 0x140079133
mov rdx, rsi
mov r8, qword [rsi + 0x18]
cmp r8, 0x10
jb 0x140078dc4
mov rdx, qword [rsi]
mov r9, qword [rsi + 0x10]
cmp r9, 4
jne 0x140078e05
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 0x140078df8
cmp rcx, 4
jne 0x140078de0
mov eax, edi
jmp 0x140078dfd
sbb eax, eax
or eax, 1
test eax, eax
je 0x140079133
mov rcx, rsi
cmp r8, 0x10
jb 0x140078e11
mov rcx, qword [rsi]
cmp r9, 7
jne 0x140078e2e
mov r8, r9
lea rdx, str.CONNECT
call fcn.14026fc30
test eax, eax
je 0x140079133
lea eax, [rbx - 0x12d]
cmp eax, 0x62
ja 0x140078e47
cmp byte [r12 + 0x231], dil
je 0x140078e47
mov al, 1
jmp 0x140078e49
xor al, al
mov byte [rsp + 0x30], al
mov rcx, qword [rsi + 0x1b8]
test rcx, rcx
je 0x140078e76
test al, al
jne 0x140078e76
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
jne 0x140078e76
mov dword [r15], 7
jmp 0x1400792e5
cmp qword [rsi + 0x1f8], rdi
je 0x140078ec8
lea rax, [rsp + 0x30]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], r15
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 r13, [rbp - 0x20]
mov ebx, 1
lea r12, [rbp + 0x18]
mov rcx, qword [rbp + 0x58]
jmp 0x140078eec
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 r13, [rbp + 0x20]
mov ebx, 2
lea r12, [rbp + 0x58]
mov r8, rdi
mov qword [rbp + 0x98], rdi
mov r9, qword [r13 + 0x38]
test r9, r9
je 0x140078f4f
cmp r9, r13
jne 0x140078f3d
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 [r12]
test rcx, rcx
je 0x140078f4b
mov rax, qword [rcx]
cmp rcx, r13
setne dl
call qword [rax + 0x20]
mov qword [r13 + 0x38], rdi
mov r8, qword [rbp + 0x98]
jmp 0x140078f4b
mov r8, r9
mov qword [rbp + 0x98], r9
mov qword [r12], rdi
mov rcx, qword [rbp + 0x58]
test bl, 2
je 0x140078f77
and ebx, 0xfffffffd
test rcx, rcx
je 0x140078f77
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 0x140078f9c
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x140078f9c
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], r15
mov qword [rbp - 0x70], rdi
test r8, r8
je 0x140078ffa
lea rax, [rbp + 0x60]
cmp r8, rax
jne 0x140078fef
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 0x140078ffa
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x140078ff3
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 r12, qword [rsp + 0x38]
movzx ebx, byte [r12 + 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.14004a030
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.14008c1d0
movzx ebx, al
lea rcx, [rbp - 0x20]
call fcn.1400864d0
nop
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x1400790e1
mov r8, qword [rcx]
lea rax, [rsp + 0x58]
cmp rcx, rax
setne dl
call qword [r8 + 0x20]
test bl, bl
jne 0x140079117
cmp dword [r15], 7
je 0x1400790f2
mov dword [r15], 4
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x1400792e5
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x1400792e5
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x140079133
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.14006e680
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x60], 0
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140079160
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140011a50
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 0x1400791bf
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 0x1400791b6
cmp rcx, 5
jne 0x1400791a0
jmp 0x1400791bb
sbb edi, edi
or edi, 1
test edi, edi
je 0x140079215
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1400791cc
mov rcx, qword [r14]
cmp qword [r14 + 0x10], 8
jne 0x14007921a
mov r8d, 8
lea rdx, str.HTTP_1.0
call fcn.14026fc30
test eax, eax
jne 0x14007921a
lea rcx, [r14 + 0x28]
cmp qword [r14 + 0x40], 0x10
jb 0x1400791f8
mov rcx, qword [r14 + 0x28]
cmp qword [r14 + 0x38], 0x16
jne 0x140079215
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Connection_established
call fcn.14026fc30
test eax, eax
je 0x14007921a
mov dil, 1
jmp 0x14007921d
xor dil, dil
cmp r15, 0x10
jb 0x140079254
lea rdx, [r15 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14007924c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140079312
mov rcx, rbx
call fcn.140250e10
test dil, dil
je 0x1400792c1
lea rbx, [r12 + 0x60]
mov qword [rsp + 0x50], rbx
mov rcx, rbx
call fcn.14022f004
test eax, eax
jne 0x140079318
mov rax, qword [r12]
mov r8b, 1
lea rdx, [r12 + 0x50]
mov rcx, r12
call qword [rax + 0x18]
mov rcx, qword [r12 + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x14007929b
mov edx, 2
call qword [sym.imp.WS2_32.dll_shutdown]
mov rcx, qword [r12 + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x1400792b5
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r12 + 0x50], 0xffffffffffffffff
mov rcx, rbx
call fcn.14022f028
test eax, eax
jne 0x14007930a
mov rcx, qword [r12 + 0x3f8]
test rcx, rcx
je 0x1400792da
mov rax, qword [rcx]
mov r8, r14
mov rdx, rsi
call qword [rax + reloc.WS2_32.dll_recv]
mov al, 1
jmp 0x1400792e7
mov dword [r15], 4
xor al, al
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140250db0
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.14022e220
nop
call fcn.14027fd34
int3
mov ecx, eax
call fcn.14022e220
int3