Function at 0x140152060
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140152060
push rbp
push rdi
push r13
push r14
sub rsp, 0x78
lea rbp, [rsp + 0x20]
mov r11, r8
mov r8, rcx
mov r10, rdx
mov dword [rbp + 0x4c], 0
xor edi, edi
mov ecx, dword [r11]
test ecx, ecx
jle 0x1401522d1
pxor xmm1, xmm1
cmp ecx, 0x28
jl 0x1401523a3
mov eax, 0x66666667
mov r11d, ecx
imul ecx
sar r11d, 0x1f
xor r14d, r14d
sar edx, 4
pcmpeqd xmm0, xmm0
sub edx, r11d
mov r11, r10
lea edx, [rdx + rdx*4]
shl edx, 3
neg edx
add edx, ecx
neg edx
add edx, ecx
movsxd r13, edx
movd xmm4, dword [r11]
movdqa xmm3, xmm0
punpcklbw xmm4, xmm4
movdqa xmm2, xmm0
punpcklwd xmm4, xmm4
add r14, 0x28
movd xmm5, dword [r11 + 4]
psrad xmm4, 0x18
punpcklbw xmm5, xmm5
pcmpgtd xmm3, xmm4
movd xmm4, dword [r11 + 8]
pxor xmm3, xmm0
punpcklwd xmm5, xmm5
psubd xmm1, xmm3
punpcklbw xmm4, xmm4
psrad xmm5, 0x18
punpcklwd xmm4, xmm4
pcmpgtd xmm2, xmm5
movd xmm5, dword [r11 + 0xc]
psrad xmm4, 0x18
movdqa xmm3, xmm0
pxor xmm2, xmm0
punpcklbw xmm5, xmm5
pcmpgtd xmm3, xmm4
punpcklwd xmm5, xmm5
psubd xmm1, xmm2
movd xmm2, dword [r11 + 0x10]
pxor xmm3, xmm0
punpcklbw xmm2, xmm2
psrad xmm5, 0x18
movdqa xmm4, xmm0
psubd xmm1, xmm3
movd xmm3, dword [r11 + 0x14]
pcmpgtd xmm4, xmm5
punpcklwd xmm2, xmm2
pxor xmm4, xmm0
punpcklbw xmm3, xmm3
psrad xmm2, 0x18
punpcklwd xmm3, xmm3
movdqa xmm5, xmm0
psubd xmm1, xmm4
pcmpgtd xmm5, xmm2
movd xmm2, dword [r11 + 0x18]
psrad xmm3, 0x18
movdqa xmm4, xmm0
pxor xmm5, xmm0
punpcklbw xmm2, xmm2
pcmpgtd xmm4, xmm3
punpcklwd xmm2, xmm2
psubd xmm1, xmm5
pxor xmm4, xmm0
psrad xmm2, 0x18
movdqa xmm3, xmm0
psubd xmm1, xmm4
movd xmm4, dword [r11 + 0x1c]
pcmpgtd xmm3, xmm2
punpcklbw xmm4, xmm4
pxor xmm3, xmm0
punpcklwd xmm4, xmm4
psubd xmm1, xmm3
movd xmm5, dword [r11 + 0x20]
psrad xmm4, 0x18
movdqa xmm3, xmm0
movdqa xmm2, xmm0
punpcklbw xmm5, xmm5
pcmpgtd xmm3, xmm4
movd xmm4, dword [r11 + 0x24]
pxor xmm3, xmm0
punpcklwd xmm5, xmm5
psubd xmm1, xmm3
punpcklbw xmm4, xmm4
psrad xmm5, 0x18
punpcklwd xmm4, xmm4
pcmpgtd xmm2, xmm5
psrad xmm4, 0x18
movdqa xmm5, xmm0
pcmpgtd xmm5, xmm4
pxor xmm2, xmm0
psubd xmm1, xmm2
pxor xmm5, xmm0
add r11, 0x28
psubd xmm1, xmm5
cmp r14, r13
jb 0x1401520c8
lea r11d, [rdx + 1]
cmp r11d, ecx
ja 0x1401522ae
movsxd rdx, edx
movsxd rcx, ecx
sub rcx, rdx
cmp rcx, 4
jl 0x14015239b
mov r11d, ecx
xor r14d, r14d
and r11d, 0xfffffffc
lea r13, [r10 + rdx]
movsxd r11, r11d
pcmpeqd xmm0, xmm0
movd xmm2, dword [r14 + r13]
movdqa xmm3, xmm0
punpcklbw xmm2, xmm2
add r14, 4
punpcklwd xmm2, xmm2
psrad xmm2, 0x18
pcmpgtd xmm3, xmm2
pxor xmm3, xmm0
psubd xmm1, xmm3
cmp r14, r11
jb 0x140152267
cmp r11, rcx
jae 0x1401522ae
add r10, rdx
cmp byte [r11 + r10], 0xff
lea edx, [rdi + 1]
cmovge edi, edx
inc r11
cmp r11, rcx
jb 0x14015229b
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm2, xmm1
psrlq xmm2, 0x20
paddd xmm1, xmm2
movd edx, xmm1
add edi, edx
mov dword [rbp + 0x4c], edi
mov rax, r9
lea rdx, str.CURRENTLY_REPORTABLE
mov qword [rbp], rdx
mov rdi, rsp
mov qword [rbp + 8], 0x15
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001e38
sub rsp, rax
lea rax, [rsp + 0x20]
mov r13, rax
mov edx, r9d
mov rcx, r13
call fcn.140002c52
mov qword [rbp + 0x10], r13
lea r13, [rbp + 0x40]
mov rcx, r13
mov edx, 0xc
movsxd r14, eax
lea r8, [rbp + 0x4c]
lea r10, [0x1404dd04c]
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], r10
mov qword [rbp + 0x28], 3
call fcn.140004390
add r14, 0x24
mov rax, r14
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], 0xc
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140001e38
sub rsp, rax
lea rax, [rsp + 0x20]
mov r13, rax
lea rcx, [rbp]
mov edx, 4
mov r8, r13
mov r9, r14
call fcn.1400048cc
mov rcx, r13
mov rdx, r14
call fcn.140004ad9
mov rax, rdi
mov rsp, rax
lea rsp, [rbp + 0x58]
pop r14
pop r13
pop rdi
pop rbp
ret
xor r11d, r11d
jmp 0x140152293
xor edx, edx
jmp 0x140152236