Function at 0x18026d330
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm7
movaps xmmword [rsp + 0xa0], xmm6
mov qword [rsp + 0x38], r9
mov rsi, r8
mov r14, rdx
mov rdi, rcx
mov r15, qword [r14 + 0x20]
mov rbp, qword [r14 + 0x28]
mov rax, rsi
add rax, 8
mov r8, qword [rax]
mov rax, rsi
add rax, 0x10
mov r9, qword [rax]
mov rcx, r15
mov rdx, rbp
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], r9
call fcn.180267960
mov r13, rax
mov r12, r14
add r12, 0x10
cmp qword [r14 + 0x10], 0
jne 0x18026d3c1
mov rcx, r14
mov rdx, r15
mov r8, rbp
call fcn.18026e9f0
movabs rcx, 0x8000000000000001
cmp rax, rcx
sete al
mov qword [rsp + 0x40], rsi
mov rbp, qword [r14]
mov r8, qword [r14 + 8]
mov r9, r13
shr r9, 0x39
movd xmm0, r9d
mov qword [rsp + 0x60], rdi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
xor r10d, r10d
xor r11d, r11d
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r9
and r13, r8
movups xmm7, xmmword [rbp + r13]
movaps xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb edi, xmm0
cmp di, 0
je 0x18026d4a3
jmp 0x18026d41c
tzcnt eax, edi
movzx eax, ax
mov rcx, r13
add rcx, rax
and rcx, r8
xor eax, eax
sub rax, rcx
imul rax, rax, 0x30
mov r15, rbp
add r15, rax
mov rax, qword [rsp + 0x50]
cmp rax, qword [r15 - 0x20]
jne 0x18026d4bb
mov qword [rsp + 0x98], rbp
mov rsi, r11
mov rbp, r14
mov r14, rbx
mov rbx, r12
mov r12, r10
mov rdx, qword [r15 - 0x28]
mov rcx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x50]
call fcn.180469550
cmp eax, 0
sete al
test al, 1
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
mov r10, r12
mov r12, rbx
mov rbx, r14
mov r14, rbp
mov r11, rsi
mov rbp, qword [rsp + 0x98]
jne 0x18026d602
jmp 0x18026d4bb
jmp 0x18026d4a3
cmp r11, 1
sete al
mov r11d, 1
test al, 1
mov rdi, qword [rsp + 0x60]
jne 0x18026d508
jmp 0x18026d4d5
mov ax, di
add ax, 0xffff
and di, ax
cmp di, 0
sete al
test al, 1
jne 0x18026d4a1
jmp 0x18026d41c
xorps xmm0, xmm0
pcmpgtb xmm0, xmm7
psllw xmm0, 7
pmovmskb ecx, xmm0
cmp cx, 0
setne al
tzcnt ecx, ecx
movzx edx, cx
mov rcx, r13
add rcx, rdx
and rcx, r8
test al, 1
cmovne rbx, rcx
and al, 1
movzx r11d, al
mov eax, dword [0x1805215d0]
or eax, dword [0x1805215d4]
and eax, 0xb47cc945
or eax, 0x2f223156
or eax, 0xbaa5bd0
cmp eax, 0x4f97941c
je 0x18026d811
mov ecx, dword [0x1805215d8]
mov eax, dword [0x1805215dc]
and ecx, eax
or ecx, 0xb6efd7fe
and ecx, 0xf6eff7fe
pcmpeqd xmm0, xmm0
movaps xmm1, xmm7
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
cmp ax, 0
sete al
cmp ecx, 0x316a9c46
je 0x18026d811
test al, 1
jne 0x18026d570
jmp 0x18026d5cb
add r10, 0x10
add r13, r10
mov eax, dword [0x1805215e0]
xor edx, edx
div dword [0x1805215e4]
or eax, 0xd1e9b23f
imul eax, eax, 0x96b8b6fb
add eax, 0x29f7d3ac
cmp eax, 0x68f044d1
ja 0x18026d822
jmp 0x18026d5a2
mov eax, dword [0x1805215e8]
xor edx, edx
div dword [0x1805215ec]
add eax, 0x6f181fd8
xor eax, 0xa57e7b93
xor eax, 0xefb7f900
cmp eax, 0xf491d74c
ja 0x18026d5a2
jmp 0x18026d3fc
cmp r11, 0
setne al
mov r10b, byte [rbp + rbx]
cmp r10b, 0xff
jle 0x18026d6bb
movdqa xmm0, xmmword [rbp]
pmovmskb eax, xmm0
cmp ax, 0
setne cl
tzcnt eax, eax
movzx ebx, ax
mov r10b, byte [rbp + rbx]
jmp 0x18026d6bb
add r15, 0xffffffffffffffd0
add r15, 0x18
mov eax, dword [0x1805215f0]
or eax, dword [0x1805215f4]
and eax, 0xdd9a0014
imul eax, eax, 0xb87f308e
imul eax, eax, 0xa6c9f80
cmp eax, 0x8172064
mov rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
jbe 0x18026d82f
mov eax, dword [0x1805215f8]
and eax, dword [0x1805215fc]
mov ecx, 0x5d96c0f7
xor edx, edx
div ecx
xor eax, 0xc5c02611
and eax, 0x28a9e3a2
mov rcx, qword [r15]
mov qword [rdi], rcx
mov rcx, qword [r15 + 8]
mov qword [rdi + 8], rcx
mov rcx, qword [r15 + 0x10]
mov qword [rdi + 0x10], rcx
cmp eax, 0xd17c6cd2
je 0x18026d82f
jmp 0x18026d683
mov rax, qword [r9]
mov qword [r15], rax
mov rax, qword [r9 + 8]
mov qword [r15 + 8], rax
mov rax, qword [r9 + 0x10]
mov qword [r15 + 0x10], rax
mov rdx, qword [r8]
cmp rdx, 0
je 0x18026d7ea
mov rcx, qword [rsp + 0x58]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18026d7ea
mov eax, dword [0x180521600]
xor eax, dword [0x180521604]
and eax, 0xa5c65256
add eax, 0xbac802a7
or eax, 0xf98df484
cmp eax, 0x910ba2b
jb 0x18026d852
mov r15, qword [rsp + 0x40]
mov r13, r12
mov r12, qword [rsp + 0x38]
jmp 0x18026d6f0
mov eax, dword [0x180521608]
imul eax, dword [0x18052160c]
imul eax, eax, 0x9e2fa6a9
or eax, 0x9f02baa6
mov ecx, 0x5791509a
xor edx, edx
div ecx
mov dword [rsp + 0x4c], eax
mov rax, qword [r15]
mov qword [rsp + 0x68], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x70], rax
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x78], rax
mov rax, qword [r12]
mov qword [rsp + 0x80], rax
mov rax, qword [r12 + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x90], rax
mov al, r10b
and al, 1
movzx eax, al
mov rcx, qword [r13]
sub rcx, rax
mov qword [r13], rcx
mov rax, rbx
add rax, 0xfffffffffffffff0
and rax, r8
mov byte [rbp + rbx], r9b
mov byte [rbp + rax + 0x10], r9b
mov rax, qword [r14 + 0x18]
add rax, 1
mov qword [r14 + 0x18], rax
xor eax, eax
sub rax, rbx
imul rax, rax, 0x30
mov rcx, rbp
add rcx, rax
add rcx, 0xffffffffffffffd0
lea rdx, [rsp + 0x68]
mov r8d, 0x30
mov rsi, r14
mov r14, rbx
mov rbx, rdi
mov dil, r10b
call fcn.180468b10
mov r10b, dil
mov rdi, rbx
mov rbx, r14
mov r14, rsi
mov r9, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
movabs rax, 0x8000000000000000
mov qword [rdi], rax
cmp dword [rsp + 0x4c], 0xf9a2b65d
jae 0x18026d6f0
jmp 0x18026d7ea
mov rax, rdi
movaps xmm6, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
push rdi
and ecx, 0x13551ab0
xchg cl, ch
jno 0x18026d82a
jmp 0x18026d5a0
invalid
mov edi, 0x2332aecc
invalid
sbb dword [rcx - 0x12], edi
and dword [rax + 0x4e], edx
movabs al, byte [0x4c8b48dbeff4e8be]
and al, 0x40
mov rax, qword [rcx]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x90], rax
mov al, r10b
and al, 1
movzx eax, al
mov rcx, qword [r12]
sub rcx, rax
mov qword [r12], rcx
mov rax, rbx
add rax, 0xfffffffffffffff0
and rax, r8
mov byte [rbp + rbx], r9b
mov byte [rbp + rax + 0x10], r9b
mov rax, qword [r14 + 0x18]
add rax, 1
mov qword [r14 + 0x18], rax
xor eax, eax
sub rax, rbx
imul rax, rax, 0x30
mov rcx, rbp
add rcx, rax
add rcx, 0xffffffffffffffd0
lea rdx, [rsp + 0x68]
mov r8d, 0x30
mov rsi, r14
mov r14, rbx
mov rbx, rdi
mov dil, r10b
call fcn.180468b10
mov r10b, dil
mov rdi, rbx
mov rbx, r14
mov r14, rsi
mov r9, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
movabs rax, 0x8000000000000000
mov qword [rdi], rax
jmp 0x18026d6e1