Function at 0x1800269c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r13
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rdi, rdx
mov rsi, rcx
mov edx, 0x78c71ab
mov ecx, 0x97c92fff
mov r13, r9
mov rbx, r8
call fcn.180049ad0
test rax, rax
je 0x180026fc6
xor ecx, ecx
mov edx, 0x8a0
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
call rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x180026fc6
lea rcx, [rax + 0x800]
mov qword [rsp + 0x1a0], r12
lea rdx, [0x180025d50]
mov qword [rbp - 0x78], rcx
mov r8d, 0x800
mov rcx, rax
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b0], r15
call fcn.180046df0
mov edx, 0xdca74a56
mov ecx, 0x97c92fff
call fcn.180049ad0
mov edx, 0xf1c2f0f1
mov ecx, 0x97c92fff
mov qword [rbp - 0x58], rax
call fcn.180049ad0
mov edx, 0x1e4413ce
mov ecx, 0x97c92fff
mov qword [rbp - 0x48], rax
call fcn.180049ad0
mov edx, 0xc0b09149
mov ecx, 0x97c92fff
mov qword [rbp - 0x50], rax
call fcn.180049ad0
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x38], rbx
mov byte [rbp + 0x3c], 0
mov qword [rbp - 0x60], rax
xor edx, edx
xor ecx, ecx
call fcn.180067600
mov byte [rbp + 0x3c], al
test al, al
je 0x180026ab0
xor edx, edx
lea rcx, [rbp + 0x40]
lea r8d, [rdx + 0x30]
call fcn.180046d10
xor esi, esi
xor ecx, ecx
mov r15d, esi
mov qword [rbp - 0x70], rsi
call fcn.18004eac0
mov edx, 0xdb48f6d
mov ecx, 0x6e729370
mov r14d, esi
mov qword [rbp - 0x80], rax
mov edi, esi
mov qword [rbp - 0x68], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x48], rsi
mov ebx, esi
mov qword [rsp + 0x40], rsi
mov r12d, esi
call fcn.180049ad0
mov qword [rsp + 0x38], rax
call fcn.18004e440
lea r9, [rbp + 0x40]
xor r8d, r8d
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x30
call qword [rsp + 0x38]
test eax, eax
jne 0x180026c3a
lea rcx, [0x180084550]
lea rdx, [fcn.1800269c0]
mov r13d, esi
nop word [rax + rax]
mov rbx, qword [rbp + 0x40]
mov rdi, qword [rbp + 0x58]
cmp rcx, rbx
jb 0x180026b80
lea rax, [rdi + rbx]
cmp rcx, rax
jae 0x180026b80
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x50], rdi
cmp rdx, rbx
jb 0x180026b98
lea rax, [rdi + rbx]
cmp rdx, rax
jae 0x180026b98
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x48], rdi
call fcn.1800470e0
mov rcx, qword [rbp + 0x40]
cmp rcx, rax
jne 0x180026bae
mov r13, rbx
mov qword [rsp + 0x40], rdi
cmp rcx, qword [0x1800970c0]
jne 0x180026bbe
mov r15, rbx
mov qword [rbp - 0x70], rdi
cmp rcx, qword [rbp - 0x80]
jne 0x180026bcb
mov r14, rbx
mov qword [rbp - 0x68], rdi
cmp qword [rsp + 0x68], rsi
je 0x180026be8
cmp qword [rsp + 0x60], rsi
je 0x180026be8
test r13, r13
je 0x180026be8
test r14, r14
je 0x180026be8
test r15, r15
jne 0x180026c25
add r12, rdi
call fcn.18004e440
lea r9, [rbp + 0x40]
xor r8d, r8d
mov rdx, r12
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], 0x30
call qword [rsp + 0x38]
lea rcx, [0x180084550]
lea rdx, [fcn.1800269c0]
test eax, eax
je 0x180026b60
mov rdi, qword [rbp - 0x68]
mov qword [rsp + 0x38], r13
mov r13, qword [rbp + 0xb8]
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
lea rdx, [rbp - 0x60]
mov qword [rbp - 0x20], rax
mov rax, qword [rsp + 0x68]
mov r8d, 0xa0
mov qword [rbp - 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x18], r14
mov qword [rbp], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x10], rdi
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [rbp - 0x28], r15
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rax
call fcn.180046df0
xor ecx, ecx
call fcn.180054bc0
xor ecx, ecx
call fcn.180055840
mov edx, 0xb616fa1e
mov ecx, 0x97c92fff
mov r14d, eax
call fcn.180049ad0
mov edx, 0xb334d0d0
mov ecx, 0x97c92fff
mov r12, rax
mov qword [rsp + 0x40], rax
call fcn.180049ad0
mov edx, 0x3630c258
mov ecx, 0x97c92fff
mov r15, rax
call fcn.180049ad0
mov edx, 0x9e287a51
mov ecx, 0x97c92fff
mov qword [rsp + 0x48], rax
call fcn.180049ad0
mov edx, 0x602aa69d
mov ecx, 0x97c92fff
call fcn.180049ad0
mov edx, 0xee1ac7a4
mov ecx, 0x97c92fff
call fcn.180049ad0
mov rdi, qword [0x180096de0]
movabs rax, 0xf9af7ea9efa9bd96
mov qword [rbp - 0x80], rdi
cmp rdi, rax
je 0x180026ddf
lea rcx, [rsp + 0x30]
call fcn.180047020
add rdi, 0x38
mov r12d, esi
mov rcx, rdi
call fcn.18003fcc0
movsxd rcx, eax
shr rcx, 2
test ecx, ecx
jle 0x180026dcc
mov r13, qword [rsp + 0x40]
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.18003fcb0
cmp dword [rax], r14d
je 0x180026dab
mov edx, ebx
mov rcx, rdi
call fcn.18003fcb0
xor edx, edx
mov r8d, dword [rax]
lea ecx, [rdx + 2]
call r13
lea rcx, [rsp + 0x50]
mov byte [rsp + 0x58], 1
mov qword [rsp + 0x50], rax
call fcn.1800475b0
test al, al
jne 0x180026d9a
mov rcx, qword [rsp + 0x50]
call r15
cmp byte [rsp + 0x58], sil
je 0x180026dab
lea rcx, [rsp + 0x50]
call fcn.180047770
mov rcx, rdi
inc r12d
add ebx, 4
call fcn.18003fcc0
movsxd rcx, eax
shr rcx, 2
cmp r12d, ecx
jl 0x180026d56
mov r13, qword [rbp + 0xb8]
lea rcx, [rsp + 0x30]
call fcn.180047070
mov r12, qword [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
mov rcx, r13
mov ebx, esi
call fcn.18003fcc0
test eax, eax
jle 0x180026e0e
nop dword [rax]
mov edx, ebx
mov rcx, r13
call fcn.18003fcb0
movzx ecx, byte [rbp + 0x3c]
inc ebx
xor byte [rax], cl
mov rcx, r13
call fcn.18003fcc0
cmp ebx, eax
jl 0x180026df0
mov rcx, qword [0x1800970c8]
test rcx, rcx
je 0x180026e4d
mov eax, dword [rcx + 0x410]
test eax, eax
je 0x180026e4d
mov rcx, qword [rcx + 0x418]
mov r9d, esi
nop
movzx eax, byte [rbp + 0x3c]
inc r9d
inc rcx
xor byte [rcx - 1], al
mov rax, qword [0x1800970c8]
cmp r9d, dword [rax + 0x410]
jb 0x180026e30
mov rbx, qword [rbp - 0x78]
mov r15, qword [rsp + 0x70]
mov rcx, rbx
call r15
lea rcx, [rbp - 0x60]
mov r8d, 0xa0
mov rdx, rbx
call fcn.180046df0
mov rcx, qword [0x1800970c8]
test rcx, rcx
je 0x180026eab
mov eax, dword [rcx + 0x410]
test eax, eax
je 0x180026eab
mov rcx, qword [rcx + 0x418]
mov edx, esi
nop dword [rax]
movzx eax, byte [rbp + 0x3c]
inc edx
inc rcx
xor byte [rcx - 1], al
mov rax, qword [0x1800970c8]
cmp edx, dword [rax + 0x410]
jb 0x180026e90
mov rcx, r13
mov ebx, esi
call fcn.18003fcc0
test eax, eax
jle 0x180026ede
nop dword [rax]
mov edx, ebx
mov rcx, r13
call fcn.18003fcb0
movzx ecx, byte [rbp + 0x3c]
inc ebx
xor byte [rax], cl
mov rcx, r13
call fcn.18003fcc0
cmp ebx, eax
jl 0x180026ec0
movabs rax, 0xf9af7ea9efa9bd96
cmp rdi, rax
je 0x180026f7d
add rdi, 0x38
mov rcx, rdi
call fcn.18003fcc0
movsxd rcx, eax
shr rcx, 2
test ecx, ecx
jle 0x180026f7d
mov r13, qword [rsp + 0x48]
mov ebx, esi
nop
mov edx, ebx
mov rcx, rdi
call fcn.18003fcb0
cmp dword [rax], r14d
je 0x180026f65
mov edx, ebx
mov rcx, rdi
call fcn.18003fcb0
xor edx, edx
mov r8d, dword [rax]
lea ecx, [rdx + 2]
call r12
lea rcx, [rsp + 0x70]
mov byte [rsp + 0x78], 1
mov qword [rsp + 0x70], rax
call fcn.1800475b0
test al, al
jne 0x180026f54
mov rcx, qword [rsp + 0x70]
call r13
cmp byte [rsp + 0x78], 0
je 0x180026f65
lea rcx, [rsp + 0x70]
call fcn.180047770
mov rcx, rdi
inc esi
add ebx, 4
call fcn.18003fcc0
movsxd rdx, eax
shr rdx, 2
cmp esi, edx
jl 0x180026f10
mov edx, 0xc311893c
mov ecx, 0x97c92fff
call fcn.180049ad0
mov r14, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x1a0]
test rax, rax
je 0x180026fae
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call rax
mov al, 1
mov r15, qword [rsp + 0x1b0]
add rsp, 0x170
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor al, al
add rsp, 0x170
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret