Function at 0x140292a00
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rdi
push r12
push r15
sub rsp, 0x48
mov r15, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
call fcn.140238320
cmp eax, 0x72
jne 0x140292c87
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x40], r14
mov r14, rbx
shr r14, 1
and ebx, 1
lea r13, [rbx + r14]
call fcn.140271140
mov rdi, qword [rsp + 0xa0]
mov rcx, rax
mov rax, qword [rsp + 0x90]
mov r9, r15
mov rbp, qword [rsp + 0x98]
mov r8, r13
mov qword [rsp + 0x30], rdi
mov rdx, r12
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.140292790
test eax, eax
je 0x140292c80
xor r8d, r8d
mov qword [rsp + 0x78], rsi
lea rdx, [0x14040b0d0]
mov rcx, rdi
call fcn.1402325f0
mov rsi, rax
test rax, rax
jne 0x140292ae8
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov dword [rsp + 0x20], eax
lea r9, [0x14040b0d0]
lea ecx, [rdx - 0x3b]
lea r8d, [rdx - 0x2e]
call fcn.140244b50
xor eax, eax
mov rsi, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbx
ret
lea rbx, [r14 + r12]
call fcn.14023b800
mov rcx, rax
mov qword [rsp + 0x30], rdi
mov rax, qword [rsp + 0x90]
mov r9, r15
mov qword [rsp + 0x28], rsi
mov r8, r13
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.140292790
test eax, eax
jne 0x140292b34
xor r9d, r9d
lea r8, [0x14040b0d0]
mov rdx, rdi
mov rcx, rsi
call fcn.140232710
jmp 0x140292ac4
xor eax, eax
test rdi, rdi
je 0x140292c61
cmp rdi, 8
jb 0x140292c34
lea rdx, [rbp - 1]
lea rcx, [rdi - 1]
add rdx, rdi
add rcx, rsi
cmp rbp, rcx
ja 0x140292b65
cmp rdx, rsi
jae 0x140292c34
cmp rdi, 0x40
jb 0x140292bf2
mov rdx, rdi
mov r8, rdi
and edx, 0x3f
sub r8, rdx
mov r9, rsi
lea rcx, [rbp + 0x10]
sub r9, rbp
nop word [rax + rax]
movdqu xmm0, xmmword [rcx - 0x10]
add rax, 0x40
movdqu xmm1, xmmword [r9 + rcx - 0x10]
movdqu xmm2, xmmword [r9 + rcx]
lea rcx, [rcx + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [r9 + rcx - 0x30]
xorps xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [r9 + rcx - 0x20]
xorps xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r8
jb 0x140292b90
cmp rdx, 8
jb 0x140292c2f
mov rdx, rdi
and rdx, 0xfffffffffffffff8
mov r8, rsi
lea rcx, [rax + rbp]
sub r8, rbp
nop dword [rax]
nop word [rax + rax]
movq xmm0, qword [rcx]
add rax, 8
movq xmm1, qword [r8 + rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rcx - 8], xmm1
cmp rax, rdx
jb 0x140292c10
cmp rax, rdi
jae 0x140292c61
mov r8, rsi
lea rcx, [rax + rbp]
sub r8, rbp
mov rdx, rdi
sub rdx, rax
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140292c50
xor r9d, r9d
lea r8, [0x14040b0d0]
mov rdx, rdi
mov rcx, rsi
call fcn.140232710
mov eax, 1
jmp 0x140292ac6
xor eax, eax
jmp 0x140292acb
mov rax, qword [rsp + 0xa0]
mov r9, r15
mov qword [rsp + 0x30], rax
mov r8, rbx
mov rax, qword [rsp + 0x98]
mov rdx, r12
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x20], rax
call fcn.140292790
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
add rsp, 0x48
pop r15
pop r12
pop rdi
pop rbx
ret