Function at 0x180012b90
Capabilities:
Check for software breakpoints
Check http status code
Get hostname

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xaa0]
sub rsp, 0xba0
mov rax, qword [0x180064c28]
xor rax, rsp
mov qword [rbp + 0xa90], rax
xor ebx, ebx
mov qword [rsp + 0x40], rcx
mov rdi, rcx
mov qword [rsp + 0x38], rbx
mov r15d, ebx
mov qword [rbp - 0x28], rbx
mov ecx, 0x2000
mov qword [rsp + 0x50], r15
mov qword [rbp - 0x70], rbx
mov esi, ebx
mov qword [rbp - 0x80], rbx
mov r13d, ebx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x68], rbx
mov dword [rbp - 0x60], ebx
mov dword [rbp - 0x58], ebx
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x74], ebx
mov dword [rbp - 0x64], ebx
mov dword [rsp + 0x70], ebx
call fcn.18002b67c
mov qword [rsp + 0x38], rax
lea r14, [rbx - 1]
mov r12d, 0x1fff
test rax, rax
jne 0x180012c45
mov r13d, reloc.WS2_32.dll_setsockopt
lea rbx, [rdi + 0xdc]
mov ecx, r13d
mov dword [rbx], r13d
jmp 0x180015eaa
mov rax, qword [rdi + 0x10]
mov r12d, reloc.WS2_32.dll_setsockopt
mov dword [rsp + 0x58], 0x2000
mov ecx, dword [rax + 0x94]
movzx eax, byte [rsp + 0x60]
mov byte [rsp + 0x60], al
mov dword [rbp - 0x50], ecx
jmp 0x180012c72
xor ebx, ebx
movsxd r8, dword [rsp + 0x58]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.180027fa0
mov dword [rsp + 0x30], ebx
test r13d, r13d
je 0x180012d79
mov eax, dword [rdi + 0x150]
cmp dword [rdi + 0x148], eax
jne 0x180012d79
mov rcx, qword [rdi + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x180012d79
mov rax, qword [rdi + 0x70]
xorps xmm0, xmm0
imul r8d, dword [0x1800648f8], 0x3e8
mov edx, 2
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x20], rax
mov eax, 0x300
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x20]
mov word [rbp + 0x28], ax
mov word [rbp + 0x38], ax
call qword [sym.ProxyProtocol.dll_mypoll]
mov r15d, eax
mov qword [rsp + 0x50], r15
test eax, eax
jle 0x180015a89
mov eax, 0x307
test word [rbp + 0x3a], ax
je 0x180012d79
cmp dword [rdi + 0xfc], 0
jne 0x180015a89
cmp dword [rdi + 0xb0], 0
jne 0x180012d2c
cmp dword [rdi + 0x90], 4
je 0x180015a89
mov rcx, qword [rdi + 0x78]
mov edx, 2
mov dword [rsp + 0x5c], ebx
call qword [0x1800648a0]
mov rcx, qword [rdi + 0x78]
call qword [0x1800648a8]
mov rsi, qword [rsp + 0x48]
xorps xmm0, xmm0
mov qword [rdi + 0x78], r14
xorps xmm1, xmm1
mov dword [rdi + 0xb0], ebx
mov dword [rdi + 0x90], ebx
movups xmmword [rdi + 0x198], xmm0
movups xmmword [rdi + 0x1a8], xmm1
movups xmmword [rdi + 0x1b8], xmm0
mov eax, dword [0x1800648fc]
mov r9d, 0xfff
mov r8, qword [rsp + 0x38]
xor edx, edx
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
movsxd rbx, eax
test eax, eax
jle 0x180015e5b
cmp ebx, 2
jne 0x180012dc4
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0xd
jne 0x180012dc4
cmp byte [rax + 1], 0xa
je 0x180012c70
mov rax, qword [rsp + 0x38]
mov r15, rbx
mov byte [rbx + rax], 0
mov rdx, qword [rbp - 0x80]
test rdx, rdx
je 0x180012e62
cmp dword [rdi + 0xfc], 0
jne 0x180012e59
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x180012e59
movsxd rax, dword [rbp - 0x58]
cmp ebx, eax
jle 0x180012e09
mov rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.18003975c
test eax, eax
je 0x180012e59
mov rcx, qword [rdi + 0x78]
xor eax, eax
mov dword [rsp + 0x5c], eax
cmp rcx, 0xffffffffffffffff
je 0x180012e2e
lea edx, [rax + 2]
call qword [0x1800648a0]
mov rcx, qword [rdi + 0x78]
call qword [0x1800648a8]
xor eax, eax
mov qword [rdi + 0x78], r14
xorps xmm0, xmm0
mov dword [rdi + 0xb0], eax
xorps xmm1, xmm1
mov dword [rdi + 0x90], eax
movups xmmword [rdi + 0x198], xmm0
movups xmmword [rdi + 0x1a8], xmm1
movups xmmword [rdi + 0x1b8], xmm0
mov rcx, qword [rbp - 0x80]
call fcn.18002b668
mov rcx, qword [rsp + 0x38]
call fcn.1800341e0
mov qword [rbp - 0x80], rax
test rax, rax
je 0x180015e50
cmp ebx, 0xa
jl 0x180015e45
mov rcx, qword [rsp + 0x38]
lea rdx, [0x18004ee28]
cmp byte [rbx + rcx - 3], 0x31
mov ebx, 2
mov dword [rdi + 0xfc], 0
cmove r13d, ebx
lea r8d, [rbx + 5]
call fcn.18003975c
mov rcx, qword [rsp + 0x38]
lea edx, [rbx + 0x1e]
test eax, eax
mov dword [rbp - 0x74], eax
mov edi, eax
cmove r13d, ebx
mov dword [rbp - 0x78], r13d
call fcn.180028ab0
test rax, rax
je 0x180015e24
lea r13, [rax + 1]
mov rsi, r13
mov rcx, r13
test edi, edi
je 0x180012f4b
lea r8d, [rbx + 5]
lea rdx, str.http:__
call fcn.18003975c
test eax, eax
jne 0x180012f00
mov rax, qword [rbp - 0x70]
lea rsi, [r13 + 7]
jmp 0x180012f6e
mov r8d, 6
lea rdx, str.ftp:__
mov rcx, r13
call fcn.18003975c
test eax, eax
jne 0x180012f2b
mov rax, qword [rbp - 0x70]
lea rsi, [r13 + 6]
mov dword [rsp + 0x74], 1
jmp 0x180012f6e
cmp byte [r13], 0x2f
jne 0x180015a98
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbp - 0x70]
mov dword [rbx + 0xfc], 1
jmp 0x180012f73
mov edx, 0x20
call fcn.180028ab0
mov qword [rbp - 0x70], rax
test rax, rax
je 0x180015e14
cmp r13, rax
je 0x180015e14
mov byte [rax], 0
mov rbx, qword [rsp + 0x40]
cmp dword [rbx + 0xfc], 0
je 0x180012f86
test edi, edi
jne 0x180013175
jmp 0x180012fdc
test edi, edi
je 0x180012fdc
mov edx, 0x2f
mov rcx, rsi
call fcn.180028ab0
mov qword [rbp - 0x70], rax
test rax, rax
je 0x180015ac1
cmp rsi, rax
je 0x180015ac1
mov edx, 0x20
mov rcx, rsi
call fcn.180028ab0
mov qword [rbp - 0x28], rax
mov rcx, rax
test rax, rax
je 0x180015ac1
mov rax, qword [rbp - 0x70]
cmp rax, rcx
cmova rax, rcx
mov qword [rbp - 0x70], rax
mov byte [rax], 0
sub eax, dword [rsp + 0x38]
mov edx, 0x40
mov rcx, rsi
mov dword [rbp - 0x58], eax
call fcn.180028b30
mov rcx, rsi
test rax, rax
je 0x180013125
call fcn.1800341e0
mov r14, rax
mov rdi, rax
mov rbx, rax
movzx edx, byte [rax]
test dl, dl
je 0x1800130db
mov r12d, 3
nop dword [rax + rax]
cmp dl, 0x25
jne 0x1800130ae
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013043
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180013043
sub cl, 0x41
cmp cl, 5
ja 0x1800130b3
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x18001305d
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x18001305d
sub cl, 0x41
cmp cl, 5
ja 0x1800130b3
lea r8, [rbp - 0x30]
lea rdx, [0x180050f2c]
lea rcx, [rdi + 1]
call sym.ProxyProtocol.dll_sscanf
mov eax, dword [rbp - 0x30]
cmp eax, 0xd
je 0x1800130a9
cmp eax, 0xa
je 0x1800130a9
cmp eax, 0x22
je 0x18001309e
cmp eax, 0x5c
je 0x18001309e
cmp eax, 0xff
jne 0x1800130a4
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
mov rax, r12
jmp 0x1800130c7
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
mov rax, r12
jmp 0x1800130c7
cmp dl, 0x3f
je 0x1800130d5
mov eax, 1
cmp dl, 0x2b
jne 0x1800130c2
mov byte [rbx], 0x20
jmp 0x1800130c4
mov byte [rbx], dl
inc rbx
add rdi, rax
movzx edx, byte [rdi]
test dl, dl
jne 0x180013020
mov r12d, reloc.WS2_32.dll_setsockopt
cmp dword [rsp + 0x74], 0
mov r9d, 0x50
mov rdi, qword [rsp + 0x40]
mov r8d, 1
cmovne r9w, r12w
mov byte [rbx], 0
mov rdx, rdi
mov rcx, r14
call sym.ProxyProtocol.dll_parseconnusername
test eax, eax
jne 0x180015aea
mov rcx, r14
call fcn.18002b668
mov edi, dword [rbp - 0x74]
mov r14, 0xffffffffffffffff
mov rbx, qword [rsp + 0x40]
jmp 0x180013145
cmp dword [rsp + 0x74], 0
mov r8d, 0x50
mov rdx, rbx
cmovne r8w, r12w
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x180015b10
test edi, edi
je 0x180013175
mov rax, qword [rbp - 0x70]
cmp rax, qword [rbp - 0x28]
jne 0x18001315d
mov byte [rax], 0x20
dec rax
mov qword [rbp - 0x70], rax
sub r15, rax
mov byte [rax], 0x2f
mov rdx, rax
mov rcx, r13
lea r8, [r15 + 1]
add r8, rsi
call fcn.180028440
mov rcx, qword [rsp + 0x38]
nop word [rax + rax]
inc r14
cmp byte [rcx + r14], 0
jne 0x180013180
mov r8d, 7
lea rdx, [0x18004ee28]
mov r15d, r14d
call fcn.18003975c
test eax, eax
jne 0x1800131ad
mov eax, 0x1000
jmp 0x180013271
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180050f58]
mov esi, 3
mov r8d, esi
call fcn.18003975c
test eax, eax
jne 0x1800131e1
cmp dword [rsp + 0x74], 0
mov eax, pe_nt_image_headers64
mov ecx, 0x10000
cmovne eax, ecx
jmp 0x180013271
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180050f5c]
mov r8, rsi
call fcn.18003975c
test eax, eax
jne 0x18001320d
cmp dword [rsp + 0x74], 0
mov eax, 0x200
mov ecx, 0x20000
cmovne eax, ecx
jmp 0x180013271
mov rcx, qword [rsp + 0x38]
lea rdx, str.POST
mov esi, 4
mov r8d, esi
call fcn.18003975c
test eax, eax
je 0x18001326c
mov rcx, qword [rsp + 0x38]
lea r8d, [rsi + 5]
lea rdx, str.BITS_POST
call fcn.18003975c
test eax, eax
je 0x18001326c
mov rcx, qword [rsp + 0x38]
lea rdx, str.HEAD
mov r8d, esi
call fcn.18003975c
mov r12, rbx
test eax, eax
jne 0x180013265
mov eax, 0x800
jmp 0x180013274
mov eax, 0x8000
jmp 0x180013274
mov eax, 0x400
mov r12, rbx
mov dword [r12 + 0xb4], eax
nop dword [rax]
mov ecx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
add ecx, r14d
movsxd rdx, ecx
mov byte [rdx + rax], 0
cmp r14d, 0x19
jle 0x1800135ca
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x68], 0
jne 0x1800135ca
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_send
call fcn.18003975c
test eax, eax
jne 0x1800135ca
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180013b39
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x180013310
nop dword [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x180013300
cmp byte [rbx], 0
je 0x180013b39
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.18003975c
test eax, eax
jne 0x180013408
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002b9e0
test eax, eax
je 0x180013360
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x180013350
mov r8d, 0xff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x180013b39
cdqe
cmp rax, 0x400
jae 0x1800161f2
mov edx, 0x3a
mov byte [rbp + rax + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.180028ab0
mov rdi, qword [rsp + 0x40]
mov rbx, rax
test rax, rax
je 0x1800133df
mov byte [rax], 0
mov rcx, qword [rdi + 0x120]
test rcx, rcx
je 0x1800133c5
call fcn.18002b668
lea rcx, [rbx + 1]
call fcn.1800341e0
mov qword [rdi + 0x120], rax
mov dword [rdi + 0xe4], 0
mov rcx, qword [rdi + 0x118]
test rcx, rcx
je 0x1800133f0
call fcn.18002b668
lea rcx, [rbp + 0x90]
call fcn.1800341e0
mov qword [rdi + 0x118], rax
jmp 0x180013af2
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi + 0x10]
cmp dword [rax + 0x5c], 0
je 0x1800135ca
mov r8d, 4
lea rdx, str.ntlm
mov rcx, rbx
call fcn.18003975c
test eax, eax
jne 0x1800135ca
movzx ecx, byte [rbx + 4]
add rbx, 4
call fcn.18002b9e0
test eax, eax
je 0x180013460
nop dword [rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x180013450
mov r8d, 0x3ff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
movsxd rsi, eax
cmp esi, 0x10
jle 0x180013b39
cmp rsi, 0x400
jae 0x1800161f2
mov r8d, 8
mov byte [rbp + rsi + 0x90], 0
lea rdx, str.NTLMSSP
lea rcx, [rbp + 0x90]
call fcn.18003975c
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x180013af2
movzx eax, byte [rbp + 0x98]
cmp al, 1
je 0x180013b40
cmp al, 3
jne 0x180013af2
cmp dword [rdi + 0xe4], 2
jne 0x180013af2
cmp esi, 0x50
jl 0x180013af2
movzx eax, byte [rbp + 0xa4]
movzx ecx, byte [rbp + 0xa5]
movzx edx, byte [rbp + 0xa9]
shl ecx, 8
add ecx, eax
shl edx, 8
movzx eax, byte [rbp + 0xa8]
add edx, eax
cmp ecx, 0x18
jne 0x180013af2
lea eax, [rdx + 0x18]
cmp eax, esi
ja 0x180013af2
mov rcx, qword [rdi + 0x120]
movups xmm0, xmmword [rbp + rdx + 0x90]
movups xmmword [rcx + 8], xmm0
movsd xmm1, qword [rbp + rdx + 0xa0]
movsd qword [rcx + 0x18], xmm1
movzx eax, byte [rbp + 0xb4]
movzx edi, byte [rbp + 0xb5]
movzx ebx, byte [rbp + 0xb9]
shl edi, 8
add edi, eax
shl ebx, 8
movzx eax, byte [rbp + 0xb8]
add ebx, eax
cmp edi, 0xff
ja 0x180013b39
lea eax, [rbx + rdi]
cmp eax, esi
ja 0x180013b39
mov rsi, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x118]
test rcx, rcx
je 0x180013597
call fcn.18002b668
mov eax, ebx
lea rbx, [rbp + 0x90]
add rbx, rax
shr edi, 1
mov rdx, rbx
mov rcx, rbx
mov r8d, edi
call sym.ProxyProtocol.dll_unicode2text
mov rcx, rbx
call fcn.1800341e0
mov qword [rsi + 0x118], rax
mov rdi, rsi
jmp 0x180013af2
test edi, edi
je 0x1800136a8
cmp r14d, 0x19
jle 0x1800135f8
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.18003975c
test eax, eax
je 0x180013626
cmp r14d, 0x10
jle 0x1800136a8
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.18003975c
test eax, eax
jne 0x1800136ae
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180013b39
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x180013664
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x180013654
mov r8d, 7
lea rdx, str.upgrade
mov rcx, rbx
call fcn.18003975c
test eax, eax
je 0x1800136a8
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.18003975c
mov rdi, qword [rsp + 0x40]
xor esi, esi
mov ebx, esi
test eax, eax
sete bl
mov dword [rbp - 0x78], ebx
jmp 0x180013af4
cmp r14d, 0xb
jle 0x180013707
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Expect:_100
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.18003975c
test eax, eax
jne 0x180013707
mov rdx, qword [str.HTTP_1.1_100_Continue_r_n_r_n]
mov r8, 0xffffffffffffffff
mov dword [rbp - 0x78], 1
inc r8
cmp byte [rdx + r8], 0
jne 0x1800136e3
mov rdi, qword [rsp + 0x40]
mov r9d, dword [0x1800648f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x180013af2
mov rdi, qword [rsp + 0x40]
cmp dword [rdi + 0xfc], 0
je 0x180013884
cmp r14d, 6
jle 0x180013884
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Host:
add rcx, qword [rsp + 0x38]
mov r8d, 5
call fcn.18003975c
test eax, eax
jne 0x180013884
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180013af2
movzx ecx, byte [rax + 1]
lea rdi, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x180013783
movzx ecx, byte [rdi + 1]
inc rdi
call fcn.18002b9e0
test eax, eax
jne 0x180013773
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call fcn.180028ab0
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x1800137ad
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.180028ab0
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1800137b7
movzx ecx, byte [rax]
mov byte [rsp + 0x60], cl
mov byte [rax], 0
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x110], 0
jne 0x1800137df
mov r8d, 0x50
mov rdx, rax
mov rcx, rdi
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x180015b10
movsxd rax, dword [rsp + 0x30]
mov r8, 0xffffffffffffffff
add rax, qword [rsp + 0x38]
mov rcx, r8
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800137f3
mov rdx, qword [rbp - 0x80]
mov rax, r8
inc rax
cmp byte [rdx + rax], 0
jne 0x180013803
add rax, 8
add rcx, rax
call fcn.18002b67c
mov rsi, rax
test rax, rax
je 0x18001386f
mov rcx, qword [rbp - 0x80]
mov edx, 0x2f
inc rcx
call fcn.180028ab0
mov rdx, qword [rbp - 0x80]
mov r8, rax
sub r8, rdx
mov rcx, rsi
mov rbx, rax
call fcn.180028440
mov rcx, rsi
lea rdx, str.http:___s_s
sub rcx, qword [rbp - 0x80]
mov r9, rbx
add rcx, rbx
mov r8, rdi
call sym.ProxyProtocol.dll_sprintf
mov rcx, qword [rbp - 0x80]
call fcn.18002b668
mov qword [rbp - 0x80], rsi
mov rax, qword [rbp - 0x70]
mov rdi, qword [rsp + 0x40]
test rax, rax
je 0x180013884
movzx ecx, byte [rsp + 0x60]
mov byte [rax], cl
cmp dword [rsp + 0x74], 0
je 0x1800139e9
cmp r14d, 0xd
jle 0x1800139e9
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_listen
call fcn.18003975c
test eax, eax
jne 0x1800139e9
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180013af2
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x180013900
nop dword [rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x1800138f0
cmp byte [rbx], 0
je 0x180013af2
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.18003975c
test eax, eax
jne 0x1800139e9
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002b9e0
test eax, eax
je 0x180013950
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x180013940
mov r8d, 0xff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x180013af2
cdqe
cmp rax, 0x400
jae 0x1800161f2
mov edx, 0x3a
mov byte [rbp + rax + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.180028ab0
mov rbx, rax
test rax, rax
je 0x1800139c0
mov byte [rax], 0
mov rcx, qword [rdi + 0x130]
test rcx, rcx
je 0x1800139b0
call fcn.18002b668
lea rcx, [rbx + 1]
call fcn.1800341e0
mov qword [rdi + 0x130], rax
mov rcx, qword [rdi + 0x128]
test rcx, rcx
je 0x1800139d1
call fcn.18002b668
lea rcx, [rbp + 0x90]
call fcn.1800341e0
mov qword [rdi + 0x128], rax
jmp 0x180013af2
cmp r14d, 0xf
jle 0x180013aa2
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.18003975c
test eax, eax
jne 0x180013aa2
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180013af2
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x180013a53
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x180013a43
lea r8, [rsp + 0x68]
mov rcx, rbx
lea rdx, str._llu
call sym.ProxyProtocol.dll_sscanf
mov rax, qword [rdi + 0x170]
mov rdx, qword [rsp + 0x68]
test rax, rax
je 0x180013a94
mov rcx, qword [rdi + 0x1c8]
cmp rax, rcx
jb 0x180015356
sub rax, rcx
cmp rdx, rax
ja 0x180015356
cmp dword [rdi + 0xcc], 0
jle 0x180013aa2
test rdx, rdx
jne 0x180013af2
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
add ecx, r14d
mov eax, edx
mov dword [rsp + 0x30], ecx
sub eax, ecx
cmp eax, 0x1000
jge 0x180013af2
mov eax, 0x10000
cmp edx, eax
jg 0x180015b1f
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002b684
test rax, rax
je 0x180015b17
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
xor esi, esi
movsxd r8, dword [rsp + 0x30]
xor edx, edx
mov eax, dword [0x1800648f8]
mov r9d, 0xffe
add r8, qword [rsp + 0x38]
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov r14d, eax
cmp eax, 2
jle 0x180013d11
mov edi, dword [rbp - 0x74]
mov rbx, qword [rsp + 0x40]
jmp 0x180013280
mov rdi, qword [rsp + 0x40]
jmp 0x180013af2
mov eax, dword [0x1800648f8]
mov esi, 0x1fff
mov r8, qword [rsp + 0x38]
mov r9d, esi
mov dword [rsp + 0x28], eax
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov ebx, eax
cmp eax, 2
jle 0x180013be0
cmp ebx, 0xf
jbe 0x180013bb5
mov rcx, qword [rsp + 0x38]
lea rdx, str.content_length
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.18003975c
test eax, eax
jne 0x180013bb5
mov rax, qword [rsp + 0x38]
lea r8, [rsp + 0x68]
mov ecx, ebx
lea rdx, str._llu
mov byte [rcx + rax], 0
mov rcx, qword [rsp + 0x38]
add rcx, 0xf
call sym.ProxyProtocol.dll_sscanf
mov eax, dword [0x1800648f8]
mov r9d, esi
mov r8, qword [rsp + 0x38]
xor edx, edx
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov ebx, eax
cmp eax, 2
jg 0x180013b70
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x180013c38
nop word [rax + rax]
mov eax, dword [0x1800648f8]
cmp rcx, 0x2000
mov r8, qword [rsp + 0x38]
cmova ecx, esi
mov dword [rsp + 0x28], eax
mov r9d, ecx
mov dword [rsp + 0x20], 0xa
mov rcx, rdi
xor edx, edx
call sym.ProxyProtocol.dll_sockgetlinebuf
test eax, eax
jle 0x180013c38
mov rcx, qword [rsp + 0x68]
cdqe
cmp rax, rcx
ja 0x180013c38
sub rcx, rax
mov qword [rsp + 0x68], rcx
jne 0x180013bf0
mov rcx, qword [rdi + 0x120]
xor r15d, r15d
mov qword [rsp + 0x68], r15
test rcx, rcx
je 0x180013c51
call fcn.18002b668
mov ecx, 0x20
call fcn.18002b67c
mov qword [rdi + 0x120], rax
mov r14, 0xffffffffffffffff
mov dword [rdi + 0xe4], 2
mov rax, r14
mov rdx, qword [str.HTTP_1.0_407_Proxy_Authentication_Required_r_nConnection:_keep_alive_r_nContent_Length:_0_r_nProxy_Authenticate:_NTLM]
nop dword [rax]
inc rax
cmp byte [rdx + rax], r15b
jne 0x180013c80
mov rcx, qword [rsp + 0x38]
movsxd rbx, eax
mov r8, rbx
call fcn.180028440
mov r8, qword [rsp + 0x38]
mov rcx, rdi
mov rdx, qword [rdi + 0x120]
add r8, rbx
call sym.ProxyProtocol.dll_genchallenge
mov rdx, qword [rsp + 0x38]
mov rcx, r14
nop dword [rax + rax]
cmp byte [rdx + rcx + 1], r15b
lea rcx, [rcx + 1]
jne 0x180013cc0
mov eax, dword [str._r_n_r_n]
mov r8, r14
mov dword [rcx + rdx], eax
movzx eax, byte [0x180050fbc]
mov byte [rcx + rdx + 4], al
mov rdx, qword [rsp + 0x38]
inc r8
cmp byte [rdx + r8], r15b
jne 0x180013ce7
mov r9d, dword [0x1800648f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov esi, 1
mov r13d, esi
mov dword [rsp + 0x5c], esi
jmp 0x180015a3e
movsxd rcx, dword [rsp + 0x30]
mov r14, 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
mov rax, r14
mov rcx, qword [rbp - 0x80]
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x180013d30
mov dword [rbp - 0x34], eax
lea r8, [rbp - 0x38]
inc eax
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x38], eax
xor r9d, r9d
lea rax, [rbp - 0x34]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call sym.ProxyProtocol.dll_handlereqfilters
cmp eax, 2
je 0x180015b31
test eax, eax
jne 0x180015b27
lea rax, [rsp + 0x30]
xor r9d, r9d
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x38]
mov rcx, rdi
call sym.ProxyProtocol.dll_handlehdrfilterscli
cmp eax, 2
je 0x180015b31
test eax, eax
jne 0x180015b27
mov rdx, qword [rsp + 0x68]
mov dword [rdi + 0xf4], esi
movsxd rax, dword [0x180064998]
test eax, eax
je 0x180013dc8
cmp rdx, rax
jbe 0x180013dc8
mov dword [rdi + 0xf4], 1
jmp 0x180013e7a
cmp dword [rdi + 0xcc], 0
jle 0x180013e7a
test rdx, rdx
je 0x180013e7a
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffcli
mov r8, qword [rsp + 0x68]
movsxd rcx, eax
cmp rcx, r8
jne 0x180013e5a
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x180015b31
test eax, eax
jne 0x180015b41
lea rbx, [rdi + 0x148]
xor r9d, r9d
lea r8, [rdi + 0x158]
mov qword [rsp + 0x20], rbx
lea rdx, [rdi + 0x138]
mov rcx, rdi
call sym.ProxyProtocol.dll_handledatfltcli
cmp eax, 2
je 0x180015b31
test eax, eax
jne 0x180015b27
mov r8d, dword [rbx]
mov qword [rsp + 0x68], r8
mov dword [rdi + 0xf4], 1
mov rax, qword [rsp + 0x38]
mov rcx, r14
inc rcx
cmp byte [rax + rcx], 0
jne 0x180013e62
add rcx, rax
lea rdx, str.Content_Length:__llu_r_n
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x60], 1
jle 0x180013e92
cmp qword [rdi + 0x118], 0
je 0x180015b4b
mov rcx, rdi
call qword [rax + 0x28]
mov qword [rsp + 0x50], rax
test eax, eax
jne 0x180015b55
cmp dword [rsp + 0x74], eax
je 0x180014bc8
cmp dword [rdi + 0x90], 4
je 0x180014bc8
mov r15d, esi
mov dword [rsp + 0x70], esi
cmp dword [rsp + 0x5c], eax
jne 0x180013ef2
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], 0x5ec
lea rdx, [rbp + 0x490]
mov rcx, rdi
call sym.ProxyProtocol.dll_ftplogin
mov qword [rsp + 0x50], rax
test eax, eax
jne 0x180015b55
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x5c], 1
test rcx, rcx
je 0x180013f09
call fcn.18002b668
mov edx, 0x20
mov rcx, r13
call fcn.180028ab0
test rax, rax
je 0x180015c71
mov byte [rax], 0
mov rdi, r13
movzx r8d, byte [r13]
mov rbx, r13
test r8b, r8b
je 0x180013fee
cmp r8b, 0x25
jne 0x180013fc7
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013f5a
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180013f5a
sub cl, 0x41
cmp cl, 5
ja 0x180013fcd
movzx edx, byte [rdi + 2]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180013f74
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x180013f74
sub dl, 0x41
cmp dl, 5
ja 0x180013fcd
lea r8, [rbp - 0x2c]
lea rdx, [0x180050f2c]
lea rcx, [rdi + 1]
call sym.ProxyProtocol.dll_sscanf
mov eax, dword [rbp - 0x2c]
cmp eax, 0xd
je 0x180013fc1
cmp eax, 0xa
je 0x180013fc1
cmp eax, 0x22
je 0x180013fb6
cmp eax, 0x5c
je 0x180013fb6
cmp eax, 0xff
jne 0x180013fbc
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x180013fe1
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x180013fe1
cmp r8b, 0x3f
je 0x180013fee
inc rdi
cmp r8b, 0x2b
jne 0x180013fdb
mov byte [rbx], 0x20
jmp 0x180013fde
mov byte [rbx], r8b
inc rbx
movzx r8d, byte [rdi]
test r8b, r8b
jne 0x180013f36
mov byte [rbx], 0
mov rdi, r14
inc rdi
cmp byte [rdi + r13], 0
jne 0x180013ff4
movsxd rcx, edi
add rcx, 2
mov qword [rbp - 0x48], rdi
call fcn.18002b67c
mov qword [rsp + 0x48], rax
mov rsi, rax
test rax, rax
je 0x180015c4b
movsxd rbx, edi
mov rdx, r13
mov r8, rbx
mov rcx, rax
call fcn.180028440
cmp byte [rbx + rsi - 1], 0x2f
je 0x180014041
inc edi
mov byte [rbx + rsi], 0x2f
mov qword [rbp - 0x48], rdi
movsxd rax, edi
mov byte [rax + rsi], 0
mov rcx, qword [rsp + 0x38]
movsd xmm0, qword [str._pre__hr__n]
movsd qword [rcx], xmm0
movzx eax, word [0x180051048]
mov word [rcx + 8], ax
mov eax, 0xa
movsxd rcx, dword [rsp + 0x70]
mov dword [rsp + 0x30], 0xa
test ecx, ecx
je 0x1800140bb
mov r8, rcx
lea rdx, [rbp + 0x490]
mov rcx, qword [rsp + 0x38]
add rcx, rax
call fcn.180028440
mov eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], eax
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
mov dword [rcx + rax], 0x3e72683c
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x70]
add eax, 4
mov dword [rsp + 0x30], eax
cmp byte [rsi + 1], 0
je 0x1800140f0
movups xmm0, xmmword [str.__A_HREF_..__..__A___n]
movsxd rdx, eax
add rdx, qword [rsp + 0x38]
movups xmmword [rdx], xmm0
mov eax, dword [0x180051060]
mov dword [rdx + 0x10], eax
movzx eax, word [0x180051064]
mov word [rdx + 0x14], ax
add dword [rsp + 0x30], 0x16
mov ecx, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x40]
lea r9, [rsp + 0x70]
mov eax, 0x5ec
lea r8, [rbp + 0x490]
sub eax, ecx
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x70], eax
call sym.ProxyProtocol.dll_ftpcd
mov qword [rsp + 0x50], rax
test eax, eax
je 0x180014170
lea rdx, [0x180051068]
mov rcx, rbx
call sym.ProxyProtocol.dll_ftptype
mov qword [rsp + 0x50], rax
test eax, eax
jne 0x180015b67
dec edi
lea rdx, str.RETR
movsxd rax, edi
mov r8, rsi
mov qword [rbp - 0x48], rdi
mov byte [rax + rsi], 0
mov eax, 0x20000
cmp dword [r12 + 0xb4], eax
lea rax, [0x180050f5c]
cmove rdx, rax
xor r13d, r13d
jmp 0x1800141c5
movsxd rax, dword [rsp + 0x70]
test eax, eax
je 0x1800141b2
movsxd rcx, dword [rsp + 0x30]
lea rdx, [rbp + 0x490]
add rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.180028440
mov eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], eax
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
mov dword [rcx + rax], 0x3e72683c
add dword [rsp + 0x30], 4
xor r13d, r13d
lea rdx, str.LIST
mov r8d, r13d
mov r15d, 1
mov rcx, r12
call sym.ProxyProtocol.dll_ftpcommand
mov qword [rbp - 0x20], rax
mov rsi, rax
mov rdi, rbx
cmp rax, r14
je 0x180015c41
lea r14, [rbx + 0x78]
mov qword [rbp - 0x40], r14
test r15d, r15d
je 0x180015bbf
mov rcx, qword [rsp + 0x40]
mov r12, 0xffffffffffffffff
mov rax, qword [r14]
mov ebx, r12d
mov qword [rbp - 0x18], rax
mov edi, r13d
mov dword [rsp + 0x78], r13d
mov eax, dword [rcx + 0x14c]
mov dword [rbp - 0x54], ebx
cmp dword [rcx + 0x154], eax
jae 0x180014262
movsxd rax, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x58]
mov rdx, rax
add rdx, qword [rsp + 0x38]
sub r8d, eax
sub r8d, 0x64
call sym.ProxyProtocol.dll_ftpres
mov dword [rbp - 0x54], eax
mov ebx, eax
test eax, eax
je 0x18001425d
mov rdx, qword [rsp + 0x38]
mov rcx, r12
nop
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180014250
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0x40]
mov qword [r14], rsi
test ebx, ebx
jg 0x180014ab6
mov eax, dword [0x1800648f8]
lea r8, [rbp + 0x490]
mov dword [rsp + 0x28], eax
mov r9d, 0x5ec
mov edx, 1
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov qword [rsp + 0x50], rax
test eax, eax
jle 0x180014ab6
nop dword [rax]
nop word [rax + rax]
xor dil, dil
mov eax, eax
mov esi, 1
cmp rax, 0x600
jae 0x1800161f2
cmp dword [rbp - 0x48], 0
mov byte [rbp + rax + 0x490], dil
movzx ecx, byte [rbp + 0x490]
jne 0x1800142fa
cmp cl, 0x74
jne 0x1800142fa
cmp byte [rbp + 0x491], 0x6f
jne 0x180014301
cmp byte [rbp + 0x492], cl
jne 0x180014301
lea r15d, [rsi + 1]
jmp 0x180014a69
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180014310
cmp r15d, esi
mov r14d, 2
cmove r15d, r14d
jmp 0x180014316
mov r14d, 2
lea rbx, [rbp + 0x490]
test cl, cl
je 0x18001436d
test esi, esi
jne 0x180014347
movzx ecx, byte [rbx]
call fcn.18002b9e0
test eax, eax
je 0x180014365
movzx ecx, dil
mov eax, ebx
mov esi, 1
sub eax, dword [rbp + rcx*8 + 0x40]
mov dword [rbp + rcx*4 - 8], eax
inc dil
movzx ecx, byte [rbx]
call fcn.18002b9e0
test eax, eax
jne 0x180014365
movzx eax, dil
mov esi, r13d
mov qword [rbp + rax*8 + 0x40], rbx
cmp dil, 8
je 0x18001436d
inc rbx
cmp byte [rbx], 0
jne 0x180014321
cmp r15d, 1
jne 0x180014400
cmp dil, 4
jb 0x180014a69
mov rbx, qword [rbp + 0x50]
lea rdx, str._DIR_
mov r8d, dword [rbp]
mov rcx, rbx
call fcn.180028340
test eax, eax
mov r12d, r13d
sete r12b
test r12d, r12d
jne 0x1800143b3
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x180014a69
movsxd rdx, dword [rsp + 0x30]
mov rdi, r14
movsd xmm0, qword [str.__________]
mov esi, r13d
mov eax, dword [rbp + 0x48]
mov r14d, 3
sub eax, dword [rbp + 0x40]
add eax, dword [rbp - 4]
add rdx, qword [rsp + 0x38]
mov dword [rbp - 8], eax
mov dword [rbp - 0x68], r15d
mov dword [rbp - 0x74], r13d
movsd qword [rdx], xmm0
movzx eax, word [0x180051088]
mov word [rdx + 8], ax
movzx eax, byte [0x18005108a]
jmp 0x1800144f6
cmp dil, 8
jb 0x180014a69
cmp dword [rbp - 8], 0xa
jne 0x180014a69
mov rax, qword [rbp + 0x60]
mov r12d, r13d
movzx ecx, byte [rax]
mov eax, 3
sub cl, 0x30
cmp cl, 9
cmova r15d, eax
mov rax, qword [rbp + 0x40]
mov dword [rbp - 0x68], r15d
cmp byte [rax], 0x64
sete r12b
cmp byte [rax], 0x6c
sete r13b
xor ecx, ecx
mov eax, ecx
mov dword [rbp - 0x74], r13d
cmp r15d, 2
mov esi, ecx
sete al
add eax, 7
cmp r15d, 2
mov r14d, eax
sete sil
mov rbx, qword [rbp + rax*8 + 0x38]
add esi, 4
mov qword [rbp + rax*8 + 0x40], rbx
mov edi, ebx
movzx eax, byte [rbx]
test al, al
je 0x180014499
movzx ecx, al
call fcn.18002b9e0
test eax, eax
jne 0x180014497
movzx eax, byte [rbx + 1]
inc rbx
mov qword [rbp + r14*8 + 0x40], rbx
mov rdi, rbx
test al, al
jne 0x180014478
xor ecx, ecx
cmp byte [rbx], 0
je 0x1800144a8
inc rbx
mov qword [rbp + r14*8 + 0x40], rbx
mov edi, ebx
sub edi, dword [rbp + rsi*8 + 0x40]
mov rax, 0xffffffffffffffff
mov dword [rbp + rsi*4 - 8], edi
inc rax
cmp byte [rbx + rax], 0
jne 0x1800144b7
movsxd rdx, dword [rsp + 0x30]
mov rdi, rcx
mov rcx, qword [rbp + 0x40]
cmp r15d, 2
mov dword [rbp + r14*4 - 8], eax
sete dil
add rdi, 3
add rdx, qword [rsp + 0x38]
movsd xmm0, qword [rcx]
movsd qword [rdx], xmm0
movzx eax, word [rcx + 8]
mov word [rdx + 8], ax
movzx eax, byte [rcx + 0xa]
mov byte [rdx + 0xa], al
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x58]
add edx, 0xb
mov r9d, esi
sub ecx, edx
mov dword [rsp + 0x30], edx
mov ebx, dword [rbp + r9*4 - 8]
lea eax, [rbx + 0x100]
cmp eax, ecx
jg 0x180014a66
movsxd rcx, edx
mov r8d, ebx
add rcx, qword [rsp + 0x38]
mov rdx, qword [rbp + r9*8 + 0x40]
call fcn.180028440
mov ecx, dword [rsp + 0x30]
add ecx, ebx
mov dword [rsp + 0x30], ecx
test r12d, r12d
je 0x1800145a8
movsd xmm0, qword [str._______DIR]
xor esi, esi
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
movsd qword [rdx], xmm0
movzx eax, word [0x180051098]
mov word [rdx + 8], ax
mov eax, dword [rsp + 0x30]
movsd xmm0, qword [str.__A_HREF_]
add eax, 0xa
mov dword [rsp + 0x30], eax
movsxd rdx, eax
add rdx, qword [rsp + 0x38]
movsd qword [rdx], xmm0
movzx eax, word [0x1800510b8]
mov word [rdx + 8], ax
mov ecx, dword [rsp + 0x30]
add ecx, 0xa
mov eax, r14d
mov dword [rsp + 0x30], ecx
test r13d, r13d
je 0x1800146ba
jmp 0x180014606
test r13d, r13d
je 0x18001462b
movsd xmm0, qword [str.______LINK]
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
mov qword [rbp - 0x10], 0
movsd qword [rdx], xmm0
movzx eax, word [0x1800510a8]
mov word [rdx + 8], ax
mov eax, dword [rsp + 0x30]
movsd xmm0, qword [str.__A_HREF_]
add eax, 0xa
mov dword [rsp + 0x30], eax
movsxd rdx, eax
add rdx, qword [rsp + 0x38]
movsd qword [rdx], xmm0
movzx eax, word [0x1800510b8]
mov word [rdx + 8], ax
add dword [rsp + 0x30], 0xa
mov eax, r14d
lea r15, [rax*8]
mov rcx, qword [rbp + r15 + 0x40]
lea rdx, str.___
call fcn.180028c6c
mov ecx, dword [rsp + 0x30]
mov rsi, rax
jmp 0x1800146c2
mov ebx, dword [rbp + rdi*4 - 8]
cmp ebx, 0xa
jbe 0x18001463f
mov ebx, 0xa
mov dword [rbp + rdi*4 - 8], ebx
jmp 0x18001466c
jae 0x18001466c
mov edx, 0xa
sub edx, ebx
nop dword [rax + rax]
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov byte [rcx + rax], 0x20
mov ecx, dword [rsp + 0x30]
inc ecx
mov dword [rsp + 0x30], ecx
sub rdx, 1
jne 0x180014650
mov rdx, qword [rbp + rdi*8 + 0x40]
movsxd rcx, ecx
add rcx, qword [rsp + 0x38]
mov r8d, ebx
call fcn.180028440
mov ecx, dword [rsp + 0x30]
movsd xmm0, qword [str.__A_HREF_]
add ecx, ebx
mov dword [rsp + 0x30], ecx
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
movsd qword [rdx], xmm0
movzx eax, word [0x1800510b8]
mov word [rdx + 8], ax
mov ecx, dword [rsp + 0x30]
add ecx, 0xa
mov eax, r14d
mov dword [rsp + 0x30], ecx
xor esi, esi
lea r15, [rax*8]
test rsi, rsi
je 0x1800146cd
add rsi, 4
jmp 0x1800146d2
mov rsi, qword [rbp + r15 + 0x40]
cmp byte [rsi], 0x2f
je 0x1800147c9
mov rax, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x58]
mov rbx, rax
mov rdi, qword [rsp + 0x38]
cmp byte [rax], 0
je 0x1800147d3
movabs r13, 0x21ffffff80ffff
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x1800147c5
movzx edx, byte [rbx]
cmp dl, 0xd
je 0x1800147b9
cmp dl, 0xa
je 0x1800147b9
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x180014730
bt r13, rax
jb 0x180014737
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x180014745
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x1800147b5
cmp dl, 0x22
jne 0x18001476b
mov eax, dword [str._5C_22]
movsxd rcx, ecx
mov dword [rcx + rdi], eax
movzx eax, word [0x180050f34]
mov word [rcx + rdi + 4], ax
mov ecx, dword [rsp + 0x30]
add ecx, 6
jmp 0x1800147b5
cmp dl, 0xff
jne 0x180014799
cmp byte [rbx + 1], dl
jne 0x180014799
mov eax, dword [0x180050f38]
movsxd rcx, ecx
mov word [rcx + rdi], ax
movzx eax, byte [0x180050f3a]
mov byte [rcx + rdi + 2], al
mov ecx, dword [rsp + 0x30]
add ecx, 3
inc rbx
jmp 0x1800147b5
movsxd rcx, ecx
mov r8d, edx
add rcx, rdi
lea rdx, str.___.2x
call sym.ProxyProtocol.dll_sprintf
mov ecx, dword [rsp + 0x30]
add ecx, 3
mov dword [rsp + 0x30], ecx
inc rbx
cmp byte [rbx], 0
jne 0x180014700
mov r13d, dword [rbp - 0x74]
mov rdi, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x58]
cmp byte [rsi], 0
je 0x180014877
movabs r13, 0x21ffffff80ffff
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x18001486e
movzx edx, byte [rsi]
cmp dl, 0xd
je 0x180014862
cmp dl, 0xa
je 0x180014862
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x18001480a
bt r13, rax
jb 0x180014811
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x18001481f
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x18001485e
movsxd rcx, ecx
cmp dl, 0x22
jne 0x180014845
mov eax, dword [str._5C_22]
mov dword [rcx + rdi], eax
movzx eax, word [0x180050f34]
mov word [rcx + rdi + 4], ax
mov ecx, dword [rsp + 0x30]
add ecx, 6
jmp 0x18001485e
mov r8d, edx
add rcx, rdi
lea rdx, str.___.2x
call sym.ProxyProtocol.dll_sprintf
mov ecx, dword [rsp + 0x30]
add ecx, 3
mov dword [rsp + 0x30], ecx
inc rsi
cmp byte [rsi], 0
jne 0x1800147e6
mov rdi, qword [rsp + 0x38]
mov r13d, dword [rbp - 0x74]
test r12d, r12d
je 0x180014892
movsxd rax, ecx
mov byte [rax + rdi], 0x2f
mov ecx, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
inc ecx
mov dword [rsp + 0x30], ecx
mov r8, qword [rbp + r15 + 0x40]
movsxd rax, ecx
mov word [rax + rdi], 0x3e22
mov ecx, dword [rsp + 0x30]
add ecx, 2
mov dword [rsp + 0x30], ecx
cmp byte [r8], 0
je 0x180014974
nop word [rax + rax]
mov eax, dword [rsp + 0x58]
sub eax, ecx
cmp eax, 0x10
jl 0x180014974
movzx edx, byte [r8]
cmp dl, 0x3c
jne 0x1800148f0
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746c26
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x180014963
cmp dl, 0x3e
jne 0x18001490d
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746726
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x180014963
cmp dl, 0xd
je 0x180014967
cmp dl, 0xa
je 0x180014967
test r13d, r13d
je 0x180014952
cmp dl, 0x20
jne 0x180014952
cmp byte [r8 + 1], 0x2d
jne 0x180014952
cmp byte [r8 + 2], 0x3e
jne 0x180014952
mov eax, dword [str.__A_]
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
mov dword [rdx], eax
movzx eax, byte [0x1800510c8]
mov byte [rdx + 4], al
mov ecx, dword [rsp + 0x30]
add ecx, 5
jmp 0x180014963
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov byte [rcx + rax], dl
mov ecx, dword [rsp + 0x30]
inc ecx
mov dword [rsp + 0x30], ecx
inc r8
cmp byte [r8], 0
jne 0x1800148c0
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3e412f3c
mov eax, dword [rsp + 0x30]
add eax, 4
mov dword [rsp + 0x30], eax
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0xa
mov r8d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x58]
inc r8d
mov eax, ecx
mov dword [rsp + 0x30], r8d
sub eax, r8d
cmp eax, 0x1000
jge 0x180014a62
cmp ecx, 0x4e20
jle 0x180014a39
mov edi, dword [rsp + 0x78]
mov eax, edi
inc edi
mov dword [rsp + 0x78], edi
test eax, eax
jne 0x180014a07
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_nContent_Type:_text_html_r_n_r_n]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1800149e1
mov rsi, qword [rsp + 0x40]
mov r9d, dword [0x1800648f8]
mov rcx, qword [rsi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r8d, dword [rsp + 0x30]
jmp 0x180014a0c
mov rsi, qword [rsp + 0x40]
mov r9d, dword [0x1800648f8]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp eax, dword [rsp + 0x30]
jne 0x180015b77
mov r15d, dword [rbp - 0x68]
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x180014a6d
lea eax, [rcx + 0x2000]
mov rcx, qword [rsp + 0x38]
movsxd rdx, eax
call fcn.18002b684
test rax, rax
je 0x180015b87
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
mov r15d, dword [rbp - 0x68]
xor r13d, r13d
mov edi, dword [rsp + 0x78]
mov eax, dword [0x1800648f8]
lea r8, [rbp + 0x490]
mov rcx, qword [rsp + 0x40]
mov r9d, 0x5ec
inc dword [rbp - 0x48]
mov edx, 1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov qword [rsp + 0x50], rax
test eax, eax
jg 0x1800142b0
mov ebx, dword [rbp - 0x54]
mov rsi, qword [rbp - 0x20]
mov r14, qword [rbp - 0x40]
movsxd rdx, dword [rsp + 0x30]
mov rcx, rsi
mov rax, qword [rsp + 0x38]
mov dword [rdx + rax], 0x3e72683c
add dword [rsp + 0x30], 4
call qword [0x1800648a8]
mov rax, qword [rbp - 0x18]
mov qword [r14], rax
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x180015ba9
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
test ebx, ebx
jns 0x180014b20
movsxd rax, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x58]
mov rdx, rax
mov rbx, qword [rsp + 0x40]
sub r8d, eax
add rdx, qword [rsp + 0x38]
mov rcx, rbx
call sym.ProxyProtocol.dll_ftpres
mov r15d, eax
jmp 0x180014b28
mov r15d, ebx
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov rsi, 0xffffffffffffffff
mov r8, rsi
mov qword [rsp + 0x50], r15
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180014b40
mov dword [rsp + 0x30], r8d
test edi, edi
jne 0x180014b9b
lea rdx, str.HTTP_1.0_200_OK_r_nContent_Type:_text_html_r_nConnection:_keep_alive_r_nContent_Length:__d_r_n_r_n
lea rcx, [rbp + 0x490]
call sym.ProxyProtocol.dll_sprintf
lea rax, [rbp + 0x490]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x180014b70
mov r9d, dword [0x1800648f8]
lea rdx, [rbp + 0x490]
mov rcx, qword [rbx + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rdx, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [0x1800648f8]
mov rcx, qword [rbx + 0x70]
call sym.ProxyProtocol.dll_socksend
test r15d, r15d
jne 0x180015b97
test edi, edi
jne 0x180015ba9
mov rdi, qword [rsp + 0x40]
xor ebx, ebx
jmp 0x180015a14
mov r13d, dword [rbp - 0x74]
test r13d, r13d
jne 0x180014bde
cmp dword [rdi + 0x90], 4
jne 0x180015c79
mov rdx, qword [rbp - 0x80]
test rdx, rdx
je 0x180014c43
cmp dword [rdi + 0x90], 4
jne 0x180014c43
mov dword [rbp - 0x60], 1
mov rbx, r14
nop word [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180014c00
mov rcx, qword [rdi + 0x78]
lea rsi, [rdi + 0x78]
mov r9d, dword [0x1800648fc]
mov r8d, ebx
mov qword [rsp + 0x50], rbx
mov qword [rbp - 0x40], rsi
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x180015d28
movsxd rax, ebx
add qword [rdi + 0x1c8], rax
inc dword [rdi + 0x1dc]
jmp 0x180014c4e
mov r15d, esi
lea rsi, [rdi + 0x78]
mov qword [rbp - 0x40], rsi
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x30], 0
test eax, eax
jne 0x180014d6d
mov rax, qword [rsp + 0x38]
mov rbx, r14
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180014c70
movsxd rcx, ebx
lea rdx, str.Forwarded:_for
add rcx, rax
call sym.ProxyProtocol.dll_sprintf
add ebx, eax
cmp word [rdi + 0x188], 0x17
jne 0x180014cad
movsxd rcx, ebx
lea rdx, [0x180051140]
add rcx, qword [rsp + 0x38]
call sym.ProxyProtocol.dll_sprintf
add ebx, eax
movzx ecx, word [rdi + 0x188]
lea rdx, [rdi + 0x18c]
movsxd r8, ebx
mov r9d, 0x80
add r8, qword [rsp + 0x38]
call sym.ProxyProtocol.dll_myinet_ntop
add ebx, eax
mov rax, qword [rsp + 0x40]
movsxd rdi, ebx
cmp word [rax + 0x188], 0x17
movzx ecx, word [rax + 0x18a]
jne 0x180014cf8
call qword [sym.imp.WS2_32.dll_ntohs]
lea rdx, str._:_d__by
jmp 0x180014d05
call qword [sym.imp.WS2_32.dll_ntohs]
lea rdx, str.:_d_by
mov rcx, qword [rsp + 0x38]
add rcx, rdi
movzx r8d, ax
call sym.ProxyProtocol.dll_sprintf
add ebx, eax
mov edx, pe_nt_image_headers64
movsxd rcx, ebx
add rcx, qword [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_gethostname]
mov rdi, qword [rsp + 0x40]
movzx ecx, word [rdi + 0x17a]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
mov rcx, r14
mov rax, qword [rsp + 0x38]
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014d50
add rcx, rax
lea rdx, str.:_d_r_n
call sym.ProxyProtocol.dll_sprintf
jmp 0x180014ec8
cmp eax, 1
jle 0x180014ec8
mov rax, qword [rsp + 0x38]
mov rcx, r14
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014d80
add rcx, rax
lea rdx, str.Via:_1.1
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rsp + 0x38]
mov rcx, r14
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014da0
add rcx, rax
mov edx, pe_nt_image_headers64
call qword [sym.imp.WS2_32.dll_gethostname]
mov rax, qword [0x180064a48]
test rax, rax
je 0x180014dcd
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x10]
jmp 0x180014ddb
lea rbx, [0x18004d577]
lea rdi, [0x18004d577]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x10]
movzx ecx, word [rcx + 0xba]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
mov rcx, r14
mov rax, qword [rsp + 0x38]
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014e00
add rcx, rax
mov qword [rsp + 0x20], rbx
mov r9, rdi
lea rdx, str.:_d___s__s__r_nX_Forwarded_For:
call sym.ProxyProtocol.dll_sprintf
cmp dword [rbp - 0x50], 2
je 0x180014e55
mov rax, qword [rsp + 0x38]
mov r8, r14
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180014e30
mov rdi, qword [rsp + 0x40]
mov r9d, 0x80
movzx ecx, word [rdi + 0x188]
lea rdx, [rdi + 0x18c]
jmp 0x180014e98
mov rdi, qword [rsp + 0x40]
mov edx, 0x290
mov rcx, rdi
call sym.ProxyProtocol.dll_myrand
mov ebx, eax
shl ebx, 0x10
call fcn.1800360dc
xor eax, ebx
mov r8, r14
mov dword [rbp - 0x5c], eax
mov rax, qword [rsp + 0x38]
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180014e80
mov r9d, 0x40
lea rdx, [rbp - 0x5c]
lea ecx, [r9 - 0x3e]
add r8, rax
call sym.ProxyProtocol.dll_myinet_ntop
mov rax, qword [rsp + 0x38]
mov rcx, r14
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014eb0
add rcx, rax
lea rdx, [0x180051198]
call sym.ProxyProtocol.dll_sprintf
mov eax, dword [rbp - 0x78]
cmp eax, 1
jg 0x180014f08
test eax, eax
lea r8, str.close
lea rax, str.keep_alive
mov rcx, r14
cmovne r8, rax
mov rax, qword [rsp + 0x38]
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014ef0
add rcx, rax
lea rdx, str.Connection:__s_r_n
call sym.ProxyProtocol.dll_sprintf
cmp qword [rdi + 0x128], 0
je 0x180014fcf
cmp dword [rbp - 0x60], 0
lea rax, str.Proxy_Authorization
lea r8, str.Authorization
mov rcx, r14
cmovne r8, rax
mov rax, qword [rsp + 0x38]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014f34
add rcx, rax
lea rdx, str._s:_Basic
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rdi + 0x130]
lea r9, [0x18004d577]
mov r8, qword [rdi + 0x128]
lea rdx, str._.128s:_.128s
test rax, rax
lea rcx, [rbp + 0x90]
cmovne r9, rax
call sym.ProxyProtocol.dll_sprintf
lea rax, [rbp + 0x90]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x180014f85
mov rax, qword [rsp + 0x38]
mov rdx, r14
inc rdx
cmp byte [rax + rdx], 0
jne 0x180014f97
add rdx, rax
lea rcx, [rbp + 0x90]
call sym.ProxyProtocol.dll_en64
mov rax, qword [rsp + 0x38]
mov rcx, r14
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014fb7
add rcx, rax
lea rdx, [0x180051198]
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rsp + 0x38]
mov rcx, r14
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014fd7
add rcx, rax
lea rdx, [0x180051198]
call sym.ProxyProtocol.dll_sprintf
mov rdx, qword [rsp + 0x38]
mov r8, r14
mov ebx, r15d
add rdx, rbx
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180015000
mov r9d, dword [0x1800648f8]
mov rcx, qword [rsi]
call sym.ProxyProtocol.dll_socksend
mov rcx, qword [rsp + 0x38]
movsxd r15, eax
add rcx, rbx
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x180015027
cmp r15d, eax
jne 0x180015e09
add qword [rdi + 0x1c8], r15
inc dword [rdi + 0x1dc]
mov r9, qword [rdi + 0x20]
test r9, r9
je 0x180015075
mov rax, qword [rsp + 0x38]
mov r8, r14
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180015060
xor edx, edx
mov rcx, rdi
call r9
mov dword [rbp - 0x64], eax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1800150ae
mov qword [rdi + 0x98], rcx
xor r8d, r8d
mov edx, dword [0x180064900]
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
xor ebx, ebx
mov r15d, eax
mov qword [rdi + 0x98], rbx
cmp eax, 0x63
jne 0x180015dae
jmp 0x1800150b0
xor ebx, ebx
mov eax, dword [rbp - 0x78]
mov r15d, ebx
mov r8, qword [rsp + 0x38]
mov r9d, 0xfff
mov dword [rsp + 0x5c], eax
mov edx, 1
mov dword [rdi + 0x100], ebx
mov rcx, rdi
mov eax, dword [0x1800648fc]
mov esi, ebx
mov dword [rsp + 0x28], eax
mov r14d, ebx
mov dword [rsp + 0x20], 0xa
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x50], r15
call sym.ProxyProtocol.dll_sockgetlinebuf
mov edi, eax
cmp eax, 2
jle 0x1800154ce
mov r15, qword [rsp + 0x40]
nop dword [rax]
cmp dword [rsp + 0x50], 0
jne 0x18001513e
cmp edi, 9
jbe 0x18001513e
movsxd rdx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
add rdx, 9
add rcx, rdx
call fcn.180035fbc
mov qword [rsp + 0x50], rax
mov dword [r15 + 0xe0], eax
cmp edi, 0x19
jb 0x180015163
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.18003975c
test eax, eax
je 0x180015190
cmp edi, 0x10
jbe 0x180015218
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.18003975c
test eax, eax
jne 0x18001521d
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180015465
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x1800151d0
nop
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x1800151c0
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.18003975c
mov ebx, dword [rsp + 0x5c]
test eax, eax
mov eax, 0
cmovne ebx, eax
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x5c], ebx
cmp dword [rax + 0x68], 0
jne 0x180015417
cmp dword [rsp + 0x50], 0xc8
jge 0x180015465
jmp 0x180015417
cmp edi, 6
jbe 0x180015273
mov rax, qword [r15 + 0x10]
cmp dword [rax + 0x68], 0
jne 0x18001524b
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_
add rcx, qword [rsp + 0x38]
mov r8d, 6
call fcn.18003975c
test eax, eax
je 0x180015465
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.www_authenticate
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recv
call fcn.18003975c
test eax, eax
jne 0x180015273
lea esi, [rax + 1]
jmp 0x180015417
cmp edi, 0xf
jbe 0x18001537a
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.18003975c
test eax, eax
jne 0x18001537a
mov ecx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
add ecx, edi
movsxd rdx, ecx
mov byte [rdx + rax], 0
mov edx, 0x3a
movsxd rcx, dword [rsp + 0x30]
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180015465
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x1800152f0
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x1800152e0
lea r8, [rsp + 0x68]
mov rcx, rbx
lea rdx, str._llu
call sym.ProxyProtocol.dll_sscanf
cmp dword [r15 + 0xd4], 0
mov r14d, 1
je 0x180015329
cmp dword [r15 + 0xd0], 0
jle 0x180015329
mov r14d, 2
jmp 0x180015465
mov rdx, qword [r15 + 0x168]
test rdx, rdx
je 0x180015417
mov rcx, qword [r15 + 0x1d0]
cmp rdx, rcx
jb 0x180015353
add rcx, qword [rsp + 0x68]
cmp rcx, rdx
jbe 0x180015417
mov rdi, r15
mov ecx, 0xa
mov r15, qword [rsp + 0x50]
lea rbx, [rdi + 0xdc]
mov rsi, qword [rsp + 0x48]
mov r13d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180015ea4
cmp edi, 0x19
jbe 0x180015417
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.transfer_encoding
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.18003975c
test eax, eax
jne 0x180015417
mov ecx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
add ecx, edi
movsxd rdx, ecx
mov byte [rdx + rax], 0
mov edx, 0x3a
movsxd rcx, dword [rsp + 0x30]
add rcx, qword [rsp + 0x38]
call fcn.180028ab0
test rax, rax
je 0x180015465
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002b9e0
test eax, eax
je 0x1800153f3
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b9e0
test eax, eax
jne 0x1800153e3
mov r8d, 7
lea rdx, str.chunked
mov rcx, rbx
call fcn.18003975c
test eax, eax
jne 0x180015417
mov dword [r15 + 0x100], 1
mov ecx, dword [rsp + 0x30]
mov edx, dword [rsp + 0x58]
add ecx, edi
mov eax, edx
mov dword [rsp + 0x30], ecx
sub eax, ecx
cmp eax, 0x1000
jge 0x180015465
cmp edx, 0x4e20
jg 0x180015d41
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002b684
test rax, rax
je 0x180015d33
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
movsxd r8, dword [rsp + 0x30]
mov ecx, 8
cmp dword [rsp + 0x50], 0
mov eax, listen
mov edx, 1
mov r9d, 0xfff
cmovne eax, ecx
add r8, qword [rsp + 0x38]
lea rcx, [0x180000000]
mov eax, dword [rax + rcx + 0x648f0]
mov rcx, r15
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov edi, eax
cmp eax, 2
jg 0x180015110
mov r15, qword [rsp + 0x50]
xor ebx, ebx
lea eax, [r15 - 0xc8]
cmp eax, 0x12b
jbe 0x1800154d2
mov dword [rsp + 0x5c], ebx
cmp r15d, 0x130
je 0x1800154e4
cmp r15d, 0xcc
jne 0x1800154f4
test r14d, r14d
jne 0x1800154f4
mov r14d, 1
mov qword [rsp + 0x68], rbx
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x180015523
mov edx, dword [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
call rax
mov ecx, dword [rbp - 0x64]
cmp eax, ecx
cmovg ecx, eax
mov dword [rbp - 0x64], ecx
test ecx, ecx
jle 0x180015523
call qword [sym.imp.KERNEL32.dll_Sleep]
movsxd rcx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
cmp dword [rsp + 0x30], 9
jl 0x180015dfe
lea rax, [rsp + 0x30]
xor r9d, r9d
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x38]
mov rcx, rdi
call sym.ProxyProtocol.dll_handlehdrfilterssrv
cmp eax, 2
je 0x180015de3
test eax, eax
jne 0x180015d4f
mov rdx, qword [rsp + 0x68]
mov dword [rdi + 0xf4], ebx
movsxd rax, dword [0x180064998]
test eax, eax
je 0x180015596
cmp rdx, rax
jbe 0x180015596
mov dword [rdi + 0xf4], 1
jmp 0x180015687
cmp dword [rdi + 0xd0], 0
jle 0x180015687
test rdx, rdx
je 0x1800156a2
cmp dword [r12 + 0xb4], 0x800
je 0x180015687
cmp r15d, 0xcc
je 0x180015687
cmp r15d, 0x130
je 0x180015687
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffsrv
mov rdx, qword [rsp + 0x68]
movsxd rcx, eax
cmp rcx, rdx
jne 0x180015687
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x180015de3
test eax, eax
jne 0x180015d80
lea rbx, [rdi + 0x14c]
xor r9d, r9d
lea r8, [rdi + 0x15c]
mov qword [rsp + 0x20], rbx
lea rdx, [rdi + 0x140]
mov rcx, rdi
call sym.ProxyProtocol.dll_handledatfltsrv
mov dword [rdi + 0xf4], 1
cmp eax, 2
je 0x180015d6e
test eax, eax
jne 0x180015d4f
mov r8d, dword [rbx]
mov rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x68], r8
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015664
add rcx, rax
lea rdx, str.Content_Length:__llu_r_n
call sym.ProxyProtocol.dll_sprintf
mov rdx, qword [rsp + 0x68]
mov r14d, 1
mov ebx, dword [rsp + 0x5c]
test rdx, rdx
je 0x1800156a6
cmp r14d, 1
mov eax, 0
cmovne ebx, eax
mov dword [rsp + 0x5c], ebx
jmp 0x1800156a6
mov ebx, dword [rsp + 0x5c]
test r13d, r13d
jne 0x1800156b9
cmp dword [r12 + 0xb4], r13d
je 0x18001579e
test esi, esi
mov rsi, 0xffffffffffffffff
je 0x1800156ed
cmp dword [rdi + 0xfc], 0
jne 0x1800156ed
mov rax, qword [rsp + 0x38]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800156d5
add rcx, rax
lea rdx, str.Proxy_support:_Session_Based_Authentication_r_nConnection:_Proxy_support_r_n
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x18001573c
cmp r15d, 0xc8
jl 0x18001573c
cmp ebx, 1
jg 0x18001573c
test r14d, r14d
je 0x180015715
lea r8, str.keep_alive
test ebx, ebx
jne 0x18001571c
lea r8, str.close
mov rax, qword [rsp + 0x38]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015724
add rcx, rax
lea rdx, str.Connection:__s_r_n
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rsp + 0x38]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015744
add rcx, rax
lea rdx, [0x180051198]
call sym.ProxyProtocol.dll_sprintf
mov rdx, qword [rsp + 0x38]
mov r8, rsi
inc r8
cmp byte [rdx + r8], 0
jne 0x180015764
mov r9d, dword [0x1800648f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rdx, qword [rsp + 0x38]
mov rcx, rsi
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180015786
cmp eax, ecx
jne 0x180015df3
mov rdx, qword [rsp + 0x68]
jmp 0x1800157a5
mov rsi, 0xffffffffffffffff
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x1800157b8
test rdx, rdx
je 0x18001593e
cmp dword [r12 + 0xb4], 0x800
je 0x18001593e
cmp r15d, 0xcc
je 0x18001593e
cmp r15d, 0x130
je 0x18001593e
test eax, eax
je 0x1800158f0
mov eax, dword [0x1800648f8]
lea r8, [rbp - 8]
mov r9d, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
lea edx, [r9 - 0x1d]
call sym.ProxyProtocol.dll_sockgetlinebuf
mov ebx, eax
cmp eax, 2
jne 0x180015877
nop dword [rax + rax]
mov r9d, dword [0x1800648f8]
lea rdx, [rbp - 8]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x1800159c7
cmp dword [rdi + 0x100], 2
je 0x180015877
mov eax, dword [0x1800648f8]
lea r8, [rbp - 8]
mov r9d, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
lea edx, [r9 - 0x1d]
call sym.ProxyProtocol.dll_sockgetlinebuf
mov ebx, eax
cmp eax, 2
je 0x180015820
cmp ebx, 3
jl 0x1800159e8
mov r9d, dword [0x1800648f8]
lea rdx, [rbp - 8]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x180015d92
cmp dword [rdi + 0x100], 2
je 0x180015976
movsxd rax, ebx
cmp rax, 0x20
jae 0x1800161f8
xor ebx, ebx
mov byte [rbp + rax - 8], 0
lea r8, [rsp + 0x68]
mov qword [rsp + 0x68], rbx
lea rdx, str._llx
lea rcx, [rbp - 8]
call sym.ProxyProtocol.dll_sscanf
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x1800158f2
mov dword [rdi + 0x100], 2
jmp 0x1800158f2
xor ebx, ebx
cmp dword [rdi + 0x100], 2
je 0x180015930
mov qword [rdi + 0xa0], rdx
xor r8d, r8d
mov edx, dword [0x180064900]
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov r15d, eax
mov qword [rsp + 0x50], r15
cmp eax, 0x62
jne 0x180015b5a
mov rdx, qword [rsp + 0x68]
mov qword [rdi + 0xa0], rbx
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x1800157ec
xor ebx, ebx
test r13d, r13d
jne 0x1800159f2
cmp r15d, 0xc8
jne 0x180015960
cmp dword [r12 + 0xb4], r13d
jne 0x180015d9d
mov esi, 1
mov qword [rsp + 0x68], rbx
mov r13d, esi
mov dword [rsp + 0x5c], esi
jmp 0x180015a34
mov eax, dword [0x1800648f8]
lea r8, [rbp - 8]
mov r9d, 0x1e
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
lea edx, [r9 - 0x1d]
call sym.ProxyProtocol.dll_sockgetlinebuf
cmp eax, 2
jne 0x180015d87
mov r9d, dword [0x1800648f8]
lea rdx, [rbp - 8]
mov rcx, qword [rdi + 0x70]
mov r8d, eax
call sym.ProxyProtocol.dll_socksend
cmp eax, 2
je 0x18001593e
mov r13d, 0x215
mov rsi, qword [rsp + 0x48]
lea rbx, [rdi + 0xdc]
mov ecx, r13d
mov dword [rdi + 0xdc], r13d
jmp 0x180015ea4
xor ebx, ebx
mov dword [rbp - 0x78], ebx
jmp 0x180015940
test r14d, r14d
jne 0x180015a04
cmp dword [rdi + 0x100], r14d
je 0x180015d9d
mov qword [rsp + 0x68], rbx
cmp dword [rsp + 0x5c], 0
mov r14, qword [rbp - 0x40]
je 0x180015a1f
mov r13d, dword [rbp - 0x78]
test r13d, r13d
jne 0x180015a30
jmp 0x180015a23
mov r13d, dword [rbp - 0x78]
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
jne 0x180015dcc
mov esi, dword [rsp + 0x5c]
mov r14, 0xffffffffffffffff
xor r15d, r15d
cmp dword [rdi + 0xfc], 0
je 0x180015a58
test esi, esi
je 0x180015dbb
test r13d, r13d
je 0x180015dbb
mov r9d, dword [rsp + 0x74]
mov rcx, rdi
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x38]
call fcn.180012a90
mov r15, qword [rsp + 0x50]
xor ebx, ebx
mov rsi, qword [rsp + 0x48]
mov dword [rdi + 0xe0], ebx
lea r12d, [rbx + 0x15]
jmp 0x180012c72
mov dword [rdi + 0xdc], 0x22b
jmp 0x180016178
mov rdi, qword [rsp + 0x40]
mov ecx, 0x201
mov r15, qword [rsp + 0x50]
mov r13d, ecx
mov rsi, qword [rsp + 0x48]
mov dword [rdi + 0xdc], ecx
lea rbx, [rdi + 0xdc]
jmp 0x180015ea4
mov rdi, qword [rsp + 0x40]
mov ecx, 0x203
mov r15, qword [rsp + 0x50]
mov r13d, ecx
mov rsi, qword [rsp + 0x48]
mov dword [rdi + 0xdc], ecx
lea rbx, [rdi + 0xdc]
jmp 0x180015ea4
mov r13d, 0x64
mov r15, qword [rsp + 0x50]
lea rbx, [rdi + 0xdc]
mov rsi, qword [rsp + 0x48]
mov ecx, r13d
mov dword [rdi + 0xdc], r13d
jmp 0x180015ea4
mov rdi, qword [rsp + 0x40]
jmp 0x180015aea
mov r13d, reloc.WS2_32.dll_setsockopt
jmp 0x180015af0
mov r13d, 0x204
jmp 0x180015af0
mov ecx, 0x205
jmp 0x18001535b
mov dword [rdi + 0xdc], esi
mov rsi, qword [rsp + 0x48]
jmp 0x180016178
mov ecx, reloc.WS2_32.dll_send
jmp 0x18001535b
mov ecx, 4
jmp 0x18001535b
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov r13d, r15d
jmp 0x180015e74
mov r15, qword [rsp + 0x50]
mov rdi, rbx
mov r13d, r15d
jmp 0x180015e74
mov rdi, qword [rsp + 0x40]
mov r13d, 0x30d
jmp 0x180015af0
mov rdi, qword [rsp + 0x40]
mov r13d, reloc.WS2_32.dll_setsockopt
jmp 0x180015af0
mov rdi, qword [rsp + 0x40]
mov r13d, r15d
mov rsi, qword [rsp + 0x48]
jmp 0x180015e74
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov dword [rdi + 0xdc], r13d
jmp 0x180016178
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_n_r_n]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180015bd0
mov r9d, dword [0x1800648f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rbx, qword [r14]
mov eax, 0x20000
mov qword [r14], rsi
cmp dword [r12 + 0xb4], eax
jne 0x180015c10
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x180015c10
mov qword [rdi + 0x98], rax
mov edx, dword [0x180064904]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
cmp eax, 0x63
mov rcx, rsi
cmovne r13d, eax
call qword [0x1800648a8]
mov rsi, qword [rsp + 0x48]
mov r15d, r13d
mov qword [r14], rbx
jmp 0x180015e74
mov ecx, 0x30c
jmp 0x18001535b
mov rdi, qword [rsp + 0x40]
mov r13d, reloc.WS2_32.dll_setsockopt
mov r15, qword [rsp + 0x50]
lea rbx, [rdi + 0xdc]
mov ecx, r13d
mov dword [rdi + 0xdc], r13d
jmp 0x180015ea4
mov r13d, 0x31f
jmp 0x180015c56
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_n_r_n]
mov r8, r14
inc r8
cmp byte [rdx + r8], 0
jne 0x180015c83
mov r9d, dword [0x1800648f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp qword [rdi + 0x18], 0
je 0x180015ccc
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x180015cb2
call fcn.18002b668
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015cc1
call fcn.18002b668
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x1800161c2
mov edx, dword [0x180064904]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
cmp qword [rdi + 0x18], 0
mov r13d, eax
lea rax, [rdi + 0xdc]
mov dword [rax], r13d
je 0x180015d19
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x180015cff
call fcn.18002b668
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015d0e
call fcn.18002b668
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x1800161c2
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
jmp 0x180015e7b
mov r13d, 0x206
jmp 0x180015af0
mov r13d, reloc.WS2_32.dll_setsockopt
mov rdi, r15
jmp 0x180015af0
mov r13d, 0x204
mov rdi, r15
jmp 0x180015af0
mov ecx, 0x205
mov rsi, qword [rsp + 0x48]
lea rbx, [rdi + 0xdc]
mov dword [rdi + 0xdc], ecx
mov r13d, ecx
jmp 0x180015ea4
mov rsi, qword [rsp + 0x48]
xor eax, eax
mov dword [rdi + 0xdc], eax
jmp 0x180016178
mov ecx, reloc.WS2_32.dll_send
jmp 0x180015d54
mov r13d, 0x216
jmp 0x1800159cd
mov r13d, 0x217
jmp 0x1800159cd
mov edx, dword [0x180064900]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov rsi, qword [rsp + 0x48]
mov r13d, eax
jmp 0x180015e74
mov rsi, qword [rsp + 0x48]
mov dword [rdi + 0xdc], r15d
jmp 0x180016178
mov edx, 2
call qword [0x1800648a0]
mov rcx, qword [r14]
call qword [0x1800648a8]
mov qword [r14], rsi
mov rsi, qword [rsp + 0x48]
mov dword [rdi + 0xdc], ebx
jmp 0x180016178
mov r13d, 0x209
jmp 0x1800159cd
mov r13d, 0x20a
jmp 0x1800159cd
mov r13d, 0x206
jmp 0x1800159cd
mov rdi, qword [rsp + 0x40]
mov r13d, 0x202
jmp 0x180015af0
mov rdi, qword [rsp + 0x40]
mov ecx, 0x200
mov r15, qword [rsp + 0x50]
mov r13d, ecx
mov dword [rdi + 0xdc], ecx
lea rbx, [rdi + 0xdc]
jmp 0x180015ea4
mov r13d, 0x1ff
jmp 0x180015c56
mov r13d, 0x1fe
jmp 0x180015c56
test r13d, r13d
je 0x180015e68
mov r13d, 0x22b
jmp 0x180015e74
neg ebx
sbb r13d, r13d
add r13d, 0x1fc
lea rax, [rdi + 0xdc]
mov dword [rax], r13d
mov rbx, rax
cmp r13d, 0x22b
je 0x180016178
mov r12d, dword [rsp + 0x74]
mov ecx, r13d
mov dword [rsp + 0x74], r12d
test r13d, r13d
je 0x180016178
mov r12d, 0x1fff
cmp qword [rdi + 0x70], 0xffffffffffffffff
je 0x180016178
lea eax, [r13 - 0x5a]
cmp eax, 0x2c5
ja 0x180015ed7
cmp ecx, 0x64
je 0x180015f19
lea eax, [r13 - 0x1f5]
cmp eax, 0x12a
ja 0x180016178
lea eax, [rcx - 0x1fd]
cmp eax, 7
jbe 0x180015ef0
cmp ecx, 0x385
jl 0x180015f19
nop word [rax + rax]
mov eax, dword [0x1800648f8]
mov r9d, r12d
mov r8, qword [rsp + 0x38]
xor edx, edx
mov dword [rsp + 0x28], eax
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
cmp eax, 2
jg 0x180015ef0
mov ecx, dword [rbx]
cmp ecx, 0xa
jne 0x180015f41
mov rdx, qword [str.HTTP_1.0_503_Service_Unavailable_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_503_Service_Unavailable__title___head__r_n_body__h2_503_Service_Unavailable__h2__h3_You_have_exceeded_your_traffic_limit__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x180015f30
mov r8, rax
jmp 0x180016168
lea eax, [r15 - 0x2bc]
cmp eax, 1
jbe 0x18001612e
cmp ecx, 0x64
je 0x18001610e
lea eax, [rcx - 0xb]
cmp eax, 8
jbe 0x18001610e
lea eax, [rcx - 0x2be]
cmp eax, 3
jbe 0x18001610e
cmp ecx, 0x14
jl 0x180015fc5
cmp ecx, 0x1e
jge 0x180015fa1
mov rdx, qword [str.HTTP_1.0_500_Internal_Error_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_500_Internal_Error__title___head__r_n_body__h2_500_Internal_Error__h2__h3_Internal_proxy_error_during_processing_your_request__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180015f90
mov r8, rax
jmp 0x180016168
cmp ecx, 0x50
jge 0x180015fce
mov rdx, qword [str.HTTP_1.0_502_Bad_Gateway_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_502_Bad_Gateway__title___head__r_n_body__h2_502_Bad_Gateway__h2__h3_Failed_to_connect_parent_proxy__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180015fb4
mov r8, rax
jmp 0x180016168
cmp ecx, 1
je 0x1800160ee
mov rdx, qword [rdi + 0x10]
cmp dword [rdx + 0x60], 0
jne 0x180016008
cmp ecx, 0xa
jl 0x1800160ee
cmp ecx, 0x3e7
jne 0x180016045
mov rdx, qword [str.HTTP_1.0_501_Not_Implemented_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_501_Not_Implemented__title___head__r_n_body__h2_501_Not_Implemented__h2__h3_Required_action_is_not_supported_by_proxy_server__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180015ff7
mov r8, rax
jmp 0x180016168
cmp ecx, 0xa
jge 0x180015fe1
cmp dword [rdx + 0x5c], 0
mov ecx, 0x60
mov eax, gethostname
cmovne eax, ecx
lea rcx, [0x180000000]
mov rdx, qword [rax + rcx + 0x63e80]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180016034
mov r8, rax
jmp 0x180016168
cmp ecx, 0x207
jne 0x180016071
mov rdx, qword [str.HTTP_1.0_503_Service_Unavailable_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_503_Service_Unavailable__title___head__r_n_body__h2_503_Service_Unavailable__h2__h3_Recursion_detected__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180016060
mov r8, rax
jmp 0x180016168
cmp ecx, 0x205
jne 0x180016098
mov rdx, qword [str.HTTP_1.0_503_Service_Unavailable_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_503_Service_Unavailable__title___head__r_n_body__h2_503_Service_Unavailable__h2__h3_Your_request_violates_configured_policy__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180016087
mov r8, rax
jmp 0x180016168
cmp ecx, 0x30c
jne 0x1800160c1
mov rdx, qword [str.HTTP_1.0_404_Not_Found_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_404_Not_Found__title___head__r_n_body__h2_404_Not_Found__h2__h3_File_not_found__body___html__r_n]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x1800160b0
mov r8, rax
jmp 0x180016168
lea eax, [rcx - 0x1ff]
cmp eax, 5
ja 0x180016178
mov rdx, qword [sym.ProxyProtocol.dll_proxy_stringtable]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rdx + rax], 0
jne 0x1800160e0
mov r8, rax
jmp 0x180016168
mov rdx, qword [str.HTTP_1.0_403_Forbidden_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_403_Access_Denied__title___head__r_n_body__h2_403_Access_Denied__h2__h3_Access_control_list_denies_you_to_access_this_resource__body___html__r_n]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180016100
mov r8, rax
jmp 0x180016168
mov rdx, qword [str.HTTP_1.0_502_Bad_Gateway_r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_502_Bad_Gateway__title___head__r_n_body__h2_502_Bad_Gateway__h2__h3_Host_Not_Found_or_connection_failed__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180016120
mov r8, rax
jmp 0x180016168
mov rdx, qword [str.HTTP_1.0_401_Authentication_Required_r_nWWW_Authenticate:_Basic_realm_FTP_Server__r_nConnection:_close_r_nContent_type:_text_html__charsetutf_8_r_n_r_n_html__head__title_401_FTP_Server_requires_authentication__title___head__r_n_body__h2_401_FTP_Server_requires_authentication__h2__h3_This_FTP_server_rejects_anonymous_access__h3___body___html__r_n]
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180016140
mov r9d, dword [0x1800648f8]
mov r8, rax
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r8d, dword [rsp + 0x70]
lea rdx, [rbp + 0x490]
mov r9d, dword [0x1800648f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r9d, dword [rsp + 0x74]
mov rcx, rdi
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x38]
call fcn.180012a90
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18001619c
call fcn.18002b668
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800161ab
call fcn.18002b668
test rsi, rsi
je 0x1800161b8
mov rcx, rsi
call fcn.18002b668
mov rcx, rdi
call sym.ProxyProtocol.dll_freeparam
xor eax, eax
mov rcx, qword [rbp + 0xa90]
xor rcx, rsp
call fcn.180027140
lea r11, [rsp + 0xba0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180027268
int3
call fcn.180027268
int3