Function at 0x1400091b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
cmp dword [0x140287178], 3
jne 0x140009490
mov rax, qword [0x140287170]
test rax, rax
je 0x140009490
xor ebp, ebp
mov qword [rsp + 0x30], rax
mov ebx, 0x300
lea rcx, [rsp + 0x30]
xor r8d, r8d
mov dword [rsp + 0x38], ebx
lea edx, [rbp + 1]
call qword [0x140287830]
test eax, eax
jle 0x1400094b4
test byte [rsp + 0x3a], 7
jne 0x1400094b9
test word [rsp + 0x3a], bx
je 0x140009490
mov eax, dword [0x1402872c8]
mov r8d, 0x1000
mov rcx, qword [0x140287170]
mov edx, eax
add rdx, qword [0x1402872c0]
sub r8d, eax
xor r9d, r9d
call qword [0x140287800]
mov ecx, eax
cmp eax, 1
jl 0x1400094b9
mov eax, dword [0x1402872c8]
mov rbx, qword [0x1402872c0]
add eax, ecx
mov dword [0x1402872c8], eax
mov rsi, rbx
cmp eax, 4
jb 0x140009490
mov r15d, 0xa9
lea r14, [0x14000f028]
lea r12, [0x140286ec4]
movzx ecx, word [rsi + 2]
mov eax, dword [0x1402872c8]
add rcx, 4
cmp rax, rcx
jb 0x140009490
test byte [rsi + 1], 1
je 0x1400094b9
movzx ecx, byte [rsi]
sub ecx, 3
je 0x140009352
sub ecx, 1
je 0x1400092e2
cmp ecx, 1
jne 0x1400094b9
mov dword [0x140287178], 2
mov dword [0x1402872dc], ecx
jmp 0x140009457
mov dword [0x1402872d8], 1
mov ecx, dword [rbx + 8]
movzx eax, word [rbx + 2]
add rcx, 9
cmp rax, rcx
jne 0x140009457
movzx eax, byte [rbx + 0xc]
test al, al
jne 0x140009317
mov dword [0x140287178], 6
jmp 0x140009457
mov dword [0x1402872e4], eax
mov eax, dword [rbx + 4]
mov dword [0x1402872e8], eax
mov dword [0x140287178], 1
mov eax, dword [rbx + 8]
test eax, eax
je 0x140009457
mov edx, eax
lea rcx, [rbx + 0xd]
call fcn.14000a2c0
mov rbx, qword [0x1402872c0]
jmp 0x140009457
cmp word [rbx + 2], r15w
jne 0x140009457
movzx eax, byte [rbx + 4]
test al, al
je 0x140009451
cmp eax, dword [0x140287420]
jne 0x140009451
xor edx, edx
lea rcx, [0x140287300]
mov r8d, 0x100
call qword [0x140287720]
lea rdx, [rbx + 5]
mov r8d, 0x100
lea rcx, [0x140287300]
call qword [0x140287718]
mov eax, dword [rbx + 0xa5]
mov dword [0x140287410], eax
mov eax, dword [rbx + 0xa9]
mov dword [0x140287414], eax
cmp byte [rbx + 4], 1
jne 0x14000944a
cmp word [0x14000f026], bp
je 0x140009409
movzx ecx, word [0x14000f024]
mov eax, ebp
inc ecx
test cl, 3
setne al
shr ecx, 2
add eax, ecx
mov edx, eax
mov rax, rbp
je 0x140009402
nop dword [rax]
mov ecx, dword [0x14000f020]
xor dword [r14 + rax*4], ecx
inc rax
cmp rax, rdx
jne 0x1400093f0
mov word [0x14000f026], bp
mov qword [rsp + 0x28], rbp
lea r9, [0x140287300]
lea r8, [0x140009050]
mov dword [rsp + 0x20], ebp
xor edx, edx
mov qword [0x140287400], r14
xor ecx, ecx
mov qword [0x140287408], r12
call qword [0x140287590]
mov rcx, rax
call qword [0x140287550]
mov rbx, qword [0x1402872c0]
jmp 0x140009457
mov rbx, qword [0x1402872c0]
mov dword [0x140287420], ebp
movzx eax, word [rsi + 2]
mov edi, dword [0x1402872c8]
add rax, 4
sub rdi, rax
je 0x140009481
lea rdx, [rbx + rax]
mov r8, rdi
mov rcx, rbx
call qword [0x140287718]
mov rbx, qword [0x1402872c0]
mov dword [0x1402872c8], edi
cmp edi, 4
jae 0x140009292
mov eax, 1
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
cmp eax, 0xffffffff
jne 0x140009490
xor eax, eax
jmp 0x140009495