Function at 0x180012d90
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.18002bc34
mov qword [rsp + 0x38], rax
lea rbx, [r15 - 1]
lea r14d, [r15 + 0x15]
test rax, rax
jne 0x180012e4a
mov r13, qword [rsp + 0x60]
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016196
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x58], 0x2000
mov ecx, dword [rax + 0x94]
mov dword [rbp - 0x40], ecx
jmp 0x180012e64
xor r15d, r15d
movsxd r8, dword [rsp + 0x58]
xor edx, edx
mov rcx, qword [rsp + 0x38]
call fcn.18004c7e0
mov dword [rsp + 0x30], r15d
test esi, esi
je 0x180012f66
mov eax, dword [rdi + 0x150]
cmp dword [rdi + 0x148], eax
jne 0x180012f66
mov rcx, qword [rdi + 0x78]
cmp rcx, 0xffffffffffffffff
je 0x180012f66
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 0x180015c77
mov eax, 0x307
test word [rbp + 0x3a], ax
je 0x180012f66
cmp dword [rdi + 0xfc], 0
jne 0x180015c77
cmp dword [rdi + 0xb0], 0
jne 0x180012f1b
cmp dword [rdi + 0x90], 4
je 0x180015c77
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 0x180016148
cmp r15d, 2
jne 0x180012fb2
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0xd
jne 0x180012fb2
cmp byte [rax + 1], 0xa
je 0x180012e61
mov rax, qword [rsp + 0x38]
mov byte [r15 + rax], 0
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x18001304f
cmp dword [rdi + 0xfc], 0
jne 0x180013046
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x180013046
cmp r15d, r13d
jle 0x180012ff2
mov rcx, qword [rsp + 0x38]
movsxd r8, r13d
call fcn.180039cfc
test eax, eax
je 0x180013046
mov rcx, qword [rdi + 0x78]
xor r12d, r12d
mov dword [rsp + 0x68], r12d
cmp rcx, 0xffffffffffffffff
je 0x180013019
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.18002bc20
mov rcx, qword [rsp + 0x38]
call fcn.180034790
mov qword [rbp - 0x78], rax
test rax, rax
je 0x180016140
cmp r15d, 0xa
jl 0x180016138
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.180039cfc
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.1800280a0
test rax, rax
je 0x18001611e
lea r13, [rax + 1]
mov rsi, r13
mov rcx, r13
test r12d, r12d
je 0x180013137
mov r8d, 7
lea rdx, str.http:__
call fcn.180039cfc
test eax, eax
jne 0x1800130f1
mov rax, qword [rbp - 0x68]
lea rsi, [r13 + 7]
jmp 0x18001315a
mov r8d, 6
lea rdx, str.ftp:__
mov rcx, r13
call fcn.180039cfc
test eax, eax
jne 0x18001311c
mov rax, qword [rbp - 0x68]
lea rsi, [r13 + 6]
mov dword [rsp + 0x48], 1
jmp 0x18001315a
cmp byte [r13], 0x2f
jne 0x180015c8b
mov rax, qword [rbp - 0x68]
mov dword [rdi + 0xfc], 1
jmp 0x18001315a
mov edx, 0x20
call fcn.1800280a0
mov qword [rbp - 0x68], rax
test rax, rax
je 0x180016102
cmp r13, rax
je 0x180016102
mov byte [rax], 0
cmp dword [rdi + 0xfc], 0
je 0x18001316e
test r12d, r12d
jne 0x18001334a
jmp 0x1800131c5
test r12d, r12d
je 0x1800131c5
mov edx, 0x2f
mov rcx, rsi
call fcn.1800280a0
mov qword [rbp - 0x68], rax
test rax, rax
je 0x180015ca8
cmp rsi, rax
je 0x180015ca8
mov edx, 0x20
mov rcx, rsi
call fcn.1800280a0
mov qword [rbp - 0x28], rax
mov rcx, rax
test rax, rax
je 0x180015ca8
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.18002811c
mov rcx, rsi
test rax, rax
je 0x1800132f7
call fcn.180034790
mov r14, rax
mov rdi, rax
mov rbx, rax
movzx edx, byte [rax]
test dl, dl
je 0x1800132b2
nop
cmp dl, 0x25
jne 0x180013290
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180013223
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180013223
sub cl, 0x41
cmp cl, 5
ja 0x180013295
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x18001323d
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x18001323d
sub cl, 0x41
cmp cl, 5
ja 0x180013295
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 0x18001328a
cmp eax, 0xa
je 0x18001328a
cmp eax, 0x22
je 0x18001327f
cmp eax, 0x5c
je 0x18001327f
cmp eax, 0xff
jne 0x180013285
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x1800132a7
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x1800132a7
cmp dl, 0x3f
je 0x1800132b2
inc rdi
cmp dl, 0x2b
jne 0x1800132a2
mov byte [rbx], 0x20
jmp 0x1800132a4
mov byte [rbx], dl
inc rbx
movzx edx, byte [rdi]
test dl, dl
jne 0x180013200
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 0x180015cc5
mov rcx, r14
call fcn.18002bc20
mov rbx, 0xffffffffffffffff
jmp 0x180013317
cmp dword [rsp + 0x48], 0
mov r8d, 0x50
mov rdx, rdi
cmovne r8w, r14w
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x1800160fa
test r12d, r12d
je 0x18001334a
mov rcx, qword [rbp - 0x68]
cmp rcx, qword [rbp - 0x28]
jne 0x180013330
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.18004cc80
mov rcx, qword [rsp + 0x38]
mov r14, rbx
inc r14
cmp byte [rcx + r14], 0
jne 0x180013352
mov r8d, 7
lea rdx, [0x18004fe28]
mov r15d, r14d
call fcn.180039cfc
test eax, eax
jne 0x18001337f
mov eax, 0x1000
jmp 0x180013446
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180051f58]
mov ebx, 3
mov r8d, ebx
call fcn.180039cfc
test eax, eax
jne 0x1800133b3
cmp dword [rsp + 0x48], 0
mov eax, 0x100
mov ecx, 0x10000
cmovne eax, ecx
jmp 0x180013446
mov rcx, qword [rsp + 0x38]
lea rdx, [0x180051f5c]
mov r8, rbx
call fcn.180039cfc
test eax, eax
jne 0x1800133df
cmp dword [rsp + 0x48], 0
mov eax, 0x200
mov ecx, 0x20000
cmovne eax, ecx
jmp 0x180013446
mov rcx, qword [rsp + 0x38]
lea rdx, str.POST
mov r8d, 4
call fcn.180039cfc
test eax, eax
je 0x180013441
mov rcx, qword [rsp + 0x38]
lea rdx, str.BITS_POST
mov r8d, 9
call fcn.180039cfc
test eax, eax
je 0x180013441
mov rcx, qword [rsp + 0x38]
lea rdx, str.HEAD
mov r8d, 4
call fcn.180039cfc
mov rcx, rdi
test eax, eax
jne 0x18001343a
mov eax, 0x800
jmp 0x180013449
mov eax, 0x8000
jmp 0x180013449
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 0x180013877
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x68], 0
jne 0x180013877
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_send
call fcn.180039cfc
test eax, eax
jne 0x180013877
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.1800280a0
test rax, rax
je 0x180013d4f
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x1800134e0
nop dword [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x1800134d0
cmp byte [rbx], 0
je 0x180013d4f
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.180039cfc
test eax, eax
jne 0x1800136c6
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002bfa0
test eax, eax
je 0x180013530
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x180013520
mov r8d, 0xff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x180013d4f
cdqe
cmp rax, 0x400
jae 0x180016470
mov edx, 0x3a
mov byte [rbp + rax + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.1800280a0
mov rbx, rax
test rax, rax
je 0x1800135aa
mov byte [rax], 0
mov rcx, qword [rdi + 0x120]
test rcx, rcx
je 0x180013590
call fcn.18002bc20
lea rcx, [rbx + 1]
call fcn.180034790
mov qword [rdi + 0x120], rax
mov dword [rdi + 0xe4], 0
mov rcx, qword [rdi + 0x118]
test rcx, rcx
je 0x1800135bb
call fcn.18002bc20
lea rcx, [rbp + 0x90]
call fcn.180034790
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 0x180013450
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 0x180013622
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 0x180015ddf
test eax, eax
jne 0x1800160dd
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 0x180015ddf
test eax, eax
jne 0x1800160dd
mov rdx, qword [rsp + 0x70]
xor r14d, r14d
mov dword [rdi + 0xf4], r14d
movsxd rax, dword [0x180065998]
test eax, eax
je 0x180013f91
cmp rdx, rax
jbe 0x180013f91
mov dword [rdi + 0xf4], 1
jmp 0x18001404a
mov rax, qword [rdi + 0x10]
cmp dword [rax + 0x5c], 0
je 0x180013877
mov r8d, 4
lea rdx, str.ntlm
mov rcx, rbx
call fcn.180039cfc
test eax, eax
jne 0x180013877
movzx ecx, byte [rbx + 4]
add rbx, 4
call fcn.18002bfa0
test eax, eax
je 0x180013712
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x180013702
mov r8d, 0x3ff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
movsxd rsi, eax
cmp esi, 0x10
jle 0x180013d4f
cmp rsi, 0x400
jae 0x180016470
mov r8d, 8
mov byte [rbp + rsi + 0x90], 0
lea rdx, str.NTLMSSP
lea rcx, [rbp + 0x90]
call fcn.180039cfc
test eax, eax
jne 0x180013d4f
movzx eax, byte [rbp + 0x98]
cmp al, 1
je 0x180013db9
cmp al, 3
jne 0x180013d4f
cmp dword [rdi + 0xe4], 2
jne 0x180013d4f
cmp esi, 0x50
jl 0x180013d4f
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 0x180013d4f
lea eax, [rdx + 0x18]
cmp eax, esi
ja 0x180013d4f
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 0x180013d4f
lea eax, [rbx + rdi]
cmp eax, esi
ja 0x180013d4f
mov rsi, qword [rsp + 0x50]
mov rcx, qword [rsi + 0x118]
test rcx, rcx
je 0x180013844
call fcn.18002bc20
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.180034790
mov qword [rsi + 0x118], rax
mov rdi, rsi
jmp 0x1800135ce
test r12d, r12d
je 0x180013950
cmp r14d, 0x19
jle 0x1800138a6
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180039cfc
test eax, eax
je 0x1800138d4
cmp r14d, 0x10
jle 0x180013950
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.180039cfc
test eax, eax
jne 0x180013956
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.1800280a0
test rax, rax
je 0x180013d4f
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x180013912
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x180013902
mov r8d, 7
lea rdx, str.upgrade
mov rcx, rbx
call fcn.180039cfc
test eax, eax
je 0x180013950
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.180039cfc
xor esi, esi
test eax, eax
sete sil
mov dword [rbp - 0x80], esi
jmp 0x1800135ce
cmp r14d, 0xb
jle 0x1800139af
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Expect:_100
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.180039cfc
test eax, eax
jne 0x1800139af
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 0x180013990
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x1800135d5
cmp dword [rdi + 0xfc], 0
je 0x180013b30
cmp r14d, 6
jle 0x180013b30
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.Host:
add rcx, qword [rsp + 0x38]
mov r8d, 5
call fcn.180039cfc
test eax, eax
jne 0x180013b30
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.1800280a0
test rax, rax
je 0x180013d4f
movzx ecx, byte [rax + 1]
lea rdi, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x180013a30
nop word [rax + rax]
movzx ecx, byte [rdi + 1]
inc rdi
call fcn.18002bfa0
test eax, eax
jne 0x180013a20
mov edx, reloc.WS2_32.dll_listen
mov rcx, rdi
call fcn.1800280a0
mov qword [rbp - 0x68], rax
test rax, rax
jne 0x180013a5a
lea edx, [rax + 0xa]
mov rcx, rdi
call fcn.1800280a0
mov qword [rbp - 0x68], rax
test rax, rax
je 0x180013a63
movzx ecx, byte [rax]
mov byte [rbp - 0x70], cl
mov byte [rax], 0
mov rsi, qword [rsp + 0x50]
cmp qword [rsi + 0x110], 0
jne 0x180013a8b
mov r8d, 0x50
mov rdx, rsi
mov rcx, rdi
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
jne 0x180015cd7
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 0x180013aa0
mov rdx, qword [rbp - 0x78]
mov rax, r8
inc rax
cmp byte [rdx + rax], 0
jne 0x180013ab0
add rax, 8
add rcx, rax
call fcn.18002bc34
mov rsi, rax
test rax, rax
je 0x180013b1c
mov rcx, qword [rbp - 0x78]
mov edx, 0x2f
inc rcx
call fcn.1800280a0
mov rdx, qword [rbp - 0x78]
mov r8, rax
sub r8, rdx
mov rcx, rsi
mov rbx, rax
call fcn.18004cc80
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.18002bc20
mov qword [rbp - 0x78], rsi
mov rcx, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x50]
test rcx, rcx
je 0x180013b30
movzx eax, byte [rbp - 0x70]
mov byte [rcx], al
cmp dword [rsp + 0x48], 0
je 0x180013c99
cmp r14d, 0xd
jle 0x180013c99
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.authorization
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_listen
call fcn.180039cfc
test eax, eax
jne 0x180013c99
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.1800280a0
test rax, rax
je 0x180013d4f
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x180013bb0
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x180013ba0
cmp byte [rbx], 0
je 0x180013d4f
mov r8d, 5
lea rdx, str.basic
mov rcx, rbx
call fcn.180039cfc
test eax, eax
jne 0x180013c99
movzx ecx, byte [rbx + 5]
add rbx, 5
call fcn.18002bfa0
test eax, eax
je 0x180013c00
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x180013bf0
mov r8d, 0xff
lea rdx, [rbp + 0x90]
mov rcx, rbx
call sym.ProxyProtocol.dll_de64
test eax, eax
jle 0x180013d4f
cdqe
cmp rax, 0x400
jae 0x180016470
mov edx, 0x3a
mov byte [rbp + rax + 0x90], 0
lea rcx, [rbp + 0x90]
call fcn.1800280a0
mov rbx, rax
test rax, rax
je 0x180013c70
mov byte [rax], 0
mov rcx, qword [rdi + 0x130]
test rcx, rcx
je 0x180013c60
call fcn.18002bc20
lea rcx, [rbx + 1]
call fcn.180034790
mov qword [rdi + 0x130], rax
mov rcx, qword [rdi + 0x128]
test rcx, rcx
je 0x180013c81
call fcn.18002bc20
lea rcx, [rbp + 0x90]
call fcn.180034790
mov qword [rdi + 0x128], rax
jmp 0x1800135ce
cmp r14d, 0xf
jle 0x180013d59
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180039cfc
test eax, eax
jne 0x180013d59
movsxd rcx, dword [rsp + 0x30]
lea edx, [rax + 0x3a]
add rcx, qword [rsp + 0x38]
call fcn.1800280a0
test rax, rax
je 0x180013d4f
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x180013d00
nop
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x180013cf0
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 0x180013d41
mov rcx, qword [rdi + 0x1c8]
cmp rax, rcx
jb 0x180015cfd
sub rax, rcx
cmp rdx, rax
ja 0x180015cfd
cmp dword [rdi + 0xcc], 0
jle 0x180013d59
test rdx, rdx
je 0x180013d59
mov rdi, qword [rsp + 0x50]
jmp 0x1800135ce
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 0x1800135ce
mov eax, 0x10000
cmp edx, eax
jg 0x180015d29
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002bc3c
mov rbx, 0xffffffffffffffff
test rax, rax
je 0x180015d1e
add dword [rsp + 0x58], 0x2000
mov qword [rsp + 0x38], rax
jmp 0x1800135d5
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 0x180013e60
nop dword [rax]
cmp ebx, 0xf
jbe 0x180013e35
mov rcx, qword [rsp + 0x38]
lea rdx, str.content_length
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180039cfc
test eax, eax
jne 0x180013e35
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 0x180013df0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x180013eb8
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 0x180013eb8
mov rcx, qword [rsp + 0x70]
cdqe
cmp rax, rcx
ja 0x180013eb8
sub rcx, rax
mov qword [rsp + 0x70], rcx
jne 0x180013e70
mov rcx, qword [rdi + 0x120]
xor r14d, r14d
mov qword [rsp + 0x70], r14
test rcx, rcx
je 0x180013ed1
call fcn.18002bc20
mov ecx, 0x20
call fcn.18002bc34
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 0x180013f00
mov rcx, qword [rsp + 0x38]
movsxd rbx, eax
mov r8, rbx
call fcn.18004cc80
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 0x180013f40
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 0x180013f67
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 0x180015c2b
cmp dword [rdi + 0xcc], r14d
jle 0x18001404a
test rdx, rdx
je 0x18001404a
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffcli
mov r8, qword [rsp + 0x70]
movsxd rcx, eax
cmp rcx, r8
jne 0x18001402a
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x18001604e
test eax, eax
jne 0x180015d5f
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 0x18001604e
test eax, eax
jne 0x180015d3b
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 0x180014032
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 0x180014061
cmp qword [rdi + 0x118], r14
je 0x180015d7c
mov rcx, rdi
call qword [rax + 0x28]
mov esi, dword [rsp + 0x48]
mov qword [rsp + 0x60], rax
test eax, eax
jne 0x1800160cb
test esi, esi
je 0x180014def
cmp dword [rdi + 0x90], 4
je 0x180014def
mov r15d, r14d
mov dword [rsp + 0x78], r14d
mov dword [rsp + 0x7c], r14d
cmp dword [rsp + 0x68], r14d
jne 0x1800140ca
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 0x1800160cb
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x68], 1
test rsi, rsi
je 0x1800140e4
mov rcx, rsi
call fcn.18002bc20
mov edx, 0x20
mov qword [rsp + 0x40], r14
mov rcx, r13
mov rsi, r14
call fcn.1800280a0
test rax, rax
je 0x180015eaf
mov byte [rax], sil
mov rdi, r13
movzx edx, byte [r13]
mov rbx, r13
test dl, dl
je 0x1800141d2
nop dword [rax + rax]
cmp dl, 0x25
jne 0x1800141b0
movzx ecx, byte [rdi + 1]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x180014143
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x180014143
sub cl, 0x41
cmp cl, 5
ja 0x1800141b5
movzx ecx, byte [rdi + 2]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x18001415d
lea eax, [rcx - 0x61]
cmp al, 5
jbe 0x18001415d
sub cl, 0x41
cmp cl, 5
ja 0x1800141b5
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 0x1800141aa
cmp eax, 0xa
je 0x1800141aa
cmp eax, 0x22
je 0x18001419f
cmp eax, 0x5c
je 0x18001419f
cmp eax, 0xff
jne 0x1800141a5
mov byte [rbx], al
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x1800141c7
mov byte [rbx], 0x5c
inc rbx
mov byte [rbx], al
inc rbx
add rdi, 3
jmp 0x1800141c7
cmp dl, 0x3f
je 0x1800141d2
inc rdi
cmp dl, 0x2b
jne 0x1800141c2
mov byte [rbx], 0x20
jmp 0x1800141c4
mov byte [rbx], dl
inc rbx
movzx edx, byte [rdi]
test dl, dl
jne 0x180014120
mov byte [rbx], sil
mov rbx, 0xffffffffffffffff
mov rdi, rbx
nop
inc rdi
cmp byte [rdi + r13], sil
jne 0x1800141e0
movsxd rcx, edi
add rcx, 2
mov qword [rbp - 0x48], rdi
call fcn.18002bc34
mov qword [rsp + 0x40], rax
mov r12, rax
test rax, rax
je 0x180015e8d
movsxd rbx, edi
mov rdx, r13
mov r8, rbx
mov rcx, rax
call fcn.18004cc80
cmp byte [r12 + rbx - 1], 0x2f
je 0x18001422e
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 0x1800142a8
mov r8, rcx
lea rdx, [rbp + 0x490]
mov rcx, qword [rsp + 0x38]
add rcx, rax
call fcn.18004cc80
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 0x1800142de
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 0x180014355
lea rdx, [0x180052068]
mov rcx, rsi
call sym.ProxyProtocol.dll_ftptype
mov r13d, eax
test eax, eax
jne 0x180015d99
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 0x1800143ac
movsxd rax, dword [rsp + 0x7c]
test eax, eax
je 0x180014397
movsxd rcx, dword [rsp + 0x30]
lea rdx, [rbp + 0x490]
add rcx, qword [rsp + 0x38]
mov r8, rax
call fcn.18004cc80
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 0x180015e73
test r15d, r15d
je 0x180015df1
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 0x180014441
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 0x180014441
mov rdx, qword [rsp + 0x38]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdx + rcx], bl
jne 0x180014435
mov dword [rsp + 0x30], ecx
mov qword [r14 + 0x78], rsi
test edi, edi
jg 0x180014cc1
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 0x180014cc1
nop word [rax + rax]
xor dil, dil
mov eax, eax
mov esi, 1
cmp rax, 0x600
jae 0x180016470
cmp dword [rbp - 0x48], 0
mov byte [rbp + rax + 0x490], dil
movzx ecx, byte [rbp + 0x490]
jne 0x1800144e2
cmp cl, 0x74
jne 0x1800144e2
cmp byte [rbp + 0x491], 0x6f
jne 0x1800144e9
cmp byte [rbp + 0x492], cl
jne 0x1800144e9
mov eax, 2
mov r15d, eax
mov dword [rsp + 0x78], eax
jmp 0x180014c6f
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x1800144fa
cmp r15d, esi
mov eax, 2
cmove r15d, eax
mov dword [rsp + 0x78], r15d
lea rbx, [rbp + 0x490]
test cl, cl
je 0x180014551
test esi, esi
jne 0x18001452b
movzx ecx, byte [rbx]
call fcn.18002bfa0
test eax, eax
je 0x180014549
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.18002bfa0
test eax, eax
jne 0x180014549
movzx eax, dil
mov esi, r13d
mov qword [rbp + rax*8 + 0x40], rbx
cmp dil, 8
je 0x180014551
inc rbx
cmp byte [rbx], 0
jne 0x180014505
cmp r15d, 1
jne 0x1800145f0
cmp dil, 4
jb 0x180014c6c
mov rbx, qword [rbp + 0x50]
lea rdx, str._DIR_
mov r8d, dword [rbp]
mov rcx, rbx
call fcn.18004cb80
test eax, eax
mov r12d, r13d
sete r12b
test r12d, r12d
jne 0x180014597
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x180014c6c
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 0x180014705
cmp dil, 8
jb 0x180014c6c
cmp dword [rbp - 8], 0xa
jne 0x180014c6c
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 0x1800146a6
nop
movzx ecx, al
call fcn.18002bfa0
test eax, eax
jne 0x18001469f
movzx eax, byte [rbx + 1]
inc rbx
mov qword [rbp + r15*8 + 0x40], rbx
mov rdi, rbx
test al, al
jne 0x180014680
mov edx, dword [rsp + 0x78]
xor r8d, r8d
cmp byte [rbx], 0
je 0x1800146b5
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 0x1800146c4
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 0x180014d2c
movsxd rcx, edx
mov r8d, ebx
add rcx, qword [rsp + 0x38]
mov rdx, qword [rbp + r9*8 + 0x40]
call fcn.18004cc80
mov ecx, dword [rsp + 0x30]
add ecx, ebx
mov dword [rsp + 0x30], ecx
test r12d, r12d
je 0x1800147af
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 0x1800148b5
jmp 0x180014802
test r13d, r13d
je 0x18001482c
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.180028258
mov ecx, dword [rsp + 0x30]
test rax, rax
je 0x1800148b5
lea rsi, [rax + 4]
jmp 0x1800148bd
mov eax, r14d
mov ebx, dword [rbp + rax*4 - 8]
cmp ebx, 0xa
jbe 0x180014843
mov ebx, 0xa
mov dword [rbp + rax*4 - 8], ebx
jmp 0x18001486c
jae 0x18001486c
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 0x180014850
mov rdx, qword [rbp + rdi*8 + 0x40]
movsxd rcx, ecx
add rcx, qword [rsp + 0x38]
mov r8d, ebx
call fcn.18004cc80
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 0x1800149b9
mov rax, qword [rsp + 0x40]
mov r14d, dword [rsp + 0x58]
mov rbx, rax
mov rdi, qword [rsp + 0x38]
cmp byte [rax], 0
je 0x1800149c3
movabs r13, 0x21ffffff80ffff
nop dword [rax + rax]
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x1800149b5
movzx edx, byte [rbx]
cmp dl, 0xd
je 0x1800149a9
cmp dl, 0xa
je 0x1800149a9
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x180014920
bt r13, rax
jb 0x180014927
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x180014935
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x1800149a5
cmp dl, 0x22
jne 0x18001495b
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 0x1800149a5
cmp dl, 0xff
jne 0x180014989
cmp byte [rbx + 1], dl
jne 0x180014989
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 0x1800149a5
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 0x1800148f0
mov r13d, dword [rbp - 0x60]
mov rdi, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x58]
cmp byte [rsi], 0
je 0x180014a67
movabs r13, 0x21ffffff80ffff
mov eax, r14d
sub eax, ecx
cmp eax, 0x10
jb 0x180014a5e
movzx edx, byte [rsi]
cmp dl, 0xd
je 0x180014a52
cmp dl, 0xa
je 0x180014a52
lea eax, [rdx - 0x2a]
cmp al, 0x35
ja 0x1800149fa
bt r13, rax
jb 0x180014a01
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x180014a0f
movsxd rax, ecx
mov byte [rax + rdi], dl
mov ecx, dword [rsp + 0x30]
inc ecx
jmp 0x180014a4e
movsxd rcx, ecx
cmp dl, 0x22
jne 0x180014a35
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 0x180014a4e
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 0x1800149d6
mov rdi, qword [rsp + 0x38]
mov r13d, dword [rbp - 0x60]
test r12d, r12d
je 0x180014a82
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 0x180014b64
nop dword [rax + rax]
mov eax, dword [rsp + 0x58]
sub eax, ecx
cmp eax, 0x10
jl 0x180014b64
movzx edx, byte [r8]
cmp dl, 0x3c
jne 0x180014ae0
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746c26
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x180014b53
cmp dl, 0x3e
jne 0x180014afd
mov rax, qword [rsp + 0x38]
movsxd rcx, ecx
mov dword [rcx + rax], 0x3b746726
mov ecx, dword [rsp + 0x30]
add ecx, 4
jmp 0x180014b53
cmp dl, 0xd
je 0x180014b57
cmp dl, 0xa
je 0x180014b57
test r13d, r13d
je 0x180014b42
cmp dl, 0x20
jne 0x180014b42
cmp byte [r8 + 1], 0x2d
jne 0x180014b42
cmp byte [r8 + 2], 0x3e
jne 0x180014b42
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 0x180014b53
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 0x180014ab0
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 0x180014c64
cmp ecx, 0x4e20
jle 0x180014c29
mov ebx, dword [rbp - 0x7c]
mov eax, ebx
inc ebx
mov dword [rbp - 0x7c], ebx
test eax, eax
jne 0x180014bf6
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 0x180014bd0
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 0x180014bfb
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 0x180015dab
mov r15d, dword [rsp + 0x78]
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x180014c74
lea eax, [rcx + 0x2000]
mov rcx, qword [rsp + 0x38]
movsxd rdx, eax
call fcn.18002bc3c
mov rdi, qword [rsp + 0x50]
test rax, rax
je 0x180015dbb
add dword [rsp + 0x58], 0x2000
mov r15d, dword [rsp + 0x78]
xor r13d, r13d
mov ebx, dword [rbp - 0x7c]
mov qword [rsp + 0x38], rax
jmp 0x180014c74
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 0x180014490
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 0x180015dda
mov rcx, rax
mov rax, qword [rsp + 0x38]
mov byte [rcx + rax], 0
test edi, edi
jns 0x180014d41
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 0x180014d49
mov rdi, qword [rsp + 0x50]
xor r13d, r13d
mov r15d, dword [rsp + 0x78]
mov ebx, dword [rbp - 0x7c]
jmp 0x180014c74
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 0x180014d60
mov dword [rsp + 0x30], r8d
test ebx, ebx
jne 0x180014dbf
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 0x180014d94
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 0x180015dcb
test ebx, ebx
jne 0x180015ddf
mov r15d, dword [rsp + 0x68]
xor ebx, ebx
mov esi, dword [rbp - 0x80]
jmp 0x180015c0f
test r12d, r12d
jne 0x180014e01
cmp dword [rdi + 0x90], 4
jne 0x180015ec9
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x180014e57
cmp dword [rdi + 0x90], 4
jne 0x180014e57
mov dword [rbp - 0x54], 1
mov r13, rbx
nop dword [rax]
inc r13
cmp byte [rdx + r13], r14b
jne 0x180014e20
mov r9d, dword [0x1800658fc]
mov r8d, r13d
mov rcx, qword [rdi + 0x78]
call sym.ProxyProtocol.dll_socksend
cmp eax, r13d
jne 0x1800160b1
movsxd rax, r13d
add qword [rdi + 0x1c8], rax
inc dword [rdi + 0x1dc]
jmp 0x180014e5a
mov r15d, r14d
mov dword [rsp + 0x30], r14d
mov r14d, dword [rbp - 0x40]
test r14d, r14d
jne 0x180014f6d
mov rax, qword [rsp + 0x38]
inc rbx
cmp byte [rax + rbx], 0
jne 0x180014e71
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 0x180014eae
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 0x180014ef9
call qword [sym.imp.WS2_32.dll_ntohs]
lea rdx, str._:_d__by
jmp 0x180014f06
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 0x180014f50
add rcx, rax
lea rdx, str.:_d_r_n
call sym.ProxyProtocol.dll_sprintf
jmp 0x1800150d8
cmp r14d, 1
jle 0x1800150d8
mov rax, qword [rsp + 0x38]
mov rcx, rbx
nop
inc rcx
cmp byte [rax + rcx], 0
jne 0x180014f80
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 0x180014fa0
add rcx, rax
mov edx, 0x100
call qword [sym.imp.WS2_32.dll_gethostname]
mov rax, qword [0x180065a48]
test rax, rax
je 0x180014fcd
mov rbx, qword [rax + 0x18]
mov rdi, qword [rax + 0x10]
jmp 0x180014fdb
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 0x180015001
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 0x180015059
mov rax, qword [rsp + 0x38]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180015036
movzx ecx, word [rsi + 0x188]
lea rdx, [rsi + 0x18c]
mov rdi, rsi
mov r9d, 0x80
jmp 0x1800150a8
mov edx, 0x290
mov rcx, rsi
mov rdi, rsi
call sym.ProxyProtocol.dll_myrand
mov ebx, eax
shl ebx, 0x10
call fcn.18003668c
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 0x180015090
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 0x1800150c0
add rcx, rax
lea rdx, [0x180052198]
call sym.ProxyProtocol.dll_sprintf
mov esi, dword [rbp - 0x80]
cmp esi, 1
jg 0x180015118
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 0x180015100
add rcx, rax
lea rdx, str.Connection:__s_r_n
call sym.ProxyProtocol.dll_sprintf
cmp qword [rdi + 0x128], 0
je 0x1800151df
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 0x180015144
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 0x180015195
mov rax, qword [rsp + 0x38]
mov rdx, rbx
inc rdx
cmp byte [rax + rdx], 0
jne 0x1800151a7
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 0x1800151c7
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 0x1800151e7
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 0x180015211
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 0x180015240
cmp r13d, eax
jne 0x1800160b1
add qword [rdi + 0x1c8], r13
inc dword [rdi + 0x1dc]
mov r9, qword [rdi + 0x20]
test r9, r9
je 0x180015285
mov rax, qword [rsp + 0x38]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x180015270
xor edx, edx
mov rcx, rdi
call r9
mov dword [rbp - 0x5c], eax
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1800152be
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 0x180015f72
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 0x1800156d4
mov r15, qword [rsp + 0x50]
test r13d, r13d
jne 0x180015347
cmp edi, 9
jbe 0x180015347
movsxd rdx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
add rdx, 9
add rcx, rdx
call fcn.18003656c
mov r13d, eax
mov dword [r15 + 0xe0], eax
mov qword [rsp + 0x60], r13
cmp edi, 0x19
jb 0x18001536c
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_connection:
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180039cfc
test eax, eax
je 0x180015399
cmp edi, 0x10
jbe 0x180015427
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.connection:
add rcx, qword [rsp + 0x38]
mov r8d, listen
call fcn.180039cfc
test eax, eax
jne 0x18001542c
movsxd rcx, dword [rsp + 0x30]
mov edx, 0x3a
add rcx, qword [rsp + 0x38]
call fcn.1800280a0
test rax, rax
je 0x180015672
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x1800153e0
nop word [rax + rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x1800153d0
mov r8d, 0xa
lea rdx, str.keep_alive
mov rcx, rbx
call fcn.180039cfc
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 0x180015624
cmp r13d, 0xc8
jge 0x180015672
jmp 0x180015624
cmp edi, 6
jbe 0x180015482
mov rax, qword [r15 + 0x10]
cmp dword [rax + 0x68], 0
jne 0x18001545a
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.proxy_
add rcx, qword [rsp + 0x38]
mov r8d, 6
call fcn.180039cfc
test eax, eax
je 0x180015672
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.www_authenticate
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recv
call fcn.180039cfc
test eax, eax
jne 0x180015482
lea esi, [rax + 1]
jmp 0x180015624
cmp edi, 0xf
jbe 0x180015583
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.content_length
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_ntohl
call fcn.180039cfc
test eax, eax
jne 0x180015583
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.1800280a0
test rax, rax
je 0x180015672
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x180015500
nop
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x1800154f0
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 0x180015539
cmp dword [r15 + 0xd0], 0
jle 0x180015539
mov r14d, 2
jmp 0x180015672
mov rdx, qword [r15 + 0x168]
test rdx, rdx
je 0x180015624
mov rcx, qword [r15 + 0x1d0]
cmp rdx, rcx
jb 0x180015563
add rcx, qword [rsp + 0x70]
cmp rcx, rdx
jbe 0x180015624
mov rsi, qword [rsp + 0x40]
mov ecx, 0xa
mov rdi, r15
mov dword [r15 + 0xdc], ecx
mov r14d, ecx
lea rbx, [rcx - 0xb]
jmp 0x180016196
cmp edi, 0x19
jbe 0x180015624
movsxd rcx, dword [rsp + 0x30]
lea rdx, str.transfer_encoding
add rcx, qword [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recvfrom
call fcn.180039cfc
test eax, eax
jne 0x180015624
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.1800280a0
test rax, rax
je 0x180015672
movzx ecx, byte [rax + 1]
lea rbx, [rax + 1]
call fcn.18002bfa0
test eax, eax
je 0x180015600
nop dword [rax]
movzx ecx, byte [rbx + 1]
inc rbx
call fcn.18002bfa0
test eax, eax
jne 0x1800155f0
mov r8d, 7
lea rdx, str.chunked
mov rcx, rbx
call fcn.180039cfc
test eax, eax
jne 0x180015624
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 0x180015672
cmp edx, 0x4e20
jg 0x180015fa0
mov rcx, qword [rsp + 0x38]
lea eax, [rdx + 0x2000]
movsxd rdx, eax
call fcn.18002bc3c
test rax, rax
je 0x180015f7f
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 0x180015318
lea eax, [r13 - 0xc8]
xor ebx, ebx
cmp eax, 0x12b
jbe 0x1800156dd
mov r15d, ebx
mov dword [rsp + 0x68], ebx
jmp 0x1800156e2
mov r15d, dword [rsp + 0x68]
cmp r13d, 0x130
je 0x1800156f4
cmp r13d, 0xcc
jne 0x180015704
test r14d, r14d
jne 0x180015704
mov r14d, 1
mov qword [rsp + 0x70], rbx
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x180015733
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 0x180015733
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 0x1800160a6
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 0x18001607c
test eax, eax
jne 0x180015fc4
mov rdx, qword [rsp + 0x70]
mov dword [rdi + 0xf4], ebx
movsxd rax, dword [0x180065998]
test eax, eax
je 0x1800157a6
cmp rdx, rax
jbe 0x1800157a6
mov dword [rdi + 0xf4], 1
jmp 0x180015897
cmp dword [rdi + 0xd0], 0
jle 0x180015897
test rdx, rdx
je 0x1800158a9
cmp dword [rdi + 0xb4], 0x800
je 0x180015897
cmp r13d, 0xcc
je 0x180015897
cmp r13d, 0x130
je 0x180015897
mov r8d, 4
mov rcx, rdi
call sym.ProxyProtocol.dll_sockfillbuffsrv
mov rdx, qword [rsp + 0x70]
movsxd rcx, eax
cmp rcx, rdx
jne 0x180015897
mov rcx, rdi
call sym.ProxyProtocol.dll_handlepredatflt
cmp eax, 2
je 0x18001607c
test eax, eax
jne 0x180015fe3
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 0x180015ddf
test eax, eax
jne 0x180015fc4
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 0x180015872
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 0x1800158a9
cmp r14d, 1
cmovne r15d, ebx
mov dword [rsp + 0x68], r15d
test r12d, r12d
jne 0x1800158bb
cmp dword [rdi + 0xb4], r12d
je 0x1800159a8
mov rbx, 0xffffffffffffffff
test esi, esi
je 0x1800158ef
cmp dword [rdi + 0xfc], 0
jne 0x1800158ef
mov rax, qword [rsp + 0x38]
mov rcx, rbx
inc rcx
cmp byte [rax + rcx], 0
jne 0x1800158d7
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 0x180015948
cmp r13d, 0xc8
jl 0x180015948
cmp r15d, 1
jg 0x180015948
test r14d, r14d
je 0x180015919
lea r8, str.keep_alive
test r15d, r15d
jne 0x180015920
lea r8, str.close
mov rax, qword [rsp + 0x38]
mov rcx, rbx
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180015930
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 0x180015950
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 0x180015970
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 0x180015992
cmp eax, ecx
jne 0x18001608c
mov rdx, qword [rsp + 0x70]
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x1800159bb
test rdx, rdx
je 0x180015b3e
cmp dword [rdi + 0xb4], 0x800
je 0x180015b3e
cmp r13d, 0xcc
je 0x180015b3e
cmp r13d, 0x130
je 0x180015b3e
test eax, eax
je 0x180015af0
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 0x180015a77
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 0x180015bc9
cmp dword [rdi + 0x100], 2
je 0x180015a77
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 0x180015a20
cmp ebx, 3
jl 0x180015bea
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 0x18001600a
cmp dword [rdi + 0x100], 2
je 0x180015b78
movsxd rax, ebx
cmp rax, 0x20
jae 0x180016476
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 0x180015af2
mov dword [rdi + 0x100], 2
jmp 0x180015af2
xor ebx, ebx
cmp dword [rdi + 0x100], 2
je 0x180015b30
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 0x180016015
mov rdx, qword [rsp + 0x70]
mov qword [rdi + 0xa0], rbx
mov eax, dword [rdi + 0x100]
test eax, eax
jne 0x1800159ed
mov esi, dword [rbp - 0x80]
xor ebx, ebx
test r12d, r12d
jne 0x180015bf3
cmp r13d, 0xc8
jne 0x180015b62
cmp dword [rdi + 0xb4], r12d
jne 0x180016029
mov esi, 1
mov qword [rsp + 0x70], rbx
mov r15d, esi
mov dword [rsp + 0x68], esi
jmp 0x180015c21
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 0x180015fff
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 0x180015b3e
mov r14d, 0x215
mov rsi, qword [rsp + 0x40]
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
mov rbx, 0xffffffffffffffff
jmp 0x180016196
xor ebx, ebx
mov esi, ebx
jmp 0x180015b43
test r14d, r14d
jne 0x180015c05
cmp dword [rdi + 0x100], r14d
je 0x180016029
mov qword [rsp + 0x70], rbx
test r15d, r15d
je 0x180015c13
test esi, esi
jne 0x180015c21
mov rcx, qword [rdi + 0x78]
cmp rcx, 0xffffffffffffffff
jne 0x18001605f
mov rbx, 0xffffffffffffffff
xor r14d, r14d
cmp dword [rdi + 0xfc], 0
je 0x180015c45
test r15d, r15d
je 0x18001604e
test esi, esi
je 0x18001604e
mov r9d, dword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x38]
call fcn.180012c90
mov r12, qword [rsp + 0x40]
xor r15d, r15d
mov r13d, dword [rbp - 0x50]
mov dword [rdi + 0xe0], r15d
lea r14d, [r15 + 0x15]
jmp 0x180012e64
mov dword [rdi + 0xdc], 0x22b
mov rsi, qword [rsp + 0x40]
jmp 0x1800163f6
mov r13, qword [rsp + 0x60]
mov ecx, 0x201
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016196
mov r13, qword [rsp + 0x60]
mov ecx, 0x203
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016196
mov r14d, 0x64
mov rbx, 0xffffffffffffffff
jmp 0x180016108
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 0x180016196
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 0x180016196
mov r14d, reloc.WS2_32.dll_setsockopt
jmp 0x180016108
mov r14d, 0x204
mov rbx, 0xffffffffffffffff
jmp 0x180016108
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 0x180016196
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 0x180016196
mov r13, qword [rsp + 0x60]
mov ecx, 4
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016196
mov r14d, eax
mov rdi, rsi
mov rbx, 0xffffffffffffffff
jmp 0x180016166
mov r13, qword [rsp + 0x60]
mov r14d, 0x30d
jmp 0x180015bcf
mov r13, qword [rsp + 0x60]
mov r14d, reloc.WS2_32.dll_setsockopt
jmp 0x180015bcf
mov r14d, r13d
mov rbx, 0xffffffffffffffff
jmp 0x180016166
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
xor eax, eax
mov dword [rdi + 0xdc], eax
jmp 0x1800163f6
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 0x180015e00
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 0x180015e3f
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x180015e3f
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 0x180016166
mov ecx, 0x30c
mov rbx, 0xffffffffffffffff
mov dword [rdi + 0xdc], ecx
mov r14d, ecx
jmp 0x180016193
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 0x180016196
mov r13, qword [rsp + 0x60]
mov r14d, 0x31f
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016196
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 0x180015ed3
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
cmp qword [rdi + 0x18], r14
je 0x180015f1a
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180015f00
call fcn.18002bc20
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015f0f
call fcn.18002bc20
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x180016440
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 0x180015f63
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x180015f49
call fcn.18002bc20
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180015f58
call fcn.18002bc20
mov rcx, rdi
call qword [rdi + 0x18]
jmp 0x180016440
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
jmp 0x18001616a
mov r12, qword [rsp + 0x40]
mov r14d, eax
jmp 0x180016166
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 0x180016196
mov rsi, qword [rsp + 0x40]
mov r14d, 0x204
mov dword [r15 + 0xdc], r14d
mov ecx, r14d
mov rdi, r15
mov rbx, 0xffffffffffffffff
jmp 0x180016196
mov rsi, qword [rsp + 0x40]
mov ecx, 0x205
mov dword [rdi + 0xdc], ecx
mov r14d, ecx
mov rbx, 0xffffffffffffffff
jmp 0x180016196
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 0x180016196
mov r14d, 0x216
jmp 0x180015bcf
mov r14d, 0x217
jmp 0x180015bcf
mov r12, qword [rsp + 0x40]
mov r14d, r13d
mov rbx, 0xffffffffffffffff
jmp 0x180016166
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 0x180016166
mov rsi, qword [rsp + 0x40]
mov dword [rdi + 0xdc], r14d
jmp 0x1800163f6
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 0x1800163f6
mov rsi, qword [rsp + 0x40]
mov r14d, 0x209
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016196
mov r14d, 0x20a
jmp 0x180015bcf
mov rsi, qword [rsp + 0x40]
mov r14d, 0x206
mov ecx, r14d
mov dword [rdi + 0xdc], r14d
jmp 0x180016196
mov r13, qword [rsp + 0x60]
mov r12, qword [rsp + 0x40]
mov r14d, r13d
jmp 0x18001616a
mov r13, qword [rsp + 0x60]
mov ecx, 0x205
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016196
mov r14d, 0x64
jmp 0x180016108
mov r14d, 0x202
mov r13, qword [rsp + 0x60]
mov ecx, r14d
mov rsi, qword [rsp + 0x40]
mov dword [rdi + 0xdc], r14d
jmp 0x180016196
mov r13, qword [rsp + 0x60]
mov ecx, 0x200
mov rsi, qword [rsp + 0x40]
mov r14d, ecx
mov dword [rdi + 0xdc], ecx
jmp 0x180016196
mov r14d, 0x1ff
jmp 0x180016108
mov r14d, 0x1fe
jmp 0x180016108
test esi, esi
je 0x180016154
mov r14d, 0x22b
jmp 0x180016161
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 0x180015c81
mov qword [rsp + 0x40], r12
mov ecx, r14d
mov dword [rsp + 0x48], esi
test r14d, r14d
je 0x1800163f3
mov rsi, r12
cmp qword [rdi + 0x70], 0xffffffffffffffff
je 0x1800163f6
lea eax, [r14 - 0x5a]
cmp eax, 0x2c5
ja 0x1800161c3
cmp ecx, 0x64
je 0x18001620e
lea eax, [r14 - 0x1f5]
cmp eax, 0x12a
ja 0x1800163f6
lea eax, [rcx - 0x1fd]
cmp eax, 7
jbe 0x1800161d6
cmp ecx, 0x385
jl 0x18001620e
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 0x1800161e0
mov rsi, qword [rsp + 0x40]
mov ecx, dword [rdi + 0xdc]
cmp ecx, 0xa
jne 0x18001622e
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 0x180016220
jmp 0x180016369
lea eax, [r13 - 0x2bc]
cmp eax, 1
jbe 0x1800163bf
cmp ecx, 0x64
je 0x1800163ad
lea eax, [rcx - 0xb]
cmp eax, 8
jbe 0x1800163ad
lea eax, [rcx - 0x2be]
cmp eax, 3
jbe 0x1800163ad
cmp ecx, 0x14
jl 0x18001629e
cmp ecx, 0x1e
jge 0x180016281
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 0x180016273
jmp 0x180016369
cmp ecx, 0x50
jge 0x1800162a7
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 0x180016290
jmp 0x180016369
cmp ecx, 1
je 0x18001639b
mov rdx, qword [rdi + 0x10]
cmp dword [rdx + 0x60], 0
jne 0x1800162de
cmp ecx, 0xa
jl 0x18001639b
cmp ecx, 0x3e7
jne 0x18001630e
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 0x1800162d0
jmp 0x180016369
cmp ecx, 0xa
jge 0x1800162ba
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 0x180016303
jmp 0x180016369
cmp ecx, 0x207
jne 0x18001632b
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 0x180016320
jmp 0x180016369
cmp ecx, 0x205
jne 0x18001634b
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 0x180016340
jmp 0x180016369
cmp ecx, 0x30c
jne 0x18001637e
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 0x180016360
mov r8, rbx
mov r9d, dword [0x1800658f8]
mov rcx, qword [rdi + 0x70]
call sym.ProxyProtocol.dll_socksend
jmp 0x1800163f6
lea eax, [rcx - 0x1ff]
cmp eax, 5
ja 0x1800163f6
mov rdx, qword [sym.ProxyProtocol.dll_proxy_stringtable]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180016390
jmp 0x180016369
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 0x1800163a2
jmp 0x180016369
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 0x1800163b4
jmp 0x180016369
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 0x1800163c6
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 0x18001636c
mov rsi, r12
mov r9d, dword [rsp + 0x48]
mov rcx, rdi
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x38]
call fcn.180012c90
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x18001641a
call fcn.18002bc20
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x180016429
call fcn.18002bc20
test rsi, rsi
je 0x180016436
mov rcx, rsi
call fcn.18002bc20
mov rcx, rdi
call sym.ProxyProtocol.dll_freeparam
xor eax, eax
mov rcx, qword [rbp + 0xa90]
xor rcx, rsp
call fcn.180027290
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.1800273b8
int3
call fcn.1800273b8
int3