Function at 0x180012c30
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 [0x180065c40]
xor rax, rsp
mov qword [rbp + 0xa90], rax
xor r15d, r15d
mov qword [rsp + 0x50], rcx
mov eax, r15d
mov qword [rsp + 0x38], r15
mov rdi, rcx
mov qword [rsp + 0x60], rax
mov ecx, 0x2000
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x68], r15
mov r12d, r15d
mov qword [rbp - 0x78], r15
mov esi, r15d
mov qword [rsp + 0x40], r15
mov r13d, r15d
mov qword [rsp + 0x70], r15
mov dword [rbp - 0x54], r15d
mov dword [rbp - 0x50], r15d
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x48], r15d
mov dword [rbp - 0x5c], r15d
mov dword [rsp + 0x7c], r15d
call fcn.18002bab4
mov qword [rsp + 0x38], rax
lea rbx, [r15 - 1]
lea r14d, [r15 + 0x15]
test rax, rax
jne 0x180012cea
mov r13, qword [rsp + 0x60]
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016036
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x58], 0x2000
mov ecx, dword [rax + 0x94]
mov dword [rbp - 0x40], ecx
jmp 0x180012d04
xor r15d, r15d
movsxd r8, dword [rsp + 0x58]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.18004c680
mov dword [rsp + 0x30], r15d
test esi, esi
je 0x180012e06
mov eax, dword [rdi + 0x150]
cmp dword [rdi + 0x148], eax
jne 0x180012e06
mov rcx, qword [rdi + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x180012e06
mov rax, qword [rdi + 0x70]
xorps xmm0, xmm0
imul r8d, dword [0x1800658f8], 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 qword [rsp + 0x60], rax
test eax, eax
jle 0x180015b17
mov eax, 0x307
test word [rbp + 0x3a], ax
je 0x180012e06
cmp dword [rdi + 0xfc], 0
jne 0x180015b17
cmp dword [rdi + 0xb0], 0
jne 0x180012dbb
cmp dword [rdi + 0x90], 4
je 0x180015b17
mov rcx, qword [rdi + 0x78]
mov edx, 2
mov dword [rsp + 0x68], r15d
call qword [0x1800658a0]
mov rcx, qword [rdi + 0x78]
call qword [0x1800658a8]
mov qword [rdi + 0x78], rbx
xorps xmm0, xmm0
mov dword [rdi + 0xb0], r15d
xorps xmm1, xmm1
mov dword [rdi + 0x90], r15d
movups xmmword [rdi + 0x198], xmm0
movups xmmword [rdi + 0x1a8], xmm1
movups xmmword [rdi + 0x1b8], xmm0
mov eax, dword [0x1800658fc]
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 r15, eax
test eax, eax
jle 0x180015fe8
cmp r15d, 2
jne 0x180012e52
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0xd
jne 0x180012e52
cmp byte [rax + 1], 0xa
je 0x180012d01
mov rax, qword [rsp + 0x38]
mov byte [r15 + rax], 0
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x180012eef
cmp dword [rdi + 0xfc], 0
jne 0x180012ee6
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x180012ee6
cmp r15d, r13d
jle 0x180012e92
mov rcx, qword [rsp + 0x38]
movsxd r8, r13d
call fcn.180039b9c
test eax, eax
je 0x180012ee6
mov rcx, qword [rdi + 0x78]
xor r12d, r12d
mov dword [rsp + 0x68], r12d
cmp rcx, 0xffffffffffffffff
je 0x180012eb9
lea edx, [r12 + 2]
call qword [0x1800658a0]
mov rcx, qword [rdi + 0x78]
call qword [0x1800658a8]
mov qword [rdi + 0x78], rbx
xorps xmm0, xmm0
mov dword [rdi + 0xb0], r12d
xorps xmm1, xmm1
mov dword [rdi + 0x90], r12d
movups xmmword [rdi + 0x198], xmm0
movups xmmword [rdi + 0x1a8], xmm1
movups xmmword [rdi + 0x1b8], xmm0
mov rcx, qword [rbp - 0x78]
call fcn.18002baa0
mov rcx, qword [rsp + 0x38]
call fcn.180034620
mov qword [rbp - 0x78], rax
test rax, rax
je 0x180015fe0
cmp r15d, 0xa
jl 0x180015fd8
mov rcx, qword [rsp + 0x38]
lea rdx, [0x18004fe28]
mov r13d, 2
cmp byte [r15 + rcx - 3], 0x31
lea r8d, [r13 + 5]
mov dword [rdi + 0xfc], 0
cmove esi, r13d
call fcn.180039b9c
mov rcx, qword [rsp + 0x38]
lea edx, [r13 + 0x1e]
test eax, eax
mov r12d, eax
cmove esi, r13d
mov dword [rbp - 0x80], esi
call fcn.180027f20
test rax, rax
je 0x180015fbe
lea r13, [rax + 1]
mov rsi, r13
mov rcx, r13
test r12d, r12d
je 0x180012fd7
mov r8d, 7
lea rdx, str.http:__
call fcn.180039b9c
test eax, eax
jne 0x180012f91
mov rax, qword [rbp - 0x68]
lea rsi, [r13 + 7]
jmp 0x180012ffa
mov r8d, 6
lea rdx, str.ftp:__
mov rcx, r13
call fcn.180039b9c
test eax, eax
jne 0x180012fbc
mov rax, qword [rbp - 0x68]
lea rsi, [r13 + 6]
mov dword [rsp + 0x48], 1
jmp 0x180012ffa
cmp byte [r13], 0x2f
jne 0x180015b2b
mov rax, qword [rbp - 0x68]
mov dword [rdi + 0xfc], 1
jmp 0x180012ffa
mov edx, 0x20
call fcn.180027f20
mov qword [rbp - 0x68], rax
test rax, rax
je 0x180015fa2
cmp r13, rax
je 0x180015fa2
mov byte [rax], 0
cmp dword [rdi + 0xfc], 0
je 0x18001300e
test r12d, r12d
jne 0x1800131ea
jmp 0x180013065
test r12d, r12d
je 0x180013065
mov edx, 0x2f
mov rcx, rsi
call fcn.180027f20
mov qword [rbp - 0x68], rax
test rax, rax
je 0x180015b48
cmp rsi, rax
je 0x180015b48
mov edx, 0x20
mov rcx, rsi
call fcn.180027f20
mov qword [rbp - 0x28], rax
mov rcx, rax
test rax, rax
je 0x180015b48
mov rax, qword [rbp - 0x68]
cmp rax, rcx
cmova rax, rcx
mov qword [rbp - 0x68], rax
mov byte [rax], 0
sub eax, dword [rsp + 0x38]
mov edx, 0x40
mov rcx, rsi
mov dword [rbp - 0x50], eax
call fcn.180027f9c
mov rcx, rsi
test rax, rax
je 0x180013197
call fcn.180034620
mov r14, rax
mov rdi, rax
mov rbx, rax
movzx edx, byte [rax]
test dl, dl
je 0x180013152
nop
cmp dl, 0x25
jne 0x180013130
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x1800130c3
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x1800130c3
sub cl, 0x41
cmp cl, 5
ja 0x180013135
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x1800130dd
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x1800130dd
sub cl, 0x41
cmp cl, 5
ja 0x180013135
lea rcx, [rdi + 1]
lea r8, [rbp - 0x3c]
lea rdx, [0x180051f2c]
call sym.ProxyProtocol.dll_sscanf
mov eax, dword [rbp - 0x3c]
cmp eax, 0xd
je 0x18001312a
cmp eax, 0xa
je 0x18001312a
cmp eax, 0x22
je 0x18001311f
cmp eax, 0x5c
je 0x18001311f
cmp eax, 0xff
jne 0x180013125
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x180013147
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x180013147
cmp dl, 0x3f
je 0x180013152
inc rdi
cmp dl, 0x2b
jne 0x180013142
mov byte [rbx], 0x20
jmp 0x180013144
mov byte [rbx], dl
inc rbx
movzx edx, byte [rdi]
test dl, dl
jne 0x1800130a0
cmp dword [rsp + 0x48], 0
mov eax, reloc.WS2_32.dll_setsockopt
mov rdi, qword [rsp + 0x50]
mov r9d, 0x50
cmovne r9w, ax
mov byte [rbx], 0
mov rdx, rdi
mov rcx, r14
lea r8d, [rax - 0x14]
call sym.ProxyProtocol.dll_parseconnusername
test eax, eax
jne 0x180015b65
mov rcx, r14
call fcn.18002baa0
mov rbx, 0xffffffffffffffff
jmp 0x1800131b7
cmp dword [rsp + 0x48], 0
mov r8d, 0x50
mov rdx, rdi
cmovne r8w, r14w
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x180015f9a
test r12d, r12d
je 0x1800131ea
mov rcx, qword [rbp - 0x68]
cmp rcx, qword [rbp - 0x28]
jne 0x1800131d0
mov byte [rcx], 0x20
dec rcx
mov qword [rbp - 0x68], rcx
mov byte [rcx], 0x2f
mov rdx, rcx
mov r8, r15
sub r8, rcx
mov rcx, r13
inc r8
add r8, rsi
call fcn.18004cb20
mov rcx, qword [rsp + 0x38]
mov r14, rbx
inc r14
cmp byte [rcx + r14], 0
jne 0x1800131f2
mov r8d, 7
lea rdx, [0x18004fe28]
mov r15d, r14d
call fcn.180039b9c
test eax, eax
jne 0x18001321f
mov eax, 0x1000
jmp 0x1800132e6
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180051f58]
mov ebx, 3
mov r8d, ebx
call fcn.180039b9c
test eax, eax
jne 0x180013253
cmp dword [rsp + 0x48], 0
mov eax, 0x100
mov ecx, 0x10000
cmovne eax, ecx
jmp 0x1800132e6
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180051f5c]
mov r8, rbx
call fcn.180039b9c
test eax, eax
jne 0x18001327f
cmp dword [rsp + 0x48], 0
mov eax, 0x200
mov ecx, 0x20000
cmovne eax, ecx
jmp 0x1800132e6
mov rcx, qword [rsp + 0x38]
lea rdx, str.POST
mov r8d, 4
call fcn.180039b9c
test eax, eax
je 0x1800132e1
mov rcx, qword [rsp + 0x38]
lea rdx, str.BITS_POST
mov r8d, 9
call fcn.180039b9c
test eax, eax
je 0x1800132e1
mov rcx, qword [rsp + 0x38]
lea rdx, str.HEAD
mov r8d, 4
call fcn.180039b9c
mov rcx, rdi
test eax, eax
jne 0x1800132da
mov eax, 0x800
jmp 0x1800132e9
mov eax, 0x8000
jmp 0x1800132e9
mov eax, 0x400
mov rcx, rdi
mov dword [rcx + 0xb4], eax
nop
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 0x180013717
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x180013717
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_send
call fcn.180039b9c
test eax, eax
jne 0x180013717
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180027f20
test rax, rax
je 0x180013bef
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x180013380
nop dword [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180013370
cmp byte [rbx], 0
je 0x180013bef
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.180039b9c
test eax, eax
jne 0x180013566
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002be20
test eax, eax
je 0x1800133d0
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x1800133c0
mov r8d, 0xff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x180013bef
cdqe
cmp rax, 0x400
jae 0x180016310
mov edx, 0x3a
mov byte [rbp + rax + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.180027f20
mov rbx, rax
test rax, rax
je 0x18001344a
mov byte [rax], 0
mov rcx, qword [rdi + 0x120]
test rcx, rcx
je 0x180013430
call fcn.18002baa0
lea rcx, [rbx + 1]
call fcn.180034620
mov qword [rdi + 0x120], rax
mov dword [rdi + 0xe4], 0
mov rcx, qword [rdi + 0x118]
test rcx, rcx
je 0x18001345b
call fcn.18002baa0
lea rcx, [rbp + 0x90]
call fcn.180034620
mov qword [rdi + 0x118], rax
mov rbx, 0xffffffffffffffff
movsxd r8, dword [rsp + 0x30]
xor edx, edx
mov eax, dword [0x1800658f8]
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
jg 0x1800132f0
movsxd rcx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
mov rax, rbx
mov rcx, qword [rbp - 0x78]
inc rax
cmp byte [rcx + rax], 0
jne 0x1800134c2
mov dword [rbp - 0x38], eax
lea r8, [rbp - 0x34]
inc eax
lea rdx, [rbp - 0x78]
mov dword [rbp - 0x34], eax
xor r9d, r9d
lea rax, [rbp - 0x38]
mov rcx, rdi
mov qword [rsp + 0x20], rax
call sym.ProxyProtocol.dll_handlereqfilters
cmp eax, 2
je 0x180015c7f
test eax, eax
jne 0x180015f7d
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 0x180015c7f
test eax, eax
jne 0x180015f7d
mov rdx, qword [rsp + 0x70]
xor r14d, r14d
mov dword [rdi + 0xf4], r14d
movsxd rax, dword [0x180065998]
test eax, eax
je 0x180013e31
cmp rdx, rax
jbe 0x180013e31
mov dword [rdi + 0xf4], 1
jmp 0x180013eea
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x5c], 0
je 0x180013717
mov r8d, 4
lea rdx, str.ntlm
mov rcx, rbx
call fcn.180039b9c
test eax, eax
jne 0x180013717
movzx ecx, byte [rbx + 4]
add rbx, 4
call fcn.18002be20
test eax, eax
je 0x1800135b2
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x1800135a2
mov r8d, 0x3ff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
movsxd rsi, eax
cmp esi, 0x10
jle 0x180013bef
cmp rsi, 0x400
jae 0x180016310
mov r8d, 8
mov byte [rbp + rsi + 0x90], 0
lea rdx, str.NTLMSSP
lea rcx, [rbp + 0x90]
call fcn.180039b9c
test eax, eax
jne 0x180013bef
movzx eax, byte [rbp + 0x98]
cmp al, 1
je 0x180013c59
cmp al, 3
jne 0x180013bef
cmp dword [rdi + 0xe4], 2
jne 0x180013bef
cmp esi, 0x50
jl 0x180013bef
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 0x180013bef
lea eax, [rdx + 0x18]
cmp eax, esi
ja 0x180013bef
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 0x180013bef
lea eax, [rbx + rdi]
cmp eax, esi
ja 0x180013bef
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsi + 0x118]
test rcx, rcx
je 0x1800136e4
call fcn.18002baa0
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.180034620
mov qword [rsi + 0x118], rax
mov rdi, rsi
jmp 0x18001346e
test r12d, r12d
je 0x1800137f0
cmp r14d, 0x19
jle 0x180013746
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180039b9c
test eax, eax
je 0x180013774
cmp r14d, 0x10
jle 0x1800137f0
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.180039b9c
test eax, eax
jne 0x1800137f6
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.180027f20
test rax, rax
je 0x180013bef
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x1800137b2
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x1800137a2
mov r8d, 7
lea rdx, str.upgrade
mov rcx, rbx
call fcn.180039b9c
test eax, eax
je 0x1800137f0
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.180039b9c
xor esi, esi
test eax, eax
sete sil
mov dword [rbp - 0x80], esi
jmp 0x18001346e
cmp r14d, 0xb
jle 0x18001384f
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Expect:_100
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.180039b9c
test eax, eax
jne 0x18001384f
mov rdx, qword [str.HTTP_1.1_100_Continue_r_n_r_n]
mov rbx, 0xffffffffffffffff
mov r8, rbx
mov dword [rbp - 0x80], 1
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x180013830
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x180013475
cmp dword [rdi + 0xfc], 0
je 0x1800139d0
cmp r14d, 6
jle 0x1800139d0
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Host:
add rcx, qword [rsp + 0x38]
mov r8d, 5
call fcn.180039b9c
test eax, eax
jne 0x1800139d0
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180027f20
test rax, rax
je 0x180013bef
movzx ecx, byte [rax + 1]
lea rdi, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x1800138d0
nop word [rax + rax]
movzx ecx, byte [rdi + 1]
inc rdi
call fcn.18002be20
test eax, eax
jne 0x1800138c0
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call fcn.180027f20
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x1800138fa
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.180027f20
mov qword [rbp - 0x68], rax
test rax, rax
je 0x180013903
movzx ecx, byte [rax]
mov byte [rbp - 0x70], cl
mov byte [rax], 0
mov rsi, qword [rsp + 0x50]
cmp qword [rsi + 0x110], 0
jne 0x18001392b
mov r8d, 0x50
mov rdx, rsi
mov rcx, rdi
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x180015b77
movsxd rax, dword [rsp + 0x30]
mov r8, 0xffffffffffffffff
add rax, qword [rsp + 0x38]
mov rcx, r8
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x180013940
mov rdx, qword [rbp - 0x78]
mov rax, r8
inc rax
cmp byte [rdx + rax], 0
jne 0x180013950
add rax, 8
add rcx, rax
call fcn.18002bab4
mov rsi, rax
test rax, rax
je 0x1800139bc
mov rcx, qword [rbp - 0x78]
mov edx, 0x2f
inc rcx
call fcn.180027f20
mov rdx, qword [rbp - 0x78]
mov r8, rax
sub r8, rdx
mov rcx, rsi
mov rbx, rax
call fcn.18004cb20
mov rcx, rsi
lea rdx, str.http:___s_s
sub rcx, qword [rbp - 0x78]
mov r9, rbx
add rcx, rbx
mov r8, rdi
call sym.ProxyProtocol.dll_sprintf
mov rcx, qword [rbp - 0x78]
call fcn.18002baa0
mov qword [rbp - 0x78], rsi
mov rcx, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x50]
test rcx, rcx
je 0x1800139d0
movzx eax, byte [rbp - 0x70]
mov byte [rcx], al
cmp dword [rsp + 0x48], 0
je 0x180013b39
cmp r14d, 0xd
jle 0x180013b39
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_listen
call fcn.180039b9c
test eax, eax
jne 0x180013b39
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180027f20
test rax, rax
je 0x180013bef
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x180013a50
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180013a40
cmp byte [rbx], 0
je 0x180013bef
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.180039b9c
test eax, eax
jne 0x180013b39
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002be20
test eax, eax
je 0x180013aa0
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180013a90
mov r8d, 0xff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x180013bef
cdqe
cmp rax, 0x400
jae 0x180016310
mov edx, 0x3a
mov byte [rbp + rax + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.180027f20
mov rbx, rax
test rax, rax
je 0x180013b10
mov byte [rax], 0
mov rcx, qword [rdi + 0x130]
test rcx, rcx
je 0x180013b00
call fcn.18002baa0
lea rcx, [rbx + 1]
call fcn.180034620
mov qword [rdi + 0x130], rax
mov rcx, qword [rdi + 0x128]
test rcx, rcx
je 0x180013b21
call fcn.18002baa0
lea rcx, [rbp + 0x90]
call fcn.180034620
mov qword [rdi + 0x128], rax
jmp 0x18001346e
cmp r14d, 0xf
jle 0x180013bf9
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180039b9c
test eax, eax
jne 0x180013bf9
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.180027f20
test rax, rax
je 0x180013bef
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x180013ba0
nop
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180013b90
lea r8, [rsp + 0x70]
mov rcx, rbx
lea rdx, str._llu
call sym.ProxyProtocol.dll_sscanf
mov rax, qword [rdi + 0x170]
mov rdx, qword [rsp + 0x70]
test rax, rax
je 0x180013be1
mov rcx, qword [rdi + 0x1c8]
cmp rax, rcx
jb 0x180015b9d
sub rax, rcx
cmp rdx, rax
ja 0x180015b9d
cmp dword [rdi + 0xcc], 0
jle 0x180013bf9
test rdx, rdx
je 0x180013bf9
mov rdi, qword [rsp + 0x50]
jmp 0x18001346e
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 0x18001346e
mov eax, 0x10000
cmp edx, eax
jg 0x180015bc9
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002babc
mov rbx, 0xffffffffffffffff
test rax, rax
je 0x180015bbe
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
jmp 0x180013475
mov eax, dword [0x1800658f8]
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 0x180013d00
nop dword [rax]
cmp ebx, 0xf
jbe 0x180013cd5
mov rcx, qword [rsp + 0x38]
lea rdx, str.content_length
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180039b9c
test eax, eax
jne 0x180013cd5
mov rax, qword [rsp + 0x38]
lea r8, [rsp + 0x70]
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 [0x1800658f8]
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 0x180013c90
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x180013d58
nop word [rax + rax]
mov eax, dword [0x1800658f8]
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 0x180013d58
mov rcx, qword [rsp + 0x70]
cdqe
cmp rax, rcx
ja 0x180013d58
sub rcx, rax
mov qword [rsp + 0x70], rcx
jne 0x180013d10
mov rcx, qword [rdi + 0x120]
xor r14d, r14d
mov qword [rsp + 0x70], r14
test rcx, rcx
je 0x180013d71
call fcn.18002baa0
mov ecx, 0x20
call fcn.18002bab4
mov qword [rdi + 0x120], rax
mov rax, 0xffffffffffffffff
mov dword [rdi + 0xe4], 2
mov rdx, qword [str.HTTP_1.0_407_Proxy_Authentication_Required_r_nConnection:_keep_alive_r_nContent_Length:_0_r_nProxy_Authenticate:_NTLM]
nop word [rax + rax]
inc rax
cmp byte [rdx + rax], r14b
jne 0x180013da0
mov rcx, qword [rsp + 0x38]
movsxd rbx, eax
mov r8, rbx
call fcn.18004cb20
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 rbx, 0xffffffffffffffff
mov rcx, rbx
nop
cmp byte [rdx + rcx + 1], r14b
lea rcx, [rcx + 1]
jne 0x180013de0
mov eax, dword [str._r_n_r_n]
mov r8, rbx
mov dword [rcx + rdx], eax
movzx eax, byte [0x180051fbc]
mov byte [rcx + rdx + 4], al
mov rdx, qword [rsp + 0x38]
inc r8
cmp byte [rdx + r8], r14b
jne 0x180013e07
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov esi, 1
mov r15d, esi
mov dword [rsp + 0x68], esi
jmp 0x180015acb
cmp dword [rdi + 0xcc], r14d
jle 0x180013eea
test rdx, rdx
je 0x180013eea
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffcli
mov r8, qword [rsp + 0x70]
movsxd rcx, eax
cmp rcx, r8
jne 0x180013eca
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x180015eee
test eax, eax
jne 0x180015bff
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 0x180015eee
test eax, eax
jne 0x180015bdb
mov r8d, dword [rbx]
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x70], r8
mov dword [rdi + 0xf4], 1
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], r14b
jne 0x180013ed2
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 0x180013f01
cmp qword [rdi + 0x118], r14
je 0x180015c1c
mov rcx, rdi
call qword [rax + 0x28]
mov esi, dword [rsp + 0x48]
mov qword [rsp + 0x60], rax
test eax, eax
jne 0x180015f6b
test esi, esi
je 0x180014c8f
cmp dword [rdi + 0x90], 4
je 0x180014c8f
mov r15d, r14d
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x7c], r14d
cmp dword [rsp + 0x68], r14d
jne 0x180013f6a
lea r8, [rsp + 0x7c]
mov dword [rsp + 0x7c], 0x5ec
lea rdx, [rbp + 0x490]
mov rcx, rdi
call sym.ProxyProtocol.dll_ftplogin
mov qword [rsp + 0x60], rax
test eax, eax
jne 0x180015f6b
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x68], 1
test rsi, rsi
je 0x180013f84
mov rcx, rsi
call fcn.18002baa0
mov edx, 0x20
mov qword [rsp + 0x40], r14
mov rcx, r13
mov rsi, r14
call fcn.180027f20
test rax, rax
je 0x180015d4f
mov byte [rax], sil
mov rdi, r13
movzx edx, byte [r13]
mov rbx, r13
test dl, dl
je 0x180014072
nop dword [rax + rax]
cmp dl, 0x25
jne 0x180014050
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013fe3
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180013fe3
sub cl, 0x41
cmp cl, 5
ja 0x180014055
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013ffd
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180013ffd
sub cl, 0x41
cmp cl, 5
ja 0x180014055
lea rcx, [rdi + 1]
lea r8, [rbp - 0x30]
lea rdx, [0x180051f2c]
call sym.ProxyProtocol.dll_sscanf
mov eax, dword [rbp - 0x30]
cmp eax, 0xd
je 0x18001404a
cmp eax, 0xa
je 0x18001404a
cmp eax, 0x22
je 0x18001403f
cmp eax, 0x5c
je 0x18001403f
cmp eax, 0xff
jne 0x180014045
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x180014067
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x180014067
cmp dl, 0x3f
je 0x180014072
inc rdi
cmp dl, 0x2b
jne 0x180014062
mov byte [rbx], 0x20
jmp 0x180014064
mov byte [rbx], dl
inc rbx
movzx edx, byte [rdi]
test dl, dl
jne 0x180013fc0
mov byte [rbx], sil
mov rbx, 0xffffffffffffffff
mov rdi, rbx
nop
inc rdi
cmp byte [rdi + r13], sil
jne 0x180014080
movsxd rcx, edi
add rcx, 2
mov qword [rbp - 0x48], rdi
call fcn.18002bab4
mov qword [rsp + 0x40], rax
mov r12, rax
test rax, rax
je 0x180015d2d
movsxd rbx, edi
mov rdx, r13
mov r8, rbx
mov rcx, rax
call fcn.18004cb20
cmp byte [r12 + rbx - 1], 0x2f
je 0x1800140ce
inc edi
mov byte [r12 + rbx], 0x2f
mov qword [rbp - 0x48], rdi
movsxd rax, edi
mov byte [rax + r12], sil
mov rcx, qword [rsp + 0x38]
movsd xmm0, qword [str._pre__hr__n]
movsd qword [rcx], xmm0
movzx eax, word [0x180052048]
mov word [rcx + 8], ax
mov eax, 0xa
movsxd rcx, dword [rsp + 0x7c]
mov dword [rsp + 0x30], 0xa
test ecx, ecx
je 0x180014148
mov r8, rcx
lea rdx, [rbp + 0x490]
mov rcx, qword [rsp + 0x38]
add rcx, rax
call fcn.18004cb20
mov eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x7c]
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 + 0x7c]
add eax, 4
mov dword [rsp + 0x30], eax
cmp byte [r12 + 1], sil
je 0x18001417e
movups xmm0, xmmword [str.__A_HREF_..__..__A___n]
movsxd rdx, eax
add rdx, qword [rsp + 0x38]
movups xmmword [rdx], xmm0
mov eax, dword [0x180052060]
mov dword [rdx + 0x10], eax
movzx eax, word [0x180052064]
mov word [rdx + 0x14], ax
add dword [rsp + 0x30], 0x16
mov ecx, dword [rsp + 0x7c]
mov rsi, qword [rsp + 0x50]
lea r9, [rsp + 0x7c]
mov eax, 0x5ec
lea r8, [rbp + 0x490]
sub eax, ecx
mov rdx, r12
mov rcx, rsi
mov dword [rsp + 0x7c], eax
call sym.ProxyProtocol.dll_ftpcd
mov r13d, eax
test eax, eax
je 0x1800141f5
lea rdx, [0x180052068]
mov rcx, rsi
call sym.ProxyProtocol.dll_ftptype
mov r13d, eax
test eax, eax
jne 0x180015c39
dec edi
lea rdx, str.RETR
movsxd rax, edi
mov r8, r12
mov qword [rbp - 0x48], rdi
mov byte [rax + r12], r14b
mov eax, 0x20000
cmp dword [rsi + 0xb4], eax
lea rax, [0x180051f5c]
cmove rdx, rax
jmp 0x18001424c
movsxd rax, dword [rsp + 0x7c]
test eax, eax
je 0x180014237
movsxd rcx, dword [rsp + 0x30]
lea rdx, [rbp + 0x490]
add rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.18004cb20
mov eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x7c]
mov dword [rsp + 0x30], eax
movsxd rcx, eax
mov rax, qword [rsp + 0x38]
mov dword [rcx + rax], 0x3e72683c
add dword [rsp + 0x30], 4
mov r15d, 1
lea rdx, str.LIST
mov dword [rsp + 0x78], r15d
mov r8, r14
mov rcx, rsi
mov rdi, rsi
call sym.ProxyProtocol.dll_ftpcommand
mov qword [rbp - 0x20], rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
je 0x180015d13
test r15d, r15d
je 0x180015c91
mov r14, qword [rsp + 0x50]
xor r13d, r13d
mov ebx, r13d
mov edi, 0xffffffff
mov dword [rbp - 0x7c], ebx
mov dword [rbp - 0x58], edi
mov rax, qword [r14 + 0x78]
mov qword [rbp - 0x18], rax
mov eax, dword [r14 + 0x14c]
cmp dword [r14 + 0x154], eax
jae 0x1800142e1
movsxd rax, dword [rsp + 0x30]
mov rcx, r14
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 - 0x58], eax
mov edi, eax
test eax, eax
je 0x1800142e1
mov rdx, qword [rsp + 0x38]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], bl
jne 0x1800142d5
mov dword [rsp + 0x30], ecx
mov qword [r14 + 0x78], rsi
test edi, edi
jg 0x180014b61
mov eax, dword [0x1800658f8]
lea r8, [rbp + 0x490]
mov dword [rsp + 0x28], eax
mov r9d, 0x5ec
mov edx, 1
mov dword [rsp + 0x20], 0xa
mov rcx, r14
call sym.ProxyProtocol.dll_sockgetlinebuf
mov qword [rsp + 0x60], rax
test eax, eax
jle 0x180014b61
nop word [rax + rax]
xor dil, dil
mov eax, eax
mov esi, 1
cmp rax, 0x600
jae 0x180016310
cmp dword [rbp - 0x48], 0
mov byte [rbp + rax + 0x490], dil
movzx ecx, byte [rbp + 0x490]
jne 0x180014382
cmp cl, 0x74
jne 0x180014382
cmp byte [rbp + 0x491], 0x6f
jne 0x180014389
cmp byte [rbp + 0x492], cl
jne 0x180014389
mov eax, 2
mov r15d, eax
mov dword [rsp + 0x78], eax
jmp 0x180014b0f
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x18001439a
cmp r15d, esi
mov eax, 2
cmove r15d, eax
mov dword [rsp + 0x78], r15d
lea rbx, [rbp + 0x490]
test cl, cl
je 0x1800143f1
test esi, esi
jne 0x1800143cb
movzx ecx, byte [rbx]
call fcn.18002be20
test eax, eax
je 0x1800143e9
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.18002be20
test eax, eax
jne 0x1800143e9
movzx eax, dil
mov esi, r13d
mov qword [rbp + rax*8 + 0x40], rbx
cmp dil, 8
je 0x1800143f1
inc rbx
cmp byte [rbx], 0
jne 0x1800143a5
cmp r15d, 1
jne 0x180014490
cmp dil, 4
jb 0x180014b0c
mov rbx, qword [rbp + 0x50]
lea rdx, str._DIR_
mov r8d, dword [rbp]
mov rcx, rbx
call fcn.18004ca20
test eax, eax
mov r12d, r13d
sete r12b
test r12d, r12d
jne 0x180014437
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x180014b0c
movsxd rdx, dword [rsp + 0x30]
mov esi, r13d
movsd xmm0, qword [str.__________]
mov eax, dword [rbp + 0x48]
sub eax, dword [rbp + 0x40]
add eax, dword [rbp - 4]
add rdx, qword [rsp + 0x38]
mov dword [rbp - 8], eax
mov eax, 2
mov r14d, eax
mov dword [rbp - 0x60], r13d
mov edi, eax
movsd qword [rdx], xmm0
lea r15d, [rax + 1]
movzx eax, word [0x180052088]
mov word [rdx + 8], ax
movzx eax, byte [0x18005208a]
mov byte [rdx + 0xa], al
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x78], eax
jmp 0x1800145a5
cmp dil, 8
jb 0x180014b0c
cmp dword [rbp - 8], 0xa
jne 0x180014b0c
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 [rsp + 0x78], r15d
mov edx, dword [rsp + 0x78]
cmp byte [rax], 0x64
sete r12b
cmp byte [rax], 0x6c
sete r13b
xor r8d, r8d
cmp r15d, 2
mov dword [rbp - 0x60], r13d
mov eax, r8d
mov r14d, r8d
sete r14b
mov esi, r8d
add r14d, 3
cmp r15d, 2
sete al
add eax, 7
cmp edx, 2
mov r15d, 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 0x180014546
nop
movzx ecx, al
call fcn.18002be20
test eax, eax
jne 0x18001453f
movzx eax, byte [rbx + 1]
inc rbx
mov qword [rbp + r15*8 + 0x40], rbx
mov rdi, rbx
test al, al
jne 0x180014520
mov edx, dword [rsp + 0x78]
xor r8d, r8d
cmp byte [rbx], 0
je 0x180014555
inc rbx
mov qword [rbp + r15*8 + 0x40], rbx
mov edi, ebx
sub edi, dword [rbp + rsi*8 + 0x40]
mov rcx, 0xffffffffffffffff
mov dword [rbp + rsi*4 - 8], edi
inc rcx
cmp byte [rbx + rcx], 0
jne 0x180014564
cmp edx, 2
mov dword [rbp + r15*4 - 8], ecx
movsxd rdx, dword [rsp + 0x30]
mov rdi, r8
mov rcx, qword [rbp + 0x40]
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 0x180014bcc
movsxd rcx, edx
mov r8d, ebx
add rcx, qword [rsp + 0x38]
mov rdx, qword [rbp + r9*8 + 0x40]
call fcn.18004cb20
mov ecx, dword [rsp + 0x30]
add ecx, ebx
mov dword [rsp + 0x30], ecx
test r12d, r12d
je 0x18001464f
movsd xmm0, qword [str._______DIR]
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
movsd qword [rdx], xmm0
movzx eax, word [0x180052098]
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 [0x1800520b8]
mov word [rdx + 8], ax
mov ecx, dword [rsp + 0x30]
add ecx, 0xa
mov dword [rsp + 0x30], ecx
test r13d, r13d
je 0x180014755
jmp 0x1800146a2
test r13d, r13d
je 0x1800146cc
movsd xmm0, qword [str.______LINK]
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
movsd qword [rdx], xmm0
movzx eax, word [0x1800520a8]
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 [0x1800520b8]
mov word [rdx + 8], ax
add dword [rsp + 0x30], 0xa
mov ecx, r15d
lea rdx, str.___
mov rcx, qword [rbp + rcx*8 + 0x40]
call fcn.1800280d8
mov ecx, dword [rsp + 0x30]
test rax, rax
je 0x180014755
lea rsi, [rax + 4]
jmp 0x18001475d
mov eax, r14d
mov ebx, dword [rbp + rax*4 - 8]
cmp ebx, 0xa
jbe 0x1800146e3
mov ebx, 0xa
mov dword [rbp + rax*4 - 8], ebx
jmp 0x18001470c
jae 0x18001470c
mov edx, 0xa
sub edx, ebx
nop dword [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 0x1800146f0
mov rdx, qword [rbp + rdi*8 + 0x40]
movsxd rcx, ecx
add rcx, qword [rsp + 0x38]
mov r8d, ebx
call fcn.18004cb20
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 [0x1800520b8]
mov word [rdx + 8], ax
mov ecx, dword [rsp + 0x30]
add ecx, 0xa
mov dword [rsp + 0x30], ecx
mov eax, r15d
mov rsi, qword [rbp + rax*8 + 0x40]
cmp byte [rsi], 0x2f
je 0x180014859
mov rax, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x58]
mov rbx, rax
mov rdi, qword [rsp + 0x38]
cmp byte [rax], 0
je 0x180014863
movabs r13, 0x21ffffff80ffff
nop dword [rax + rax]
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x180014855
movzx edx, byte [rbx]
cmp dl, 0xd
je 0x180014849
cmp dl, 0xa
je 0x180014849
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x1800147c0
bt r13, rax
jb 0x1800147c7
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x1800147d5
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x180014845
cmp dl, 0x22
jne 0x1800147fb
mov eax, dword [str._5C_22]
movsxd rcx, ecx
mov dword [rcx + rdi], eax
movzx eax, word [0x180051f34]
mov word [rcx + rdi + 4], ax
mov ecx, dword [rsp + 0x30]
add ecx, 6
jmp 0x180014845
cmp dl, 0xff
jne 0x180014829
cmp byte [rbx + 1], dl
jne 0x180014829
mov eax, dword [0x180051f38]
movsxd rcx, ecx
mov word [rcx + rdi], ax
movzx eax, byte [0x180051f3a]
mov byte [rcx + rdi + 2], al
mov ecx, dword [rsp + 0x30]
add ecx, 3
inc rbx
jmp 0x180014845
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 0x180014790
mov r13d, dword [rbp - 0x60]
mov rdi, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x58]
cmp byte [rsi], 0
je 0x180014907
movabs r13, 0x21ffffff80ffff
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x1800148fe
movzx edx, byte [rsi]
cmp dl, 0xd
je 0x1800148f2
cmp dl, 0xa
je 0x1800148f2
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x18001489a
bt r13, rax
jb 0x1800148a1
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x1800148af
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x1800148ee
movsxd rcx, ecx
cmp dl, 0x22
jne 0x1800148d5
mov eax, dword [str._5C_22]
mov dword [rcx + rdi], eax
movzx eax, word [0x180051f34]
mov word [rcx + rdi + 4], ax
mov ecx, dword [rsp + 0x30]
add ecx, 6
jmp 0x1800148ee
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 0x180014876
mov rdi, qword [rsp + 0x38]
mov r13d, dword [rbp - 0x60]
test r12d, r12d
je 0x180014922
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
movsxd rax, ecx
mov word [rax + rdi], 0x3e22
mov ecx, dword [rsp + 0x30]
add ecx, 2
mov eax, r15d
mov dword [rsp + 0x30], ecx
mov r8, qword [rbp + rax*8 + 0x40]
cmp byte [r8], 0
je 0x180014a04
nop dword [rax + rax]
mov eax, dword [rsp + 0x58]
sub eax, ecx
cmp eax, 0x10
jl 0x180014a04
movzx edx, byte [r8]
cmp dl, 0x3c
jne 0x180014980
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746c26
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x1800149f3
cmp dl, 0x3e
jne 0x18001499d
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746726
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x1800149f3
cmp dl, 0xd
je 0x1800149f7
cmp dl, 0xa
je 0x1800149f7
test r13d, r13d
je 0x1800149e2
cmp dl, 0x20
jne 0x1800149e2
cmp byte [r8 + 1], 0x2d
jne 0x1800149e2
cmp byte [r8 + 2], 0x3e
jne 0x1800149e2
mov eax, dword [str.__A_]
movsxd rdx, ecx
add rdx, qword [rsp + 0x38]
mov dword [rdx], eax
movzx eax, byte [0x1800520c8]
mov byte [rdx + 4], al
mov ecx, dword [rsp + 0x30]
add ecx, 5
jmp 0x1800149f3
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 0x180014950
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 0x180014b04
cmp ecx, 0x4e20
jle 0x180014ac9
mov ebx, dword [rbp - 0x7c]
mov eax, ebx
inc ebx
mov dword [rbp - 0x7c], ebx
test eax, eax
jne 0x180014a96
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_nContent_Type:_text_html_r_n_r_n]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], 0
jne 0x180014a70
mov rdi, qword [rsp + 0x50]
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r8d, dword [rsp + 0x30]
jmp 0x180014a9b
mov rdi, qword [rsp + 0x50]
mov r9d, dword [0x1800658f8]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp eax, dword [rsp + 0x30]
jne 0x180015c4b
mov r15d, dword [rsp + 0x78]
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x180014b14
lea eax, [rcx + 0x2000]
mov rcx, qword [rsp + 0x38]
movsxd rdx, eax
call fcn.18002babc
mov rdi, qword [rsp + 0x50]
test rax, rax
je 0x180015c5b
add dword [rsp + 0x58], 0x2000
mov r15d, dword [rsp + 0x78]
xor r13d, r13d
mov ebx, dword [rbp - 0x7c]
mov qword [rsp + 0x38], rax
jmp 0x180014b14
mov r15d, dword [rsp + 0x78]
xor r13d, r13d
mov ebx, dword [rbp - 0x7c]
mov rdi, qword [rsp + 0x50]
mov eax, dword [0x1800658f8]
lea r8, [rbp + 0x490]
inc dword [rbp - 0x48]
mov r9d, 0x5ec
mov dword [rsp + 0x28], eax
mov edx, 1
mov rcx, rdi
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov qword [rsp + 0x60], rax
test eax, eax
jg 0x180014330
mov edi, dword [rbp - 0x58]
mov rsi, qword [rbp - 0x20]
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 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 [0x1800658a8]
mov rax, qword [rbp - 0x18]
mov qword [r14 + 0x78], rax
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x180015c7a
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
test edi, edi
jns 0x180014be1
movsxd rax, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x58]
mov rdx, rax
mov rdi, qword [rsp + 0x50]
sub r8d, eax
add rdx, qword [rsp + 0x38]
mov rcx, rdi
call sym.ProxyProtocol.dll_ftpres
mov r13d, eax
jmp 0x180014be9
mov rdi, qword [rsp + 0x50]
xor r13d, r13d
mov r15d, dword [rsp + 0x78]
mov ebx, dword [rbp - 0x7c]
jmp 0x180014b14
mov r13d, edi
mov rdi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x38]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x60], r13
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180014c00
mov dword [rsp + 0x30], r8d
test ebx, ebx
jne 0x180014c5f
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, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180014c34
mov r9d, dword [0x1800658f8]
lea rdx, [rbp + 0x490]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rdx, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
test r13d, r13d
jne 0x180015c6b
test ebx, ebx
jne 0x180015c7f
mov r15d, dword [rsp + 0x68]
xor ebx, ebx
mov esi, dword [rbp - 0x80]
jmp 0x180015aaf
test r12d, r12d
jne 0x180014ca1
cmp dword [rdi + 0x90], 4
jne 0x180015d69
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x180014cf7
cmp dword [rdi + 0x90], 4
jne 0x180014cf7
mov dword [rbp - 0x54], 1
mov r13, rbx
nop dword [rax]
inc r13
cmp byte [rdx + r13], r14b
jne 0x180014cc0
mov r9d, dword [0x1800658fc]
mov r8d, r13d
mov rcx, qword [rdi + 0x78]
call sym.ProxyProtocol.dll_socksend
cmp eax, r13d
jne 0x180015f51
movsxd rax, r13d
add qword [rdi + 0x1c8], rax
inc dword [rdi + 0x1dc]
jmp 0x180014cfa
mov r15d, r14d
mov dword [rsp + 0x30], r14d
mov r14d, dword [rbp - 0x40]
test r14d, r14d
jne 0x180014e0d
mov rax, qword [rsp + 0x38]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180014d11
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 0x180014d4e
movsxd rcx, ebx
lea rdx, [0x180052140]
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
mov rsi, qword [rsp + 0x50]
add ebx, eax
movsxd rdi, ebx
cmp word [rsi + 0x188], 0x17
movzx ecx, word [rsi + 0x18a]
jne 0x180014d99
call qword [sym.imp.WS2_32.dll_ntohs]
lea rdx, str._:_d__by
jmp 0x180014da6
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, 0x100
movsxd rcx, ebx
add rcx, qword [rsp + 0x38]
call qword [sym.imp.WS2_32.dll_gethostname]
movzx ecx, word [rsi + 0x17a]
mov rdi, rsi
call qword [sym.imp.WS2_32.dll_ntohs]
mov rbx, 0xffffffffffffffff
movzx r8d, ax
mov rax, qword [rsp + 0x38]
mov rcx, rbx
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014df0
add rcx, rax
lea rdx, str.:_d_r_n
call sym.ProxyProtocol.dll_sprintf
jmp 0x180014f78
cmp r14d, 1
jle 0x180014f78
mov rax, qword [rsp + 0x38]
mov rcx, rbx
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014e20
add rcx, rax
lea rdx, str.Via:_1.1
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014e40
add rcx, rax
mov edx, 0x100
call qword [sym.imp.WS2_32.dll_gethostname]
mov rax, qword [0x180065a48]
test rax, rax
je 0x180014e6d
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x10]
jmp 0x180014e7b
lea rbx, [0x18004e577]
lea rdi, [0x18004e577]
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsi + 0x10]
movzx ecx, word [rcx + 0xba]
call qword [sym.imp.WS2_32.dll_ntohs]
movzx r8d, ax
mov rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014ea1
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 r14d, 2
je 0x180014ef9
mov rax, qword [rsp + 0x38]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180014ed6
movzx ecx, word [rsi + 0x188]
lea rdx, [rsi + 0x18c]
mov rdi, rsi
mov r9d, 0x80
jmp 0x180014f48
mov edx, 0x290
mov rcx, rsi
mov rdi, rsi
call sym.ProxyProtocol.dll_myrand
mov ebx, eax
shl ebx, 0x10
call fcn.18003651c
xor eax, ebx
mov rbx, 0xffffffffffffffff
mov dword [rbp - 0x4c], eax
mov r8, rbx
mov rax, qword [rsp + 0x38]
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180014f30
mov r9d, 0x40
lea rdx, [rbp - 0x4c]
lea ecx, [r9 - 0x3e]
add r8, rax
call sym.ProxyProtocol.dll_myinet_ntop
mov rax, qword [rsp + 0x38]
mov rcx, rbx
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014f60
add rcx, rax
lea rdx, [0x180052198]
call sym.ProxyProtocol.dll_sprintf
mov esi, dword [rbp - 0x80]
cmp esi, 1
jg 0x180014fb8
lea rax, str.keep_alive
test esi, esi
lea r8, str.close
mov rcx, rbx
cmovne r8, rax
mov rax, qword [rsp + 0x38]
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014fa0
add rcx, rax
lea rdx, str.Connection:__s_r_n
call sym.ProxyProtocol.dll_sprintf
cmp qword [rdi + 0x128], 0
je 0x18001507f
cmp dword [rbp - 0x54], 0
lea rax, str.Proxy_Authorization
lea r8, str.Authorization
mov rcx, rbx
cmovne r8, rax
mov rax, qword [rsp + 0x38]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014fe4
add rcx, rax
lea rdx, str._s:_Basic
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rdi + 0x130]
lea r9, [0x18004e577]
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, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180015035
mov rax, qword [rsp + 0x38]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], 0
jne 0x180015047
add rdx, rax
lea rcx, [rbp + 0x90]
call sym.ProxyProtocol.dll_en64
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015067
add rcx, rax
lea rdx, [0x180052198]
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015087
add rcx, rax
lea rdx, [0x180052198]
call sym.ProxyProtocol.dll_sprintf
mov rdx, qword [rsp + 0x38]
mov r8, 0xffffffffffffffff
mov ebx, r15d
add rdx, rbx
inc r8
cmp byte [rdx + r8], 0
jne 0x1800150b1
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x78]
call sym.ProxyProtocol.dll_socksend
mov rcx, qword [rsp + 0x38]
add rcx, rbx
movsxd r13, eax
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp byte [rcx + rax], 0
jne 0x1800150e0
cmp r13d, eax
jne 0x180015f51
add qword [rdi + 0x1c8], r13
inc dword [rdi + 0x1dc]
mov r9, qword [rdi + 0x20]
test r9, r9
je 0x180015125
mov rax, qword [rsp + 0x38]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180015110
xor edx, edx
mov rcx, rdi
call r9
mov dword [rbp - 0x5c], eax
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x18001515e
mov qword [rdi + 0x98], rcx
xor r8d, r8d
mov edx, dword [0x180065900]
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov qword [rdi + 0x98], 0
mov r13d, eax
cmp eax, 0x63
jne 0x180015e12
mov r8, qword [rsp + 0x38]
xor ebx, ebx
mov dword [rdi + 0x100], ebx
mov r13d, ebx
mov eax, dword [0x1800658fc]
mov r9d, 0xfff
mov dword [rsp + 0x28], eax
mov rcx, rdi
lea edx, [rbx + 1]
mov dword [rsp + 0x68], esi
mov qword [rsp + 0x70], rbx
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov r14d, ebx
mov qword [rsp + 0x60], r13
mov dword [rsp + 0x20], 0xa
call sym.ProxyProtocol.dll_sockgetlinebuf
mov edi, eax
cmp eax, 2
jle 0x180015574
mov r15, qword [rsp + 0x50]
test r13d, r13d
jne 0x1800151e7
cmp edi, 9
jbe 0x1800151e7
movsxd rdx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
add rdx, 9
add rcx, rdx
call fcn.1800363fc
mov r13d, eax
mov dword [r15 + 0xe0], eax
mov qword [rsp + 0x60], r13
cmp edi, 0x19
jb 0x18001520c
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180039b9c
test eax, eax
je 0x180015239
cmp edi, 0x10
jbe 0x1800152c7
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.180039b9c
test eax, eax
jne 0x1800152cc
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.180027f20
test rax, rax
je 0x180015512
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x180015280
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180015270
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.180039b9c
mov ebx, dword [rsp + 0x68]
test eax, eax
mov eax, 0
cmovne ebx, eax
mov rax, qword [r15 + 0x10]
mov dword [rsp + 0x68], ebx
cmp dword [rax + 0x68], 0
jne 0x1800154c4
cmp r13d, 0xc8
jge 0x180015512
jmp 0x1800154c4
cmp edi, 6
jbe 0x180015322
mov rax, qword [r15 + 0x10]
cmp dword [rax + 0x68], 0
jne 0x1800152fa
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_
add rcx, qword [rsp + 0x38]
mov r8d, 6
call fcn.180039b9c
test eax, eax
je 0x180015512
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.www_authenticate
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recv
call fcn.180039b9c
test eax, eax
jne 0x180015322
lea esi, [rax + 1]
jmp 0x1800154c4
cmp edi, 0xf
jbe 0x180015423
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180039b9c
test eax, eax
jne 0x180015423
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.180027f20
test rax, rax
je 0x180015512
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x1800153a0
nop
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180015390
lea r8, [rsp + 0x70]
mov rcx, rbx
lea rdx, str._llu
call sym.ProxyProtocol.dll_sscanf
cmp dword [r15 + 0xd4], 0
mov r14d, 1
je 0x1800153d9
cmp dword [r15 + 0xd0], 0
jle 0x1800153d9
mov r14d, 2
jmp 0x180015512
mov rdx, qword [r15 + 0x168]
test rdx, rdx
je 0x1800154c4
mov rcx, qword [r15 + 0x1d0]
cmp rdx, rcx
jb 0x180015403
add rcx, qword [rsp + 0x70]
cmp rcx, rdx
jbe 0x1800154c4
mov rsi, qword [rsp + 0x40]
mov ecx, 0xa
mov rdi, r15
mov dword [r15 + 0xdc], ecx
mov r14d, ecx
lea rbx, [rcx - 0xb]
jmp 0x180016036
cmp edi, 0x19
jbe 0x1800154c4
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.transfer_encoding
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180039b9c
test eax, eax
jne 0x1800154c4
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.180027f20
test rax, rax
je 0x180015512
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002be20
test eax, eax
je 0x1800154a0
nop dword [rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002be20
test eax, eax
jne 0x180015490
mov r8d, 7
lea rdx, str.chunked
mov rcx, rbx
call fcn.180039b9c
test eax, eax
jne 0x1800154c4
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 0x180015512
cmp edx, 0x4e20
jg 0x180015e40
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002babc
test rax, rax
je 0x180015e1f
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
movsxd r8, dword [rsp + 0x30]
mov ecx, 8
test r13d, r13d
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 + 0x658f0]
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 0x1800151b8
lea eax, [r13 - 0xc8]
xor ebx, ebx
cmp eax, 0x12b
jbe 0x18001557d
mov r15d, ebx
mov dword [rsp + 0x68], ebx
jmp 0x180015582
mov r15d, dword [rsp + 0x68]
cmp r13d, 0x130
je 0x180015594
cmp r13d, 0xcc
jne 0x1800155a4
test r14d, r14d
jne 0x1800155a4
mov r14d, 1
mov qword [rsp + 0x70], rbx
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x1800155d3
mov edx, dword [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
call rax
mov ecx, dword [rbp - 0x5c]
cmp eax, ecx
cmovg ecx, eax
mov dword [rbp - 0x5c], ecx
test ecx, ecx
jle 0x1800155d3
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 0x180015f46
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 0x180015f1c
test eax, eax
jne 0x180015e64
mov rdx, qword [rsp + 0x70]
mov dword [rdi + 0xf4], ebx
movsxd rax, dword [0x180065998]
test eax, eax
je 0x180015646
cmp rdx, rax
jbe 0x180015646
mov dword [rdi + 0xf4], 1
jmp 0x180015737
cmp dword [rdi + 0xd0], 0
jle 0x180015737
test rdx, rdx
je 0x180015749
cmp dword [rdi + 0xb4], 0x800
je 0x180015737
cmp r13d, 0xcc
je 0x180015737
cmp r13d, 0x130
je 0x180015737
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffsrv
mov rdx, qword [rsp + 0x70]
movsxd rcx, eax
cmp rcx, rdx
jne 0x180015737
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x180015f1c
test eax, eax
jne 0x180015e83
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 0x180015c7f
test eax, eax
jne 0x180015e64
mov r8d, dword [rbx]
mov rcx, 0xffffffffffffffff
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x70], r8
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015712
add rcx, rax
lea rdx, str.Content_Length:__llu_r_n
call sym.ProxyProtocol.dll_sprintf
mov rdx, qword [rsp + 0x70]
xor ebx, ebx
mov r14d, 1
test rdx, rdx
je 0x180015749
cmp r14d, 1
cmovne r15d, ebx
mov dword [rsp + 0x68], r15d
test r12d, r12d
jne 0x18001575b
cmp dword [rdi + 0xb4], r12d
je 0x180015848
mov rbx, 0xffffffffffffffff
test esi, esi
je 0x18001578f
cmp dword [rdi + 0xfc], 0
jne 0x18001578f
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015777
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 0x1800157e8
cmp r13d, 0xc8
jl 0x1800157e8
cmp r15d, 1
jg 0x1800157e8
test r14d, r14d
je 0x1800157b9
lea r8, str.keep_alive
test r15d, r15d
jne 0x1800157c0
lea r8, str.close
mov rax, qword [rsp + 0x38]
mov rcx, rbx
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800157d0
add rcx, rax
lea rdx, str.Connection:__s_r_n
call sym.ProxyProtocol.dll_sprintf
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800157f0
add rcx, rax
lea rdx, [0x180052198]
call sym.ProxyProtocol.dll_sprintf
mov rdx, qword [rsp + 0x38]
mov r8, rbx
inc r8
cmp byte [rdx + r8], 0
jne 0x180015810
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rdx, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rdx + rcx], 0
jne 0x180015832
cmp eax, ecx
jne 0x180015f2c
mov rdx, qword [rsp + 0x70]
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x18001585b
test rdx, rdx
je 0x1800159de
cmp dword [rdi + 0xb4], 0x800
je 0x1800159de
cmp r13d, 0xcc
je 0x1800159de
cmp r13d, 0x130
je 0x1800159de
test eax, eax
je 0x180015990
mov eax, dword [0x1800658f8]
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 0x180015917
nop dword [rax]
mov r9d, dword [0x1800658f8]
lea rdx, [rbp - 8]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x180015a69
cmp dword [rdi + 0x100], 2
je 0x180015917
mov eax, dword [0x1800658f8]
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 0x1800158c0
cmp ebx, 3
jl 0x180015a8a
mov r9d, dword [0x1800658f8]
lea rdx, [rbp - 8]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call sym.ProxyProtocol.dll_socksend
cmp eax, ebx
jne 0x180015eaa
cmp dword [rdi + 0x100], 2
je 0x180015a18
movsxd rax, ebx
cmp rax, 0x20
jae 0x180016316
xor ebx, ebx
mov byte [rbp + rax - 8], 0
lea r8, [rsp + 0x70]
mov qword [rsp + 0x70], rbx
lea rdx, str._llx
lea rcx, [rbp - 8]
call sym.ProxyProtocol.dll_sscanf
mov rdx, qword [rsp + 0x70]
test rdx, rdx
jne 0x180015992
mov dword [rdi + 0x100], 2
jmp 0x180015992
xor ebx, ebx
cmp dword [rdi + 0x100], 2
je 0x1800159d0
mov qword [rdi + 0xa0], rdx
xor r8d, r8d
mov edx, dword [0x180065900]
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov r13d, eax
mov qword [rsp + 0x60], r13
cmp eax, 0x62
jne 0x180015eb5
mov rdx, qword [rsp + 0x70]
mov qword [rdi + 0xa0], rbx
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x18001588d
mov esi, dword [rbp - 0x80]
xor ebx, ebx
test r12d, r12d
jne 0x180015a93
cmp r13d, 0xc8
jne 0x180015a02
cmp dword [rdi + 0xb4], r12d
jne 0x180015ec9
mov esi, 1
mov qword [rsp + 0x70], rbx
mov r15d, esi
mov dword [rsp + 0x68], esi
jmp 0x180015ac1
mov eax, dword [0x1800658f8]
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 0x180015e9f
mov r9d, dword [0x1800658f8]
lea rdx, [rbp - 8]
mov rcx, qword [rdi + 0x70]
mov r8d, eax
call sym.ProxyProtocol.dll_socksend
cmp eax, 2
je 0x1800159de
mov r14d, 0x215
mov rsi, qword [rsp + 0x40]
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
mov rbx, 0xffffffffffffffff
jmp 0x180016036
xor ebx, ebx
mov esi, ebx
jmp 0x1800159e3
test r14d, r14d
jne 0x180015aa5
cmp dword [rdi + 0x100], r14d
je 0x180015ec9
mov qword [rsp + 0x70], rbx
test r15d, r15d
je 0x180015ab3
test esi, esi
jne 0x180015ac1
mov rcx, qword [rdi + 0x78]
cmp rcx, 0xffffffffffffffff
jne 0x180015eff
mov rbx, 0xffffffffffffffff
xor r14d, r14d
cmp dword [rdi + 0xfc], 0
je 0x180015ae5
test r15d, r15d
je 0x180015eee
test esi, esi
je 0x180015eee
mov r9d, dword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x38]
call fcn.180012b30
mov r12, qword [rsp + 0x40]
xor r15d, r15d
mov r13d, dword [rbp - 0x50]
mov dword [rdi + 0xe0], r15d
lea r14d, [r15 + 0x15]
jmp 0x180012d04
mov dword [rdi + 0xdc], 0x22b
mov rsi, qword [rsp + 0x40]
jmp 0x180016296
mov r13, qword [rsp + 0x60]
mov ecx, 0x201
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov ecx, 0x203
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016036
mov r14d, 0x64
mov rbx, 0xffffffffffffffff
jmp 0x180015fa8
mov r13, qword [rsp + 0x60]
mov r14d, 0x64
mov rdi, rsi
mov dword [rsi + 0xdc], r14d
mov rsi, qword [rsp + 0x40]
mov ecx, r14d
lea rbx, [r14 - 0x65]
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov ecx, 0xa
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
lea rbx, [rcx - 0xb]
jmp 0x180016036
mov r14d, reloc.WS2_32.dll_setsockopt
jmp 0x180015fa8
mov r14d, 0x204
mov rbx, 0xffffffffffffffff
jmp 0x180015fa8
mov r13, qword [rsp + 0x60]
mov ecx, 0x205
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
mov rbx, 0xffffffffffffffff
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov ecx, reloc.WS2_32.dll_send
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov ecx, 4
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016036
mov r14d, eax
mov rdi, rsi
mov rbx, 0xffffffffffffffff
jmp 0x180016006
mov r13, qword [rsp + 0x60]
mov r14d, 0x30d
jmp 0x180015a6f
mov r13, qword [rsp + 0x60]
mov r14d, reloc.WS2_32.dll_setsockopt
jmp 0x180015a6f
mov r14d, r13d
mov rbx, 0xffffffffffffffff
jmp 0x180016006
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
xor eax, eax
mov dword [rdi + 0xdc], eax
jmp 0x180016296
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_n_r_n]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], r14b
jne 0x180015ca0
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov rbx, qword [rdi + 0x78]
mov eax, 0x20000
mov qword [rdi + 0x78], rsi
cmp dword [rdi + 0xb4], eax
jne 0x180015cdf
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x180015cdf
mov qword [rdi + 0x98], rax
mov edx, dword [0x180065904]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
cmp eax, 0x63
mov rcx, rsi
cmovne r14d, eax
call qword [0x1800658a8]
mov qword [rdi + 0x78], rbx
mov r13d, r14d
mov rbx, 0xffffffffffffffff
jmp 0x180016006
mov ecx, 0x30c
mov rbx, 0xffffffffffffffff
mov dword [rdi + 0xdc], ecx
mov r14d, ecx
jmp 0x180016033
mov rdi, qword [rsp + 0x50]
mov r14d, reloc.WS2_32.dll_setsockopt
mov r13, qword [rsp + 0x60]
mov ecx, r14d
mov rsi, rax
mov dword [rdi + 0xdc], r14d
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov r14d, 0x31f
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016036
mov rdx, qword [str.HTTP_1.0_200_Connection_established_r_n_r_n]
mov r8, rbx
inc r8
cmp byte [rdx + r8], r14b
jne 0x180015d73
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp qword [rdi + 0x18], r14
je 0x180015dba
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180015da0
call fcn.18002baa0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015daf
call fcn.18002baa0
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x1800162e0
mov edx, dword [0x180065904]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
cmp qword [rdi + 0x18], 0
mov r14d, eax
mov dword [rdi + 0xdc], eax
je 0x180015e03
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180015de9
call fcn.18002baa0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015df8
call fcn.18002baa0
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x1800162e0
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
jmp 0x18001600a
mov r12, qword [rsp + 0x40]
mov r14d, eax
jmp 0x180016006
mov rsi, qword [rsp + 0x40]
mov r14d, reloc.WS2_32.dll_setsockopt
mov rdi, r15
mov dword [r15 + 0xdc], r14d
mov ecx, r14d
lea rbx, [r14 - 0x16]
jmp 0x180016036
mov rsi, qword [rsp + 0x40]
mov r14d, 0x204
mov dword [r15 + 0xdc], r14d
mov ecx, r14d
mov rdi, r15
mov rbx, 0xffffffffffffffff
jmp 0x180016036
mov rsi, qword [rsp + 0x40]
mov ecx, 0x205
mov dword [rdi + 0xdc], ecx
mov r14d, ecx
mov rbx, 0xffffffffffffffff
jmp 0x180016036
mov rsi, qword [rsp + 0x40]
mov ecx, reloc.WS2_32.dll_send
mov dword [rdi + 0xdc], ecx
mov r14d, ecx
lea rbx, [rcx - 0x14]
jmp 0x180016036
mov r14d, 0x216
jmp 0x180015a6f
mov r14d, 0x217
jmp 0x180015a6f
mov r12, qword [rsp + 0x40]
mov r14d, r13d
mov rbx, 0xffffffffffffffff
jmp 0x180016006
mov edx, dword [0x180065900]
xor r8d, r8d
mov rcx, rdi
call sym.ProxyProtocol.dll_sockmap
mov r12, qword [rsp + 0x40]
mov r14d, eax
mov rbx, 0xffffffffffffffff
jmp 0x180016006
mov rsi, qword [rsp + 0x40]
mov dword [rdi + 0xdc], r14d
jmp 0x180016296
mov edx, 2
call qword [0x1800658a0]
mov rcx, qword [rdi + 0x78]
call qword [0x1800658a8]
mov qword [rdi + 0x78], 0xffffffffffffffff
mov rsi, qword [rsp + 0x40]
mov dword [rdi + 0xdc], ebx
jmp 0x180016296
mov rsi, qword [rsp + 0x40]
mov r14d, 0x209
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016036
mov r14d, 0x20a
jmp 0x180015a6f
mov rsi, qword [rsp + 0x40]
mov r14d, 0x206
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
mov r14d, r13d
jmp 0x18001600a
mov r13, qword [rsp + 0x60]
mov ecx, 0x205
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016036
mov r14d, 0x64
jmp 0x180015fa8
mov r14d, 0x202
mov r13, qword [rsp + 0x60]
mov ecx, r14d
mov rsi, qword [rsp + 0x40]
mov dword [rdi + 0xdc], r14d
jmp 0x180016036
mov r13, qword [rsp + 0x60]
mov ecx, 0x200
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016036
mov r14d, 0x1ff
jmp 0x180015fa8
mov r14d, 0x1fe
jmp 0x180015fa8
test esi, esi
je 0x180015ff4
mov r14d, 0x22b
jmp 0x180016001
neg r15d
sbb r14d, r14d
add r14d, 0x1fc
mov r13, qword [rsp + 0x60]
mov esi, dword [rsp + 0x48]
mov dword [rdi + 0xdc], r14d
cmp r14d, 0x22b
je 0x180015b21
mov qword [rsp + 0x40], r12
mov ecx, r14d
mov dword [rsp + 0x48], esi
test r14d, r14d
je 0x180016293
mov rsi, r12
cmp qword [rdi + 0x70], 0xffffffffffffffff
je 0x180016296
lea eax, [r14 - 0x5a]
cmp eax, 0x2c5
ja 0x180016063
cmp ecx, 0x64
je 0x1800160ae
lea eax, [r14 - 0x1f5]
cmp eax, 0x12a
ja 0x180016296
lea eax, [rcx - 0x1fd]
cmp eax, 7
jbe 0x180016076
cmp ecx, 0x385
jl 0x1800160ae
mov esi, 0x1fff
nop dword [rax + rax]
mov eax, dword [0x1800658f8]
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
cmp eax, 2
jg 0x180016080
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rdi + 0xdc]
cmp ecx, 0xa
jne 0x1800160ce
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]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800160c0
jmp 0x180016209
lea eax, [r13 - 0x2bc]
cmp eax, 1
jbe 0x18001625f
cmp ecx, 0x64
je 0x18001624d
lea eax, [rcx - 0xb]
cmp eax, 8
jbe 0x18001624d
lea eax, [rcx - 0x2be]
cmp eax, 3
jbe 0x18001624d
cmp ecx, 0x14
jl 0x18001613e
cmp ecx, 0x1e
jge 0x180016121
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]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016113
jmp 0x180016209
cmp ecx, 0x50
jge 0x180016147
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]
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016130
jmp 0x180016209
cmp ecx, 1
je 0x18001623b
mov rdx, qword [rdi + 0x10]
cmp dword [rdx + 0x60], 0
jne 0x18001617e
cmp ecx, 0xa
jl 0x18001623b
cmp ecx, 0x3e7
jne 0x1800161ae
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]
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016170
jmp 0x180016209
cmp ecx, 0xa
jge 0x18001615a
cmp dword [rdx + 0x5c], 0
mov ecx, 0x60
mov eax, gethostname
cmovne eax, ecx
lea rcx, [0x180000000]
mov rdx, qword [rax + rcx + 0x64e80]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800161a3
jmp 0x180016209
cmp ecx, 0x207
jne 0x1800161cb
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]
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800161c0
jmp 0x180016209
cmp ecx, 0x205
jne 0x1800161eb
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]
nop word [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800161e0
jmp 0x180016209
cmp ecx, 0x30c
jne 0x18001621e
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]
nop word [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016200
mov r8, rbx
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x180016296
lea eax, [rcx - 0x1ff]
cmp eax, 5
ja 0x180016296
mov rdx, qword [sym.ProxyProtocol.dll_proxy_stringtable]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016230
jmp 0x180016209
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]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016242
jmp 0x180016209
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]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016254
jmp 0x180016209
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]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016266
mov r9d, dword [0x1800658f8]
mov r8, rbx
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
mov r8d, dword [rsp + 0x7c]
lea rdx, [rbp + 0x490]
jmp 0x18001620c
mov rsi, r12
mov r9d, dword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x38]
call fcn.180012b30
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x1800162ba
call fcn.18002baa0
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800162c9
call fcn.18002baa0
test rsi, rsi
je 0x1800162d6
mov rcx, rsi
call fcn.18002baa0
mov rcx, rdi
call sym.ProxyProtocol.dll_freeparam
xor eax, eax
mov rcx, qword [rbp + 0xa90]
xor rcx, rsp
call fcn.180027110
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.180027238
int3
call fcn.180027238
int3