Function at 0x1400167a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x160
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x1a0], rbx
mov r15, r8
mov r14, rdx
mov rbx, rcx
mov byte [rsp + 0x190], 0
mov byte [rsp + 0x20], 0
xor eax, eax
mov qword [rsp + 0x21], rax
mov qword [rsp + 0x29], rax
mov qword [rsp + 0x31], rax
mov dword [rsp + 0x39], eax
mov word [rsp + 0x3d], ax
mov byte [rsp + 0x3f], al
mov rax, qword [rcx + 0x10]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
cmp rax, rcx
cmovae rax, rcx
cmp qword [rbx + 0x18], 0x10
jb 0x140016815
mov rcx, qword [rbx]
jmp 0x140016818
mov rcx, rbx
test rax, rax
je 0x140016878
test rcx, rcx
je 0x14001683a
cmp rax, 0x20
ja 0x14001683a
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.14011c9b0
jmp 0x140016878
xor edx, edx
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], rdx
test rcx, rcx
jne 0x140016862
call fcn.140129180
mov dword [rax], reloc.WLDAP32.dll_Ordinal_22
jmp 0x140016873
cmp rax, 0x20
jbe 0x140016878
call fcn.140129180
mov dword [rax], Ordinal_35
call fcn.140128fd4
mov byte [rsp + 0x40], 0
xor eax, eax
mov qword [rsp + 0x41], rax
mov dword [rsp + 0x49], eax
mov word [rsp + 0x4d], ax
mov byte [rsp + 0x4f], al
mov rax, qword [rbx + 0x30]
mov r12d, reloc.WS2_32.dll_recv
cmp rax, r12
cmovae rax, r12
lea rcx, [rbx + 0x20]
cmp qword [rcx + 0x18], r12
jb 0x1400168af
mov rcx, qword [rcx]
test rax, rax
je 0x140016903
test rcx, rcx
je 0x1400168d0
cmp rax, r12
ja 0x1400168d0
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.14011c9b0
jmp 0x140016903
xor edx, edx
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rdx
test rcx, rcx
jne 0x1400168ee
call fcn.140129180
mov dword [rax], reloc.WLDAP32.dll_Ordinal_22
jmp 0x1400168fe
cmp rax, r12
jbe 0x140016903
call fcn.140129180
mov dword [rax], Ordinal_35
call fcn.140128fd4
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.1400178e0
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x150], xmm0
mov rbx, qword [r14]
mov rax, qword [r14 + 8]
sub rax, rbx
mov esi, eax
test eax, eax
je 0x140016990
lea rdi, [rsp + 0x150]
sub rdi, rbx
dec rsi
shr rsi, 4
inc rsi
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rbx]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.140017420
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdi + rbx]
xor byte [rbx], al
inc rbx
sub rcx, 1
jne 0x140016970
movups xmmword [rsp + 0x150], xmm0
sub rdi, r12
sub rsi, 1
jne 0x140016950
mov rcx, qword [r14]
mov rax, qword [r14 + 8]
sub rax, rcx
mov rdx, qword [r14 + 8]
sub rdx, rcx
movsx rax, byte [rax + rcx - 1]
sub rdx, rax
mov rcx, r14
call fcn.140017cb0
mov rdx, qword [r14]
mov r8, qword [r14 + 8]
sub r8, rdx
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x30], 0
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.14000d058
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.140005908
mov rax, qword [rsp + 0x38]
cmp rax, r12
jb 0x140016a41
inc rax
mov rcx, qword [rsp + 0x20]
cmp rax, 0x1000
jb 0x140016a3c
test cl, 0x1f
je 0x140016a0f
call fcn.140128ff4
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140016a1e
call fcn.140128ff4
int3
sub rcx, rax
cmp rcx, 8
jae 0x140016a2d
call fcn.140128ff4
int3
cmp rcx, 0x27
jbe 0x140016a39
call fcn.140128ff4
int3
mov rcx, rax
call fcn.1400eb7f4
mov bl, 1
mov byte [rsp + 0x190], bl
jmp 0x140016a5c
mov rcx, r14
call fcn.140006644
movzx eax, bl
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x160
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret