Function at 0x18026c6f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx]
cmp rsi, 0
sete al
test al, 1
jne 0x18026cdcb
jmp 0x18026c713
mov rax, qword [rcx + 0x10]
mov rbx, qword [rcx + 8]
cmp rax, 0
sete cl
test cl, 1
jne 0x18026c731
jmp 0x18026c729
xor r15d, r15d
jmp 0x18026c7c9
cmp rbx, 0
sete al
test al, 1
je 0x18026c741
jmp 0x18026c98b
mov rcx, rbx
and rcx, 7
cmp rcx, 0
sete al
test al, 1
je 0x18026c758
mov rax, rbx
jmp 0x18026c775
xor edx, edx
mov rax, rbx
jmp 0x18026c75f
mov rsi, qword [rsi + 0x3d8]
add rax, 0xffffffffffffffff
add rdx, 1
cmp rdx, rcx
jne 0x18026c75f
jmp 0x18026c775
cmp rbx, 8
jb 0x18026c98b
jmp 0x18026c781
mov rcx, qword [rsi + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rsi, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
cmp rax, 0
je 0x18026c984
jmp 0x18026c781
mov ecx, dword [0x180521510]
add ecx, dword [0x180521514]
imul ecx, ecx, 0xd9cf9a92
sub ecx, 0xcf07deb2
add ecx, 0x6b8baeb6
cmp ecx, 0x1381f3f0
je 0x18026cddb
jmp 0x18026c7f5
mov edx, dword [0x180521518]
and edx, dword [0x18052151c]
add edx, 0x3f5f37cf
sub edx, 0x3fbc5990
and edx, 0xe55ce865
mov rdi, rax
add rdi, 0xffffffffffffffff
cmp r15, 0
sete cl
cmp edx, 0x7da4ac9a
je 0x18026c7f5
test cl, 1
jne 0x18026c839
mov rcx, rsi
mov rsi, r15
jmp 0x18026cac8
mov eax, dword [0x180521520]
and eax, dword [0x180521524]
xor eax, 0x11795f2d
xor eax, 0xce776ebc
or eax, 0xa404ae3
cmp eax, 0xedf354f8
jae 0x18026cde8
mov eax, dword [0x180521528]
or eax, dword [0x18052152c]
mov ecx, 0xf93fb080
xor edx, edx
div ecx
or eax, 0x813f6a03
xor eax, 0xff721f6b
cmp rbx, 0
sete r8b
cmp eax, 0x5fdba6b3
je 0x18026cde8
jmp 0x18026c893
mov eax, dword [0x180521530]
or eax, dword [0x180521534]
and eax, 0xe1c38b71
mov ecx, 0x777dab1e
xor edx, edx
div ecx
sub eax, 0x691e812d
cmp eax, 0xa057fecc
ja 0x18026cdf5
jmp 0x18026c8bf
mov eax, dword [0x180521538]
imul eax, dword [0x18052153c]
mov ecx, 0x1f3a00b3
xor edx, edx
div ecx
xor eax, 0xe04556d3
xor eax, 0x7986721
cmp eax, 0xd73c3cf5
jbe 0x18026c8bf
xor ecx, ecx
test r8b, 1
je 0x18026c8f5
xor ebx, ebx
jmp 0x18026cac8
mov rcx, rbx
and rcx, 7
cmp rcx, 0
sete al
test al, 1
je 0x18026c90c
mov rax, rbx
jmp 0x18026c929
xor edx, edx
mov rax, rbx
jmp 0x18026c913
mov rsi, qword [rsi + 0x3d8]
add rax, 0xffffffffffffffff
add rdx, 1
cmp rdx, rcx
jne 0x18026c913
jmp 0x18026c929
xor ecx, ecx
cmp rbx, 8
mov ebx, 0
jb 0x18026cac8
jmp 0x18026c93c
mov rcx, qword [rsi + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rsi, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
cmp rax, 0
je 0x18026cac2
jmp 0x18026c93c
jmp 0x18026c98b
mov rsi, r15
jmp 0x18026c98b
mov eax, dword [0x180521540]
imul eax, dword [0x180521544]
mov ecx, 0x5215a330
xor edx, edx
div ecx
mov ecx, 0x9cf154e5
xor edx, edx
div ecx
mov ecx, 0x885a2726
xor edx, edx
div ecx
cmp eax, 0x232b0709
jae 0x18026ce02
mov edx, dword [0x180521548]
or edx, dword [0x18052154c]
xor edx, 0x4b8ff2cc
and edx, 0xfb664e71
xor edx, 0x65687dfb
mov rax, qword [rsi + 0x160]
cmp rax, 0
sete cl
cmp edx, 0xbbd36385
ja 0x18026ce02
mov edi, 0x3d8
test cl, 1
je 0x18026ca02
jmp 0x18026ca56
xor edi, edi
jmp 0x18026ca06
mov r8, rdi
mov rcx, rsi
mov rsi, rax
add rdi, 1
mov edx, 0x438
mov eax, 0x3d8
cmp r8, 0
cmove rdx, rax
mov r8d, 8
call fcn.1802cbf20
mov rax, qword [rsi + 0x160]
cmp rax, 0
jne 0x18026ca06
cmp rdi, 0
sete al
mov edi, 0x438
mov ecx, 0x3d8
test al, 1
cmovne rdi, rcx
jmp 0x18026ca56
mov eax, dword [0x180521550]
or eax, dword [0x180521554]
and eax, 0xc7e5e142
or eax, 0xb6ab2acc
imul eax, eax, 0xd9b10901
cmp eax, 0x42d18636
jbe 0x18026ce13
mov eax, dword [0x180521558]
or eax, dword [0x18052155c]
mov ecx, 0x4451056
xor edx, edx
div ecx
mov ebx, eax
or ebx, 0xd2058540
or ebx, 0x5e6ad277
mov rcx, rsi
mov rdx, rdi
mov r8d, 8
call fcn.1802cbf20
cmp ebx, 0x1bd7d07b
jbe 0x18026ce13
jmp 0x18026cdcb
xor ecx, ecx
xor ebx, ebx
jmp 0x18026cac8
movzx eax, word [rsi + 0x3d2]
cmp rbx, rax
jae 0x18026cadf
mov r12, rbx
mov r13, rcx
mov r14, rsi
jmp 0x18026cb00
jmp 0x18026cae1
mov r14, qword [rsi + 0x160]
cmp r14, 0
je 0x18026cc5a
jmp 0x18026cc0e
movzx r12d, bx
mov rbx, r12
jmp 0x18026cb00
add rbx, 1
cmp r13, 0
jne 0x18026cb12
mov r15, r14
jmp 0x18026cc80
mov r8, r14
add r8, 0x3d8
shl rbx, 3
add r8, rbx
mov eax, dword [0x180521560]
imul eax, dword [0x180521564]
sub eax, 0x5305ba49
sub eax, 0x947e6bc3
mov ecx, 0xe38984a9
xor edx, edx
div ecx
cmp eax, 0x556ebfac
ja 0x18026ce31
jmp 0x18026cb50
mov eax, dword [0x180521568]
xor eax, dword [0x18052156c]
sub eax, 0xed435c26
xor eax, 0xa45db30d
mov ecx, 0xd7f4b6c2
xor edx, edx
div ecx
mov r15, qword [r8]
mov rcx, r13
add rcx, 0xffffffffffffffff
cmp eax, 0x1c33afed
je 0x18026cb50
jmp 0x18026cb82
xor ebx, ebx
cmp rcx, 0
jne 0x18026cb8f
jmp 0x18026cc80
add r13, 0xfffffffffffffffe
mov rax, rcx
and rax, 7
cmp rax, 0
jne 0x18026cba2
jmp 0x18026cbbc
xor edx, edx
jmp 0x18026cba6
mov r15, qword [r15 + 0x3d8]
add rcx, 0xffffffffffffffff
add rdx, 1
cmp rdx, rax
jne 0x18026cba6
jmp 0x18026cbbc
xor ebx, ebx
cmp r13, 7
jb 0x18026cc80
jmp 0x18026cbca
mov rax, qword [r15 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
cmp rcx, 0
je 0x18026cc7c
jmp 0x18026cbca
mov r13, rcx
add r13, 1
mov bx, word [rsi + 0x3d0]
mov edx, 0x438
mov eax, 0x3d8
cmp rcx, 0
cmove rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.1802cbf20
cmp bx, word [r14 + 0x3d2]
setb al
test al, 1
mov rsi, r14
mov rcx, r13
jne 0x18026caf7
jmp 0x18026cae1
mov edx, 0x438
mov eax, 0x3d8
cmp rcx, 0
cmove rdx, rax
mov rcx, rsi
mov r8d, 8
call fcn.1802cbf20
ud2
xor ebx, ebx
jmp 0x18026cc80
mov eax, dword [0x180521570]
xor edx, edx
div dword [0x180521574]
imul eax, eax, 0x28df51d
add eax, 0xe76fccb8
and eax, 0x8f653c88
cmp eax, 0xc67a7143
jae 0x18026ce42
jmp 0x18026ccab
mov eax, dword [0x180521578]
xor edx, edx
div dword [0x18052157c]
and eax, 0x4b3eb399
add eax, 0xcbfa2d9f
mov ecx, 0xcf85903
xor edx, edx
div ecx
mov rsi, r14
add rsi, 0x168
imul rcx, r12, 0x38
add rsi, rcx
mov rdx, qword [rsi]
cmp rdx, 0
sete cl
cmp eax, 0x8ed89f00
je 0x18026ccab
test cl, 1
jne 0x18026cd06
jmp 0x18026ccf5
mov rcx, qword [rsi + 8]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18026cd06
mov eax, dword [str.E5]
and eax, dword [0x180521584]
add eax, 0xa27bc53c
sub eax, 0x64643fb2
imul eax, eax, 0xa748d4f1
cmp eax, 0x4f2bba68
jb 0x18026ce53
mov eax, dword [0x180521588]
xor eax, dword [0x18052158c]
imul ecx, eax, 0x81ef8f46
and ecx, 0xaef3d2e
add ecx, 0x1dfdad8d
mov rax, rsi
add rax, 0x20
cmp ecx, 0x527f2bcf
ja 0x18026ce53
jmp 0x18026cd60
mov rdx, qword [rax]
cmp rdx, 0
sete al
test al, 1
jne 0x18026cd87
jmp 0x18026cd70
add rsi, 0x28
mov rcx, qword [rsi]
shl rdx, 1
mov r8d, 2
call fcn.1802cbf20
jmp 0x18026cd87
shl r12, 5
add r14, r12
mov rdx, qword [r14]
mov rax, rdx
shl rax, 1
test rax, rax
je 0x18026cdb2
jmp 0x18026cd9e
add r14, 8
mov rcx, qword [r14]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18026cdb2
cmp rdi, 0
sete al
xor esi, esi
test al, 1
mov rax, rdi
jne 0x18026c986
jmp 0x18026c7c9
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
wait
push rdx
mov ah, 0xd2
jmp 0x18026c7f3
pop rdi
cmpsd dword [rsi], dword [rdi]
sub byte [rdi], bl
pop rax
mov esp, dword [rcx]
xchg esi, eax
jmp 0x18026c85f
sbb al, 0x50
pop rdi
cmp edi, esp
jmp 0x18026c8bd
rcl dl, 0xea
push rsp
clc
xchg dword [rbx + rdi - 0x168c153b], edi
stosd dword [rdi], eax
sti
invalid
imul rsi, qword [rdx - 0x3f], 0x40f1334f
mov rcx, rsi
mov rdx, rdi
mov r8d, 8
call fcn.1802cbf20
jmp 0x18026ca7d
push rbp
mov bl, 0x13
or al, 0x90
movabs r11, 0x61fffffd0ce904b3
cld
or rax, 0xffffffff979a9cf8
invalid
invalid
sub bl, byte [rdi]
ror dword [rbx - 0x64], 1
movabs qword [0x415741fffffecde9], rax
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 + 0x40], r9
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r12, qword [rbx + 0x20]
mov r15, qword [rbx + 0x28]
mov rax, rdi
add rax, 8
mov r8, qword [rax]
mov r9, qword [rdi + 0x10]
mov rcx, r12
mov rdx, r15
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r9
call fcn.180267960
mov rbp, rax
mov rax, rbx
add rax, 0x10
mov qword [rsp + 0x60], rax
cmp qword [rbx + 0x10], 0
jne 0x18026cef0
mov rcx, rbx
mov rdx, r12
mov r8, r15
call fcn.18026d930
movabs rcx, 0x8000000000000001
cmp rax, rcx
sete al
mov qword [rsp + 0x48], rsi
mov r14, qword [rbx]
mov rax, rbx
add rax, 8
mov qword [rsp + 0x38], rdi
mov r12, qword [rax]
mov rsi, rbp
shr rsi, 0x39
movd xmm0, esi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm6, xmm0, 0
xor r10d, r10d
xor edi, edi
and rbp, r12
movups xmm7, xmmword [r14 + rbp]
movaps xmm0, xmm7
pcmpeqb xmm0, xmm6
pmovmskb r13d, xmm0
cmp r13w, 0
je 0x18026cffe
jmp 0x18026cf46
tzcnt eax, r13d
movzx eax, ax
mov rcx, rbp
add rcx, rax
and rcx, r12
xor eax, eax
sub rax, rcx
imul rax, rax, 0x38
mov r15, r14
add r15, rax
mov rax, qword [rsp + 0x28]
cmp rax, qword [r15 - 0x28]
jne 0x18026d06d
mov qword [rsp + 0x50], rsi
mov rsi, r10
mov rdx, qword [r15 - 0x30]
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
call fcn.180469550
mov ecx, eax
mov eax, dword [0x180521590]
sub eax, dword [0x180521594]
imul eax, eax, 0xe45f62b6
xor eax, 0x57fd3599
sub eax, 0x876e195f
cmp eax, 0x299efb93
jb 0x18026d2ec
mov r10, rsi
jmp 0x18026cfbe
mov eax, dword [0x180521598]
xor edx, edx
div dword [0x18052159c]
or eax, 0xc6e438c5
imul edx, eax, 0x2594ce5b
or edx, 0xcf0cebea
cmp ecx, 0
sete al
cmp edx, 0xa65be62f
jb 0x18026cfbe
mov rsi, qword [rsp + 0x50]
jmp 0x18026cff2
test al, 1
jne 0x18026d1a5
jmp 0x18026d06d
jmp 0x18026cffe
cmp rdi, 1
sete cl
mov eax, dword [0x1805215a0]
and eax, dword [0x1805215a4]
or eax, 0xa3bd3599
sub eax, 0x18b65cf1
add eax, 0x5ee85605
cmp eax, 0x4b7c0019
mov r9, qword [rsp + 0x58]
je 0x18026d2f9
mov eax, dword [0x1805215a8]
imul eax, dword [str.e_2_o]
sub eax, 0xc69e446d
mov r8d, 0x35092a71
xor edx, edx
div r8d
add eax, 0x1a7f54b1
cmp eax, 0xfd014293
ja 0x18026d2f9
mov edi, 1
test cl, 1
jne 0x18026d106
jmp 0x18026d0de
mov ax, r13w
add ax, 0xffff
and r13w, ax
mov eax, dword [0x1805215b0]
xor eax, dword [0x1805215b4]
add eax, 0x4e90672e
or eax, 0xf2d0f635
mov ecx, 0x258025
xor edx, edx
div ecx
cmp eax, 0x56626196
ja 0x18026d30a
jmp 0x18026d0a5
mov eax, dword [0x1805215b8]
and eax, dword [0x1805215bc]
and eax, 0x4327cb67
xor eax, 0x841d1e9b
imul ecx, eax, 0x8e805cff
cmp r13w, 0
sete al
cmp ecx, 0xeb7b97c3
ja 0x18026d0a5
test al, 1
jne 0x18026cffc
jmp 0x18026cf46
pmovmskb ecx, xmm7
cmp cx, 0
setne al
tzcnt ecx, ecx
movzx ecx, cx
mov rdx, rbp
add rdx, rcx
and rdx, r12
test al, 1
cmovne r9, rdx
and al, 1
movzx edi, al
jmp 0x18026d106
pcmpeqd xmm0, xmm0
pcmpeqb xmm7, xmm0
pmovmskb eax, xmm7
cmp ax, 0
jne 0x18026d176
add r10, 0x10
add rbp, r10
mov eax, dword [0x1805215c0]
xor edx, edx
div dword [0x1805215c4]
sub eax, 0x92750db1
add eax, 0x59263fc0
imul eax, eax, 0xcad5eb13
cmp eax, 0x2d221a61
jbe 0x18026d31b
mov qword [rsp + 0x58], r9
jmp 0x18026d14f
mov eax, dword [0x1805215c8]
and eax, dword [0x1805215cc]
sub eax, 0xb0f8c332
add eax, 0x552cd30f
and eax, 0xa6f8c4f2
cmp eax, 0xedbb750b
ja 0x18026d14f
jmp 0x18026cf25
cmp rdi, 0
setne al
mov al, byte [r14 + r9]
mov rdx, qword [rsp + 0x38]
cmp al, 0xff
jle 0x18026d21a
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
tzcnt eax, eax
movzx r9d, ax
mov al, byte [r14 + r9]
jmp 0x18026d21a
add r15, 0xffffffffffffffc8
add r15, 0x18
mov rax, qword [r15]
mov rsi, qword [rsp + 0x48]
mov qword [rsi], rax
mov rax, qword [r15 + 8]
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x10]
mov qword [rsi + 0x10], rax
mov rax, qword [r15 + 0x18]
mov qword [rsi + 0x18], rax
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov qword [r15], rax
mov rax, qword [rcx + 8]
mov qword [r15 + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [r15 + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [r15 + 0x18], rax
mov rdx, qword [rdx]
cmp rdx, 0
je 0x18026d2c5
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.1802cbf20
jmp 0x18026d2c5
mov rcx, qword [rdx]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdx]
mov qword [rsp + 0x80], rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x88], rcx
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x90], rcx
mov rcx, qword [rdx + 0x18]
mov qword [rsp + 0x98], rcx
and al, 1
movzx eax, al
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx]
sub rcx, rax
mov qword [rdx], rcx
mov rax, r9
add rax, 0xfffffffffffffff0
and rax, r12
mov byte [r14 + r9], sil
mov byte [r14 + rax + 0x10], sil
mov rax, qword [rbx + 0x18]
add rax, 1
mov qword [rbx + 0x18], rax
xor eax, eax
sub rax, r9
imul rax, rax, 0x38
add r14, rax
add r14, 0xffffffffffffffc8
lea rdx, [rsp + 0x68]
mov rcx, r14
mov r8d, 0x38
call fcn.180468b10
mov rsi, qword [rsp + 0x48]
mov byte [rsi], 0x11
mov rax, rsi
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
int 0x45
cmp r8b, r10b
invalid
mov ebp, 0x713691be
push rbx
or eax, 0xa0a17d9
sub ecx, ebp
mov ch, bh
invalid
xchg bh, bl
and al, 0x90
cmp byte [rsi + 0x20e9cd55], cl
invalid