Function at 0x180012720
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 - 0xab0]
sub rsp, 0xbb0
mov rax, qword [0x180064c28]
xor rax, rsp
mov qword [rbp + 0xaa0], rax
xor ebx, ebx
mov qword [rsp + 0x50], rcx
mov rdi, rcx
mov qword [rsp + 0x38], rbx
mov r15d, ebx
mov qword [rbp - 0x20], rbx
mov ecx, 0x2000
mov qword [rsp + 0x48], r15
mov qword [rbp - 0x70], rbx
mov esi, ebx
mov qword [rbp - 0x80], rbx
mov r13d, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x68], rbx
mov dword [rbp - 0x38], ebx
mov dword [rbp - 0x50], ebx
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x74], ebx
mov dword [rbp - 0x58], ebx
mov dword [rsp + 0x70], ebx
call fcn.18002b164
mov qword [rsp + 0x38], rax
lea r14, [rbx - 1]
mov r12d, 0x1fff
test rax, rax
jne 0x1800127d2
mov ecx, reloc.WS2_32.dll_setsockopt
lea rbx, [rdi + 0xdc]
mov edx, ecx
mov dword [rbx], ecx
jmp 0x180015aba
mov rax, qword [rdi + 0x10]
mov r12d, reloc.WS2_32.dll_setsockopt
mov dword [rsp + 0x58], 0x2000
mov ecx, dword [rax + 0x94]
lea r15d, [r12 - 0x13]
movzx eax, byte [rsp + 0x5c]
mov byte [rsp + 0x5c], al
mov dword [rbp - 0x48], ecx
jmp 0x180012802
xor ebx, ebx
movsxd r8, dword [rsp + 0x58]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.180027a80
mov dword [rsp + 0x30], ebx
test r13d, r13d
je 0x18001290b
mov eax, dword [rdi + 0x150]
cmp dword [rdi + 0x148], eax
jne 0x18001290b
mov rcx, qword [rdi + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x18001290b
mov rax, qword [rdi + 0x70]
xorps xmm0, xmm0
imul r8d, dword [0x180064868], 0x3e8
mov edx, r15d
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x28], rax
mov eax, 0x300
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x38], rcx
lea rcx, [rbp + 0x28]
mov word [rbp + 0x30], ax
mov word [rbp + 0x40], ax
call qword [sym.ProxyProtocol.dll_mypoll]
mov r15d, eax
mov qword [rsp + 0x48], r15
test eax, eax
jle 0x18001564a
mov eax, 0x307
test word [rbp + 0x42], ax
je 0x180012905
cmp dword [rdi + 0xfc], 0
jne 0x18001564a
cmp dword [rdi + 0xb0], 0
jne 0x1800128ba
cmp dword [rdi + 0x90], 4
je 0x18001564a
mov rcx, qword [rdi + 0x78]
mov r15d, 2
mov edx, r15d
mov dword [rsp + 0x60], ebx
call qword [0x180064a70]
mov rcx, qword [rdi + 0x78]
call qword [0x180064a78]
xorps xmm0, xmm0
mov qword [rdi + 0x78], r14
mov dword [rdi + 0xb0], ebx
mov dword [rdi + 0x90], ebx
movups xmmword [rdi + 0x198], xmm0
movups xmmword [rdi + 0x1a8], xmm0
movups xmmword [rdi + 0x1b8], xmm0
jmp 0x18001290b
mov r15d, 2
mov eax, dword [0x18006486c]
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 0x180015a63
cmp ebx, 2
jne 0x180012956
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0xd
jne 0x180012956
cmp byte [rax + 1], 0xa
je 0x180012800
mov rax, qword [rsp + 0x38]
mov r15, rbx
mov byte [rbx + rax], 0
mov rdx, qword [rbp - 0x80]
test rdx, rdx
je 0x1800129ef
cmp dword [rdi + 0xfc], 0
jne 0x1800129e6
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x1800129e6
movsxd rax, dword [rbp - 0x50]
cmp ebx, eax
jle 0x18001299b
mov rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.18003924c
test eax, eax
je 0x1800129e6
mov rcx, qword [rdi + 0x78]
xor esi, esi
mov dword [rsp + 0x60], esi
cmp rcx, 0xffffffffffffffff
je 0x1800129be
lea edx, [rsi + 2]
call qword [0x180064a70]
mov rcx, qword [rdi + 0x78]
call qword [0x180064a78]
xorps xmm0, xmm0
mov qword [rdi + 0x78], r14
mov dword [rdi + 0xb0], esi
mov dword [rdi + 0x90], esi
movups xmmword [rdi + 0x198], xmm0
movups xmmword [rdi + 0x1a8], xmm0
movups xmmword [rdi + 0x1b8], xmm0
mov rcx, qword [rbp - 0x80]
call fcn.18002b150
mov rcx, qword [rsp + 0x38]
call fcn.180033cd0
mov qword [rbp - 0x80], rax
test rax, rax
je 0x180015a59
cmp ebx, 0xa
jl 0x180015a4f
lea eax, [rbx - 3]
mov esi, 2
movsxd rcx, eax
lea rdx, [0x18004ee28]
mov rax, qword [rsp + 0x38]
lea r8d, [rsi + 5]
cmp byte [rcx + rax], 0x31
mov rcx, rax
cmove r13d, esi
xor ebx, ebx
mov dword [rdi + 0xfc], ebx
call fcn.18003924c
mov rcx, qword [rsp + 0x38]
lea edx, [rsi + 0x1e]
test eax, eax
mov edi, ebx
sete dil
test eax, eax
mov dword [rbp - 0x74], edi
cmove r13d, esi
mov dword [rbp - 0x78], r13d
call fcn.180028598
test rax, rax
je 0x180015a45
lea r13, [rax + 1]
mov qword [rbp - 0x60], r13
mov rsi, r13
mov rcx, r13
test edi, edi
jne 0x180012ae8
lea r8d, [rbx + 7]
lea rdx, str.http:__
call fcn.18003924c
test eax, eax
jne 0x180012a9d
mov rax, qword [rbp - 0x70]
lea rsi, [r13 + 7]
jmp 0x180012b0a
mov r8d, 6
lea rdx, str.ftp:__
mov rcx, r13
call fcn.18003924c
test eax, eax
jne 0x180012ac8
mov rax, qword [rbp - 0x70]
lea rsi, [r13 + 6]
mov dword [rsp + 0x74], 1
jmp 0x180012b0a
cmp byte [r13], 0x2f
jne 0x1800156d3
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbp - 0x70]
mov dword [rbx + 0xfc], 1
jmp 0x180012b0f
mov edx, 0x20
call fcn.180028598
mov qword [rbp - 0x70], rax
test rax, rax
je 0x180015a3b
cmp r13, rax
je 0x180015a3b
mov byte [rax], bl
mov rbx, qword [rsp + 0x50]
cmp dword [rbx + 0xfc], 0
je 0x180012b22
test edi, edi
je 0x180012d06
jmp 0x180012b74
test edi, edi
jne 0x180012b74
lea edx, [rdi + 0x2f]
mov rcx, rsi
call fcn.180028598
mov qword [rbp - 0x70], rax
test rax, rax
je 0x1800156f6
cmp rsi, rax
je 0x1800156f6
lea edx, [rdi + 0x20]
mov rcx, rsi
call fcn.180028598
mov qword [rbp - 0x20], rax
mov rcx, rax
test rax, rax
je 0x1800156f6
mov rax, qword [rbp - 0x70]
cmp rax, rcx
cmova rax, rcx
mov qword [rbp - 0x70], rax
mov byte [rax], dil
sub eax, dword [rsp + 0x38]
mov edx, 0x40
mov rcx, rsi
mov dword [rbp - 0x50], eax
call fcn.180028618
mov rcx, rsi
test rax, rax
je 0x180012cb6
call fcn.180033cd0
mov r14, rax
mov rdi, rax
mov rbx, rax
movzx edx, byte [rax]
test dl, dl
je 0x180012c6c
mov r13d, 3
cmp dl, 0x25
jne 0x180012c41
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180012bd6
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180012bd6
sub cl, 0x41
cmp cl, 5
ja 0x180012c46
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180012bf0
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180012bf0
sub cl, 0x41
cmp cl, 5
ja 0x180012c46
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 0x180012c3c
cmp eax, 0xa
je 0x180012c3c
cmp eax, 0x22
je 0x180012c31
cmp eax, 0x5c
je 0x180012c31
cmp eax, 0xff
jne 0x180012c37
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
mov rax, r13
jmp 0x180012c5a
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
mov rax, r13
jmp 0x180012c5a
cmp dl, 0x3f
je 0x180012c68
mov eax, 1
cmp dl, 0x2b
jne 0x180012c55
mov byte [rbx], 0x20
jmp 0x180012c57
mov byte [rbx], dl
inc rbx
add rdi, rax
movzx edx, byte [rdi]
test dl, dl
jne 0x180012bb3
mov r13, qword [rbp - 0x60]
cmp dword [rsp + 0x74], 0
mov r9d, 0x50
mov rdi, qword [rsp + 0x50]
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 0x1800156fd
mov rcx, r14
call fcn.18002b150
mov edi, dword [rbp - 0x74]
mov r14, 0xffffffffffffffff
mov rbx, qword [rsp + 0x50]
jmp 0x180012cd6
cmp dword [rsp + 0x74], 0
mov r8d, 0x50
mov rdx, rbx
cmovne r8w, r12w
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x18001571b
test edi, edi
jne 0x180012d06
mov rax, qword [rbp - 0x70]
cmp rax, qword [rbp - 0x20]
jne 0x180012cee
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.180027f20
mov rcx, qword [rsp + 0x38]
nop dword [rax + rax]
inc r14
cmp byte [rcx + r14], 0
jne 0x180012d10
mov r8d, 7
lea rdx, [0x18004ee28]
mov r15d, r14d
call fcn.18003924c
test eax, eax
jne 0x180012d3d
mov eax, 0x1000
jmp 0x180012e01
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180050f58]
mov esi, 3
mov r8d, esi
call fcn.18003924c
test eax, eax
jne 0x180012d71
cmp dword [rsp + 0x74], 0
mov eax, pe_nt_image_headers64
mov ecx, 0x10000
cmovne eax, ecx
jmp 0x180012e01
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180050f5c]
mov r8, rsi
call fcn.18003924c
test eax, eax
jne 0x180012d9d
cmp dword [rsp + 0x74], 0
mov eax, 0x200
mov ecx, 0x20000
cmovne eax, ecx
jmp 0x180012e01
mov rcx, qword [rsp + 0x38]
lea rdx, str.POST
mov esi, 4
mov r8d, esi
call fcn.18003924c
test eax, eax
je 0x180012dfc
mov rcx, qword [rsp + 0x38]
lea r8d, [rsi + 5]
lea rdx, str.BITS_POST
call fcn.18003924c
test eax, eax
je 0x180012dfc
mov rcx, qword [rsp + 0x38]
lea rdx, str.HEAD
mov r8d, esi
call fcn.18003924c
mov r12, rbx
test eax, eax
jne 0x180012df5
mov eax, 0x800
jmp 0x180012e04
mov eax, 0x8000
jmp 0x180012e04
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 0x18001315a
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x68], 0
jne 0x18001315a
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_send
call fcn.18003924c
test eax, eax
jne 0x18001315a
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028598
mov rbx, rax
test rax, rax
je 0x1800136e6
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x180012ea0
nop dword [rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180012e90
cmp byte [rbx], 0
je 0x1800136e6
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.18003924c
test eax, eax
jne 0x180012f98
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002b4d0
test eax, eax
je 0x180012ef0
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180012ee0
mov r8d, 0xff
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x1800136e6
cdqe
cmp rax, 0x400
jae 0x180015d6d
mov edx, 0x3a
mov byte [rbp + rax + 0xa0], 0
lea rcx, [rbp + 0xa0]
call fcn.180028598
mov rdi, qword [rsp + 0x50]
mov rbx, rax
test rax, rax
je 0x180012f6f
mov byte [rax], 0
mov rcx, qword [rdi + 0x120]
test rcx, rcx
je 0x180012f55
call fcn.18002b150
lea rcx, [rbx + 1]
call fcn.180033cd0
mov qword [rdi + 0x120], rax
mov dword [rdi + 0xe4], 0
mov rcx, qword [rdi + 0x118]
test rcx, rcx
je 0x180012f80
call fcn.18002b150
lea rcx, [rbp + 0xa0]
call fcn.180033cd0
mov qword [rdi + 0x118], rax
jmp 0x18001369f
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsi + 0x10]
cmp dword [rax + 0x5c], 0
je 0x18001315a
mov r8d, 4
lea rdx, str.ntlm
mov rcx, rbx
call fcn.18003924c
test eax, eax
jne 0x18001315a
movzx ecx, byte [rbx + 4]
add rbx, 4
call fcn.18002b4d0
test eax, eax
je 0x180012ff0
nop dword [rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180012fe0
mov r8d, 0x3ff
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
movsxd rsi, eax
cmp esi, 0x10
jle 0x1800136e6
cmp rsi, 0x400
jae 0x180015d6d
mov r8d, 8
mov byte [rbp + rsi + 0xa0], 0
lea rdx, str.NTLMSSP
lea rcx, [rbp + 0xa0]
call fcn.18003924c
mov rdi, qword [rsp + 0x50]
test eax, eax
jne 0x18001369f
movzx eax, byte [rbp + 0xa8]
cmp al, 1
je 0x1800136ed
cmp al, 3
jne 0x18001369f
cmp dword [rdi + 0xe4], 2
jne 0x18001369f
cmp esi, 0x50
jl 0x18001369f
movzx eax, byte [rbp + 0xb4]
movzx ecx, byte [rbp + 0xb5]
movzx edx, byte [rbp + 0xb9]
shl ecx, 8
add ecx, eax
shl edx, 8
movzx eax, byte [rbp + 0xb8]
add edx, eax
cmp ecx, 0x18
jne 0x18001369f
lea eax, [rdx + 0x18]
cmp eax, esi
ja 0x18001369f
mov rcx, qword [rdi + 0x120]
movups xmm0, xmmword [rbp + rdx + 0xa0]
movups xmmword [rcx + 8], xmm0
movsd xmm1, qword [rbp + rdx + 0xb0]
movsd qword [rcx + 0x18], xmm1
movzx eax, byte [rbp + 0xc4]
movzx edi, byte [rbp + 0xc5]
movzx ebx, byte [rbp + 0xc9]
shl edi, 8
add edi, eax
shl ebx, 8
movzx eax, byte [rbp + 0xc8]
add ebx, eax
cmp edi, 0xff
ja 0x1800136e6
lea eax, [rbx + rdi]
cmp eax, esi
ja 0x1800136e6
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsi + 0x118]
test rcx, rcx
je 0x180013127
call fcn.18002b150
mov eax, ebx
lea rbx, [rbp + 0xa0]
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.180033cd0
mov qword [rsi + 0x118], rax
mov rdi, rsi
jmp 0x18001369f
test edi, edi
jne 0x180013238
cmp r14d, 0x19
jle 0x180013186
movsxd rcx, dword [rsp + 0x30]
lea r8d, [rdi + 0x11]
add rcx, qword [rsp + 0x38]
lea rdx, str.proxy_connection:
call fcn.18003924c
test eax, eax
je 0x1800131b4
cmp r14d, 0x10
jle 0x180013238
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.18003924c
test eax, eax
jne 0x18001323e
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.180028598
mov rbx, rax
test rax, rax
je 0x1800136e6
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x1800131f4
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x1800131e4
mov r8d, 7
lea rdx, str.upgrade
mov rcx, rbx
call fcn.18003924c
test eax, eax
je 0x180013238
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.18003924c
mov rdi, qword [rsp + 0x50]
xor esi, esi
mov ebx, esi
test eax, eax
sete bl
mov dword [rbp - 0x78], ebx
jmp 0x1800136a1
cmp r14d, 0xb
jle 0x180013297
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Expect:_100
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.18003924c
test eax, eax
jne 0x180013297
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 0x180013273
mov rdi, qword [rsp + 0x50]
mov r9d, dword [0x180064868]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x18001369f
mov rdi, qword [rsp + 0x50]
cmp dword [rdi + 0xfc], 0
je 0x180013421
cmp r14d, 6
jle 0x180013421
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Host:
add rcx, qword [rsp + 0x38]
mov r8d, 5
call fcn.18003924c
test eax, eax
jne 0x180013421
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028598
mov rdi, rax
test rax, rax
je 0x1800136e6
movzx ecx, byte [rdi + 1]
inc rdi
call fcn.18002b4d0
test eax, eax
je 0x180013320
nop word [rax + rax]
movzx ecx, byte [rdi + 1]
inc rdi
call fcn.18002b4d0
test eax, eax
jne 0x180013310
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call fcn.180028598
mov qword [rbp - 0x70], rax
test rax, rax
jne 0x18001334a
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.180028598
mov qword [rbp - 0x70], rax
test rax, rax
je 0x180013354
movzx ecx, byte [rax]
mov byte [rsp + 0x5c], cl
mov byte [rax], 0
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x110], 0
jne 0x18001337c
mov r8d, 0x50
mov rdx, rax
mov rcx, rdi
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x18001571b
movsxd rax, dword [rsp + 0x30]
mov r8, 0xffffffffffffffff
add rax, qword [rsp + 0x38]
mov rcx, r8
inc rcx
cmp byte [rax + rcx], 0
jne 0x180013390
mov rdx, qword [rbp - 0x80]
mov rax, r8
inc rax
cmp byte [rdx + rax], 0
jne 0x1800133a0
add rax, 8
add rcx, rax
call fcn.18002b164
mov rsi, rax
test rax, rax
je 0x18001340c
mov rcx, qword [rbp - 0x80]
mov edx, 0x2f
inc rcx
call fcn.180028598
mov rdx, qword [rbp - 0x80]
mov r8, rax
sub r8, rdx
mov rcx, rsi
mov rbx, rax
call fcn.180027f20
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.18002b150
mov qword [rbp - 0x80], rsi
mov rax, qword [rbp - 0x70]
mov rdi, qword [rsp + 0x50]
test rax, rax
je 0x180013421
movzx ecx, byte [rsp + 0x5c]
mov byte [rax], cl
cmp dword [rsp + 0x74], 0
je 0x180013589
cmp r14d, 0xd
jle 0x180013589
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_listen
call fcn.18003924c
test eax, eax
jne 0x180013589
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028598
mov rbx, rax
test rax, rax
je 0x18001369f
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x1800134a0
nop dword [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180013490
cmp byte [rbx], 0
je 0x18001369f
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.18003924c
test eax, eax
jne 0x180013589
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002b4d0
test eax, eax
je 0x1800134f0
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x1800134e0
mov r8d, 0xff
lea rdx, [rbp + 0xa0]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x18001369f
cdqe
cmp rax, 0x400
jae 0x180015d6d
mov edx, 0x3a
mov byte [rbp + rax + 0xa0], 0
lea rcx, [rbp + 0xa0]
call fcn.180028598
mov rbx, rax
test rax, rax
je 0x180013560
mov byte [rax], 0
mov rcx, qword [rdi + 0x130]
test rcx, rcx
je 0x180013550
call fcn.18002b150
lea rcx, [rbx + 1]
call fcn.180033cd0
mov qword [rdi + 0x130], rax
mov rcx, qword [rdi + 0x128]
test rcx, rcx
je 0x180013571
call fcn.18002b150
lea rcx, [rbp + 0xa0]
call fcn.180033cd0
mov qword [rdi + 0x128], rax
jmp 0x18001369f
cmp r14d, 0xf
jle 0x18001364f
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.18003924c
test eax, eax
jne 0x18001364f
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180028598
mov rbx, rax
test rax, rax
je 0x18001369f
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x180013600
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x1800135f0
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 0x180013641
mov rcx, qword [rdi + 0x1c8]
cmp rax, rcx
jb 0x18001573e
sub rax, rcx
cmp rdx, rax
ja 0x18001573e
cmp dword [rdi + 0xcc], 0
jle 0x18001364f
test rdx, rdx
jne 0x18001369f
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 0x18001369f
mov eax, 0x10000
cmp edx, eax
jg 0x180015763
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002b16c
test rax, rax
je 0x180015745
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
xor esi, esi
movsxd r8, dword [rsp + 0x30]
xor edx, edx
mov eax, dword [0x180064868]
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 0x1800138c3
mov edi, dword [rbp - 0x74]
mov rbx, qword [rsp + 0x50]
jmp 0x180012e10
mov rdi, qword [rsp + 0x50]
jmp 0x18001369f
mov eax, dword [0x180064868]
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 0x180013790
nop dword [rax]
cmp ebx, 0xf
jbe 0x180013765
mov rcx, qword [rsp + 0x38]
lea rdx, str.content_length
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.18003924c
test eax, eax
jne 0x180013765
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 [0x180064868]
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 0x180013720
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1800137e8
nop word [rax + rax]
mov eax, dword [0x180064868]
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 0x1800137e8
mov rcx, qword [rsp + 0x68]
cdqe
cmp rax, rcx
ja 0x1800137e8
sub rcx, rax
mov qword [rsp + 0x68], rcx
jne 0x1800137a0
mov rcx, qword [rdi + 0x120]
xor esi, esi
mov qword [rsp + 0x68], rsi
test rcx, rcx
je 0x180013800
call fcn.18002b150
mov ecx, 0x20
call fcn.18002b164
mov qword [rdi + 0x120], rax
mov r14, 0xffffffffffffffff
mov eax, 2
mov dword [rdi + 0xe4], eax
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], sil
jne 0x180013830
mov rcx, qword [rsp + 0x38]
movsxd rbx, eax
mov r8, rbx
call fcn.180027f20
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], sil
lea rcx, [rcx + 1]
jne 0x180013870
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], sil
jne 0x180013897
mov r9d, dword [0x180064868]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r13d, 1
mov r15d, r13d
mov dword [rsp + 0x60], r13d
jmp 0x1800155ff
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
inc rax
cmp byte [rcx + rax], 0
jne 0x1800138e0
mov dword [rbp - 0x30], eax
lea r8, [rbp - 0x34]
inc eax
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x34], eax
xor r9d, r9d
lea rax, [rbp - 0x30]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call sym.ProxyProtocol.dll_handlereqfilters
cmp eax, 2
je 0x1800159fa
test eax, eax
jne 0x180015781
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 0x1800159fa
test eax, eax
jne 0x180015781
mov rcx, qword [rsp + 0x68]
mov dword [rdi + 0xf4], esi
movsxd rax, dword [0x180064908]
test eax, eax
je 0x180013978
cmp rcx, rax
jbe 0x180013978
mov dword [rdi + 0xf4], 1
jmp 0x180013a2c
cmp dword [rdi + 0xcc], 0
jle 0x180013a2c
test rcx, rcx
je 0x180013a2c
mov edx, ecx
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffcli
mov r8, qword [rsp + 0x68]
movsxd rcx, eax
cmp rcx, r8
jne 0x180013a0c
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x1800159fa
test eax, eax
jne 0x18001578b
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 0x1800159fa
test eax, eax
jne 0x180015781
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 0x180013a14
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 0x180013a44
cmp qword [rdi + 0x118], 0
je 0x180015795
mov rcx, rdi
call qword [rax + 0x28]
mov edx, eax
mov qword [rsp + 0x48], rdx
test eax, eax
jne 0x180015862
cmp dword [rsp + 0x74], eax
je 0x1800147b4
cmp dword [rdi + 0x90], 4
je 0x1800147b4
mov r15d, esi
mov dword [rsp + 0x70], esi
cmp dword [rsp + 0x60], eax
jne 0x180013aa8
lea r8, [rsp + 0x70]
mov dword [rsp + 0x70], 0x5ec
lea rdx, [rbp + 0x4a0]
mov rcx, rdi
call sym.ProxyProtocol.dll_ftplogin
mov edx, eax
mov qword [rsp + 0x48], rdx
test eax, eax
jne 0x180015862
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x60], 1
test rsi, rsi
je 0x180013ac2
mov rcx, rsi
call fcn.18002b150
xor esi, esi
mov rcx, r13
lea edx, [rsi + 0x20]
call fcn.180028598
test rax, rax
je 0x1800158ad
mov byte [rax], sil
mov rdi, r13
movzx r8d, byte [r13]
mov rbx, r13
test r8b, r8b
je 0x180013bb2
lea r13d, [rsi + 3]
cmp r8b, 0x25
jne 0x180013b82
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013b17
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180013b17
sub cl, 0x41
cmp cl, 5
ja 0x180013b88
movzx edx, byte [rdi + 2]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x180013b31
lea eax, [rdx - 0x61]
cmp al, 5
jbe 0x180013b31
sub dl, 0x41
cmp dl, 5
ja 0x180013b88
lea r8, [rbp - 0x28]
lea rdx, [0x180050f2c]
lea rcx, [rdi + 1]
call sym.ProxyProtocol.dll_sscanf
mov eax, dword [rbp - 0x28]
cmp eax, 0xd
je 0x180013b7d
cmp eax, 0xa
je 0x180013b7d
cmp eax, 0x22
je 0x180013b72
cmp eax, 0x5c
je 0x180013b72
cmp eax, 0xff
jne 0x180013b78
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
mov rax, r13
jmp 0x180013b9e
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
mov rax, r13
jmp 0x180013b9e
cmp r8b, 0x3f
je 0x180013bae
mov eax, 1
cmp r8b, 0x2b
jne 0x180013b98
mov byte [rbx], 0x20
jmp 0x180013b9b
mov byte [rbx], r8b
inc rbx
add rdi, rax
movzx r8d, byte [rdi]
test r8b, r8b
jne 0x180013af3
mov r13, qword [rbp - 0x60]
mov byte [rbx], sil
mov rdi, r14
nop dword [rax + rax]
inc rdi
cmp byte [rdi + r13], sil
jne 0x180013bc0
movsxd rcx, edi
add rcx, 2
mov qword [rbp - 0x40], rdi
call fcn.18002b164
mov qword [rsp + 0x40], rax
mov rsi, rax
test rax, rax
je 0x18001588c
movsxd rbx, edi
mov rdx, r13
mov r8, rbx
mov rcx, rax
call fcn.180027f20
cmp byte [rbx + rsi - 1], 0x2f
je 0x180013c0c
inc edi
mov byte [rbx + rsi], 0x2f
mov qword [rbp - 0x40], 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 0x180013c86
mov r8, rcx
lea rdx, [rbp + 0x4a0]
mov rcx, qword [rsp + 0x38]
add rcx, rax
call fcn.180027f20
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 0x180013cbb
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 + 0x50]
lea r9, [rsp + 0x70]
mov eax, 0x5ec
lea r8, [rbp + 0x4a0]
sub eax, ecx
mov rdx, rsi
mov rcx, rbx
mov dword [rsp + 0x70], eax
call sym.ProxyProtocol.dll_ftpcd
mov qword [rsp + 0x48], rax
test eax, eax
je 0x180013d3c
lea rdx, [0x180051068]
mov rcx, rbx
call sym.ProxyProtocol.dll_ftptype
mov edx, eax
mov qword [rsp + 0x48], rdx
test eax, eax
jne 0x18001579f
dec edi
mov r8, rsi
movsxd rax, edi
mov qword [rbp - 0x40], rdi
mov byte [rax + rsi], dl
mov eax, 0x20000
cmp dword [r12 + 0xb4], eax
lea rdx, str.RETR
lea rax, [0x180050f5c]
cmove rdx, rax
xor r13d, r13d
jmp 0x180013d91
movsxd rax, dword [rsp + 0x70]
test eax, eax
je 0x180013d7e
movsxd rcx, dword [rsp + 0x30]
lea rdx, [rbp + 0x4a0]
add rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.180027f20
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 - 0x18], rax
mov rsi, rax
mov rdi, rbx
cmp rax, r14
je 0x18001586e
lea r14, [rbx + 0x78]
mov qword [rbp - 0x60], r14
test r15d, r15d
je 0x1800157e6
mov rcx, qword [rsp + 0x50]
mov r12, 0xffffffffffffffff
mov rax, qword [r14]
mov ebx, r12d
mov qword [rbp - 0x10], rax
mov edi, r13d
mov dword [rsp + 0x78], r13d
mov eax, dword [rcx + 0x14c]
mov dword [rbp - 0x4c], ebx
cmp dword [rcx + 0x154], eax
jae 0x180013e32
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 - 0x4c], eax
mov ebx, eax
test eax, eax
je 0x180013e2d
mov rdx, qword [rsp + 0x38]
mov rcx, r12
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180013e20
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0x50]
mov qword [r14], rsi
test ebx, ebx
jg 0x180014696
mov eax, dword [0x180064868]
lea r8, [rbp + 0x4a0]
mov dword [rsp + 0x28], eax
mov r9d, 0x5ec
mov edx, 1
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov qword [rsp + 0x48], rax
test eax, eax
jle 0x180014696
nop dword [rax]
nop word [rax + rax]
xor dil, dil
mov eax, eax
mov esi, 1
cmp rax, 0x600
jae 0x180015d6d
cmp dword [rbp - 0x40], 0
mov byte [rbp + rax + 0x4a0], dil
movzx ecx, byte [rbp + 0x4a0]
jne 0x180013eca
cmp cl, 0x74
jne 0x180013eca
cmp byte [rbp + 0x4a1], 0x6f
jne 0x180013ed1
cmp byte [rbp + 0x4a2], cl
jne 0x180013ed1
lea r15d, [rsi + 1]
jmp 0x180014649
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013ee0
cmp r15d, esi
mov r14d, 2
cmove r15d, r14d
jmp 0x180013ee6
mov r14d, 2
lea rbx, [rbp + 0x4a0]
test cl, cl
je 0x180013f3d
test esi, esi
jne 0x180013f17
movzx ecx, byte [rbx]
call fcn.18002b4d0
test eax, eax
je 0x180013f35
movzx ecx, dil
mov eax, ebx
mov esi, 1
sub eax, dword [rbp + rcx*8 + 0x50]
mov dword [rbp + rcx*4], eax
inc dil
movzx ecx, byte [rbx]
call fcn.18002b4d0
test eax, eax
jne 0x180013f35
movzx eax, dil
mov esi, r13d
mov qword [rbp + rax*8 + 0x50], rbx
cmp dil, 8
je 0x180013f3d
inc rbx
cmp byte [rbx], 0
jne 0x180013ef1
cmp r15d, 1
jne 0x180013fd0
cmp dil, 4
jb 0x180014649
mov rbx, qword [rbp + 0x60]
lea rdx, str._DIR_
mov r8d, dword [rbp + 8]
mov rcx, rbx
call fcn.180027e20
test eax, eax
mov r12d, r13d
sete r12b
test r12d, r12d
jne 0x180013f83
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x180014649
movsxd rdx, dword [rsp + 0x30]
mov rdi, r14
movsd xmm0, qword [str.__________]
mov esi, r13d
mov eax, dword [rbp + 0x58]
mov r14d, 3
sub eax, dword [rbp + 0x50]
add eax, dword [rbp + 4]
add rdx, qword [rsp + 0x38]
mov dword [rbp], 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 0x1800140c6
cmp dil, 8
jb 0x180014649
cmp dword [rbp], 0xa
jne 0x180014649
mov rax, qword [rbp + 0x70]
mov r12d, r13d
movzx ecx, byte [rax]
mov eax, 3
sub cl, 0x30
cmp cl, 9
cmova r15d, eax
mov rax, qword [rbp + 0x50]
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 + 0x48]
add esi, 4
mov qword [rbp + rax*8 + 0x50], rbx
mov edi, ebx
movzx eax, byte [rbx]
test al, al
je 0x180014069
movzx ecx, al
call fcn.18002b4d0
test eax, eax
jne 0x180014067
movzx eax, byte [rbx + 1]
inc rbx
mov qword [rbp + r14*8 + 0x50], rbx
mov rdi, rbx
test al, al
jne 0x180014048
xor ecx, ecx
cmp byte [rbx], 0
je 0x180014078
inc rbx
mov qword [rbp + r14*8 + 0x50], rbx
mov edi, ebx
sub edi, dword [rbp + rsi*8 + 0x50]
mov rax, 0xffffffffffffffff
mov dword [rbp + rsi*4], edi
inc rax
cmp byte [rbx + rax], 0
jne 0x180014087
movsxd rdx, dword [rsp + 0x30]
mov rdi, rcx
mov rcx, qword [rbp + 0x50]
cmp r15d, 2
mov dword [rbp + r14*4], 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]
lea eax, [rbx + 0x100]
cmp eax, ecx
jg 0x180014646
movsxd rcx, edx
mov r8d, ebx
add rcx, qword [rsp + 0x38]
mov rdx, qword [rbp + r9*8 + 0x50]
call fcn.180027f20
mov ecx, dword [rsp + 0x30]
add ecx, ebx
mov dword [rsp + 0x30], ecx
test r12d, r12d
je 0x180014178
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 0x18001428a
jmp 0x1800141d6
test r13d, r13d
je 0x1800141fb
movsd xmm0, qword [str.______LINK]
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
mov qword [rbp - 8], 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 + 0x50]
lea rdx, str.___
call fcn.180028754
mov ecx, dword [rsp + 0x30]
mov rsi, rax
jmp 0x180014292
mov ebx, dword [rbp + rdi*4]
cmp ebx, 0xa
jbe 0x18001420f
mov ebx, 0xa
mov dword [rbp + rdi*4], ebx
jmp 0x18001423c
jae 0x18001423c
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 0x180014220
mov rdx, qword [rbp + rdi*8 + 0x50]
movsxd rcx, ecx
add rcx, qword [rsp + 0x38]
mov r8d, ebx
call fcn.180027f20
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 0x18001429d
add rsi, 4
jmp 0x1800142a2
mov rsi, qword [rbp + r15 + 0x50]
cmp byte [rsi], 0x2f
je 0x18001439a
mov rax, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x58]
mov rbx, rax
mov rdi, qword [rsp + 0x38]
cmp byte [rax], 0
je 0x1800143a4
movabs r13, 0x21ffffff80ffff
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x180014396
movzx edx, byte [rbx]
cmp dl, 0xd
je 0x18001438a
cmp dl, 0xa
je 0x18001438a
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x180014300
bt r13, rax
jb 0x180014307
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x180014315
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x180014386
cmp dl, 0x22
jne 0x18001433b
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 0x180014386
cmp dl, 0xff
jne 0x18001436a
cmp byte [rbx + 1], dl
jne 0x18001436a
movzx eax, word [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 0x180014386
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 0x1800142d0
mov r13d, dword [rbp - 0x74]
mov rdi, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x58]
cmp byte [rsi], 0
je 0x180014451
movabs r13, 0x21ffffff80ffff
nop word [rax + rax]
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x180014448
movzx edx, byte [rsi]
cmp dl, 0xd
je 0x18001443c
cmp dl, 0xa
je 0x18001443c
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x1800143e4
bt r13, rax
jb 0x1800143eb
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x1800143f9
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x180014438
movsxd rcx, ecx
cmp dl, 0x22
jne 0x18001441f
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 0x180014438
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 0x1800143c0
mov rdi, qword [rsp + 0x38]
mov r13d, dword [rbp - 0x74]
test r12d, r12d
je 0x18001446c
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 + 0x50]
movsxd rax, ecx
mov ecx, 0x3e22
mov word [rax + rdi], cx
mov ecx, dword [rsp + 0x30]
add ecx, 2
mov dword [rsp + 0x30], ecx
cmp byte [r8], 0
je 0x180014554
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rsp + 0x58]
sub eax, ecx
cmp eax, 0x10
jl 0x180014554
movzx edx, byte [r8]
cmp dl, 0x3c
jne 0x1800144d0
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746c26
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x180014543
cmp dl, 0x3e
jne 0x1800144ed
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746726
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x180014543
cmp dl, 0xd
je 0x180014547
cmp dl, 0xa
je 0x180014547
test r13d, r13d
je 0x180014532
cmp dl, 0x20
jne 0x180014532
cmp byte [r8 + 1], 0x2d
jne 0x180014532
cmp byte [r8 + 2], 0x3e
jne 0x180014532
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 0x180014543
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 0x1800144a0
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 0x180014642
cmp ecx, 0x4e20
jle 0x180014619
mov edi, dword [rsp + 0x78]
mov eax, edi
inc edi
mov dword [rsp + 0x78], edi
test eax, eax
jne 0x1800145e7
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 0x1800145c1
mov rsi, qword [rsp + 0x50]
mov r9d, dword [0x180064868]
mov rcx, qword [rsi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r8d, dword [rsp + 0x30]
jmp 0x1800145ec
mov rsi, qword [rsp + 0x50]
mov r9d, dword [0x180064868]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp eax, dword [rsp + 0x30]
jne 0x1800157b0
mov r15d, dword [rbp - 0x68]
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x18001464d
lea eax, [rcx + 0x2000]
mov rcx, qword [rsp + 0x38]
movsxd rdx, eax
call fcn.18002b16c
test rax, rax
je 0x1800157ba
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 [0x180064868]
lea r8, [rbp + 0x4a0]
mov rcx, qword [rsp + 0x50]
mov r9d, 0x5ec
inc dword [rbp - 0x40]
mov edx, 1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov qword [rsp + 0x48], rax
test eax, eax
jg 0x180013e80
mov ebx, dword [rbp - 0x4c]
mov rsi, qword [rbp - 0x18]
mov r14, qword [rbp - 0x60]
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 [0x180064a78]
mov rax, qword [rbp - 0x10]
mov qword [r14], rax
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x1800157d5
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
test ebx, ebx
jns 0x1800146fd
movsxd rax, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x58]
mov rdx, rax
mov rbx, qword [rsp + 0x50]
sub r8d, eax
add rdx, qword [rsp + 0x38]
mov rcx, rbx
call sym.ProxyProtocol.dll_ftpres
jmp 0x180014704
mov eax, ebx
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov rsi, 0xffffffffffffffff
mov qword [rsp + 0x48], rax
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180014720
mov dword [rsp + 0x30], eax
test edi, edi
jne 0x18001477b
mov r8d, eax
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 + 0x4a0]
call sym.ProxyProtocol.dll_sprintf
lea rax, [rbp + 0x4a0]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x180014751
mov r9d, dword [0x180064868]
lea rdx, [rbp + 0x4a0]
mov rcx, qword [rbx + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rdx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x30]
mov r9d, dword [0x180064868]
mov r8d, eax
mov rcx, qword [rbx + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rdx, qword [rsp + 0x48]
test edx, edx
jne 0x1800157c4
test edi, edi
jne 0x1800157d5
mov rdi, qword [rsp + 0x50]
xor ebx, ebx
mov r15d, dword [rsp + 0x60]
jmp 0x1800155dd
mov r13d, dword [rbp - 0x74]
test r13d, r13d
je 0x1800147ca
cmp dword [rdi + 0x90], 4
jne 0x1800158c6
mov rdx, qword [rbp - 0x80]
test rdx, rdx
je 0x180014829
cmp dword [rdi + 0x90], 4
jne 0x180014829
mov dword [rbp - 0x38], 1
mov rbx, r14
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800147e6
mov rcx, qword [rdi + 0x78]
lea rsi, [rdi + 0x78]
mov r9d, dword [0x18006486c]
mov r8d, ebx
mov qword [rsp + 0x48], rbx
mov qword [rbp - 0x60], rsi
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x180015973
movsxd rax, ebx
add qword [rdi + 0x1c8], rax
inc dword [rdi + 0x1dc]
jmp 0x180014834
mov r15d, esi
lea rsi, [rdi + 0x78]
mov qword [rbp - 0x60], rsi
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x30], 0
test eax, eax
jne 0x18001494d
mov rax, qword [rsp + 0x38]
mov rbx, r14
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x180014850
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 0x18001488d
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 + 0x50]
movsxd rdi, ebx
cmp word [rax + 0x188], 0x17
movzx ecx, word [rax + 0x18a]
jne 0x1800148d8
call qword [sym.imp.WS2_32.dll_ntohs]
lea rdx, str._:_d__by
jmp 0x1800148e5
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 + 0x50]
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 0x180014930
add rcx, rax
lea rdx, str.:_d_r_n
call sym.ProxyProtocol.dll_sprintf
jmp 0x180014aa8
cmp eax, 1
jle 0x180014aa8
mov rax, qword [rsp + 0x38]
mov rcx, r14
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014960
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 0x180014980
add rcx, rax
mov edx, pe_nt_image_headers64
call qword [sym.imp.WS2_32.dll_gethostname]
mov rax, qword [0x1800649b8]
test rax, rax
je 0x1800149ad
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x10]
jmp 0x1800149bb
lea rbx, [0x18004d577]
lea rdi, [0x18004d577]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
movzx ecx, word [rax + 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 0x1800149e0
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 - 0x48], 2
je 0x180014a35
mov rax, qword [rsp + 0x38]
mov r8, r14
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180014a10
mov rdi, qword [rsp + 0x50]
mov r9d, 0x80
movzx ecx, word [rdi + 0x188]
lea rdx, [rdi + 0x18c]
jmp 0x180014a78
mov rdi, qword [rsp + 0x50]
mov edx, 0x290
mov rcx, rdi
call sym.ProxyProtocol.dll_myrand
mov ebx, eax
shl ebx, 0x10
call fcn.180035bcc
xor eax, ebx
mov r8, r14
mov dword [rbp - 0x54], eax
mov rax, qword [rsp + 0x38]
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180014a60
mov r9d, 0x40
lea rdx, [rbp - 0x54]
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 0x180014a90
add rcx, rax
lea rdx, [0x180051198]
call sym.ProxyProtocol.dll_sprintf
mov eax, dword [rbp - 0x78]
cmp eax, 1
jg 0x180014ae8
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 0x180014ad0
add rcx, rax
lea rdx, str.Connection:__s_r_n
call sym.ProxyProtocol.dll_sprintf
cmp qword [rdi + 0x128], 0
je 0x180014bb8
cmp dword [rbp - 0x38], 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 0x180014b14
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 + 0xa0]
cmovne r9, rax
call sym.ProxyProtocol.dll_sprintf
lea rcx, [rbp + 0xa0]
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x180014b65
mov rcx, qword [rsp + 0x38]
mov rdx, r14
inc rdx
cmp byte [rcx + rdx], 0
jne 0x180014b76
add rdx, rcx
mov r8d, eax
lea rcx, [rbp + 0xa0]
call sym.ProxyProtocol.dll_en64
mov rax, qword [rsp + 0x38]
mov rcx, r14
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014ba0
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 0x180014bc0
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
inc r8
cmp byte [rdx + r8], 0
jne 0x180014be6
mov r9d, dword [0x180064868]
mov rcx, qword [rsi]
call sym.ProxyProtocol.dll_socksend
mov rcx, qword [rsp + 0x38]
movsxd rdx, eax
add rcx, rbx
mov qword [rsp + 0x48], rdx
mov rax, r14
inc rax
cmp byte [rcx + rax], 0
jne 0x180014c12
cmp edx, eax
jne 0x180015973
add qword [rdi + 0x1c8], rdx
inc dword [rdi + 0x1dc]
mov r9, qword [rdi + 0x20]
test r9, r9
je 0x180014c56
mov rax, qword [rsp + 0x38]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x180014c41
xor edx, edx
mov rcx, rdi
call r9
mov dword [rbp - 0x58], eax
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x180014c94
mov qword [rdi + 0x98], rcx
xor r8d, r8d
mov edx, dword [0x180064870]
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
xor ecx, ecx
mov edx, eax
mov qword [rdi + 0x98], rcx
cmp eax, 0x63
je 0x180014c94
mov rsi, qword [rsp + 0x40]
mov ecx, eax
jmp 0x180015a7e
mov eax, dword [rbp - 0x78]
mov ebx, ecx
mov r8, qword [rsp + 0x38]
mov esi, ecx
mov dword [rdi + 0x100], ecx
mov r14d, ecx
mov dword [rsp + 0x60], eax
mov r9d, 0xfff
mov eax, dword [0x18006486c]
mov edx, 1
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x30], ecx
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xa
mov qword [rsp + 0x48], rbx
call sym.ProxyProtocol.dll_sockgetlinebuf
mov edi, eax
cmp eax, 2
jle 0x1800150a9
mov r15, qword [rsp + 0x50]
test ebx, ebx
jne 0x180014d1d
cmp edi, 9
jbe 0x180014d1d
movsxd rdx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
add rdx, 9
add rcx, rdx
call fcn.180035aac
mov ebx, eax
mov dword [r15 + 0xe0], eax
mov qword [rsp + 0x48], rbx
cmp edi, 0x19
jb 0x180014d42
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.18003924c
test eax, eax
je 0x180014d6f
cmp edi, 0x10
jbe 0x180014dfa
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.18003924c
test eax, eax
jne 0x180014dff
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.180028598
mov rbx, rax
test rax, rax
je 0x180015046
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x180014db0
nop
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180014da0
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.18003924c
mov ecx, dword [rsp + 0x60]
test eax, eax
mov eax, 0
cmovne ecx, eax
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x60], ecx
cmp dword [rax + 0x68], 0
jne 0x180014ff8
mov rax, qword [rsp + 0x48]
cmp eax, 0xc8
jge 0x180015046
jmp 0x180014ff8
cmp edi, 6
jbe 0x180014e55
mov rax, qword [r15 + 0x10]
cmp dword [rax + 0x68], 0
jne 0x180014e2d
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_
add rcx, qword [rsp + 0x38]
mov r8d, 6
call fcn.18003924c
test eax, eax
je 0x180015046
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.www_authenticate
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recv
call fcn.18003924c
test eax, eax
jne 0x180014e55
lea esi, [rax + 1]
jmp 0x180014ff8
cmp edi, 0xf
jbe 0x180014f59
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.18003924c
test eax, eax
jne 0x180014f59
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.180028598
mov rbx, rax
test rax, rax
je 0x180015046
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x180014ed4
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180014ec4
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 0x180014f0d
cmp dword [r15 + 0xd0], 0
jle 0x180014f0d
mov r14d, 2
jmp 0x180015046
mov rdx, qword [r15 + 0x168]
test rdx, rdx
je 0x180014ff8
mov rcx, qword [r15 + 0x1d0]
cmp rdx, rcx
jb 0x180014f37
add rcx, qword [rsp + 0x68]
cmp rcx, rdx
jbe 0x180014ff8
mov rsi, qword [rsp + 0x40]
lea rbx, [r15 + 0xdc]
mov edx, 0xa
mov rdi, r15
mov dword [r15 + 0xdc], edx
mov ecx, edx
jmp 0x180015aaf
cmp edi, 0x19
jbe 0x180014ff8
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.transfer_encoding
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.18003924c
test eax, eax
jne 0x180014ff8
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.180028598
mov rbx, rax
test rax, rax
je 0x180015046
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
je 0x180014fd4
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002b4d0
test eax, eax
jne 0x180014fc4
mov r8d, 7
lea rdx, str.chunked
mov rcx, rbx
call fcn.18003924c
test eax, eax
jne 0x180014ff8
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 0x180015046
cmp edx, 0x4e20
jg 0x18001599f
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002b16c
test rax, rax
je 0x18001597d
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
movsxd r8, dword [rsp + 0x30]
mov ecx, 8
mov rbx, qword [rsp + 0x48]
mov eax, listen
test ebx, ebx
mov edx, 1
mov r9d, 0xfff
cmovne eax, ecx
add r8, qword [rsp + 0x38]
lea rcx, [0x180000000]
mov eax, dword [rax + rcx + 0x64860]
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 0x180014cf0
lea eax, [rbx - 0xc8]
cmp eax, 0x12b
jbe 0x1800150b4
xor eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
jmp 0x1800150bb
mov r15d, dword [rsp + 0x60]
xor eax, eax
cmp ebx, 0x130
je 0x1800150cb
cmp ebx, 0xcc
jne 0x1800150db
test r14d, r14d
jne 0x1800150db
mov r14d, 1
mov qword [rsp + 0x68], rax
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x18001510a
mov edx, dword [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
call rax
mov ecx, dword [rbp - 0x58]
cmp eax, ecx
cmovg ecx, eax
mov dword [rbp - 0x58], ecx
test ecx, ecx
jle 0x18001510a
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 0x180015a31
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 0x1800159a6
test eax, eax
jne 0x180015781
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
mov dword [rdi + 0xf4], ecx
movsxd rax, dword [0x180064908]
test eax, eax
je 0x18001517f
cmp rdx, rax
jbe 0x18001517f
mov dword [rdi + 0xf4], 1
jmp 0x18001527a
cmp dword [rdi + 0xd0], ecx
jle 0x18001527a
test rdx, rdx
je 0x18001528c
cmp dword [r12 + 0xb4], 0x800
je 0x18001527a
cmp ebx, 0xcc
je 0x18001527a
cmp ebx, 0x130
je 0x18001527a
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffsrv
mov rdx, qword [rsp + 0x68]
movsxd rcx, eax
cmp rcx, rdx
jne 0x180015278
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x1800159a6
test eax, eax
jne 0x18001578b
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 0x1800159a6
test eax, eax
jne 0x180015781
mov r8d, dword [rbx]
mov rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x68], r8
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015250
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 rbx, qword [rsp + 0x48]
xor ecx, ecx
test rdx, rdx
je 0x18001528c
cmp r14d, 1
cmovne r15d, ecx
mov dword [rsp + 0x60], r15d
test r13d, r13d
je 0x1800152a0
cmp dword [r12 + 0xb4], 0
je 0x18001538a
test esi, esi
mov rsi, 0xffffffffffffffff
je 0x1800152d8
cmp dword [rdi + 0xfc], 0
jne 0x1800152d8
mov rax, qword [rsp + 0x38]
mov rcx, rsi
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800152c0
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 0x180015328
cmp ebx, 0xc8
jl 0x180015328
cmp r15d, 1
jg 0x180015328
test r14d, r14d
je 0x180015301
lea r8, str.keep_alive
test r15d, r15d
jne 0x180015308
lea r8, str.close
mov rax, qword [rsp + 0x38]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015310
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 0x180015330
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 0x180015350
mov r9d, dword [0x180064868]
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 0x180015372
cmp eax, ecx
jne 0x180015a27
mov rdx, qword [rsp + 0x68]
jmp 0x180015391
mov rsi, 0xffffffffffffffff
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x1800153a4
test rdx, rdx
je 0x18001557f
cmp dword [r12 + 0xb4], 0x800
je 0x18001557f
cmp ebx, 0xcc
je 0x18001557f
cmp ebx, 0x130
je 0x18001557f
xor ebx, ebx
test eax, eax
je 0x1800154df
mov eax, dword [0x180064868]
lea r8, [rbp]
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 0x180015467
nop word [rax + rax]
mov r9d, dword [0x180064868]
lea rdx, [rbp]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x1800159b3
cmp dword [rdi + 0x100], 2
je 0x180015467
mov eax, dword [0x180064868]
lea r8, [rbp]
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 0x180015410
cmp ebx, 3
jl 0x1800155b6
mov r9d, dword [0x180064868]
lea rdx, [rbp]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x1800159c7
cmp dword [rdi + 0x100], 2
je 0x18001552e
movsxd rax, ebx
cmp rax, 0x20
jae 0x180015d73
xor ebx, ebx
mov byte [rbp + rax], 0
lea r8, [rsp + 0x68]
mov qword [rsp + 0x68], rbx
lea rdx, str._llx
lea rcx, [rbp]
call sym.ProxyProtocol.dll_sscanf
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x1800154df
mov eax, 2
mov dword [rdi + 0x100], eax
cmp dword [rdi + 0x100], 2
je 0x18001551e
mov qword [rdi + 0xa0], rdx
xor r8d, r8d
mov edx, dword [0x180064870]
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov ebx, eax
mov qword [rsp + 0x48], rbx
cmp eax, 0x62
jne 0x1800159d1
mov rdx, qword [rsp + 0x68]
xor ebx, ebx
mov qword [rdi + 0xa0], rbx
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x1800153d8
jmp 0x180015581
mov eax, dword [0x180064868]
lea r8, [rbp]
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 0x1800159bd
mov r9d, dword [0x180064868]
lea rdx, [rbp]
mov rcx, qword [rdi + 0x70]
mov r8d, eax
call sym.ProxyProtocol.dll_socksend
cmp eax, 2
jne 0x1800159b3
xor ebx, ebx
test r13d, r13d
je 0x1800155bd
mov rax, qword [rsp + 0x48]
cmp eax, 0xc8
jne 0x1800155a1
cmp dword [r12 + 0xb4], 0
jne 0x1800159dd
mov r13d, 1
mov qword [rsp + 0x68], rbx
mov r15d, r13d
mov dword [rsp + 0x60], r13d
jmp 0x1800155f9
xor ebx, ebx
mov dword [rbp - 0x78], ebx
jmp 0x180015581
test r14d, r14d
jne 0x1800155cf
cmp dword [rdi + 0x100], r14d
je 0x1800159dd
mov qword [rsp + 0x68], rbx
mov r14, qword [rbp - 0x60]
test r15d, r15d
je 0x1800155e8
mov r13d, dword [rbp - 0x78]
test r13d, r13d
jne 0x1800155f9
jmp 0x1800155ec
mov r13d, dword [rbp - 0x78]
mov rcx, qword [r14]
cmp rcx, 0xffffffffffffffff
jne 0x180015a05
xor esi, esi
lea r14, [rsi - 1]
cmp dword [rdi + 0xfc], 0
je 0x18001561a
test r15d, r15d
je 0x1800159fa
test r13d, r13d
je 0x1800159fa
mov r9d, dword [rsp + 0x74]
mov rcx, rdi
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x38]
call fcn.180012620
mov rsi, qword [rsp + 0x40]
xor ebx, ebx
mov dword [rdi + 0xe0], ebx
lea r12d, [rbx + 0x15]
lea r15d, [rbx + 2]
jmp 0x180012802
mov dword [rdi + 0xdc], 0x22b
mov rsi, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x74]
mov rcx, rdi
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x38]
call fcn.180012620
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18001567d
call fcn.18002b150
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x18001568c
call fcn.18002b150
test rsi, rsi
je 0x180015699
mov rcx, rsi
call fcn.18002b150
mov rcx, rdi
call sym.ProxyProtocol.dll_freeparam
xor eax, eax
mov rcx, qword [rbp + 0xaa0]
xor rcx, rsp
call fcn.180026c20
lea r11, [rsp + 0xbb0]
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
mov edx, 0x201
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
lea rbx, [rdi + 0xdc]
mov dword [rdi + 0xdc], edx
mov ecx, edx
jmp 0x180015aaf
mov edx, 0x203
jmp 0x1800156d8
mov rsi, qword [rsp + 0x40]
lea rbx, [rdi + 0xdc]
mov ecx, 0x64
mov edx, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180015aaf
mov ecx, 0x64
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
lea rbx, [rdi + 0xdc]
mov edx, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180015aaf
mov edx, 0xa
jmp 0x1800156dd
mov rsi, qword [rsp + 0x40]
lea rbx, [rdi + 0xdc]
mov ecx, reloc.WS2_32.dll_setsockopt
mov edx, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180015aaf
mov rsi, qword [rsp + 0x40]
lea rbx, [rdi + 0xdc]
mov ecx, 0x204
mov edx, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180015aaf
mov edx, 0x205
jmp 0x1800156dd
mov edx, reloc.WS2_32.dll_send
jmp 0x1800156dd
mov edx, 4
jmp 0x1800156dd
mov ecx, edx
lea rax, [rbx + 0xdc]
mov rdi, rbx
jmp 0x180015a85
mov ecx, 0x30d
jmp 0x180015720
mov ecx, reloc.WS2_32.dll_setsockopt
jmp 0x180015720
mov rdi, qword [rsp + 0x50]
mov ecx, edx
mov rsi, qword [rsp + 0x40]
jmp 0x180015a7e
mov rdi, qword [rsp + 0x50]
mov dword [rdi + 0xdc], r13d
jmp 0x180015654
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_n_r_n]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1800157f4
mov r9d, dword [0x180064868]
mov rcx, qword [rbx + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rbx, qword [r14]
mov eax, 0x20000
mov qword [r14], rsi
cmp dword [r12 + 0xb4], eax
jne 0x180015834
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x180015834
mov qword [rdi + 0x98], rax
mov edx, dword [0x180064874]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
cmp eax, 0x63
mov rcx, rsi
cmove eax, r13d
mov qword [rsp + 0x48], rax
call qword [0x180064a78]
mov rdx, qword [rsp + 0x48]
mov qword [r14], rbx
mov rsi, qword [rsp + 0x40]
mov ecx, edx
jmp 0x180015a7e
mov rsi, qword [rsp + 0x40]
mov edx, 0x30c
mov dword [rbx + 0xdc], edx
mov ecx, edx
add rbx, 0xdc
jmp 0x180015aaf
mov rdi, qword [rsp + 0x50]
mov ecx, reloc.WS2_32.dll_setsockopt
mov edx, ecx
mov rsi, rax
mov dword [rdi + 0xdc], ecx
lea rbx, [rdi + 0xdc]
jmp 0x180015aaf
mov ecx, 0x31f
lea rbx, [rdi + 0xdc]
mov edx, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180015aaf
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 0x1800158d0
mov r9d, dword [0x180064868]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp qword [rdi + 0x18], 0
je 0x180015919
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1800158ff
call fcn.18002b150
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x18001590e
call fcn.18002b150
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x1800156a3
mov edx, dword [0x180064874]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
cmp qword [rdi + 0x18], 0
mov ecx, eax
lea rax, [rdi + 0xdc]
mov dword [rax], ecx
je 0x180015964
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18001594a
call fcn.18002b150
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015959
call fcn.18002b150
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x1800156a3
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
jmp 0x180015a85
mov ecx, 0x206
jmp 0x180015725
mov ecx, reloc.WS2_32.dll_setsockopt
mov rsi, qword [rsp + 0x40]
lea rbx, [r15 + 0xdc]
mov edx, ecx
mov dword [r15 + 0xdc], ecx
mov rdi, r15
jmp 0x180015aaf
mov ecx, 0x204
jmp 0x180015982
xor eax, eax
mov dword [rdi + 0xdc], eax
jmp 0x180015654
mov ecx, 0x215
jmp 0x180015725
mov ecx, 0x216
jmp 0x180015725
mov ecx, 0x217
jmp 0x180015725
mov rsi, qword [rsp + 0x40]
mov ecx, ebx
jmp 0x180015a79
mov edx, dword [0x180064870]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov rsi, qword [rsp + 0x40]
mov ecx, eax
jmp 0x180015a79
mov dword [rdi + 0xdc], esi
jmp 0x180015654
mov edx, 2
call qword [0x180064a70]
mov rcx, qword [r14]
call qword [0x180064a78]
mov qword [r14], rsi
mov dword [rdi + 0xdc], ebx
jmp 0x180015654
mov ecx, 0x209
jmp 0x180015725
mov ecx, 0x20a
jmp 0x180015725
mov ecx, 0x202
jmp 0x180015720
mov edx, 0x200
jmp 0x1800156d8
mov ecx, 0x1ff
jmp 0x180015725
mov ecx, 0x1fe
jmp 0x180015725
test r13d, r13d
je 0x180015a6f
mov ecx, 0x22b
jmp 0x180015a79
neg ebx
sbb ecx, ecx
add ecx, 0x1fc
mov rdx, qword [rsp + 0x48]
lea rax, [rdi + 0xdc]
mov dword [rax], ecx
mov rbx, rax
cmp ecx, 0x22b
je 0x180015654
mov r12d, dword [rsp + 0x74]
mov qword [rsp + 0x48], rdx
mov edx, ecx
mov dword [rsp + 0x74], r12d
test ecx, ecx
je 0x180015659
mov r15, qword [rsp + 0x48]
mov r12d, 0x1fff
cmp qword [rdi + 0x70], 0xffffffffffffffff
je 0x180015659
lea eax, [rcx - 0x5a]
cmp eax, 0x2c5
ja 0x180015ae5
cmp edx, 0x64
je 0x180015b29
lea eax, [rcx - 0x1f5]
cmp eax, 0x12a
ja 0x180015659
lea eax, [rdx - 0x1fd]
cmp eax, 7
jbe 0x180015b00
cmp edx, 0x385
jl 0x180015b29
nop dword [rax + rax]
mov eax, dword [0x180064868]
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 0x180015b00
mov ecx, dword [rbx]
cmp ecx, 0xa
jne 0x180015b4e
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 0x180015b40
jmp 0x180015cac
lea eax, [r15 - 0x2bc]
cmp eax, 1
jbe 0x180015d2b
cmp ecx, 0x64
je 0x180015d0b
lea eax, [rcx - 0xb]
cmp eax, 8
jbe 0x180015d0b
lea eax, [rcx - 0x2be]
cmp eax, 3
jbe 0x180015d0b
cmp ecx, 0x14
jl 0x180015bcf
cmp ecx, 0x1e
jge 0x180015bae
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 word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180015ba0
jmp 0x180015cac
cmp ecx, 0x50
jge 0x180015bd8
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 0x180015bc1
jmp 0x180015cac
cmp ecx, 1
je 0x180015cec
mov rdx, qword [rdi + 0x10]
cmp dword [rdx + 0x60], 0
jne 0x180015c0f
cmp ecx, 0xa
jl 0x180015cec
cmp ecx, 0x3e7
jne 0x180015c4b
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 0x180015c01
jmp 0x180015cac
cmp ecx, 0xa
jge 0x180015beb
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
nop dword [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180015c40
jmp 0x180015cac
cmp ecx, 0x207
jne 0x180015c6c
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
inc rax
cmp byte [rdx + rax], 0
jne 0x180015c61
jmp 0x180015cac
cmp ecx, 0x205
jne 0x180015c8d
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 0x180015c82
jmp 0x180015cac
cmp ecx, 0x30c
jne 0x180015cc4
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
inc rax
cmp byte [rdx + rax], 0
jne 0x180015ca3
mov r8, rax
mov r9d, dword [0x180064868]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x180015659
lea eax, [rcx - 0x1ff]
cmp eax, 5
ja 0x180015659
mov rdx, qword [sym.ProxyProtocol.dll_proxy_stringtable]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x180015ce1
jmp 0x180015cac
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 word [rax + rax]
inc rax
cmp byte [rdx + rax], 0
jne 0x180015d00
jmp 0x180015cac
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 0x180015d20
jmp 0x180015cac
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 0x180015d40
mov r9d, dword [0x180064868]
mov r8, rax
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r8d, dword [rsp + 0x70]
lea rdx, [rbp + 0x4a0]
jmp 0x180015caf
call fcn.180026d48
int3
call fcn.180026d48
int3