Function at 0x140239ad0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r14
push r15
mov eax, 0x80
call fcn.1402807a0
sub rsp, rax
mov rbp, rcx
mov rcx, qword [rsp + 0xd0]
xor edi, edi
test rcx, rcx
mov r14, rdx
mov esi, edi
cmove rcx, r9
mov qword [rsp + 0xd0], rcx
mov rcx, r9
call fcn.1401e3270
movsxd r15, eax
test eax, eax
js 0x140239c18
mov qword [rsp + 0xb0], rbx
mov ebx, dword [rsp + 0xd8]
cmp ebx, 0xffffffff
jne 0x140239b87
mov ebx, r15d
mov rcx, qword [rbp + 0x18]
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], r13
call fcn.1401df120
mov rcx, rbp
lea r13d, [rax - 1]
call fcn.1401d7230
mov r12d, eax
and r13d, 7
jne 0x140239b6a
mov byte [r14], sil
inc r14
dec r12d
lea ecx, [r15 + 2]
cmp r12d, ecx
jge 0x140239bb4
mov dword [rsp + 0x20], 0xe7
lea r9, [0x1403b4750]
jmp 0x140239c3f
cmp ebx, 0xfffffffe
jne 0x140239b8e
jmp 0x140239b39
jge 0x140239b39
mov edx, __WSAFDIsSet
lea r9, [0x1403b4738]
mov ecx, 4
lea r8d, [rdx - 0xc]
mov dword [rsp + 0x20], 0xdb
call fcn.1401c3730
jmp 0x140239c10
mov ebp, r12d
sub ebp, r15d
cmp ebx, 0xfffffffe
jne 0x140239c29
lea ebx, [rbp - 2]
test ebx, ebx
jle 0x140239c61
lea rdx, [0x1403b4780]
mov r8d, 0xf2
mov ecx, ebx
call fcn.1401d5df0
mov rsi, rax
test rax, rax
jne 0x140239c4f
mov dword [rsp + 0x20], 0xf5
lea r9, [0x1403b4798]
mov edx, __WSAFDIsSet
lea ecx, [rax + 4]
lea r8d, [rax + 0x41]
call fcn.1401c3730
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xb0]
mov eax, edi
add rsp, 0x80
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
lea eax, [rbp - 2]
cmp ebx, eax
jle 0x140239bc2
mov dword [rsp + 0x20], 0xee
lea r9, [0x1403b4768]
mov edx, __WSAFDIsSet
mov ecx, 4
lea r8d, [rdx - 0x26]
jmp 0x140239c01
mov edx, ebx
mov rcx, rax
call fcn.1401dc1e0
test eax, eax
jle 0x140239e19
lea eax, [rbp - 1]
lea rcx, [rsp + 0x38]
cdqe
add rax, r14
mov qword [rsp + 0x30], rax
call fcn.1401d9190
mov rdx, qword [rsp + 0xc8]
lea rcx, [rsp + 0x38]
xor r8d, r8d
call fcn.1401d8bd0
test eax, eax
je 0x140239e19
lea rdx, [0x1403180c0]
lea rcx, [rsp + 0x38]
mov r8d, 8
call fcn.1401d8e30
test eax, eax
je 0x140239e19
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x38]
mov r8, r15
call fcn.1401d8e30
test eax, eax
je 0x140239e19
test ebx, ebx
je 0x140239ced
lea rcx, [rsp + 0x38]
movsxd r8, ebx
mov rdx, rsi
call fcn.1401d8e30
test eax, eax
je 0x140239e19
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x38]
xor r8d, r8d
call fcn.1401d8af0
test eax, eax
je 0x140239e19
lea rcx, [rsp + 0x38]
call fcn.1401d8e50
mov rax, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x30]
lea edx, [rbp - 1]
mov r9d, r15d
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.1402336d0
test eax, eax
jne 0x140239e19
sub ebp, ebx
sub ebp, 2
movsxd rdx, ebp
add rdx, r14
inc rdx
xor byte [rdx - 1], 1
test ebx, ebx
jle 0x140239df4
cmp ebx, 0x20
jb 0x140239dca
lea eax, [rbx - 1]
movsxd rcx, eax
lea rax, [rcx + rsi]
lea r8, [rcx + rdx]
cmp rdx, rax
ja 0x140239d70
cmp r8, rsi
jae 0x140239dca
mov eax, ebx
and eax, 0x8000001f
jge 0x140239d80
dec eax
or eax, 0xffffffe0
inc eax
mov r8d, ebx
sub r8d, eax
nop word [rax + rax]
movdqu xmm0, xmmword [rdx]
movsxd rax, edi
add rdx, 0x20
movdqu xmm1, xmmword [rax + rsi]
lea eax, [rdi + 0x10]
add edi, 0x20
movsxd rcx, eax
pxor xmm1, xmm0
movdqu xmmword [rdx - 0x20], xmm1
movdqu xmm0, xmmword [rdx - 0x10]
movdqu xmm1, xmmword [rcx + rsi]
pxor xmm1, xmm0
movdqu xmmword [rdx - 0x10], xmm1
cmp edi, r8d
jl 0x140239d90
movsxd r8, edi
movsxd r9, ebx
cmp r8, r9
jge 0x140239df4
nop word [rax + rax]
movzx eax, byte [r8 + rsi]
inc r8
lea rdx, [rdx + 1]
xor byte [rdx - 1], al
cmp r8, r9
jl 0x140239de0
test r13d, r13d
je 0x140239e0b
mov ecx, 8
mov eax, 0xff
sub ecx, r13d
sar eax, cl
and byte [r14], al
movsxd rax, r12d
mov edi, 1
mov byte [rax + r14 - 1], 0xbc
test rsi, rsi
je 0x140239c06
mov rcx, rsi
call fcn.1401d5d50
jmp 0x140239c06