Function at 0x1401617e0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
movaps xmmword [rsp + 0x210], xmm6
mov rax, qword [0x14039ac80]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov qword [rbp - 0x18], r9
mov dword [rsp + 0x68], r8d
mov r12, rdx
mov qword [rbp - 0x50], rdx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x48], rdx
xor ebx, ebx
mov r13d, ebx
mov dword [rbp - 8], ebx
mov dword [rbp + 0x20], ebx
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], rbx
lea ecx, [rbx + 0x20]
call fcn.1402c5360
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x38], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], 7
mov qword [rbp + 0x58], 8
mov dword [rbp + 0x20], 0x3f800000
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp + 0x38]
call fcn.1401609e0
nop
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], rbx
lea ecx, [rbx + 0x38]
call fcn.1402c5360
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x58], 8
mov dword [rsp + 0x70], 0x3f800000
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp - 0x78]
call fcn.1401609e0
nop
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x14016193b
nop
lea r8, [rbx + 4]
cmp byte [r8], 0
je 0x14016190f
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x20]
call fcn.14015fa30
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
cmp qword [rbx + 0x18], 0
je 0x14016192f
lea r8, [rbx + 8]
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x70]
call fcn.14015fd10
mov rcx, qword [rax]
mov qword [rcx + 0x30], rbx
add rbx, 0x88
cmp rbx, rdi
jne 0x1401618f0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
xor edi, edi
mov r15d, edi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 0x20], rdi
mov ebx, 1
mov dword [rbp - 0x38], ebx
mov r10d, dword [rsp + 0x68]
cmp r10d, ebx
jle 0x14016284b
mov r12d, ebx
mov qword [rbp], rbx
lea r14, [rdi - 1]
lea rcx, [0x1402cbbc8]
movabs rdx, 0x100000001b3
movabs r9, 0xcbf29ce484222325
mov r11, qword [rbp - 0x18]
lea r8, [r11 + r12*8]
mov rsi, qword [r8]
cmp byte [rsi], 0x2d
jne 0x140161dc5
movzx eax, byte [rsi + 1]
test al, al
je 0x140161dc5
cmp al, 0x2d
jne 0x140161c97
lea rdx, [rsi + 2]
cmp byte [rdx], 0
je 0x1401623c9
mov r8, r14
inc r8
cmp byte [rdx + r8], 0
jne 0x1401619c4
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x78], r8
test rdx, rdx
je 0x140162b57
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rdi
mov rbx, rdi
test r8, r8
je 0x140161a02
nop
cmp byte [rdx + rbx], 0x3d
je 0x140161b05
inc rbx
cmp rbx, r8
jb 0x1401619f0
mov rbx, r14
movaps xmm6, xmmword [rbp + 0x70]
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], rdi
lea rcx, [rbp + 0xe0]
call fcn.140128bf0
bts r13d, 7
mov dword [rbp - 8], r13d
lea r8, [rbp + 0xe0]
mov r15, qword [rbp + 0xe0]
mov r13, qword [rbp + 0xf8]
cmp r13, 0xf
cmova r8, r15
movabs rdx, 0xcbf29ce484222325
mov rcx, rdi
mov rsi, qword [rbp + 0xf0]
test rsi, rsi
je 0x140161a94
movabs r9, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, rsi
jb 0x140161a80
mov rax, qword [rbp - 0x60]
and rax, rdx
add rax, rax
mov rcx, qword [rbp - 0x78]
mov rdi, qword [rcx + rax*8 + 8]
mov r12, qword [rsp + 0x78]
cmp rdi, r12
je 0x140161b8d
mov r14, qword [rcx + rax*8]
nop dword [rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140161ad2
mov rdx, qword [rdx]
lea rcx, [rbp + 0xe0]
cmp r13, 0xf
cmova rcx, r15
cmp rsi, rax
jne 0x140161af6
mov r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140161b7d
cmp rdi, r14
je 0x140161b86
mov rdi, qword [rdi + 8]
jmp 0x140161ac0
cmp rbx, 0xffffffffffffffff
je 0x140161a05
lea rax, [rbx + 1]
cmp rax, r8
ja 0x140162b8b
mov rcx, r8
sub rcx, rax
add rax, rdx
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rcx
je 0x140162b57
movaps xmm0, xmmword [rbp + 0x80]
movdqa xmmword [rbp + 0x60], xmm0
cmp rbx, r8
cmovb r8, rbx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], r8
test rdx, rdx
je 0x140162b57
movaps xmm6, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x70], xmm6
movdqa xmm0, xmm6
psrldq xmm0, 8
movq r8, xmm0
movq rdx, xmm6
jmp 0x140161a09
mov r14, 0xffffffffffffffff
jmp 0x140161b8f
mov r14, 0xffffffffffffffff
xor edi, edi
mov rsi, r12
test rdi, rdi
cmovne rsi, rdi
cmp r13, 0xf
jbe 0x140161bd5
lea rdx, [r13 + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x140161bc8
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140161f21
mov rcx, r15
call fcn.1402c539c
mov r12, qword [rsp + 0x78]
cmp rsi, r12
je 0x14016223b
mov rdx, qword [rsi + 0x30]
mov ecx, dword [rdx]
test ecx, ecx
je 0x140161c3c
cmp ecx, 1
jne 0x140162ba5
mov r12, qword [rbp]
cmp rbx, 0xffffffffffffffff
mov ebx, dword [rbp - 0x38]
jne 0x140161c4d
inc ebx
inc r12
cmp ebx, dword [rsp + 0x68]
je 0x140161f28
mov r9, qword [rbp - 0x18]
mov rcx, qword [r9 + r12*8]
mov rax, r14
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140161c20
test rcx, rcx
je 0x140162b57
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x68], rax
jmp 0x140161c4d
cmp rbx, 0xffffffffffffffff
jne 0x1401620e4
mov ebx, dword [rbp - 0x38]
mov r12, qword [rbp]
movaps xmm0, xmmword [rbp + 0x60]
movdqa xmmword [rbp], xmm0
mov rcx, qword [rdx + 0x80]
test rcx, rcx
je 0x140162bbf
mov rax, qword [rcx]
lea r8, [rbp]
lea rdx, [rsp + 0x48]
call qword [rax + reloc.WS2_32.dll_recv]
mov r13d, dword [rbp - 8]
bts r13d, 0xe
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x14016207c
mov r15, qword [rbp - 0x10]
xor edi, edi
jmp 0x140161def
mov edi, 1
nop dword [rax]
movzx ecx, byte [rdi + rsi]
mov eax, ecx
xor rax, r9
imul rax, rdx
mov rdx, qword [rbp + 0x50]
and rdx, rax
add rdx, rdx
mov r8, qword [rbp + 0x38]
mov rax, qword [r8 + rdx*8 + 8]
mov r9, qword [rbp + 0x28]
cmp rax, r9
je 0x140161ce2
mov rdx, qword [r8 + rdx*8]
cmp cl, byte [rax + 0x10]
je 0x140161ce4
cmp rax, rdx
je 0x140161ce2
mov rax, qword [rax + 8]
cmp cl, byte [rax + 0x10]
jne 0x140161cd2
jmp 0x140161ce4
xor eax, eax
test rax, rax
je 0x140162644
cmp rax, r9
je 0x140162644
mov r9, qword [rax + 0x18]
xor ecx, ecx
lea rdx, [0x1402cbbc8]
mov r8d, dword [r9]
test r8d, r8d
je 0x140161d5c
cmp r8d, 1
jne 0x140162c13
lea rdx, [rsi + 1]
add rdx, rdi
cmp byte [rdx], cl
jne 0x140161d49
inc ebx
inc r12
cmp ebx, r10d
je 0x140162420
mov rdx, qword [r11 + r12*8]
mov rcx, r14
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140161d35
test rdx, rdx
je 0x140162b57
jmp 0x140161d5c
mov rcx, r14
nop dword [rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x140161d50
add rdi, rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rcx
mov rcx, qword [r9 + 0x80]
test rcx, rcx
je 0x140162c47
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
or r13d, 0x10
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x140162590
inc rdi
cmp byte [rdi + rsi], al
mov r10d, dword [rsp + 0x68]
mov r11, qword [rbp - 0x18]
movabs rdx, 0x100000001b3
movabs r9, 0xcbf29ce484222325
jne 0x140161ca0
xor edi, edi
jmp 0x140161e0c
mov rax, qword [rbp - 0x28]
cmp rax, r15
je 0x140161ddb
mov qword [rax], rsi
add rax, 8
mov qword [rbp - 0x28], rax
jmp 0x140161e13
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.1401513a0
mov r15, qword [rbp - 0x20]
mov qword [rbp - 0x10], r15
movabs r9, 0xcbf29ce484222325
movabs rdx, 0x100000001b3
mov r11, qword [rbp - 0x18]
mov r10d, dword [rsp + 0x68]
lea rcx, [0x1402cbbc8]
inc ebx
mov dword [rbp - 0x38], ebx
inc r12
mov qword [rbp], r12
cmp ebx, r10d
jl 0x140161990
mov r14, qword [rbp - 0x28]
mov r12, qword [rbp - 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x30]
movsxd rcx, dword [rbp + 0x180]
test ecx, ecx
js 0x140162997
mov rax, r14
sub rax, rdi
sar rax, 3
cmp rax, rcx
je 0x140162997
xor r9d, r9d
xor r8d, r8d
xor edx, edx
test ecx, ecx
jne 0x1401628b0
lea rcx, [rsp + 0x58]
call fcn.140133d00
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
xor esi, esi
mov qword [rsp + 0x40], rsi
lea ecx, [rsi + 0x37]
call fcn.1402c53a4
mov rdx, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Unexpected_non_option_parameters_specified]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x1402cebc8]
movups xmmword [rax + 0x1c], xmm1
movsd xmm0, qword [0x1402cebd8]
movsd qword [rax + 0x2c], xmm0
movzx eax, word [0x1402cebe0]
mov word [rdx + 0x34], ax
mov byte [rdx + 0x36], sil
mov qword [rsp + 0x40], rsi
mov qword [r12], rdx
test rdx, rdx
je 0x140162b71
test rdi, rdi
je 0x14016285d
sub r15, rdi
sar r15, 3
lea rdx, [r15*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140162854
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140162854
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor esi, esi
mov dword [rbp], esi
mov word [rbp + 4], si
lea rax, vtable.td::NullLog.0
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea r8, [rbp]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.14012b7e0
mov rdi, rax
lea rcx, str.Option
mov qword [rsp + 0x30], rcx
mov rdx, r14
inc rdx
cmp byte [rcx + rdx], 0
jne 0x140161f67
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x30]
lea rcx, [rax + 0x18]
call fcn.140154960
movdqa xmmword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x18]
call fcn.140154960
lea rax, str._must_have_argument
mov qword [rsp + 0x30], rax
inc r14
cmp byte [rax + r14], 0
jne 0x140161fa3
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x18]
call fcn.140154960
mov r8, rdi
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x50]
call fcn.14012dc90
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.14012b920
nop
lea rdx, [rsp + 0x58]
mov rbx, qword [rbp - 0x50]
mov rcx, rbx
call fcn.1401360f0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140162027
movsd xmm0, qword [rcx]
movsd qword [rbp - 0x48], xmm0
test byte [rbp - 0x48], 1
jne 0x140162027
call fcn.1402c539c
nop
lea rcx, [rbp + 0x90]
call fcn.14015a700
nop
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140162052
mov r8, qword [rbp - 0x10]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x30]
call fcn.1401302e0
nop
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x140162399
mov r8, qword [rbp - 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x78]
call fcn.1401302e0
mov qword [rbp - 0x78], rsi
jmp 0x140162391
xor edi, edi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov rbx, qword [rbp - 0x50]
mov rcx, rbx
call fcn.1401360f0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401620b9
movsd xmm0, qword [rcx]
movsd qword [rbp - 0x48], xmm0
test byte [rbp - 0x48], 1
jne 0x1401620b9
call fcn.1402c539c
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140162352
movsd xmm0, qword [rcx]
movsd qword [rbp - 0x48], xmm0
test byte [rbp - 0x48], 1
jne 0x140162352
call fcn.1402c539c
jmp 0x140162352
xor esi, esi
mov dword [rsp + 0x48], esi
mov word [rsp + 0x4c], si
lea rax, vtable.td::NullLog.0
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.14012b7e0
mov rdi, rax
lea rcx, str.Option
mov qword [rsp + 0x30], rcx
mov rdx, r14
inc rdx
cmp byte [rcx + rdx], 0
jne 0x140162126
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x30]
lea rcx, [rax + 0x18]
call fcn.140154960
movdqa xmmword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x18]
call fcn.140154960
lea rax, str._must_not_have_argument
mov qword [rsp + 0x30], rax
inc r14
cmp byte [rax + r14], 0
jne 0x140162162
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x18]
call fcn.140154960
mov r8, rdi
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x50]
call fcn.14012dc90
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.14012b920
nop
lea rdx, [rsp + 0x58]
mov rbx, qword [rbp - 0x50]
mov rcx, rbx
call fcn.1401360f0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401621e6
movsd xmm0, qword [rcx]
movsd qword [rbp - 0x48], xmm0
test byte [rbp - 0x48], 1
jne 0x1401621e6
call fcn.1402c539c
nop
lea rcx, [rbp + 0x90]
call fcn.14015a700
nop
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140162211
mov r8, qword [rbp - 0x10]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x30]
call fcn.1401302e0
nop
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x140162399
mov r8, qword [rbp - 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x78]
call fcn.1401302e0
mov qword [rbp - 0x78], rsi
jmp 0x140162391
xor edi, edi
mov dword [rsp + 0x48], edi
mov word [rsp + 0x4c], di
lea rax, vtable.td::NullLog.0
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.14012b7e0
nop
lea rbx, [rax + 0x18]
lea rcx, str.Option
mov qword [rsp + 0x30], rcx
mov rax, r14
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140162280
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140154960
movdqa xmmword [rsp + 0x30], xmm6
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140154960
lea rax, str._was_unrecognized
mov qword [rsp + 0x30], rax
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x1401622c0
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140154960
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14012fdf0
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x10], rcx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x18], rax
test rcx, rcx
je 0x140162bc5
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.14012b920
nop
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x58], rdi
mov rbx, qword [rbp - 0x50]
mov qword [rbx], rax
test rax, rax
je 0x140162bdf
lea rcx, [rbp + 0x90]
call fcn.14015a700
nop
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140162370
mov r8, qword [rbp - 0x10]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x30]
call fcn.1401302e0
nop
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x140162399
mov r8, qword [rbp - 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x78]
call fcn.1401302e0
mov qword [rbp - 0x78], rdi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.14015f990
mov edx, reloc.WS2_32.dll_getservbyport
mov rcx, qword [rsp + 0x78]
call fcn.1402c539c
nop
lea rcx, [rbp + 0x20]
call fcn.140160280
mov rax, rbx
jmp 0x140162b1f
lea eax, [rbx + 1]
cdqe
movsxd rdi, r10d
mov r14, qword [rbp - 0x28]
cmp rax, rdi
jge 0x140161e2c
lea rbx, [r11 + rax*8]
sub rdi, rax
cmp r14, r15
je 0x1401623fa
mov rax, qword [rbx]
mov qword [r14], rax
add r14, 8
mov qword [rbp - 0x28], r14
jmp 0x140162411
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.1401513a0
mov r15, qword [rbp - 0x20]
mov r14, qword [rbp - 0x28]
add rbx, 8
sub rdi, 1
jne 0x1401623e5
jmp 0x140161e2c
xor r12d, r12d
mov dword [rsp + 0x48], r12d
mov word [rsp + 0x4c], cx
lea rax, vtable.td::NullLog.0
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.14012b7e0
mov rbx, rax
lea rcx, str.Option
mov qword [rsp + 0x30], rcx
mov rdx, r14
inc rdx
cmp byte [rcx + rdx], 0
jne 0x140162464
mov qword [rsp + 0x38], rdx
lea rdx, [rsp + 0x30]
lea rcx, [rax + 0x18]
call fcn.140154960
lea rdx, [rdi + rsi]
mov rcx, rbx
call fcn.14015cc50
lea rbx, [rax + 0x18]
lea rax, str._must_have_argument
mov qword [rsp + 0x30], rax
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x1401624a0
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140154960
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14012fdf0
mov rcx, qword [rsp + 0x30]
mov qword [rbp + 0x10], rcx
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x18], rax
test rcx, rcx
je 0x140162bf9
movaps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.14012b920
nop
lea rdx, [rsp + 0x58]
mov rbx, qword [rbp - 0x50]
mov rcx, rbx
call fcn.1401360f0
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14016253c
movsd xmm0, qword [rcx]
movsd qword [rbp - 0x48], xmm0
test byte [rbp - 0x48], 1
jne 0x14016253c
call fcn.1402c539c
nop
lea rcx, [rbp + 0x90]
call fcn.14015a700
nop
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140162566
sub r15, rdx
sar r15, 3
mov r8, r15
lea rcx, [rbp - 0x30]
call fcn.1401302e0
nop
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x140162399
mov r8, qword [rbp - 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x78]
call fcn.1401302e0
mov qword [rbp - 0x78], r12
jmp 0x140162391
xor edi, edi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x58], rdi
mov rbx, qword [rbp - 0x50]
mov qword [rbx], rax
test rax, rax
je 0x140162c2d
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1401625f2
sub r15, rcx
sar r15, 3
lea rdx, [r15*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401625ec
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401625ec
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402c539c
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140162399
mov rax, qword [rbp - 0x68]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016263a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14016263a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402c539c
jmp 0x14016238d
mov dword [rsp + 0x48], 0
mov word [rsp + 0x4c], 0
lea rax, vtable.td::NullLog.0
mov qword [rsp + 0x40], rax
xor r9d, r9d
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x90]
call fcn.14012b7e0
nop
lea rbx, [rax + 0x18]
lea rcx, str.Option
mov qword [rsp + 0x30], rcx
mov rax, r14
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140162690
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140154960
movzx edi, byte [rdi + rsi]
mov rax, qword [rbx + 8]
cmp qword [rbx + 0x10], rax
ja 0x1401626d0
mov edx, 0x1e
mov rcx, rbx
call fcn.140154fa0
test al, al
jne 0x1401626d0
mov byte [rbx + 0x18], 1
jmp 0x1401626db
mov rax, qword [rbx + 8]
mov byte [rax], dil
inc qword [rbx + 8]
lea rax, str._was_unrecognized
mov qword [rsp + 0x30], rax
nop word [rax + rax]
inc r14
cmp byte [rax + r14], 0
jne 0x1401626f0
mov qword [rsp + 0x38], r14
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.140154960
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
add rax, 0x1e
cmp rcx, rax
jb 0x140162724
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov byte [rcx], 0
mov rax, qword [rbx + 8]
mov r14, qword [rbx]
mov rsi, rax
sub rsi, r14
test r14, r14
je 0x140162c4d
cmp byte [rax], 0
jne 0x140162c67
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp]
call fcn.140133d00
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
xor r12d, r12d
mov qword [rsp + 0x58], r12
lea rcx, [rsi + 0xd]
call fcn.1402c53a4
mov rdi, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
mov r8, rsi
mov rdx, r14
lea rcx, [rax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi + 0xc], r12b
mov qword [rsp + 0x58], r12
mov rbx, qword [rbp - 0x50]
mov qword [rbx], rdi
test rdi, rdi
je 0x140162c81
lea rcx, [rbp + 0x90]
call fcn.14015a700
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x1401627f5
sub r15, rcx
sar r15, 3
lea rdx, [r15*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401627ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401627ef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402c539c
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140162399
mov rax, qword [rbp - 0x68]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14016283d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14016283d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402c539c
mov qword [rbp - 0x78], r12
jmp 0x140162391
mov r14, qword [rbp - 0x28]
jmp 0x140161e35
mov rcx, rdi
call fcn.1402c539c
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140162af4
mov rax, qword [rbp - 0x68]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401628a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140162a3a
call fcn.1402c539c
mov qword [rbp - 0x78], rsi
jmp 0x140162aec
cmp rax, rcx
lea rcx, [rsp + 0x40]
jbe 0x140162949
lea rax, str.Too_much_non_option_parameters_specified
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x28
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.14012b920
nop
mov rax, qword [rsp + 0x40]
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [r12], rax
test rax, rax
je 0x140162c9b
test rdi, rdi
je 0x140162923
sub r15, rdi
sar r15, 3
mov r8, r15
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.1401302e0
nop
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x140162af4
mov r8, qword [rbp - 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x78]
call fcn.1401302e0
jmp 0x140162ae8
lea rax, str.Too_few_non_option_parameters_specified
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x27
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.14012b920
nop
mov rax, qword [rsp + 0x40]
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [r12], rax
test rax, rax
je 0x140162cb5
jmp 0x140162907
mov rbx, qword [rsi + 0x18]
mov rsi, qword [rsi + 0x20]
cmp rbx, rsi
je 0x1401629dc
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x140162b51
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rax, qword [rsp + 0x40]
test rax, rax
jne 0x140162a41
add rbx, 0x40
cmp rbx, rsi
jne 0x1401629b0
xor ebx, ebx
mov qword [r12], rbx
mov qword [r12 + 8], rdi
mov qword [r12 + 0x10], r14
mov qword [r12 + 0x18], r15
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140162af4
mov rax, qword [rbp - 0x68]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140162ae3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140162ae3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x58], rbx
mov qword [r12], rax
test rax, rax
je 0x140162ccf
test rdi, rdi
je 0x140162a9f
sub r15, rdi
sar r15, 3
lea rdx, [r15*8]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140162a96
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140162a96
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1402c539c
nop
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140162af4
mov rax, qword [rbp - 0x68]
sub rax, rcx
sar rax, 3
lea rdx, [rax*8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140162ae3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140162ae3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1402c539c
mov qword [rbp - 0x78], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x70], xmm0
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x78]
call fcn.14015f990
mov edx, reloc.WS2_32.dll_getservbyport
mov rcx, qword [rsp + 0x78]
call fcn.1402c539c
nop
lea rcx, [rbp + 0x20]
call fcn.140160280
mov rax, r12
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.1402c5880
mov rbx, qword [rsp + 0x270]
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
mov r8d, 0x9e
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
nop
mov r8d, 0xf6
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.from___len_
call fcn.140153ae0
int3
mov r8d, 0x83
lea rdx, str.D:_a_ton_ton_tdutils_tdutilsOptionParser.cpp
lea rcx, str.Unreachable
call fcn.140153ae0
int3
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
mov r8d, 0x9e
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
nop
mov r8d, 0x9e
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.140153ae0
nop
mov r8d, 0xa2
lea rdx, str.D:_a_ton_ton_tdutils_tdutilsOptionParser.cpp
lea rcx, str.Unreachable
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
nop
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
mov r8d, 0x21
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.140153ae0
int3
mov r8d, 0x12a
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.t__0
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.140153ae0
int3