Function at 0x140075a40
Capabilities:
Read file on windows
Read pipe

Disassembly:
push r15
mov eax, 0x10f8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140094c20
sub rsp, rax
mov r14, qword [rcx + 0x18]
mov rax, qword [r14 + 0x238]
mov qword [rsp + 0x30], rax
mov rax, qword [0x140171860]
mov rbp, rcx
mov ecx, 1
mov byte [rdx], 1
mov edx, 0x1e58
call qword [rax]
mov rdi, rax
test rax, rax
je 0x1400761b8
lea rcx, [rax + 0x1c28]
mov edx, 0xffff
call sym.Curl_dyn_init
lea rax, [rdi + 0x1c48]
mov qword [rbp + 0x1c8], rdi
cmp qword [rbp + 0x12f0], 0
mov qword [rdi + 0x1e48], rax
mov rax, qword [0x140168a20]
mov dword [rdi + 0x1c1c], 0
mov dword [rdi + 0x814], 1
mov dword [rdi + 0x1414], 1
mov dword [rdi + 0x808], 1
mov qword [rdi + 0x1408], rax
mov dword [rdi + 0x1884], 1
je 0x140075b75
mov rax, qword [rbp + 0x18]
mov r9, qword [rax + 0x1e0]
mov rax, r9
add rax, 1
cmp byte [rax - 1], 0
je 0x140075b30
nop word cs:[rax + rax]
js 0x1400761c8
add rax, 1
cmp byte [rax - 1], 0
jne 0x140075b20
lea r12, [rsp + 0xf0]
mov edx, 0x100
lea r8, str.USER__s
mov rcx, r12
call sym.curl_msnprintf
mov rcx, qword [rdi + 0x1c20]
mov rdx, r12
call sym.curl_slist_append
test rax, rax
je 0x140076902
mov qword [rdi + 0x1c20], rax
mov dword [rdi + 0x8a4], 1
mov rsi, qword [rbp + 0x508]
test rsi, rsi
je 0x140075c82
lea rbx, [0x140168590]
nop dword [rax]
mov r12, qword [rsi]
mov edx, 0x3d
mov rcx, r12
call sym.strchr
mov rdx, rax
test rax, rax
je 0x140075be0
lea r13, [rax + 1]
mov rax, r13
jmp 0x140075bbe
js 0x140075c60
add rax, 1
cmp byte [rax - 1], 0
jne 0x140075bb8
sub rdx, r12
cmp rdx, 8
ja case.0x140075bdc.0
movsxd rax, dword [rbx + rdx*4]
add rax, rbx
jmp rax
mov r8, r12
lea rdx, str.Syntax_error_in_telnet_option:__s
mov rcx, rbp
mov r15d, 0x31
call sym.Curl_failf
mov rcx, qword [rdi + 0x1c20]
call sym.curl_slist_free_all
mov qword [rdi + 0x1c20], 0
mov eax, r15d
add rsp, 0x10f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 6
lea rdx, str.BINARY
mov rcx, r12
call sym.curl_strnequal
test eax, eax
je 0x140075efd
mov rcx, r13
call sym.atoi
cmp eax, 1
jne 0x14007632f
nop
mov eax, 1
xor r15d, r15d
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x140075c79
test al, al
jne 0x140075b90
test r15d, r15d
jne 0x140075bf8
call qword [sym.imp.WS2_32.dll_WSACreateEvent]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x1400768df
mov rcx, qword [rsp + 0x30]
mov rdx, rax
mov r8d, 0x21
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
je 0x14007631c
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
movq xmm0, qword [rsp + 0x48]
movq xmm2, rax
mov r13, rax
mov rcx, rax
punpcklqdq xmm0, xmm2
movaps xmmword [rsp + 0xb0], xmm0
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
je 0x1400762d4
movzx eax, byte [rbp + 0xa44]
and eax, 2
cmp al, 1
sbb esi, esi
and esi, 0x384
add esi, 0x64
cmp al, 1
mov eax, 2
adc eax, 0xffffffff
mov dword [rsp + 0x3c], eax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x50], rdi
xor r15d, r15d
mov qword [rsp + 0x40], rax
nop dword [rax]
xor r8d, r8d
mov rdx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x3c]
mov r9d, esi
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 1
je 0x140076100
mov rdi, qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
lea rbx, [rsp + 0xa4]
cmp eax, 0x102
je 0x140075e24
test eax, eax
je 0x140076170
mov eax, dword [rbp + 0x2f8]
test eax, eax
je 0x140075d28
lea r12, [rsp + 0x90]
mov rcx, r12
call sym.Curl_now
lea rdx, [rsp + 0x80]
mov rcx, r12
movdqu xmm4, xmmword [r14 + 0x218]
movaps xmmword [rsp + 0x80], xmm4
call sym.Curl_timediff
mov edx, dword [rbp + 0x2f8]
cmp rdx, rax
jg 0x140075d28
jmp 0x140076094
lea r12, [rsp + 0xf0]
mov r8d, 0x1000
mov edx, 1
mov r9, qword [rbp + 0x1138]
mov rcx, r12
call qword [rbp + 0x1130]
cmp rax, 0x10000000
je 0x140076048
cmp rax, 0x10000001
je 0x140075d68
test rax, rax
je 0x140075d68
mov dword [rsp + 0xa4], eax
mov r8d, eax
mov rdx, r12
mov rcx, rbp
call sym.send_telnet_data
mov r15d, eax
test eax, eax
jne 0x14007604e
test byte [rbp + 0xa44], 2
jne 0x140075dc0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], 0
mov rcx, r13
call rdi
test eax, eax
je 0x140076048
mov eax, dword [rsp + 0xa4]
test eax, eax
je 0x140075d68
lea r12, [rsp + 0xf0]
mov r9, rbx
mov r8d, 0x1000
mov rcx, r13
mov qword [rsp + 0x20], 0
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140076048
mov r8d, dword [rsp + 0xa4]
jmp 0x140075e0e
mov r8d, 8
lea rdx, str.XDISPLOC
mov rcx, r12
call sym.curl_strnequal
test eax, eax
je 0x140075efd
mov qword [rdi + 0x1c10], r13
mov eax, 1
xor r15d, r15d
mov dword [rdi + 0x894], 1
jmp 0x140075c68
mov r8d, 7
lea rdx, str.NEW_ENV
mov rcx, r12
call sym.curl_strnequal
test eax, eax
jne 0x1400762e6
mov r15d, 0x30
jmp 0x140075bf8
mov r8d, 5
lea rdx, str.TTYPE
mov rcx, r12
call sym.curl_strnequal
test eax, eax
je 0x140075efd
mov qword [rdi + 0x1c08], r13
mov eax, 1
xor r15d, r15d
mov dword [rdi + 0x868], 1
jmp 0x140075c68
mov r8d, 2
lea rdx, [0x1401684a7]
mov rcx, r12
call sym.curl_strnequal
test eax, eax
je 0x140075efd
lea rdx, [rsp + 0xf0]
mov r8d, 0xa
mov rcx, r13
call sym.strtoul
mov r12d, eax
lea eax, [rax - 1]
cmp eax, 0xfffe
ja 0x140076025
mov rax, qword [rsp + 0xf0]
movsx ecx, byte [rax]
call sym.Curl_raw_tolower
cmp al, 0x78
jne 0x140076025
mov rax, qword [rsp + 0xf0]
xor edx, edx
mov r8d, 0xa
lea rcx, [rax + 1]
mov qword [rsp + 0xf0], rcx
call sym.strtoul
lea edx, [rax - 1]
cmp edx, 0xfffe
ja 0x14007601d
mov dword [rdi + 0x884], 1
shl eax, 0x10
xor r15d, r15d
mov edx, eax
movzx eax, r12w
or eax, edx
mov dword [rdi + 0x1c18], eax
mov eax, 1
jmp 0x140075c68
mov r8, r12
lea rdx, str.Unknown_telnet_option__s
mov rcx, rbp
mov r15d, 0x30
call sym.Curl_failf
jmp 0x140075bf8
test eax, eax
jne 0x140075c60
mov r8, qword [rsi]
lea rdx, str.Syntax_error_in_telnet_option:__s
mov rcx, rbp
mov r15d, 0x31
call sym.Curl_failf
xor eax, eax
jmp 0x140075c68
mov r15d, 0x1a
mov edx, dword [rbp + 0x2f8]
test edx, edx
je 0x1400760a9
lea r12, [rsp + 0x90]
mov rcx, r12
call sym.Curl_now
lea rdx, [rsp + 0x80]
mov rcx, r12
movdqu xmm1, xmmword [r14 + 0x218]
movaps xmmword [rsp + 0x80], xmm1
call sym.Curl_timediff
mov edx, dword [rbp + 0x2f8]
cmp rdx, rax
jg 0x1400760a9
lea rdx, str.Time_out
mov rcx, rbp
mov r15d, 0x1c
call sym.Curl_failf
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_WSACloseEvent]
test eax, eax
jne 0x1400760f0
test byte [rbp + 0xa47], 0x10
je 0x1400760f0
mov rax, qword [rbp + 0x1270]
test rax, rax
je 0x1400760d4
mov ecx, dword [rax + 8]
test ecx, ecx
jle 0x1400760f0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.WSACloseEvent_failed___d_
mov rcx, rbp
mov r8d, eax
call sym.Curl_infof
nop dword [rax]
mov rcx, rbp
call sym.Curl_xfer_setup_nop
jmp 0x140075c0f
lea r12, [rsp + 0xf0]
mov r8d, 0x1000
mov rcx, r13
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xa4]
mov rdx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140076048
mov r8d, dword [rsp + 0xa4]
mov rdx, r12
mov rcx, rbp
call sym.send_telnet_data
test eax, eax
mov r15d, eax
sete bl
cmp dword [rbp + 0x2f8], 0
jne 0x1400770a6
test bl, bl
je 0x1400760a9
jmp 0x140075d28
mov dword [rsp + 0xc0], 0
mov rdx, qword [rsp + 0x48]
lea r8, [rsp + 0xc0]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
cmp eax, 0xffffffff
je 0x140076282
mov eax, dword [rsp + 0xc0]
test al, 1
jne 0x1400761d3
shr eax, 5
mov ebx, eax
xor ebx, 1
and ebx, 1
jmp 0x14007614e
mov r15d, 0x1b
jmp 0x140075c0f
mov r15d, 0x2b
jmp 0x140075c0f
lea rdi, [rsp + 0xf0]
lea r9, [rsp + 0xa8]
mov r8d, 0x1000
mov rcx, rbp
mov rdx, rdi
mov qword [rsp + 0x58], rdi
call sym.Curl_xfer_recv
mov r15d, eax
cmp eax, 0x51
je 0x140075d68
test eax, eax
jne 0x14007604e
mov rax, qword [rsp + 0xa8]
test rax, rax
jle 0x14007604e
mov r11, qword [rbp + 0x1c8]
mov ecx, 0xffffffff
mov dword [rsp + 0x70], esi
xor ebx, ebx
mov dword [rsp + 0x74], r15d
movsxd rsi, ecx
mov qword [rsp + 0x60], r14
mov r12, r11
mov r14, rax
mov qword [rsp + 0x68], r13
mov r13, rdi
nop dword [rax + rax]
cmp dword [r12 + 0x1c1c], 8
movzx r15d, byte [r13 + rbx]
mov edi, ebx
movsxd r10, ebx
ja case.default.0x140076280
mov edx, dword [r12 + 0x1c1c]
lea rax, [0x1401685b4]
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8d, eax
cmp eax, 0x2734
je 0x140075d68
test byte [rbp + 0xa47], 0x10
je 0x140076048
mov rax, qword [rbp + 0x1270]
test rax, rax
je 0x1400762ba
mov eax, dword [rax + 8]
test eax, eax
jle 0x140076048
lea rdx, str.WSAEnumNetworkEvents_failed___d_
mov rcx, rbp
mov r15d, 0x1a
call sym.Curl_infof
jmp 0x14007604e
mov dword [rsp + 0x3c], 1
mov esi, 0x64
jmp 0x140075d0f
mov rcx, qword [rdi + 0x1c20]
mov rdx, r13
call sym.curl_slist_append
test rax, rax
je 0x14007685e
mov qword [rdi + 0x1c20], rax
xor r15d, r15d
mov eax, 1
mov dword [rdi + 0x8a4], 1
jmp 0x140075c68
mov rcx, qword [rsp + 0x48]
xor r15d, r15d
call qword [sym.imp.WS2_32.dll_WSACloseEvent]
jmp 0x140075c0f
mov dword [rdi + 0x808], 0
mov eax, 1
xor r15d, r15d
mov dword [rdi + 0x1408], 0
jmp 0x140075c68
cmp r15b, 0xff
je 0x140076958
mov rdx, qword [r12 + 0x1e48]
lea r8, [r12 + 0x1e48]
cmp rdx, r8
jae case.default.0x140076280
lea r8, [rdx + 1]
mov qword [r12 + 0x1e48], r8
mov byte [rdx], r15b
nop
add rbx, 1
add edi, 1
cmp r14, rbx
jne 0x140076250
movsxd rax, esi
mov r14, qword [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov esi, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x74]
cmp eax, 0xffffffff
jne 0x140076de1
mov rax, qword [rsp + 0x50]
mov r11d, dword [rax]
test r11d, r11d
je 0x1400763c9
mov r10d, dword [rax + 4]
test r10d, r10d
je 0x140076f48
mov eax, dword [rsp + 0xc0]
jmp 0x1400761a7
mov dword [r12 + 0x1c1c], 0
test r15b, r15b
jne 0x14007668d
cmp esi, 0xffffffff
jne 0x140076924
mov rsi, 0xffffffffffffffff
jmp case.default.0x140076280
movzx r10d, r15b
test byte [rbp + 0xa47], 0x10
je 0x140076467
cmp r10d, 0x27
jg 0x140076c4f
lea rdx, str.BINARY
mov rdx, qword [rdx + r15*8]
test rdx, rdx
je 0x140076a00
mov r8, qword [rbp + 0x1270]
test r8, r8
je 0x14007643b
mov eax, dword [r8 + 8]
test eax, eax
jle 0x140076467
mov qword [rsp + 0x20], rdx
lea r9, str.DONT
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__s
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
mov rdx, qword [rbp + 0x1c8]
mov dword [r12], 1
mov r8d, dword [rdx + r15*4 + 8]
cmp r8d, 2
je 0x140076b9a
cmp r8d, 3
je 0x140076ca5
cmp r8d, 1
je 0x140076c87
nop dword [rax]
mov dword [r12 + 0x1c1c], 0
jmp case.default.0x140076280
movzx r10d, r15b
test byte [rbp + 0xa47], 0x10
je 0x14007651f
cmp r10d, 0x27
jg 0x140076c6e
movsxd rdx, r10d
lea r8, str.BINARY
mov rdx, qword [r8 + rdx*8]
test rdx, rdx
je 0x140076a48
mov r8, qword [rbp + 0x1270]
test r8, r8
je 0x1400764f3
mov ecx, dword [r8 + 8]
test ecx, ecx
jle 0x14007651f
mov qword [rsp + 0x20], rdx
lea r9, [0x14016846b]
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__s
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
mov rdx, qword [rbp + 0x1c8]
movzx eax, r15b
mov dword [r12], 1
lea r15, [rdx + rax*4]
mov edx, dword [r15 + 8]
cmp edx, 2
je 0x140076c00
cmp edx, 3
je 0x140076bd0
test edx, edx
jne 0x1400764a0
cmp dword [r15 + 0x808], 1
je 0x140076ee5
cmp dword [r15 + 0x1808], 1
je 0x140076ebe
mov r8d, r10d
mov edx, 0xfc
mov rcx, rbp
call sym.send_negotiation
jmp 0x1400764a0
movzx r10d, r15b
test byte [rbp + 0xa47], 0x10
je 0x1400765f3
cmp r10d, 0x27
jg 0x140076d4b
movsxd rdx, r10d
lea r8, str.BINARY
mov rdx, qword [r8 + rdx*8]
test rdx, rdx
je 0x140076ada
mov r8, qword [rbp + 0x1270]
test r8, r8
je 0x1400765c7
mov eax, dword [r8 + 8]
test eax, eax
jle 0x1400765f3
mov qword [rsp + 0x20], rdx
lea r9, str.WILL
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__s
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
mov rdx, qword [rbp + 0x1c8]
movzx eax, r15b
mov dword [r12], 1
lea rax, [rdx + rax*4]
mov edx, dword [rax + 0xc08]
cmp edx, 2
je 0x140076d1b
cmp edx, 3
je 0x140076ceb
test edx, edx
jne 0x1400764a0
cmp dword [rax + 0x1408], 1
je 0x140076e41
mov r8d, r10d
mov edx, 0xfe
mov rcx, rbp
call sym.send_negotiation
jmp 0x1400764a0
movzx r11d, r15b
lea edx, [r15 + 6]
cmp r15b, 0xfa
jb case.default.0x14007666f
movzx eax, dl
lea rdx, [0x1401685d8]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
cmp r15b, 0xff
je 0x1400769ef
cmp r15b, 0xd
jne 0x14007668d
mov dword [r12 + 0x1c1c], 6
cmp esi, 0xffffffff
cmove rsi, r10
jmp case.default.0x140076280
mov rdx, qword [r12 + 0x1e48]
lea r8, [r12 + 0x1e48]
cmp r15b, 0xf0
je 0x14007698e
cmp r15b, 0xff
je 0x140076969
cmp r8, rdx
jbe 0x1400766f5
lea r9, [rdx + 1]
mov qword [r12 + 0x1e48], r9
mov byte [rdx], 0xff
mov rdx, qword [r12 + 0x1e48]
cmp rdx, r8
jae 0x1400766f5
lea r8, [rdx + 1]
mov qword [r12 + 0x1e48], r8
mov byte [rdx], r15b
mov rdx, qword [r12 + 0x1e48]
sub rdx, 2
movzx r11d, r15b
mov qword [r12 + 0x1e50], rdx
lea rdx, [r12 + 0x1c48]
mov qword [r12 + 0x1e48], rdx
test byte [rbp + 0xa47], 0x10
je 0x14007677a
lea r8d, [r11 - 0xec]
mov rdx, qword [rbp + 0x1270]
cmp r8d, 0x13
ja 0x140076e7c
test rdx, rdx
je 0x140076742
mov eax, dword [rdx + 8]
test eax, eax
jle 0x14007677a
movsxd r8, r8d
lea rax, [0x1401686e0]
mov rcx, rbp
mov dword [rsp + 0x7c], r11d
mov r9, qword [rax + r8*8]
lea rdx, str._s_IAC__s
lea r8, str.In_SUBOPTION_processing__RCVD
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x7c]
mov rcx, rbp
mov dword [rsp + 0x7c], r11d
mov dword [rsp + 0x78], r10d
call sym.suboption
movsxd r10, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x7c]
jmp 0x140076650
movzx r10d, r15b
test byte [rbp + 0xa47], 0x10
je 0x140076807
cmp r10d, 0x27
jg 0x140076c30
lea rdx, str.BINARY
mov rdx, qword [rdx + r15*8]
test rdx, rdx
je 0x140076a90
mov r8, qword [rbp + 0x1270]
test r8, r8
je 0x1400767db
mov r9d, dword [r8 + 8]
test r9d, r9d
jle 0x140076807
mov qword [rsp + 0x20], rdx
lea r9, str.WONT
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__s
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
mov rdx, qword [rbp + 0x1c8]
lea r8, [r15 + 0x300]
mov dword [r12], 1
mov r9d, dword [rdx + r8*4 + 8]
cmp r9d, 2
je 0x140076b69
cmp r9d, 3
je 0x140076b24
cmp r9d, 1
jne 0x1400764a0
mov dword [rdx + r8*4 + 8], 0
mov rcx, rbp
mov r8d, r10d
mov edx, 0xfe
call sym.send_negotiation
jmp 0x1400764a0
mov r15d, 0x1b
jmp 0x140075bf8
mov dword [r12 + 0x1c1c], 5
jmp case.default.0x140076280
mov dword [r12 + 0x1c1c], 4
jmp case.default.0x140076280
mov dword [r12 + 0x1c1c], 3
jmp case.default.0x140076280
mov dword [r12 + 0x1c1c], 2
jmp case.default.0x140076280
lea rax, [r12 + 0x1c48]
mov dword [r12 + 0x1c1c], 7
mov qword [r12 + 0x1e48], rax
jmp case.default.0x140076280
mov dword [r12 + 0x1c1c], 0
jmp 0x14007668d
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
lea rdx, str.WSACreateEvent_failed___d_
mov rcx, rbp
mov r15d, 2
mov r8d, eax
call sym.Curl_failf
jmp 0x140075c0f
mov rcx, qword [rdi + 0x1c20]
mov r15d, 0x1b
call sym.curl_slist_free_all
mov qword [rdi + 0x1c20], 0
jmp 0x140075c0f
sub r10d, esi
lea r8, [r13 + rsi]
mov edx, 1
mov rcx, rbp
movsxd r9, r10d
call sym.Curl_client_write
test eax, eax
je 0x1400763f3
mov r14, qword [rsp + 0x60]
mov r15d, eax
jmp 0x14007604e
mov dword [r12 + 0x1c1c], 8
jmp case.default.0x140076280
cmp r8, rdx
jbe 0x14007697d
lea rax, [rdx + 1]
mov qword [r12 + 0x1e48], rax
mov byte [rdx], 0xff
mov dword [r12 + 0x1c1c], 7
jmp case.default.0x140076280
cmp r8, rdx
jbe 0x1400769c6
lea rax, [rdx + 1]
mov qword [r12 + 0x1e48], rax
mov byte [rdx], 0xff
mov rdx, qword [r12 + 0x1e48]
cmp rdx, r8
jae 0x1400769c6
lea rax, [rdx + 1]
mov qword [r12 + 0x1e48], rax
mov byte [rdx], 0xf0
mov rdx, qword [r12 + 0x1e48]
sub rdx, 2
lea rax, [r12 + 0x1c48]
mov rcx, rbp
mov qword [r12 + 0x1e50], rdx
mov qword [r12 + 0x1e48], rax
call sym.suboption
jmp 0x1400764a0
mov dword [r12 + 0x1c1c], 1
jmp 0x1400763ea
mov rdx, qword [rbp + 0x1270]
test rdx, rdx
je 0x140076a17
mov eax, dword [rdx + 8]
test eax, eax
jle 0x140076467
mov dword [rsp + 0x20], r10d
lea r9, str.DONT
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__d
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
jmp 0x140076467
mov rdx, qword [rbp + 0x1270]
test rdx, rdx
je 0x140076a5f
mov eax, dword [rdx + 8]
test eax, eax
jle 0x14007651f
mov dword [rsp + 0x20], r10d
lea r9, [0x14016846b]
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__d
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
jmp 0x14007651f
mov rdx, qword [rbp + 0x1270]
test rdx, rdx
je 0x140076aa9
mov r8d, dword [rdx + 8]
test r8d, r8d
jle 0x140076807
mov dword [rsp + 0x20], r10d
lea r9, str.WONT
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__d
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
jmp 0x140076807
mov rdx, qword [rbp + 0x1270]
test rdx, rdx
je 0x140076af3
mov r11d, dword [rdx + 8]
test r11d, r11d
jle 0x1400765f3
mov dword [rsp + 0x20], r10d
lea r9, str.WILL
mov rcx, rbp
lea r8, str.RCVD
lea rdx, str._s__s__d
mov dword [rsp + 0x78], r10d
call sym.Curl_infof
mov r10d, dword [rsp + 0x78]
jmp 0x1400765f3
lea rax, [r15 + 0x400]
mov r9d, dword [rdx + rax*4 + 8]
test r9d, r9d
je 0x140076bc2
cmp r9d, 1
jne 0x1400764a0
mov dword [rdx + r8*4 + 8], 2
mov rcx, rbp
mov r8d, r10d
mov dword [rdx + rax*4 + 8], 0
mov edx, 0xfd
call sym.send_negotiation
jmp 0x1400764a0
lea rax, [r15 + 0x400]
mov r9d, dword [rdx + rax*4 + 8]
test r9d, r9d
je 0x140076bc2
cmp r9d, 1
jne 0x1400764a0
mov dword [rdx + r8*4 + 8], 0
mov dword [rdx + rax*4 + 8], 0
jmp 0x1400764a0
lea r8, [r15 + 0x100]
mov r9d, dword [rdx + r8*4 + 8]
test r9d, r9d
je 0x140076dd3
cmp r9d, 1
jne 0x1400764a0
mov dword [rdx + r15*4 + 8], 0
mov dword [rdx + r8*4 + 8], 0
jmp 0x1400764a0
mov edx, dword [r15 + 0x408]
test edx, edx
je 0x140076e6f
cmp edx, 1
jne 0x1400764a0
mov dword [r15 + 8], 1
mov dword [r15 + 0x408], 0
jmp 0x1400764a0
mov edx, dword [r15 + 0x408]
test edx, edx
je 0x140076e0c
cmp edx, 1
jne 0x1400764a0
mov dword [r15 + 8], 3
mov dword [r15 + 0x1008], 0
jmp 0x140076570
cmp r10d, 0xff
jne 0x140076a90
lea rdx, str.EXOPL
mov r15d, 0xff
jmp 0x1400767c6
cmp r10d, 0xff
jne 0x140076a00
lea rdx, str.EXOPL
mov r15d, 0xff
jmp 0x140076427
cmp r10d, 0xff
jne 0x140076a48
lea rdx, str.EXOPL
jmp 0x1400764df
mov dword [rdx + r15*4 + 8], 0
mov r8d, r10d
mov edx, 0xfc
mov rcx, rbp
call sym.send_negotiation
jmp 0x1400764a0
lea r8, [r15 + 0x100]
mov r9d, dword [rdx + r8*4 + 8]
test r9d, r9d
je 0x140076dd3
cmp r9d, 1
jne 0x1400764a0
mov dword [rdx + r15*4 + 8], 2
mov rcx, rbp
mov dword [rdx + r8*4 + 8], 0
mov r8d, r10d
mov edx, 0xfb
call sym.send_negotiation
jmp 0x1400764a0
mov edx, dword [rax + 0x1008]
test edx, edx
je 0x140076e60
cmp edx, 1
jne 0x1400764a0
mov dword [rax + 0xc08], 1
mov dword [rax + 0x1008], 0
jmp 0x1400764a0
mov edx, dword [rax + 0x1008]
test edx, edx
je 0x140076e32
cmp edx, 1
jne 0x1400764a0
mov dword [rax + 0xc08], 3
mov dword [rax + 0x1008], 0
jmp 0x140076637
cmp r10d, 0xff
jne 0x140076ada
lea rdx, str.EXOPL
jmp 0x1400765b3
mov dword [r12 + 0x1c1c], 0
test byte [rbp + 0xa47], 0x10
je case.default.0x140076280
lea edx, [r11 - 0xec]
mov rax, qword [rbp + 0x1270]
cmp edx, 0x13
ja 0x140076f1a
test rax, rax
je 0x140076da4
mov eax, dword [rax + 8]
test eax, eax
jle case.default.0x140076280
lea eax, [r11 - 0xec]
lea rcx, [0x1401686e0]
cdqe
lea r8, str.RCVD
lea rdx, str._s_IAC__s
mov r9, qword [rcx + rax*8]
mov rcx, rbp
call sym.Curl_infof
jmp case.default.0x140076280
mov dword [rdx + r15*4 + 8], 0
jmp 0x1400764a0
mov rbx, qword [rsp + 0x58]
sub edi, eax
mov edx, 1
mov rcx, rbp
movsxd r9, edi
lea r8, [rbx + rax]
call sym.Curl_client_write
test eax, eax
je 0x1400763af
mov r15d, eax
jmp 0x14007604e
cmp dword [r15 + 0x1808], 1
mov dword [r15 + 8], 1
jne 0x1400764a0
mov edx, r10d
mov rcx, rbp
call sym.sendsuboption
jmp 0x1400764a0
mov dword [rax + 0xc08], 1
jmp 0x1400764a0
mov dword [rax + 0xc08], 1
mov r8d, r10d
mov edx, 0xfd
mov rcx, rbp
call sym.send_negotiation
jmp 0x1400764a0
mov dword [rax + 0xc08], 0
jmp 0x1400764a0
mov dword [r15 + 8], 0
jmp 0x1400764a0
test rdx, rdx
je 0x140076e8c
mov eax, dword [rdx + 8]
test eax, eax
jle 0x14007677a
mov r9d, r11d
lea r8, str.In_SUBOPTION_processing__RCVD
mov rcx, rbp
mov dword [rsp + 0x7c], r10d
lea rdx, str._s_IAC__d
mov dword [rsp + 0x78], r11d
call sym.Curl_infof
mov r10d, dword [rsp + 0x7c]
mov r11d, dword [rsp + 0x78]
jmp 0x14007677a
mov r8d, r10d
mov edx, 0xfb
mov rcx, rbp
mov dword [rsp + 0x78], r10d
mov dword [r15 + 8], 1
call sym.send_negotiation
mov r10d, dword [rsp + 0x78]
jmp 0x140076e22
mov r8d, r10d
mov edx, 0xfb
mov rcx, rbp
mov dword [rsp + 0x78], r10d
mov dword [r15 + 8], 1
call sym.send_negotiation
cmp dword [r15 + 0x1808], 1
mov r10d, dword [rsp + 0x78]
jne 0x1400764a0
jmp 0x140076e22
test rax, rax
je 0x140076f2a
mov eax, dword [rax + 8]
test eax, eax
jle case.default.0x140076280
mov r9d, r11d
lea r8, str.RCVD
lea rdx, str._s_IAC__d
mov rcx, rbp
call sym.Curl_infof
jmp case.default.0x140076280
mov rdi, qword [rbp + 0x1c8]
xor ebx, ebx
jmp 0x140076f70
cmp dword [rdi + rbx*4 + 0x1408], 1
je 0x140076fbd
cmp rbx, 0x27
je 0x140077007
add rbx, 1
mov r12d, ebx
cmp rbx, 1
je 0x140076f6c
cmp dword [rdi + rbx*4 + 0x808], 1
jne 0x140076f58
mov rax, qword [rbp + 0x1c8]
movsxd rdx, ebx
mov ecx, dword [rax + rdx*4 + 8]
cmp ecx, 2
je 0x14007703d
cmp ecx, 3
je 0x140077018
test ecx, ecx
jne 0x140076f58
mov dword [rax + rdx*4 + 8], 2
mov r8d, ebx
mov rcx, rbp
mov edx, 0xfb
call sym.send_negotiation
jmp 0x140076f58
mov rax, qword [rbp + 0x1c8]
movsxd rdx, r12d
lea r8, [rdx + 0x300]
mov ecx, dword [rax + r8*4 + 8]
cmp ecx, 2
je 0x140077084
cmp ecx, 3
je 0x14007705f
test ecx, ecx
jne 0x140076f62
mov dword [rax + r8*4 + 8], 2
mov edx, 0xfd
mov r8d, r12d
mov rcx, rbp
call sym.send_negotiation
jmp 0x140076f62
mov rax, qword [rsp + 0x50]
mov dword [rax + 4], 1
jmp 0x1400763c9
mov r9d, dword [rax + rdx*4 + 0x408]
lea rcx, [rdx + 0x100]
test r9d, r9d
jne 0x140076f58
mov dword [rax + rcx*4 + 8], 1
jmp 0x140076f58
cmp dword [rax + rdx*4 + 0x408], 1
lea rcx, [rdx + 0x100]
jne 0x140076f58
mov dword [rax + rcx*4 + 8], 0
jmp 0x140076f58
mov r8d, dword [rax + rdx*4 + 0x1008]
lea rcx, [rdx + 0x400]
test r8d, r8d
jne 0x140076f62
mov dword [rax + rcx*4 + 8], 1
jmp 0x140076f62
cmp dword [rax + rdx*4 + 0x1008], 1
lea rcx, [rdx + 0x400]
jne 0x140076f62
mov dword [rax + rcx*4 + 8], 0
jmp 0x140076f62
lea r12, [rsp + 0x90]
mov rcx, r12
call sym.Curl_now
lea rdx, [rsp + 0x80]
mov rcx, r12
movdqu xmm3, xmmword [r14 + 0x218]
movaps xmmword [rsp + 0x80], xmm3
call sym.Curl_timediff
mov r8, rax
mov eax, dword [rbp + 0x2f8]
cmp r8, rax
jl 0x14007615b
jmp 0x140076094