Function at 0x140049670
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x50
movdqa xmm0, xmmword [0x14020a4f0]
xor ebx, ebx
mov rsi, rcx
mov dword [rbp - 0x20], 0x95b4bdb4
movdqu xmmword [rbp - 0x30], xmm0
mov ecx, ebx
mov dword [rbp - 0x1c], 0xa0bd91
mov byte [rbp - 0x18], 1
nop word [rax + rax]
lea eax, [rcx - 0x33]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x17
jb 0x1400496b0
mov rdi, 0xffffffffffffffff
mov byte [rbp - 0x18], bl
mov rax, rdi
lea rcx, [rbp - 0x30]
inc rax
cmp byte [rcx + rax], bl
jne 0x1400496d1
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
mov r8, qword [rsi + 0x10]
jb 0x1400496ea
mov rcx, qword [rsi]
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], r15
cmp r8, rax
jne 0x14004970d
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400498ba
movdqa xmm0, xmmword [0x14020a330]
mov rax, rbx
movdqa xmm1, xmmword [0x14020a200]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x10], 0x100
movdqu xmmword [rbp - 0x20], xmm1
xor byte [rbp + rax - 0x30], al
inc rax
cmp rax, 0x20
jb 0x140049730
mov r14, qword [rsi + 0x10]
lea rcx, [rbp - 0x30]
mov r15, qword [rsi + 0x18]
mov rax, rdi
mov byte [rbp - 0xf], bl
nop
inc rax
cmp byte [rcx + rax], bl
jne 0x140049750
mov rcx, rsi
cmp r15, 0x10
jb 0x140049764
mov rcx, qword [rsi]
cmp r14, rax
jne 0x14004977d
mov r8, r14
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400498ba
movdqa xmm0, xmmword [str.BQ_ROZJfznoT_x]
mov rax, rbx
movdqa xmm1, xmmword [0x140209590]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x10], 1
movdqu xmmword [rbp - 0x20], xmm1
nop
xor byte [rbp + rax - 0x30], al
inc rax
cmp rax, 0x1f
jb 0x1400497a0
mov byte [rbp - 0x10], bl
lea rcx, [rbp - 0x30]
mov rax, rdi
inc rax
cmp byte [rcx + rax], bl
jne 0x1400497b7
mov rcx, rsi
cmp r15, 0x10
jb 0x1400497cb
mov rcx, qword [rsi]
cmp r14, rax
jne 0x1400497e4
mov r8, r14
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400498ba
movdqa xmm0, xmmword [0x14020a500]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x20], 0x95b4bdb4
mov dword [rbp - 0x1c], 0xa0bd91
mov byte [rbp - 0x18], 1
nop word [rax + rax]
lea eax, [rcx - 0x33]
xor byte [rbp + rcx - 0x30], al
inc rcx
cmp rcx, 0x17
jb 0x140049810
mov byte [rbp - 0x18], bl
lea rcx, [rbp - 0x30]
mov rax, rdi
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], bl
jne 0x140049830
mov rcx, rsi
cmp r15, 0x10
jb 0x140049844
mov rcx, qword [rsi]
cmp r14, rax
jne 0x140049859
mov r8, r14
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400498ba
movdqa xmm0, xmmword [0x14020a600]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x20], 0x100
nop dword [rax]
lea eax, [rbx - 0x33]
xor byte [rbp + rbx - 0x30], al
inc rbx
cmp rbx, 0x10
jb 0x140049870
mov byte [rbp - 0x1f], 0
lea rax, [rbp - 0x30]
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140049890
mov rcx, rsi
cmp r15, 0x10
jb 0x1400498a5
mov rcx, qword [rsi]
cmp r14, rdi
jne 0x1400498c6
mov r8, r14
lea rdx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400498c6
mov rcx, rsi
call fcn.14000b7e0
mov al, 1
jmp 0x1400498d0
mov rcx, rsi
call fcn.14000b7e0
xor al, al
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret