Function at 0x18026a160
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
lea rbp, [rsp + 0x80]
mov rbx, r8
mov rdi, rdx
mov r15, rcx
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r12, rsp
cmp rbx, 0
jne 0x18026a1ed
mov al, byte [0x1805297c8]
sub rsp, 0x20
mov ecx, 0x278
mov edx, 8
call fcn.1802cbf10
add rsp, 0x20
mov rbx, rax
cmp rbx, 0
jne 0x18026a280
sub rsp, 0x20
mov ecx, 8
mov edx, 0x278
call fcn.180407090
add rsp, 0x20
ud2
mov r13, rdi
add r13, 0x278
mov rdx, qword [rdi + 0x278]
add rbx, 0xffffffffffffffff
lea rcx, [rbp + 0x70]
sub rsp, 0x20
mov r8, rbx
call fcn.18026a160
add rsp, 0x20
mov rsi, qword [rbp + 0x70]
cmp rsi, 0
sete al
mov ecx, dword [str.ff]
xor ecx, dword [0x1805212c4]
add ecx, 0x9efab721
xor ecx, 0x594b1d09
imul ecx, ecx, 0x9b97a778
cmp ecx, 0xd0c02b1f
je 0x18026aee3
jmp 0x18026a24d
mov ecx, dword [0x1805212c8]
xor ecx, dword [0x1805212cc]
imul ecx, ecx, 0xb3c04d0d
xor ecx, 0xcc08b70d
or ecx, 0x89498697
cmp ecx, 0x462fedab
je 0x18026a24d
test al, 1
jne 0x18026a718
jmp 0x18026a71c
mov qword [rbx + 0x160], 0
mov rax, rbx
add rax, 0x272
mov word [rax], 0
mov r8, rdi
add r8, 0x272
xor r14d, r14d
cmp word [r8], 0
je 0x18026a374
lea rcx, [rbp - 0x50]
add rcx, 0x10
mov qword [rbp + 0x28], rcx
mov rcx, r13
add rcx, 8
mov qword [rbp + 0xa0], rcx
mov rcx, r13
add rcx, 1
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rdi
mov r9, rdi
add r9, 0x168
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xc0], r15
mov eax, dword [0x1805212d0]
imul eax, dword [0x1805212d4]
or eax, 0x8401a9aa
and eax, 0xc6685fb6
add eax, 0x44acdd86
cmp eax, 0x88ea2af7
jae 0x18026aef4
mov eax, dword [0x1805212d8]
xor eax, dword [0x1805212dc]
mov ecx, 0x94bd4593
xor edx, edx
div ecx
mov ecx, 0x93974493
xor edx, edx
div ecx
or eax, 0xc9399ae7
mov rdi, rbx
add rdi, 0x168
cmp eax, 0xa74fa078
jb 0x18026aef4
xor r14d, r14d
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x30], r9
jmp 0x18026a388
mov r15, qword [rbp + 0xc0]
jmp 0x18026a374
mov qword [r15], rbx
mov qword [r15 + 8], 0
mov qword [r15 + 0x10], r14
jmp 0x18026a704
lea rax, [r14 + r14*2]
lea rdx, [r9 + rax*8]
mov rsi, r14
shl rsi, 5
mov r15, qword [rbp + 0x90]
mov rcx, r12
mov r12, r15
add r12, rsi
inc r14
sub rsp, 0x20
call fcn.180449d50
add rsp, 0x20
movzx eax, byte [r15 + rsi]
lea rcx, [0x18048728c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov byte [r13], 0
mov r12, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
jmp 0x18026a590
mov eax, dword [0x1805212e0]
or eax, dword [0x1805212e4]
or eax, 0xa2c411f0
xor eax, 0xb66f9ab1
mov cl, 0x9a
outsd dx, dword [rsi]
mov dh, 0x35
scasd eax, dword [rdi]
xchg ebx, eax
invalid
cmp eax, 0x72ce891d
mov rcx, qword [rbp + 0x88]
jb 0x18026af05
mov eax, dword [0x1805212e8]
sub eax, dword [0x1805212ec]
and eax, 0x14e7adfe
add eax, 0xff225a2b
invalid
mov ecx, 0x39e2895c
xor edx, edx
div ecx
mov cl, byte [r12 + 1]
mov rdx, qword [rbp + 0x88]
mov byte [rdx], cl
mov rcx, qword [rbp + 0x88]
cmp eax, 0xd4c0f718
jae 0x18026af05
mov r12, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
jmp 0x18026a460
mov byte [r13], 1
jmp 0x18026a590
mov rax, qword [r12 + 8]
mov rcx, qword [rbp + 0xa0]
mov qword [rcx], rax
mov rax, qword [r12 + 0x10]
mov qword [rcx + 8], rax
mov byte [r13], 2
mov r12, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
jmp 0x18026a590
add r12, 8
sub rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov rdx, r12
call fcn.180449d50
add rsp, 0x20
mov byte [r13], 3
mov r12, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
jmp 0x18026a590
add r12, 8
sub rsp, 0x20
mov rcx, qword [rbp + 0xa0]
mov rdx, r12
call fcn.18025e870
add rsp, 0x20
mov byte [r13], 4
mov r12, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xb0]
jmp 0x18026a590
cmp qword [r12 + 0x18], 0
jne 0x18026a52b
mov qword [rbp - 0x50], 0
mov rsi, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x28]
mov qword [rax], 0
mov r12, qword [rbp + 0xa8]
jmp 0x18026a56d
mov rax, r12
add rax, 8
mov rsi, qword [rbp + 0xb0]
mov rdx, qword [rax]
cmp rdx, 0
sete al
test al, 1
jne 0x18026a549
jmp 0x18026a54d
ud2
add r12, 0x10
mov r8, qword [r12]
lea rcx, [rbp - 0x50]
sub rsp, 0x20
call fcn.18026a160
add rsp, 0x20
mov r12, qword [rbp + 0xa8]
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp + 0xa0]
mov qword [rcx], rax
mov rax, qword [rbp - 0x48]
mov qword [rcx + 8], rax
mov rax, qword [rbp - 0x40]
mov qword [rcx + 0x10], rax
mov byte [r13], 5
mov eax, dword [0x1805212f0]
imul eax, dword [0x1805212f4]
sub eax, 0xeddfb596
sub eax, 0x7d0c355f
xor eax, 0x7d71f834
cmp eax, 0xdb88d7fd
ja 0x18026af1d
jmp 0x18026a5b9
mov eax, dword [0x1805212f8]
and eax, dword [0x1805212fc]
or eax, 0xfe487041
and eax, 0x3755384e
add eax, 0xc2203ec2
mov cx, word [rsi]
cmp eax, 0x7eba19a9
jbe 0x18026a5b9
jmp 0x18026a5e0
cmp cx, 0xb
setb al
test al, 1
jne 0x18026a694
jmp 0x18026a5f1
mov eax, dword [0x180521300]
add eax, dword [0x180521304]
and eax, 0xa3f4df12
mov ecx, 0x880fd5d6
xor edx, edx
div ecx
or eax, 0x990f1553
cmp eax, 0x2cc54bbd
jbe 0x18026af2a
mov eax, dword [0x180521308]
xor eax, dword [0x18052130c]
imul eax, eax, 0x3025455
xor eax, 0xb7f5fab3
xor eax, 0x8bf425a
ud2
movzx eax, cx
add cx, 1
mov word [rsi], cx
imul rdx, rax, 0x18
mov rcx, rdi
add rcx, rdx
mov r8, qword [rbp + 0x20]
mov r9, qword [rbp + 0x30]
mov rdx, qword [r12]
mov qword [rcx], rdx
mov rdx, qword [r12 + 8]
mov qword [rcx + 8], rdx
mov rdx, qword [r12 + 0x10]
mov qword [rcx + 0x10], rdx
shl rax, 5
mov rcx, rbx
add rcx, rax
mov rax, qword [r13]
mov qword [rcx], rax
mov rax, qword [r13 + 8]
mov qword [rcx + 8], rax
mov rax, qword [r13 + 0x10]
mov qword [rcx + 0x10], rax
mov rax, qword [r13 + 0x18]
mov qword [rcx + 0x18], rax
movzx eax, word [r8]
cmp r14, rax
jb 0x18026a388
jmp 0x18026a36b
ud2
mov qword [rbp + 0x90], rdi
lea rdi, [rbp + 0x70]
add rdi, 8
mov r12, qword [rdi]
mov al, byte [0x1805297c8]
sub rsp, 0x20
mov ecx, 0x2d8
mov edx, 8
call fcn.1802cbf10
add rsp, 0x20
mov r14, rax
cmp r14, 0
jne 0x18026a7bb
sub rsp, 0x20
mov ecx, 8
mov edx, 0x2d8
call fcn.180407090
add rsp, 0x20
mov eax, dword [0x180521320]
imul eax, dword [str.XSJn]
add eax, 0xf9d29741
add eax, 0xdfbfb871
imul eax, eax, 0x231dbfb0
cmp eax, 0x7dacccba
je 0x18026af4e
jmp 0x18026a795
mov eax, dword [0x180521328]
xor edx, edx
div dword [0x18052132c]
and eax, 0xdb79da13
add eax, 0x656acc93
add eax, 0xf1eb3a67
cmp eax, 0x1c75ceaf
je 0x18026a795
ud2
mov qword [r14 + 0x160], 0
mov rax, r14
add rax, 0x272
mov qword [rbp - 0x30], rax
mov word [r14 + 0x272], 0
mov rdx, r14
add rdx, 0x278
mov qword [r14 + 0x278], rsi
mov rax, r12
add rax, 1
mov qword [rsi + 0x160], r14
mov word [rsi + 0x270], 0
mov qword [rbp + 0x70], r14
mov qword [rdi], rax
mov rcx, qword [rbp + 0x90]
mov rdi, rcx
add rdi, 0x272
mov ax, word [rdi]
cmp ax, 0
je case.default.0x18026a8f7
lea rax, [rbp + 0x38]
add rax, 0x10
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x50]
add rax, 8
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x50]
add rax, 1
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x80]
add rax, 0x10
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x38], r12
lea rax, [rbp - 0x80]
add rax, 8
mov qword [rbp - 8], rax
lea rax, [rbp + 0x70]
add rax, 0x10
mov qword [rbp], rax
mov r8, rcx
add r8, 0x168
mov r9, qword [rbp + 0x80]
mov rax, r14
add rax, 0x168
mov qword [rbp + 0x18], rax
xor r10d, r10d
mov r12, rcx
mov qword [rbp + 0xc0], r15
mov qword [rbp - 0x28], rdx
mov qword [rbp + 8], r8
mov qword [rbp + 0x10], r9
lea rax, [r10 + r10*2]
lea rdx, [r8 + rax*8]
invalid
jle 0x18026af53
sbb eax, 0xd72e8503
sahf
out 0xc2, al
mov bh, 0x38
jmp 0x18026a24b
xchg edx, eax
jne 0x18026af56
movabs al, byte [0xb355e943112dc2f4]
jmp 0x18026a31f
invalid
pop rbx
xor byte [rsi], ah
invalid
push 0x30c79aa4
mul byte [rcx + riz - 0x97217]
invalid
stc
loopne 0x18026af7b
or eax, 0x81a1fb82
in al, dx
jrcxz 0x18026af46
or ebp, ecx
fdivrp st(6)
invalid
xchg dword [rcx - 0x8e1161c], ebx
invalid
push rax
jne 0x18026afac
clc
xchg dword [rsi + 0x38e9ad7f], ebp
clc
invalid
scasb al, byte [rdi]
jg 0x18026af03
jmp 0x18026a793
invalid
movabs al, byte [0x894970458b488c69]
invalid