Function at 0x140027cd0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
mov rax, qword [rdx + 0x20]
mov rsi, rdx
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r14
mov r14, rcx
mov rbx, qword [rax]
test rbx, rbx
je 0x140027d20
nop dword [rax + rax]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x14009b168]
call fcn.140031fb0
test eax, eax
je 0x140027ebe
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140027d00
xor ebp, ebp
mov rcx, qword [r14 + 0x18]
movsx ebx, byte [rsi + 0x71]
movsx edi, byte [rsi + 0x70]
call fcn.140035780
mov rcx, rax
lea rdx, str.HTTP__d._d__d__s_r_n
mov rax, qword [rsi + 0x78]
mov r9d, ebx
mov qword [rsp + 0x28], rax
mov r8d, edi
mov eax, dword [rsi + 0x74]
mov dword [rsp + 0x20], eax
call fcn.14001e7b0
cmp byte [rsi + 0x70], 1
mov r14, qword [rsp + 0x48]
jne 0x140027e5c
cmp byte [rsi + 0x71], 1
jl 0x140027d76
mov rcx, qword [rsi + 0x28]
call fcn.140027a10
cmp byte [rsi + 0x71], 0
jne 0x140027e1b
test ebp, ebp
je 0x140027e1b
mov rdi, qword [rsi + 0x28]
lea rcx, [0x14009b4b8]
mov edx, reloc.WS2_32.dll_listen
call fcn.140045660
test rax, rax
jne 0x140027e1b
lea edx, [rax + 0xa]
lea rcx, [0x14009b4b8]
call fcn.140045660
test rax, rax
jne 0x140027e1b
lea rdx, [0x140099bfc]
lea rcx, str.keep_alive
call fcn.140054e0c
mov rbx, rax
test rax, rax
je 0x140027e05
lea rdx, [0x140099c14]
mov rcx, rbx
call fcn.140054eac
add rbx, rax
movzx eax, byte [rbx]
cmp al, 0x20
je 0x140027dee
cmp al, 9
jne 0x140027e1b
lea rdx, [0x140099bfc]
mov rcx, rbx
call fcn.140054e0c
mov rbx, rax
test rax, rax
jne 0x140027dd1
lea r8, str.keep_alive
mov rcx, rdi
lea rdx, [0x14009b4b8]
call fcn.140026b00
cmp byte [rsi + 0x71], 1
jge 0x140027e25
test ebp, ebp
je 0x140027e5c
mov eax, dword [rsi + 0x74]
cmp eax, 0xcc
je 0x140027e5c
cmp eax, 0x130
je 0x140027e5c
add eax, 0xffffff9c
cmp eax, 0x63
jbe 0x140027e5c
cmp dword [rsi + 0x4c], 4
je 0x140027e5c
mov rcx, qword [rsi + 0x98]
call fcn.14001d940
mov rcx, qword [rsi + 0x28]
mov rdx, rax
call fcn.140027b60
mov eax, dword [rsi + 0x74]
mov rbp, qword [rsp + 0x40]
cmp eax, 0xcc
je 0x140027f9a
cmp eax, 0x130
je 0x140027f9a
add eax, 0xffffff9c
cmp eax, 0x63
jbe 0x140027f9a
cmp dword [rsi + 0x4c], 4
je 0x140027f9a
mov rax, qword [rsi + 0x28]
mov rbx, qword [rax]
test rbx, rbx
je 0x140027ef8
nop dword [rax]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x14009b4c8]
call fcn.140031fb0
test eax, eax
je 0x140027eed
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140027ea0
jmp 0x140027ef8
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140027d20
mov r8d, 0xa
lea rdx, [0x14009b178]
call fcn.140032010
test eax, eax
jne 0x140027d20
lea ebp, [rax + 1]
jmp 0x140027d22
cmp qword [rbx + 0x18], 0
jne 0x140027f9a
mov rdi, qword [rsi + 0x28]
lea rcx, str.Content_Type
mov edx, reloc.WS2_32.dll_listen
call fcn.140045660
test rax, rax
jne 0x140027f9a
lea edx, [rax + 0xa]
lea rcx, str.Content_Type
call fcn.140045660
test rax, rax
jne 0x140027f9a
lea rdx, [0x140099bfc]
lea rcx, str.text_html__charsetISO_8859_1
call fcn.140054e0c
mov rbx, rax
test rax, rax
je 0x140027f84
nop word [rax + rax]
lea rdx, [0x140099c14]
mov rcx, rbx
call fcn.140054eac
add rbx, rax
movzx eax, byte [rbx]
cmp al, 0x20
je 0x140027f6d
cmp al, 9
jne 0x140027f9a
lea rdx, [0x140099bfc]
mov rcx, rbx
call fcn.140054e0c
mov rbx, rax
test rax, rax
jne 0x140027f50
lea r8, str.text_html__charsetISO_8859_1
mov rcx, rdi
lea rdx, str.Content_Type
call fcn.140026b00
mov rdx, qword [rsi + 0x20]
mov ecx, dword [rsi + 0x18]
call fcn.1400278e0
test eax, eax
je 0x140028136
mov rdi, qword [rsi + 0x28]
mov rbx, qword [rdi]
test rbx, rbx
je 0x140028018
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
lea rdx, [0x14009b508]
call fcn.140031fb0
test eax, eax
je 0x140027fde
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140027fc0
jmp 0x140028018
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
test rcx, rcx
je 0x140027ff0
mov qword [rcx + 8], rax
jmp 0x140027ff4
mov qword [rdi + 8], rax
mov r8, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [r8], rax
mov rcx, qword [rbx + 0x10]
call fcn.14002dc70
mov rcx, qword [rbx + 0x18]
call fcn.14002dc70
mov rcx, rbx
call fcn.14002dc70
test byte [rsi + 0x18], 2
jne 0x1400280ba
mov rdi, qword [rsi + 0x28]
lea rcx, str.Connection
mov edx, reloc.WS2_32.dll_listen
call fcn.140045660
test rax, rax
jne 0x1400280ba
lea edx, [rax + 0xa]
lea rcx, str.Connection
call fcn.140045660
test rax, rax
jne 0x1400280ba
lea rdx, [0x140099bfc]
lea rcx, str.close
call fcn.140054e0c
mov rbx, rax
test rax, rax
je 0x1400280a4
nop
lea rdx, [0x140099c14]
mov rcx, rbx
call fcn.140054eac
add rbx, rax
movzx eax, byte [rbx]
cmp al, 0x20
je 0x14002808d
cmp al, 9
jne 0x1400280ba
lea rdx, [0x140099bfc]
mov rcx, rbx
call fcn.140054e0c
mov rbx, rax
test rax, rax
jne 0x140028070
lea r8, str.close
mov rcx, rdi
lea rdx, str.Connection
call fcn.140026b00
mov rdi, qword [rsi + 0x28]
mov rbx, qword [rdi]
test rbx, rbx
je 0x140028136
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
lea rdx, str.Proxy_Connection
call fcn.140031fb0
test eax, eax
je 0x1400280fc
mov rbx, qword [rbx]
test rbx, rbx
jne 0x1400280d0
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
test rcx, rcx
je 0x14002810e
mov qword [rcx + 8], rax
jmp 0x140028112
mov qword [rdi + 8], rax
mov rdx, qword [rbx + 8]
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx + 0x10]
call fcn.14002dc70
mov rcx, qword [rbx + 0x18]
call fcn.14002dc70
mov rcx, rbx
call fcn.14002dc70
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret