Function at 0x1400025a0
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x310
xor eax, eax
lea r13, [rsp + 0x100]
mov rbx, rcx
mov ecx, 0x41
mov dword [rsp + 0x58], 0xc7bfbfe6
mov rdi, r13
rep stosq qword [rdi], rax
mov rax, qword [0x1402b3100]
lea rcx, [0x1402b0e60]
mov qword [rsp + 0x50], rax
call fcn.14000fe00
lea rcx, [0x1402b0e40]
mov rsi, rax
call fcn.14000fe00
cmp byte [rsi], 0
mov r12, rax
jne 0x140002628
mov byte [rax + 0xc], 1
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r12
mov dword [r12 + 8], 0xc7bfbfe6
lea rcx, [0x140022b30]
mov qword [r12], rax
mov byte [rsi], 1
call fcn.14000eb10
cmp byte [r12 + 0xc], 0
je 0x14000264d
movabs rax, 0x81a1a1d5d57373c5
xor qword [r12], rax
xor dword [r12 + 8], 0xc7bfbf81
mov byte [r12 + 0xc], 0
mov r8, r12
mov rdx, rbx
mov rcx, r13
movabs rdi, 0x27d9d91f3d623160
call fcn.140003510
movdqa xmm0, xmmword [str.1Y]
lea rcx, [0x1402b0ea0]
mov qword [rsp + 0xf0], rdi
movaps xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [str..1UT_a_r_]
movaps xmmword [rsp + 0x60], xmm0
movdqa xmm0, xmmword [0x1402b3130]
movaps xmmword [rsp + 0x70], xmm0
movdqa xmm0, xmmword [str.e1ao_r_]
movaps xmmword [rsp + 0x80], xmm0
movdqa xmm0, xmmword [0x1402b3150]
movaps xmmword [rsp + 0x90], xmm0
movdqa xmm0, xmmword [str.1rRS_r]
movaps xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmmword [str._1TO]
movaps xmmword [rsp + 0xb0], xmm0
movdqa xmm0, xmmword [str._v1PP_v_r_]
movaps xmmword [rsp + 0xc0], xmm0
movdqa xmm0, xmmword [str._1TRU_rb]
movaps xmmword [rsp + 0xd0], xmm0
movdqa xmm0, xmmword [str.61BR_a_r3]
movaps xmmword [rsp + 0xe0], xmm0
call fcn.14000fe00
lea rcx, [0x1402b0e80]
mov rsi, rax
call fcn.14000fe00
cmp byte [rsi], 0
mov r12, rax
jne 0x1400027cc
movdqa xmm2, xmmword [rsp + 0x50]
movdqa xmm3, xmmword [rsp + 0x60]
mov byte [rax + 0xa8], 1
xor r8d, r8d
movdqa xmm4, xmmword [rsp + 0x70]
mov qword [rax + 0xa0], rdi
mov rdx, rax
lea rcx, [0x140022b60]
movdqa xmm5, xmmword [rsp + 0x80]
movups xmmword [rax], xmm2
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmmword [rsp + 0xa0]
movups xmmword [rax + 0x10], xmm3
movdqa xmm3, xmmword [rsp + 0xb0]
movups xmmword [rax + 0x20], xmm4
movdqa xmm4, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x30], xmm5
movdqa xmm5, xmmword [rsp + 0xd0]
movups xmmword [rax + 0x40], xmm1
movdqa xmm1, xmmword [rsp + 0xe0]
movups xmmword [rax + 0x50], xmm2
movups xmmword [rax + 0x60], xmm3
movups xmmword [rax + 0x70], xmm4
movups xmmword [rax + 0x80], xmm5
movups xmmword [rax + 0x90], xmm1
mov byte [rsi], 1
call fcn.14000eb10
cmp byte [r12 + 0xa8], 0
je 0x140002810
movabs r8, 0xe7bf0d27d93d3145
xor eax, eax
nop dword [rax + rax]
mov rcx, rax
mov rdx, r8
and ecx, 7
shl rcx, 3
shr rdx, cl
xor word [r12 + rax*2], dx
add rax, 1
cmp rax, 0x54
jne 0x1400027e8
mov byte [r12 + 0xa8], 0
mov rdx, r12
mov r9, r13
mov r8, rbx
mov ecx, 1
call fcn.140002470
lea rdx, [rsp + 0x2c]
mov rcx, r13
call fcn.140003f90
mov r12, rax
xor eax, eax
test r12, r12
je 0x140002842
mov ebx, dword [rsp + 0x2c]
test ebx, ebx
jne 0x140002851
add rsp, 0x310
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
lea rsi, [rsp + 0x40]
mov rcx, r12
lea r13, [rsp + 0x30]
mov qword [rsp + 0x30], rsi
call sub.msvcrt.dll_wcslen
lea rbx, [rax + rax]
mov rdi, rbx
sar rdi, 1
mov qword [rsp + 0x50], rdi
cmp rbx, 0xe
ja 0x1400029ad
mov rcx, qword [rsp + 0x30]
mov rax, rdi
cmp rdi, 1
je 0x1400029d4
test rdi, rdi
je 0x1400028ad
mov r8, rbx
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
xor r10d, r10d
mov qword [rsp + 0x38], rax
mov r11d, 0xffff9bd5
mov word [rcx + rax*2], r10w
mov rax, qword [0x1402b31b0]
lea rcx, [0x1402b0ee0]
mov word [rsp + 0x5c], r11w
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], 0xd5d495e6
call fcn.14000fe00
lea rcx, [0x1402b0ec0]
mov rbx, rax
call fcn.14000fe00
cmp byte [rbx], 0
mov r12, rax
jne 0x140002934
mov byte [rax + 0xe], 1
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r12
mov r9d, 0xffff9bd5
lea rcx, [0x140022b40]
mov dword [r12 + 8], 0xd5d495e6
mov qword [r12], rax
mov word [r12 + 0xc], r9w
mov byte [rbx], 1
call fcn.14000eb10
cmp byte [r12 + 0xe], 0
je 0x140002961
movabs rax, 0xaf85851d1d8b8be7
xor word [r12 + 0xc], 0x9bd5
xor qword [r12], rax
xor dword [r12 + 8], 0xd59595af
mov byte [r12 + 0xe], 0
mov rcx, r12
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025b20
cmp rax, 0xffffffffffffffff
je 0x1400029e1
mov rcx, qword [rsp + 0x30]
cmp rcx, rsi
je 0x140002999
mov rax, qword [rsp + 0x40]
lea rdx, [rax + rax + 2]
call fcn.140031460
mov eax, 1
add rsp, 0x310
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
mov rcx, r13
lea rdx, [rsp + 0x50]
xor r8d, r8d
call fcn.14002fa60
mov qword [rsp + 0x30], rax
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
jmp 0x140002889
movzx edx, word [r12]
mov word [rcx], dx
jmp 0x1400028ad
mov rax, qword [0x1402b31b8]
mov r8d, 0x39e3
lea rcx, [0x1402b0f20]
mov dword [rsp + 0x58], 0xe3a0c1f2
mov word [rsp + 0x5c], r8w
mov qword [rsp + 0x50], rax
call fcn.14000fe00
lea rcx, [0x1402b0f00]
mov rbx, rax
call fcn.14000fe00
cmp byte [rbx], 0
mov r12, rax
jne 0x140002a5a
mov byte [rax + 0xe], 1
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r12
mov dword [r12 + 8], 0xe3a0c1f2
mov ecx, 0x39e3
mov word [r12 + 0xc], cx
lea rcx, [0x140022b50]
mov qword [r12], rax
mov byte [rbx], 1
call fcn.14000eb10
cmp byte [r12 + 0xe], 0
je 0x140002a87
movabs rax, 0x9bbbbb9393535373
xor word [r12 + 0xc], 0x39e3
xor qword [r12], rax
xor dword [r12 + 8], 0xe3c1c19b
mov byte [r12 + 0xe], 0
mov rcx, r12
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025b20
cmp rax, 0xffffffffffffffff
jne 0x140002980
lea rcx, [0x1402b0f60]
call fcn.14000fe00
lea rcx, [0x1402b0f40]
mov rbx, rax
call fcn.14000fe00
cmp byte [rbx], 0
mov r12, rax
jne 0x140002af4
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0xd90d0d3b7faae776
mov rdx, r12
mov qword [r12], rax
lea rcx, [0x140022af0]
mov byte [rbx], 1
call fcn.14000eb10
cmp byte [r12 + 8], 0
je 0x140002b1a
movq xmm0, qword [r12]
mov byte [r12 + 8], 0
movq xmm1, qword [0x1402b31c0]
pxor xmm0, xmm1
movq qword [r12], xmm0
mov rcx, r12
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025b20
cmp rax, 0xffffffffffffffff
jne 0x140002980
lea rcx, [0x1402b0fa0]
call fcn.14000fe00
lea rcx, [0x1402b0f80]
mov rbx, rax
call fcn.14000fe00
cmp byte [rbx], 0
mov r12, rax
jne 0x140002b87
mov byte [rax + 8], 1
xor r8d, r8d
movabs rax, 0x236b6bc4ad1347d8
mov rdx, r12
mov qword [r12], rax
lea rcx, [0x140022b00]
mov byte [rbx], 1
call fcn.14000eb10
cmp byte [r12 + 8], 0
je 0x140002bad
movq xmm0, qword [r12]
mov byte [r12 + 8], 0
movq xmm1, qword [0x1402b31c8]
pxor xmm0, xmm1
movq qword [r12], xmm0
mov rcx, r12
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025b20
cmp rax, 0xffffffffffffffff
jne 0x140002980
movdqa xmm0, xmmword [0x1402b31d0]
mov edx, 0xffffc977
lea rcx, [0x1402b0fe0]
movabs rdi, 0x459af9f8914d3be2
mov word [rsp + 0x7c], dx
movaps xmmword [rsp + 0x50], xmm0
movdqa xmm0, xmmword [0x1402b31e0]
mov qword [rsp + 0x70], rdi
movaps xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x78], 0x77681b20
call fcn.14000fe00
lea rcx, [0x1402b0fc0]
mov rbx, rax
call fcn.14000fe00
cmp byte [rbx], 0
mov r12, rax
jne 0x140002c70
movdqa xmm2, xmmword [rsp + 0x50]
mov byte [rax + 0x2e], 1
xor r8d, r8d
mov rdx, r12
movdqa xmm3, xmmword [rsp + 0x60]
mov qword [rax + 0x20], rdi
lea rcx, [0x140022aa0]
mov dword [rax + 0x28], 0x77681b20
movups xmmword [rax], xmm2
movups xmmword [rax + 0x10], xmm3
mov eax, 0xffffc977
mov word [r12 + 0x2c], ax
mov byte [rbx], 1
call fcn.14000eb10
cmp byte [r12 + 0x2e], 0
je 0x140002ca9
movabs rdx, 0xc9771b45f9913b87
xor eax, eax
mov rcx, rax
mov rbx, rdx
and ecx, 7
shl rcx, 3
shr rbx, cl
xor word [r12 + rax*2], bx
add rax, 1
cmp rax, 0x17
jne 0x140002c84
mov byte [r12 + 0x2e], 0
mov rcx, r12
call sub.msvcrt.dll_wcslen
xor r8d, r8d
mov rdx, r12
mov rcx, r13
mov r9, rax
call fcn.140025b20
cmp rax, 0xffffffffffffffff
jne 0x140002980
mov rcx, qword [rsp + 0x30]
cmp rcx, rsi
je 0x140002ce7
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 1]
add rdx, rdx
call fcn.140031460
xor eax, eax
jmp 0x140002842