Function at 0x1400b08c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov qword [rsp + 0x60], rdx
mov r9, qword [rcx + 0x18]
cmp r9, 0xffffffffffffffff
jne 0x1400b08ee
mov cl, 1
call fcn.14008ff30
mov rbx, rax
jmp 0x1400b0eac
mov rbx, rcx
mov rsi, qword [rcx + 8]
movabs rax, 0xa463c7e5c5199b82
lea rcx, [rax + 8]
xor rcx, rax
movabs rax, 0xad13941bb66f7476
lea r14, [rax + 1]
xor r14, rax
add r14, rsi
mov rax, r14
shr rax, 3
movabs r13, 0x9241d3e1201d4ecd
xor r13, qword [0x1400d5840]
imul r13, rax
cmp rsi, rcx
cmovb r13, rsi
mov rax, r13
shr rax, 1
cmp r9, rax
jae 0x1400b098f
mov qword [rsp + 0x20], r9
mov r15, qword [rbx]
mov rcx, r14
shr rcx, 4
xor eax, eax
test r14b, 0xf
setne al
add rax, rcx
je 0x1400b0b06
mov ecx, eax
and ecx, 1
movabs rdx, 0x3a8e24d1abbc16dc
lea r8, [rdx + 1]
xor r8, rdx
cmp rax, r8
jne 0x1400b0a56
xor edx, edx
jmp 0x1400b0ae9
cmp r9, r13
cmova r13, r9
movabs rax, 0x7d7912fe72f013f2
lea rcx, [rax + 3]
xor rcx, rax
cmp r13, rcx
jae 0x1400b09fc
movabs rax, 0x4f4f4b2c3ad67019
lea rcx, [rax + 1]
xor rcx, rax
movabs rax, 0xed5d50ce01bc2169
lea rdx, [rax + 4]
xor rdx, rax
movabs rax, 0x54405b39d27fe8b5
lea r12, [rax + 8]
xor r12, rax
cmp r13, rcx
cmovb r12, rdx
mov ecx, 0x30
mov rax, r12
mul rcx
jo 0x1400b08df
jmp 0x1400b0ef2
movabs rax, 0x1ffffffffffffffe
cmp r13, rax
ja 0x1400b08df
movabs r8, 0x9b45f554fad821fc
movabs rax, 0xbad456e391644d70
lea rcx, [rax + 8]
xor rcx, rax
lea rax, [rcx + r13*8]
movabs rdx, 0x946136b65b3a1930
lea rcx, [rdx + 7]
xor rcx, rdx
mov rdx, rax
shr rdx, 0x20
je 0x1400b0ec0
xor edx, edx
div rcx
jmp 0x1400b0ec4
movabs r9, 0xb9108f9b52775327
movabs r10, 0xa5ae60c05d759a89
movabs r11, 0x912db2ea3cb6e1fd
movabs rdx, 0x1ffffffffffffffe
and rax, rdx
xor edx, edx
lea r8, [r9 + 0x10]
xor r8, r9
movdqa xmm0, xmmword [0x1400b7300]
lea r9, [r10 + 0x20]
xor r9, r10
lea r10, [r11 + 2]
xor r10, r11
xor r11d, r11d
nop word cs:[rax + rax]
add r11, r10
mov rdi, rdx
or rdi, r8
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rdx]
por xmm1, xmm0
movdqa xmmword [r15 + rdx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rdi]
add rdx, r9
por xmm1, xmm0
movdqa xmmword [r15 + rdi], xmm1
cmp r11, rax
jne 0x1400b0ab0
test rcx, rcx
je 0x1400b0b06
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r15 + rdx]
por xmm0, xmmword [0x1400b7300]
movdqa xmmword [r15 + rdx], xmm0
movabs rax, 0xa96f4840aa000fe5
lea rcx, [rax + 0x10]
xor rcx, rax
cmp r14, rcx
mov qword [rsp + 0x48], rbx
jae 0x1400b0b42
lea rcx, [r15 + 0x10]
mov rdx, r15
mov r8, r14
call fcn.1400aeeb0
cmp rsi, 0xffffffffffffffff
jne 0x1400b0b4d
xor ecx, ecx
mov rax, qword [rsp + 0x20]
jmp 0x1400b0e96
movdqu xmm0, xmmword [r15]
movdqu xmmword [r15 + r14], xmm0
mov qword [rsp + 0x40], r13
movabs rdi, 0xf3113e130b73ca4c
movabs r13, 0xcc6ac6682dc1c2c8
movabs rbx, 0xbb1070c4bacaeefa
movabs rcx, 0x4b0241e048c143b8
movabs r12, 0x1accd0f03c29782d
movabs rbp, 0x13bc08db8e23e9a5
lea rax, [r15 - 0x30]
mov qword [rsp + 0x50], rax
xor r10d, r10d
jmp 0x1400b0bf5
movabs rdx, 0xfe98b4e5cab6204a
lea ecx, [rdx + 0x29]
xor ecx, edx
shr rax, cl
lea rcx, [r10 - 0x10]
and rcx, rsi
movabs r8, 0xd02d7c41e83ea3a5
lea rdx, [r8 + 0x10]
xor rdx, r8
add rdx, rcx
mov byte [r15 + r10], al
mov byte [r15 + rdx], al
movabs rcx, 0x4b0241e048c143b8
lea rax, [rcx + 1]
xor rax, rcx
add rax, r10
cmp r10, rsi
mov r10, rax
je 0x1400b0e8c
cmp byte [r15 + r10], 0x80
jne 0x1400b0bdf
mov rax, r10
shl rax, 4
lea rax, [rax + rax*2]
mov rcx, r15
sub rcx, rax
mov qword [rsp + 0x58], rcx
neg rax
add rax, r15
add rax, 0xffffffffffffffd0
mov qword [rsp + 0x28], rax
mov rax, r10
not rax
movabs rcx, 0x35205060f498f595
lea r14, [rcx + 0x10]
xor r14, rcx
imul r14, rax
add r14, r15
mov qword [rsp + 0x38], r10
mov rax, r10
neg rax
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
jmp 0x1400b0c96
movups xmm0, xmmword [r14]
movups xmm1, xmmword [rdx]
movups xmmword [r14], xmm1
movups xmmword [rdx], xmm0
movups xmm0, xmmword [r14 + 0x10]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [rdx + 0x10], xmm0
movdqu xmm0, xmmword [r14 + 0x20]
movdqu xmm1, xmmword [rdx + 0x20]
movdqu xmmword [r14 + 0x20], xmm1
movdqu xmmword [rdx + 0x20], xmm0
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x30]
call fcn.140046fd0
mov rcx, rax
and rcx, rsi
mov qword [0x1400d5848], rcx
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb r8d, xmm0
mov rdx, rcx
test r8d, r8d
jne 0x1400b0cf1
mov rdx, rcx
xor r9d, r9d
nop dword [rax + rax]
lea r8, [r12 + 0x10]
xor r8, r12
add r9, r8
add rdx, r9
and rdx, rsi
movdqu xmm0, xmmword [r15 + rdx]
pmovmskb r8d, xmm0
test r8d, r8d
je 0x1400b0cd0
tzcnt r8d, r8d
add r8, rdx
and r8, rsi
cmp byte [r15 + r8], 0
mov r10, qword [rsp + 0x38]
js 0x1400b0d16
movdqa xmm0, xmmword [r15]
pmovmskb edx, xmm0
tzcnt r8d, edx
mov rdx, r10
sub rdx, rcx
mov r9, r8
sub r9, rcx
xor r9, rdx
and r9, rsi
movabs rdx, 0xfe5bf664941cb705
lea rcx, [rdx + 0x10]
xor rcx, rdx
cmp r9, rcx
jb 0x1400b0ba0
mov rcx, r8
not rcx
movabs r9, 0xb7d26d3f14412d1a
lea rdx, [r9 + 0x10]
xor rdx, r9
imul rdx, rcx
add rdx, r15
movzx r9d, byte [r15 + r8]
movabs r10, 0xd51bdc3ee9992f95
lea ecx, [r10 + 0x17]
xor ecx, r10d
shr rax, cl
lea rcx, [r8 - 0x10]
and rcx, rsi
movabs r11, 0xa83b6cc0909dd74f
lea r10, [r11 + 0x10]
xor r10, r11
add r10, rcx
mov byte [r15 + r8], al
mov byte [r15 + r10], al
cmp r9b, 0xff
je 0x1400b0e40
shl r8, 4
lea rax, [r8 + r8*2]
mov rcx, r15
sub rcx, rax
cmp qword [rsp + 0x28], rcx
jae 0x1400b0c60
cmp rdx, qword [rsp + 0x58]
jae 0x1400b0c60
xor eax, eax
nop dword [rax]
movzx ecx, byte [r14 + rax]
movzx r8d, byte [rdx + rax]
mov byte [r14 + rax], r8b
mov byte [rdx + rax], cl
lea rcx, [rbx + 1]
xor rcx, rbx
add rcx, rax
movzx r8d, byte [r14 + rcx]
movzx r9d, byte [rdx + rcx]
mov byte [r14 + rcx], r9b
mov byte [rdx + rcx], r8b
lea rcx, [rbp + 2]
xor rcx, rbp
add rcx, rax
movzx r8d, byte [r14 + rcx]
movzx r9d, byte [rdx + rcx]
mov byte [r14 + rcx], r9b
mov byte [rdx + rcx], r8b
lea rcx, [r13 + 3]
xor rcx, r13
add rax, rcx
lea rcx, [rdi + 0x30]
xor rcx, rdi
cmp rax, rcx
jne 0x1400b0dd0
jmp 0x1400b0c96
mov r10, qword [rsp + 0x38]
lea rax, [r10 - 0x10]
and rax, rsi
movabs r8, 0x9c25004415bf9084
lea rcx, [r8 + 0x10]
xor rcx, r8
add rcx, rax
mov byte [r15 + r10], 0xff
mov byte [r15 + rcx], 0xff
movdqu xmm0, xmmword [r14]
movdqu xmm1, xmmword [r14 + 0x10]
movups xmm2, xmmword [r14 + 0x20]
movups xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
jmp 0x1400b0bd5
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x40]
movabs rbx, 0x8000000000000001
sub rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x10], rcx
mov rax, rbx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
div ecx
dec rax
bsr rcx, rax
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
lea r12, [r8 + 1]
xor r12, r8
add r12, rax
mov ecx, 0x30
mov rax, r12
mul rcx
jo 0x1400b08df
mov r13, rax
movabs rax, 0x78979f78fa3ab684
lea rbp, [rax + 0x10]
xor rbp, rax
add rbp, r12
mov rax, r13
add rax, rbp
jb 0x1400b08df
mov rdi, r13
add rdi, rbp
movabs rax, 0x7ffffffffffffff1
cmp rdi, rax
jae 0x1400b08df
mov qword [rsp + 0x20], r9
movzx eax, byte [0x1400d65f0]
movabs rax, 0x43aeeb358b3d544f
lea rdx, [rax + 0x10]
xor rdx, rax
mov rcx, rdi
call fcn.1400546b0
test rax, rax
je 0x1400b1048
mov r15, rax
mov qword [rsp + 0x40], r14
lea rdi, [r12 - 1]
movabs rax, 0xccdc58d31c88c3c5
lea rcx, [rax + 7]
xor rax, rcx
mov rcx, r12
shr rcx, 3
movabs rdx, 0x410a3e000d81e761
lea r8, [rdx + 5]
xor r8, rdx
imul r8, rcx
cmp r12, rax
cmovb r8, rdi
mov qword [rsp + 0x50], r8
add r15, r13
mov rcx, r15
mov dl, 0xff
mov r8, rbp
call fcn.1400af630
mov qword [rsp + 0x48], rbx
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x20], 0
jne 0x1400b106b
movabs rbx, 0x8000000000000001
mov rcx, qword [rsp + 0x50]
sub rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x48]
mov qword [rax], r15
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rcx
test rsi, rsi
je 0x1400b0eac
mov ecx, 0x30
mov rax, qword [rsp + 0x40]
mul rcx
movabs rcx, 0xd3f03cf771838cca
lea rdx, [rcx + 0x11]
xor rdx, rcx
add rsi, rdx
add rsi, rax
je 0x1400b0eac
mov rcx, qword [rsp + 0x28]
sub rcx, rax
movabs rax, 0xdf1a45c3b74b1bc2
lea r8, [rax + 0x10]
xor r8, rax
mov rdx, rsi
call fcn.1400546c0
jmp 0x1400b0eac
movabs rax, 0xaf9f51132e69c86c
lea rdx, [rax + 0x10]
xor rdx, rax
mov cl, 1
mov r8, rdi
call fcn.14008ff40
mov rbx, rax
jmp 0x1400b0eac
movabs rbx, 0x605b9e1f0d6998a6
movabs rbp, 0x3661fa962e87e0ed
mov r12, qword [rsp + 0x28]
movdqa xmm0, xmmword [r12]
pmovmskb r14d, xmm0
not r14d
lea rax, [r12 - 0x30]
mov qword [rsp + 0x58], rax
xor r13d, r13d
mov r11, qword [rsp + 0x20]
jmp 0x1400b115a
lea r8d, [r14 - 1]
and r8d, r14d
movabs r9, 0xb574c46a53ad4412
lea ecx, [r9 + 0x19]
xor ecx, r9d
shr rax, cl
dec r11
lea rcx, [rdx - 0x10]
and rcx, rdi
movabs r10, 0x5fb90fe9d9b668ee
lea r9, [r10 + 0x10]
xor r9, r10
add r9, rcx
mov byte [r15 + rdx], al
mov byte [r15 + r9], al
mov r9, qword [rsp + 0x38]
not r9
movabs rcx, 0x6449408105030b1b
lea rax, [rcx + 0x10]
xor rax, rcx
imul rax, r9
not rdx
movabs r9, 0xd3b9176e2b5257db
lea rcx, [r9 + 0x10]
xor rcx, r9
imul rcx, rdx
mov rdx, qword [rsp + 0x28]
movdqu xmm0, xmmword [rdx + rax]
movdqu xmm1, xmmword [rdx + rax + 0x10]
movups xmm2, xmmword [rdx + rax + 0x20]
movups xmmword [r15 + rcx + 0x20], xmm2
movdqu xmmword [r15 + rcx + 0x10], xmm1
movdqu xmmword [r15 + rcx], xmm0
mov r14d, r8d
test r11, r11
je 0x1400b0fcb
mov qword [rsp + 0x30], r11
test r14w, r14w
jne 0x1400b1196
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r12 + 0x10]
add r12, 0x10
pmovmskb r14d, xmm0
lea rax, [rbx + 0x10]
xor rax, rbx
add r13, rax
cmp r14d, 0xffff
je 0x1400b1170
not r14d
tzcnt eax, r14d
add rax, r13
mov qword [rsp + 0x38], rax
neg rax
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.140046fd0
mov rcx, rax
and rcx, rdi
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400b11fe
xor r8d, r8d
nop word cs:[rax + rax]
lea rdx, [rbp + 0x10]
xor rdx, rbp
add r8, rdx
add rcx, r8
and rcx, rdi
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb edx, xmm0
test edx, edx
je 0x1400b11e0
mov r11, qword [rsp + 0x30]
tzcnt edx, edx
add rdx, rcx
and rdx, rdi
cmp byte [r15 + rdx], 0
js 0x1400b10b0
movdqa xmm0, xmmword [r15]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x1400b10b0