Function at 0x140017cc0
Capabilities:
Encode data using xor

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 - 0x40]
sub rsp, 0x140
mov rax, qword [0x1400b30a0]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rdi, rcx
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
xor r13d, r13d
mov eax, dword [rdx + rcx]
cmp dword [0x1400b456c], eax
jle 0x140018003
lea rcx, [0x1400b456c]
call fcn.140089408
cmp dword [0x1400b456c], 0xffffffff
jne 0x140018003
xorps xmm0, xmm0
xor eax, eax
movups xmmword [0x1400b4570], xmm0
mov qword [0x1400b4580], rax
mov dword [rsp + 0x20], 0xa1aaa2b8
mov word [rsp + 0x24], 0xab
mov byte [rsp + 0x26], 1
mov ecx, r13d
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 5
jb 0x140017d60
mov byte [rsp + 0x26], 0
mov qword [rsp + 0x50], r13
movdqa xmm0, xmmword [0x1400a5510]
movdqa xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
lea rax, [rsp + 0x20]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140017da0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.1400145d0
nop
mov dword [rsp + 0x20], 0xb9bfa2ba
mov dword [rsp + 0x24], 0x100a3a1
mov rcx, r13
nop dword [rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 6
jb 0x140017dd0
mov byte [rsp + 0x27], 0
mov qword [rsp + 0x70], r13
movdqa xmm0, xmmword [0x1400a5510]
movdqa xmmword [rbp - 0x80], xmm0
mov byte [rsp + 0x70], 0
lea rax, [rsp + 0x20]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140017e04
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1400145d0
nop
mov dword [rsp + 0x20], 0xbba4a8
mov byte [rsp + 0x24], 1
mov rcx, r13
nop
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 3
jb 0x140017e30
mov byte [rsp + 0x24], 0
mov qword [rbp - 0x70], r13
movdqa xmm0, xmmword [0x1400a5510]
movdqa xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
lea rax, [rsp + 0x20]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140017e62
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x70]
call fcn.1400145d0
nop
mov dword [rsp + 0x20], 0xaba6a6
mov byte [rsp + 0x24], 1
mov rcx, r13
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 3
jb 0x140017e90
mov byte [rsp + 0x24], 0
mov qword [rbp - 0x50], r13
movdqa xmm0, xmmword [0x1400a5510]
movdqa xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
lea rax, [rsp + 0x20]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140017ec2
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x50]
call fcn.1400145d0
nop
mov dword [rsp + 0x20], 0xb9a3a3b9
mov dword [rsp + 0x24], 0xbebaa9
mov byte [rsp + 0x28], 1
mov rcx, r13
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 7
jb 0x140017f00
mov byte [rsp + 0x28], 0
mov qword [rbp - 0x30], r13
movdqa xmm0, xmmword [0x1400a5510]
movdqa xmmword [rbp - 0x20], xmm0
mov byte [rbp - 0x30], 0
lea rax, [rsp + 0x20]
mov r8, rbx
inc r8
cmp byte [rax + r8], 0
jne 0x140017f32
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x30]
call fcn.1400145d0
nop
mov dword [rsp + 0x20], 0xaba6b9
mov byte [rsp + 0x24], 1
mov rcx, r13
nop dword [rax + rax]
lea eax, [rcx - 0x36]
xor byte [rsp + rcx + 0x20], al
inc rcx
cmp rcx, 3
jb 0x140017f60
mov byte [rsp + 0x24], 0
mov qword [rbp - 0x10], r13
movdqa xmm0, xmmword [0x1400a5510]
movdqa xmmword [rbp], xmm0
mov byte [rbp - 0x10], 0
lea rax, [rsp + 0x20]
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x140017f90
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x10]
call fcn.1400145d0
nop
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [0x1400b4570]
call fcn.1400203e0
nop
lea r9, [fcn.1400140d0]
mov edx, reloc.WLDAP32.dll_Ordinal_32
lea r8d, [rdx - 0x1a]
lea rcx, [rsp + 0x50]
call fcn.140089a74
lea rcx, [0x14008c280]
call fcn.14008978c
nop
lea rcx, [0x1400b456c]
call fcn.1400893a8
mov r8, rdi
lea rdx, [rbp + 0x10]
call fcn.140017a90
nop
mov r15, qword [0x1400b4570]
mov r12, qword [0x1400b4578]
cmp r15, r12
je 0x140018147
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x10]
mov rax, qword [rbp + 0x20]
cmp qword [rbp + 0x28], 8
jb 0x14001804a
mov rdi, qword [rbp + 0x10]
lea rbx, [rdi + rax*2]
jmp 0x140018052
lea rbx, [rcx + rax*2]
lea rdi, [rbp + 0x10]
mov r14, r13
mov qword [rsp + 0x30], r13
mov rcx, r13
mov qword [rsp + 0x40], rcx
mov esi, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x48], rsi
mov rdx, rbx
sub rdx, rdi
sar rdx, 1
cmp rdx, rsi
jbe 0x140018096
lea rcx, [rsp + 0x30]
call fcn.1400213d0
mov rcx, r13
mov qword [rsp + 0x40], rcx
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
cmp rdi, rbx
je 0x1400180ee
nop dword [rax + rax]
movzx r9d, byte [rdi]
cmp rcx, rsi
jae 0x1400180ca
lea rax, [rcx + 1]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
cmp rsi, 0x10
cmovae rax, r14
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400180d4
lea rcx, [rsp + 0x30]
call fcn.1400149a0
add rdi, 2
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x30]
cmp rdi, rbx
je 0x1400180ee
mov rcx, qword [rsp + 0x40]
jmp 0x1400180a0
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.140020680
mov rbx, rax
cmp rsi, 0x10
jb 0x140018134
lea rdx, [rsi + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x14001812c
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018187
mov rcx, r14
call fcn.140089278
cmp rbx, 0xffffffffffffffff
jne 0x14001818e
add r15, 0x20
cmp r15, r12
jne 0x140018031
xor bl, bl
mov rdx, qword [rbp + 0x28]
cmp rdx, 8
jb 0x14001819a
lea rdx, [rdx*2 + 2]
mov rdi, qword [rbp + 0x10]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140018192
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140018192
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
mov bl, 1
jmp 0x140018149
mov rcx, rdi
call fcn.140089278
movzx eax, bl
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140089250
lea r11, [rsp + 0x140]
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