Function at 0x140025d00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0x40], rax
test r8, r8
je 0x140026093
mov r14, r9
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r13, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xb0]
cmp rcx, 0x20
setae al
add rcx, 0xffffffffffffffe0
cmp rcx, rdx
setae cl
cmp rsi, rdx
jb 0x140025dc2
and al, cl
jne 0x140025dc2
cmp rdi, 0x10
jb 0x140025e1d
lea r15, [rsp + 0x30]
nop dword [rax]
mov rcx, rsi
mov rdx, r15
mov r8, r14
call r13
mov rax, qword [rsi]
mov rcx, qword [r12]
xor rcx, qword [rsp + 0x30]
mov qword [rbx], rcx
mov qword [r12], rax
mov rax, qword [rsi + 8]
mov rcx, qword [r12 + 8]
xor rcx, qword [rsp + 0x38]
mov qword [rbx + 8], rcx
mov qword [r12 + 8], rax
add rdi, 0xfffffffffffffff0
add rsi, 0x10
add rbx, 0x10
cmp rdi, 0xf
ja 0x140025d70
test rdi, rdi
jne 0x140025e1d
jmp 0x140026093
cmp rdi, 0x10
jb 0x140025e09
mov rbp, r12
nop dword [rax + rax]
mov r15, rsi
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call r13
mov rax, qword [rbp]
xor qword [rbx], rax
mov rax, qword [rbp + 8]
xor qword [rbx + 8], rax
add rdi, 0xfffffffffffffff0
add rsi, 0x10
add rbx, 0x10
mov rbp, r15
cmp rdi, 0xf
ja 0x140025dd0
lea rax, [rsi - 0x10]
jmp 0x140025e0c
mov rax, r12
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
test rdi, rdi
je 0x140026093
lea r15, [rsp + 0x30]
mov rcx, rsi
mov rdx, r15
mov r8, r14
call r13
cmp rdi, 0x1f
ja 0x140025f3f
xor eax, eax
mov rcx, rax
or rcx, 1
mov rdx, rax
test dil, 1
je 0x140025e62
movzx edx, byte [r12 + rax]
xor dl, byte [rsp + rax + 0x30]
movzx r8d, byte [rsi + rax]
mov byte [rbx + rax], dl
mov byte [r12 + rax], r8b
mov rdx, rcx
cmp rdi, rcx
je 0x140025ec5
mov rcx, rdi
neg rcx
dec rdx
mov rax, rdx
nop word cs:[rax + rax]
movzx edx, byte [r12 + rax + 1]
xor dl, byte [rsp + rax + 0x31]
movzx r8d, byte [rsi + rax + 1]
mov byte [rbx + rax + 1], dl
mov byte [r12 + rax + 1], r8b
movzx edx, byte [rsi + rax + 2]
movzx r8d, byte [r12 + rax + 2]
xor r8b, byte [rsp + rax + 0x32]
mov byte [rbx + rax + 2], r8b
mov byte [r12 + rax + 2], dl
lea rdx, [rcx + rax]
add rdx, 2
add rax, 2
cmp rdx, 0xffffffffffffffff
jne 0x140025e80
cmp rax, 0xe
ja 0x140026093
xor eax, eax
mov ecx, reloc.WS2_32.dll_ntohs
sub rcx, rdi
cmovae rax, rcx
inc rax
cmp rax, 8
jb 0x140026073
mov rcx, r12
sub rcx, rsi
cmp rcx, 0x10
jb 0x140026073
cmp rax, 0x10
jae 0x140026033
xor ecx, ecx
mov r8, rax
and r8, 0xfffffffffffffff8
lea rdx, [rdi + r8]
lea r9, [rsi + rdi]
add rdi, r12
nop dword [rax + rax]
mov r10, qword [r9 + rcx]
mov qword [rdi + rcx], r10
add rcx, 8
cmp r8, rcx
jne 0x140025f20
cmp rax, r8
jne 0x140026076
jmp 0x140026093
lea rax, [rbx + rdi]
lea r14, [r12 + rdi]
lea r8, [rsi + rdi]
lea r9, [rsp + rdi]
add r9, 0x30
cmp rbx, r14
setb r13b
cmp r12, rax
setb bpl
cmp rbx, r8
setb cl
cmp rsi, rax
setb r10b
cmp rbx, r9
setb dl
cmp r15, rax
setb r11b
cmp r12, r8
setb r8b
cmp rsi, r14
setb byte [rsp + 0x2f]
cmp r12, r9
setb r9b
cmp r15, r14
setb r14b
xor eax, eax
test r13b, bpl
jne 0x140025e3a
and cl, r10b
jne 0x140025e3a
and dl, r11b
jne 0x140025e3a
and r8b, byte [rsp + 0x2f]
jne 0x140025e3a
and r9b, r14b
jne 0x140025e3a
mov rax, rdi
and rax, 0xffffffffffffffe0
xor ecx, ecx
nop word cs:[rax + rax]
movups xmm0, xmmword [rsi + rcx]
movups xmm1, xmmword [rsi + rcx + 0x10]
movups xmm2, xmmword [r12 + rcx]
movups xmm3, xmmword [r12 + rcx + 0x10]
xorps xmm2, xmmword [rsp + rcx + 0x30]
xorps xmm3, xmmword [rsp + rcx + 0x40]
movups xmmword [rbx + rcx], xmm2
movups xmmword [rbx + rcx + 0x10], xmm3
movups xmmword [r12 + rcx], xmm0
movups xmmword [r12 + rcx + 0x10], xmm1
add rcx, 0x20
cmp rax, rcx
jne 0x140025fe0
cmp rdi, rax
jne 0x140025e3a
dec rax
cmp rax, 0xe
jbe 0x140025ecf
jmp 0x140026093
mov rcx, rax
and rcx, 0xfffffffffffffff0
lea rdx, [rsi + rdi]
lea r8, [r12 + rdi]
xor r9d, r9d
nop word cs:[rax + rax]
movups xmm0, xmmword [rdx + r9]
movups xmmword [r8 + r9], xmm0
add r9, 0x10
cmp rcx, r9
jne 0x140026050
cmp rax, rcx
je 0x140026093
test al, 8
jne 0x140025f06
add rdi, rcx
mov rdx, rdi
dec rdx
nop dword [rax]
movzx eax, byte [rsi + rdx + 1]
mov byte [r12 + rdx + 1], al
inc rdx
cmp rdx, 0xf
jb 0x140026080
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x1400260b5
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14029fd30
int3