Function at 0x140073ee5
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x48], rdx
mov rbx, qword [rcx + 0x18]
mov rax, rbx
inc rax
je 0x14007462d
mov r9, rcx
mov rdi, qword [rcx + 8]
movabs rax, 0x56e2713fc37b1ffd
mov rcx, rdi
sub rcx, rax
lea r12, [rcx + rax]
inc r12
mov r10, r12
shr r10, 3
mov eax, r10d
not eax
and eax, 7
mov rcx, r10
and rcx, 0xfffffffffffffff8
imul rcx, rax
mov eax, r10d
and eax, 7
or r10, 7
imul r10, rax
add r10, rcx
cmp rdi, 8
cmovb r10, rdi
mov rax, r10
shr rax, 1
cmp rbx, rax
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], rbx
jae 0x140074016
mov rcx, r12
shr rcx, 4
mov rdx, r12
xor rdx, 0xfffffffffffffff0
mov r8, r12
or r8, 0xf
xor eax, eax
test r8, rdx
setne al
mov edx, eax
and edx, ecx
or rax, rcx
mov rbx, qword [r9]
add rax, rdx
je 0x140073ff2
xor ecx, ecx
movdqa xmm0, xmmword [0x140075650]
pcmpeqd xmm1, xmm1
movdqa xmm2, xmmword [0x140075660]
mov rdx, rbx
add rcx, 0x10
pxor xmm3, xmm3
pcmpgtb xmm3, xmmword [rdx]
movdqa xmm4, xmm3
por xmm4, xmm0
pxor xmm4, xmm1
pandn xmm3, xmm2
por xmm3, xmm4
pxor xmm3, xmm1
movdqa xmmword [rdx], xmm3
add rdx, 0x10
dec rax
jne 0x140073fc1
mov qword [rsp + 0x58], r10
cmp r12, 0x10
jae 0x140074061
lea rcx, [rbx + 0x10]
mov rdx, rbx
mov r8, r12
call fcn.140070050
test r12, r12
jne 0x14007406b
jmp 0x14007427f
movabs rax, 0xce6a356e71fdd01f
mov rcx, rbx
sub rcx, rax
add rax, rcx
inc rax
mov ecx, r10d
and ecx, 1
xor r10, 1
lea rcx, [r10 + rcx*2]
cmp rax, rcx
cmova rcx, rax
cmp rcx, 8
jae 0x1400742a7
xor eax, eax
cmp rcx, 4
setae al
lea rsi, [rax*4 + 4]
jmp 0x140074311
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rbx + r12], xmm0
lea rax, [rbx - 0x20]
mov qword [rsp + 0x38], rax
movabs rsi, 0x59e8fa47cd8d97b6
movabs r12, 0x4601d2b2b5a27a44
xor ebp, ebp
mov r13, rdi
not r13
mov r15, rbx
cmp byte [rbx + rbp], 0x80
jne 0x14007426b
mov rax, rbp
shl rax, 5
not rax
add rax, rbx
add rax, 0xffffffffffffffe1
mov qword [rsp + 0x40], rax
mov rax, rbp
not rax
shl rax, 5
mov rcx, qword [rsp + 0x38]
lea r14, [rax + rcx]
add r14, 0x20
mov r8, qword [r14]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
call fcn.140055f2c
mov rdx, rax
and rdx, rdi
movdqu xmm0, xmmword [rbx + rdx]
pmovmskb r9d, xmm0
mov rcx, rdx
test r9d, r9d
jne 0x140074130
mov rcx, rdx
xor r8d, r8d
mov r9d, r8d
and r9d, 0x10
xor r8, 0x10
lea r8, [r8 + r9*2]
add rcx, r8
mov r9, rcx
and r9, rdi
not r9
not rcx
or rcx, r13
and rcx, r9
not rcx
movdqu xmm0, xmmword [rbx + rcx]
pmovmskb r9d, xmm0
test r9d, r9d
je 0x1400740fa
bsf r8d, r9d
sub rcx, rsi
add rcx, rsi
add rcx, r8
mov r8, rcx
xor r8, rdi
not r8
or rcx, rdi
and rcx, r8
cmp byte [rbx + rcx], 0
js 0x14007415d
movdqa xmm0, xmmword [rbx]
pmovmskb ecx, xmm0
bsf ecx, ecx
mov r8, rbp
sub r8, r12
sub r8, rdx
add r8, r12
mov r9, rcx
sub r9, rdx
xor r9, r8
not r9
mov rdx, r9
or rdx, rdi
sub rdx, r9
cmp rdx, 0x10
jb 0x1400741de
mov rdx, rcx
shl rdx, 5
mov r8b, byte [rbx + rcx]
shr rax, 0x39
lea r9, [rcx - 0x10]
not r9
or r9, rdi
add r9, rcx
add r9, 0xfffffffffffffff0
mov byte [rbx + rcx], al
mov byte [rbx + r9 + 0x11], al
cmp r8b, 0xff
je 0x1400741fe
mov rax, rbx
sub rax, rdx
mov rcx, 0xffffffffffffffe0
xor edx, edx
mov r8b, byte [r15 + rcx]
mov r9b, byte [rax + rcx]
mov byte [r15 + rcx], r9b
mov byte [rax + rcx], r8b
inc rdx
inc rcx
jne 0x1400741c1
jmp 0x1400740ca
shr rax, 0x39
lea rcx, [rbp - 0x10]
mov rdx, rcx
xor rdx, rdi
not rdx
or rcx, rdi
and rcx, rdx
mov byte [rbx + rbp], al
mov byte [rcx + rbx + 0x10], al
jmp 0x14007426b
movabs rcx, 0x314599c514c366a7
mov rax, rcx
sub rax, rdx
sub rax, rcx
add rax, rbx
add rax, 0xffffffffffffffe0
mov rcx, rbp
movabs rdx, 0x7ffffffffffffff0
and rcx, rdx
mov rdx, rbp
xor rdx, 0xfffffffffffffff0
lea rcx, [rdx + rcx*2]
mov rdx, rdi
xor rdx, rcx
not rdx
and rdx, rcx
mov ecx, edx
and ecx, 0x10
xor rdx, 0x10
lea rcx, [rdx + rcx*2]
mov dl, 0xff
mov byte [rbx + rbp], dl
mov byte [rbx + rcx], dl
mov rcx, qword [rsp + 0x40]
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
lea rax, [rbp + 1]
add r15, 0xffffffffffffffe0
cmp rbp, rdi
mov rbp, rax
jne 0x140074093
movabs rax, 0xd5a90948ad931dab
mov rcx, qword [rsp + 0x58]
sub rcx, rax
sub rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
jmp 0x14007460b
mov rax, rcx
shr rax, 0x3d
jne 0x14007462d
shl rcx, 3
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
movabs rax, 0x85fe64f173d6c8aa
mov rdx, rax
not rdx
add rdx, rax
add rdx, rcx
bsr rcx, rdx
not ecx
mov rsi, 0xffffffffffffffff
shr rsi, cl
movabs rax, 0x7fffffffffffffe
cmp rsi, rax
ja 0x14007462d
inc rsi
mov rdi, rsi
shl rdi, 5
lea rdx, [rsi + 0x10]
add rdx, rdi
jb 0x14007462d
movabs rax, 0x7ffffffffffffff0
cmp rdx, rax
ja 0x14007462d
mov al, byte [0x14008fbb8]
xor ecx, ecx
call fcn.140042681
test rax, rax
je 0x14007462d
mov r15, rax
add r15, rdi
mov rax, rsi
not rax
lea r13, [rax + rsi*2]
mov rdi, rsi
shr rdi, 3
mov eax, edi
not eax
mov rcx, rdi
and rcx, 0xfffffffffffffff8
and eax, 7
imul rax, rcx
mov ecx, edi
and ecx, 7
or rdi, 7
imul rdi, rcx
add rdi, rax
cmp rsi, 9
cmovb rdi, r13
mov eax, esi
and eax, 0x10
xor rsi, 0x10
lea r8, [rsi + rax*2]
mov rcx, r15
mov dl, 0xff
call fcn.1400706f0
mov qword [rsp + 0x70], 0x10
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x90], 0
test rbx, rbx
je 0x14007454e
mov rax, qword [rsp + 0x30]
mov rbp, qword [rax]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x40], rax
movdqa xmm0, xmmword [rbp]
pmovmskb eax, xmm0
lea edi, [rax + rax]
not edi
add edi, eax
xor r12d, r12d
mov rbx, qword [rsp + 0x28]
mov rsi, rbp
test di, di
jne 0x14007442e
movdqa xmm0, xmmword [rsi + 0x10]
add rsi, 0x10
pmovmskb eax, xmm0
add r12, 0x10
cmp eax, 0xffff
je 0x14007440f
lea edi, [rax + rax]
not edi
add edi, eax
bsf r14d, edi
add r14, r12
shl r14, 5
mov rax, qword [rsp + 0x40]
sub rax, r14
mov r8, qword [rax]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
call fcn.140055f2c
mov rcx, rax
not rcx
mov rdx, r13
not rdx
or rcx, rdx
not rcx
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb r9d, xmm0
test r9d, r9d
jne 0x1400744a2
mov r8d, 0x10
xor r10d, r10d
add r10, 0x10
add rcx, r8
not rcx
or rcx, rdx
not rcx
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb r9d, xmm0
add r8, 0x10
test r9d, r9d
je 0x14007447e
bsf r8d, r9d
movabs r9, 0xb42dc11276f267f4
sub rcx, r9
add rcx, r9
add rcx, r8
mov r8, rcx
not r8
or r8, rdx
and rcx, r13
not r8
or r8, rcx
cmp byte [r15 + r8], 0
js 0x1400744df
movdqa xmm0, xmmword [r15]
pmovmskb ecx, xmm0
bsf r8d, ecx
mov ecx, edi
neg ecx
not edi
or edi, ecx
not edi
mov rcx, rbx
not rcx
lea rbx, [rcx + rbx*2]
shr rax, 0x39
lea rcx, [r8 - 0x10]
not rcx
or rcx, r13
add rcx, r8
add rcx, 0xfffffffffffffff0
mov byte [r15 + r8], al
mov byte [r15 + rcx + 0x11], al
movabs rcx, 0x27f7a716aebca1c1
mov rax, rcx
sub rax, r14
sub rax, rcx
shl r8, 5
not r8
movdqu xmm0, xmmword [rax + rbp - 0x20]
movdqu xmm1, xmmword [rax + rbp - 0x10]
movdqu xmmword [r8 + r15 - 0xf], xmm1
movdqu xmmword [r8 + r15 - 0x1f], xmm0
test rbx, rbx
jne 0x14007440a
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rax
xor eax, eax
mov r8, qword [rsp + 0x30]
mov rcx, qword [r8 + rax*8]
mov rdx, qword [rsp + rax*8 + 0x78]
mov qword [r8 + rax*8], rdx
mov qword [rsp + rax*8 + 0x78], rcx
inc rax
cmp rax, 4
jne 0x140074572
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14007460b
mov rax, rcx
shl rax, 5
movabs rdx, 0x863c6f54e4795d19
sub rcx, rdx
add rcx, rdx
add rcx, 0x11
not rcx
movabs rdx, 0x65dcd21a5510b602
add rdx, rcx
not rdx
add rdx, rax
movabs rcx, 0x9a232de5aaef49de
cmp rdx, rcx
je 0x14007460b
mov rcx, rax
xor rcx, 0xffffffffffffffe0
not rax
movabs r8, 0x7fffffffffffffe0
and r8, rax
add r8, r8
sub r8, rcx
add r8, qword [rsp + 0x78]
mov rcx, qword [0x14008fb30]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movabs rax, 0x7ffffffffffffff0
add rax, 0x11
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2