Function at 0x62463bc0
Capabilities:
Encode data using xor

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
test rcx, rcx
je 0x624640ec
test rdx, rdx
je 0x62464105
xor eax, eax
test r8, r8
lea rdi, [r8 - 1]
je 0x624640c8
mov rsi, rcx
neg rsi
and esi, 0xf
cmp rsi, r8
cmova rsi, r8
cmp r8, 0x12
ja 0x624640d3
mov rsi, r8
lea rbp, [rdx + rsi]
mov rbx, rdx
lea r9, [rdx + 1]
not rbx
movzx eax, byte [rdx]
lea r10, [rcx + 1]
add rbx, rbp
xor al, byte [rcx]
lea r11, [rdi - 1]
and ebx, 7
cmp r9, rbp
je 0x62463d75
test rbx, rbx
je 0x62463d09
cmp rbx, 1
je 0x62463cee
cmp rbx, 2
je 0x62463cd7
cmp rbx, 3
je 0x62463cc1
cmp rbx, 4
je 0x62463caa
cmp rbx, 5
je 0x62463c94
cmp rbx, 6
je 0x62463c7d
movzx r9d, byte [r9]
lea r11, [rdi - 2]
xor r9b, byte [r10]
lea r10, [rcx + 2]
or eax, r9d
lea r9, [rdx + 2]
movzx r12d, byte [r9]
add r10, 1
add r9, 1
xor r12b, byte [r10 - 1]
sub r11, 1
or eax, r12d
movzx ebx, byte [r9]
add r10, 1
add r9, 1
xor bl, byte [r10 - 1]
sub r11, 1
or eax, ebx
movzx r12d, byte [r9]
add r10, 1
add r9, 1
xor r12b, byte [r10 - 1]
sub r11, 1
or eax, r12d
movzx ebx, byte [r9]
add r10, 1
add r9, 1
xor bl, byte [r10 - 1]
sub r11, 1
or eax, ebx
movzx r12d, byte [r9]
add r10, 1
add r9, 1
xor r12b, byte [r10 - 1]
sub r11, 1
or eax, r12d
movzx ebx, byte [r9]
add r9, 1
add r10, 1
xor bl, byte [r10 - 1]
sub r11, 1
or eax, ebx
cmp r9, rbp
je 0x62463d75
movzx r12d, byte [r9]
movzx ebx, byte [r9 + 1]
add r9, 8
xor r12b, byte [r10]
xor bl, byte [r10 + 1]
sub r11, 8
add r10, 8
or eax, r12d
movzx r12d, byte [r9 - 6]
xor r12b, byte [r10 - 6]
or eax, ebx
movzx ebx, byte [r9 - 5]
xor bl, byte [r10 - 5]
or eax, r12d
movzx r12d, byte [r9 - 4]
xor r12b, byte [r10 - 4]
or eax, ebx
movzx ebx, byte [r9 - 3]
xor bl, byte [r10 - 3]
or eax, r12d
movzx r12d, byte [r9 - 2]
xor r12b, byte [r10 - 2]
or eax, ebx
or r12d, eax
movzx eax, byte [r9 - 1]
xor al, byte [r10 - 1]
or eax, r12d
cmp r9, rbp
jne 0x62463d09
cmp r8, rsi
je 0x624640a9
sub r8, rsi
sub rdi, rsi
lea rbx, [r8 - 0x10]
shr rbx, 4
add rbx, 1
mov rbp, rbx
shl rbp, 4
cmp rdi, 0xe
jbe 0x62463f92
add rcx, rsi
add rsi, rdx
lea rdx, [rbx - 1]
movdqu xmm0, xmmword [rsi]
mov r12d, 1
and edx, 7
cmp rbx, 1
mov edi, 0x10
movdqa xmm1, xmmword [rcx]
pxor xmm1, xmm0
jbe 0x62463f40
test rdx, rdx
je 0x62463eaa
cmp rdx, 1
je 0x62463e8b
cmp rdx, 2
je 0x62463e75
cmp rdx, 3
je 0x62463e5f
cmp rdx, 4
je 0x62463e49
cmp rdx, 5
je 0x62463e33
cmp rdx, 6
je 0x62463e1d
movdqu xmm2, xmmword [rsi + 0x10]
mov r12d, 2
mov edi, 0x20
pxor xmm2, xmmword [rcx + 0x10]
por xmm1, xmm2
movdqu xmm3, xmmword [rsi + rdi]
add r12, 1
pxor xmm3, xmmword [rcx + rdi]
add rdi, 0x10
por xmm1, xmm3
movdqu xmm4, xmmword [rsi + rdi]
add r12, 1
pxor xmm4, xmmword [rcx + rdi]
add rdi, 0x10
por xmm1, xmm4
movdqu xmm5, xmmword [rsi + rdi]
add r12, 1
pxor xmm5, xmmword [rcx + rdi]
add rdi, 0x10
por xmm1, xmm5
movdqu xmm0, xmmword [rsi + rdi]
add r12, 1
pxor xmm0, xmmword [rcx + rdi]
add rdi, 0x10
por xmm1, xmm0
movdqu xmm2, xmmword [rsi + rdi]
add r12, 1
pxor xmm2, xmmword [rcx + rdi]
add rdi, 0x10
por xmm1, xmm2
movdqu xmm3, xmmword [rsi + rdi]
add r12, 1
pxor xmm3, xmmword [rcx + rdi]
add rdi, 0x10
cmp rbx, r12
por xmm1, xmm3
jbe 0x62463f40
movdqu xmm4, xmmword [rsi + rdi]
add r12, 8
pxor xmm4, xmmword [rcx + rdi]
movdqu xmm5, xmmword [rsi + rdi + 0x10]
pxor xmm5, xmmword [rcx + rdi + 0x10]
movdqu xmm0, xmmword [rsi + rdi + 0x20]
por xmm1, xmm4
pxor xmm0, xmmword [rcx + rdi + 0x20]
movdqu xmm2, xmmword [rsi + rdi + 0x30]
por xmm1, xmm5
pxor xmm2, xmmword [rcx + rdi + 0x30]
movdqu xmm3, xmmword [rsi + rdi + 0x40]
por xmm1, xmm0
pxor xmm3, xmmword [rcx + rdi + 0x40]
movdqu xmm4, xmmword [rsi + rdi + 0x50]
por xmm1, xmm2
pxor xmm4, xmmword [rcx + rdi + 0x50]
movdqu xmm5, xmmword [rsi + rdi + 0x60]
por xmm1, xmm3
pxor xmm5, xmmword [rcx + rdi + 0x60]
por xmm1, xmm4
por xmm5, xmm1
movdqu xmm1, xmmword [rsi + rdi + 0x70]
pxor xmm1, xmmword [rcx + rdi + 0x70]
sub rdi, 0xffffffffffffff80
cmp rbx, r12
por xmm5, xmm1
movdqa xmm1, xmm5
ja 0x62463eaa
nop dword [rax]
movdqa xmm0, xmm1
add r10, rbp
add r9, rbp
sub r11, rbp
psrldq xmm0, 8
por xmm0, xmm1
movdqa xmm2, xmm0
psrldq xmm2, 4
por xmm0, xmm2
movdqa xmm3, xmm0
psrldq xmm3, 2
por xmm0, xmm3
movdqa xmm4, xmm0
psrldq xmm4, 1
por xmm0, xmm4
movaps xmmword [rsp + 0x20], xmm0
movzx ecx, byte [rsp + 0x20]
or eax, ecx
cmp r8, rbp
je 0x624640a9
movzx r8d, byte [r9]
xor r8b, byte [r10]
or eax, r8d
test r11, r11
je 0x624640a9
movzx esi, byte [r10 + 1]
xor sil, byte [r9 + 1]
or eax, esi
cmp r11, 1
je 0x624640a9
movzx ebx, byte [r10 + 2]
xor bl, byte [r9 + 2]
or eax, ebx
cmp r11, 2
je 0x624640a9
movzx edx, byte [r10 + 3]
xor dl, byte [r9 + 3]
or eax, edx
cmp r11, 3
je 0x624640a9
movzx r12d, byte [r10 + 4]
xor r12b, byte [r9 + 4]
or eax, r12d
cmp r11, 4
je 0x624640a9
movzx edi, byte [r10 + 5]
xor dil, byte [r9 + 5]
or eax, edi
cmp r11, 5
je 0x624640a9
movzx ebp, byte [r10 + 6]
xor bpl, byte [r9 + 6]
or eax, ebp
cmp r11, 6
je 0x624640a9
movzx ecx, byte [r10 + 7]
xor cl, byte [r9 + 7]
or eax, ecx
cmp r11, 7
je 0x624640a9
movzx r8d, byte [r10 + 8]
xor r8b, byte [r9 + 8]
or eax, r8d
cmp r11, 8
je 0x624640a9
movzx esi, byte [r10 + 9]
xor sil, byte [r9 + 9]
or eax, esi
cmp r11, 9
je 0x624640a9
movzx ebx, byte [r10 + 0xa]
xor bl, byte [r9 + 0xa]
or eax, ebx
cmp r11, 0xa
je 0x624640a9
movzx edx, byte [r10 + 0xb]
xor dl, byte [r9 + 0xb]
or eax, edx
cmp r11, 0xb
je 0x624640a9
movzx r12d, byte [r10 + 0xc]
xor r12b, byte [r9 + 0xc]
or eax, r12d
cmp r11, 0xc
je 0x624640a9
movzx edi, byte [r10 + 0xd]
xor dil, byte [r9 + 0xd]
or eax, edi
cmp r11, 0xd
je 0x624640a9
movzx r9d, byte [r9 + 0xe]
xor r9b, byte [r10 + 0xe]
or eax, r9d
mov r10d, eax
shr r10b, 4
or r10d, eax
mov r11d, r10d
shr r11b, 2
or r10d, r11d
mov eax, r10d
shr al, 1
or eax, r10d
and eax, 1
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test rsi, rsi
jne 0x62463c08
mov r11, rdi
mov r9, rdx
mov r10, rcx
xor eax, eax
jmp 0x62463d7e
lea rdx, str.src_misc_mem_neq.c
lea rcx, str.a___NULL
mov r8d, 0x29
call fcn.6245c710
lea rdx, str.src_misc_mem_neq.c
lea rcx, str.b___NULL
mov r8d, 0x2a
call fcn.6245c710
nop
nop