Function at 0x1400901a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov ecx, dword [0x14055ee00]
mov r8d, dword [0x1404e52a8]
mov eax, ecx
sub eax, r8d
add eax, 0x662b91c3
imul eax, ecx
add r8d, 0x99d46e3e
xor edx, edx
div r8d
test edx, edx
je 0x140090204
lea rcx, [rbp - 8]
xor edx, edx
mov r8d, 0x1ef951cb
mov r9d, 0x237567fa
call fcn.1400ae350
mov rax, qword [0x14055ee88]
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 8]
xor edx, edx
mov r8d, 0x1ef951cb
mov r9d, 0x237567fa
call fcn.1400ae350
mov rax, qword [0x14055ee88]
mov qword [rbp - 0x10], rax
cmp qword [0x14055ee68], 0
jne 0x140090322
mov r9d, dword [0x1404e52a8]
mov eax, r9d
xor eax, 0x99d46e3c
mov ecx, r9d
and ecx, 0x19d46e3c
lea edx, [rax + rcx*2]
lea r8d, [r9 - 0x47323ff9]
add r9d, 0xbd49d636
lea rcx, [rbp - 0x18]
call fcn.1400ae350
cmp qword [0x14055ee68], 0
jne 0x140090319
jmp 0x1400902ed
mov edx, dword [0x1405631e0]
dec edx
mov cl, 1
sub cl, dl
mov eax, edx
shl eax, cl
mov ecx, eax
shl edx, cl
sub edx, dword [0x1404e52a8]
sub eax, edx
lea ecx, [rax - 0x662b91c4]
sub edx, ecx
add edx, 0x662b91c4
mov r8d, ecx
not r8d
mov r9d, edx
xor r9d, r8d
xor r8d, ecx
and r8d, edx
xor r8d, ecx
and r9d, edx
lea ecx, [r8 + r9*2]
add eax, ecx
add eax, 0x99d46e3c
mov dword [0x1405631e0], eax
cdqe
mov qword [0x14055ee68], rax
mov eax, dword [0x14055ee00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140090280
movsxd rax, dword [0x1405631e0]
inc rax
mov dword [0x1405631e0], eax
mov qword [0x14055ee68], rax
mov eax, dword [0x14055ee00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140090280
lea rcx, [rbp - 0x18]
call fcn.1400ac480
mov rbx, qword [0x14055ee68]
mov rax, qword [rsi + 8]
cmp qword [rax + 0x18], rbx
jbe 0x140090344
mov rcx, qword [rax + 0x10]
mov rdi, qword [rcx + rbx*8]
test rdi, rdi
jne 0x1400904cd
cmp dword [0x1404e52a8], 0x662b91c4
nop
movzx ecx, byte [rax + 0x24]
movzx edx, byte [0x1404e52ac]
mov r8d, dword [0x14055ee04]
cmp r8d, 0x4f
jg 0x140090350
add dl, 0x90
cmp cl, dl
je 0x1400903f8
call fcn.1403de8c4
mov ecx, dword [0x14055ee00]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
nop word [rax + rax]
mov rcx, qword [rax + 0x18]
mov edx, dword [0x14055ee00]
mov r8d, dword [0x1404e52a8]
neg r8d
add r8d, edx
inc r8d
imul r8d, edx
test r8b, 1
jne 0x140090390
cmp rcx, rbx
jbe 0x1400903f8
mov ecx, dword [0x14055ee00]
lea edx, [rcx + 1]
jmp 0x1400903d9
mov ecx, dword [0x14055ee00]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1400903d0
mov cl, 1
test cl, cl
je 0x1400903d0
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + rbx*8]
test rdi, rdi
jne 0x1400904cd
mov eax, dword [0x14055ee00]
mov ecx, dword [0x1404e52a8]
mov edx, ecx
xor edx, 0x73f4575c
mov r8d, ecx
and r8d, 0x73f4575c
lea edx, [rdx + r8*2]
not edx
sub edx, eax
add edx, 0x7bd7f44
imul edx, eax
and edx, 1
add ecx, 0x99d46e3c
cmp edx, ecx
jne 0x140090449
mov rdi, qword [rbp - 0x10]
mov eax, dword [0x14055ee00]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14009047d
lea rax, [fcn.1400901a0]
lea ecx, [rax + rax]
add ecx, 0x2720
mov eax, ecx
not eax
and eax, ecx
nop
mov ecx, dword [0x1404e52a8]
mov edx, ecx
xor edx, 0x99d46e3c
and ecx, 0x19d46e3c
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jne 0x140090460
jmp 0x140090434
test rdi, rdi
jne 0x1400904cd
lea rcx, [rbp - 0x10]
mov rdx, rsi
call fcn.1400907c0
movabs rcx, 0x243c83c7e537ebb9
add rcx, qword [0x1404e52a0]
cmp rax, rcx
je 0x1400904e2
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x20], rcx
call fcn.1403de88c
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140119ecb.0]
mov rdi, qword [rbp - 0x10]
mov qword [0x14055ee88], rdi
lea rcx, [rbp - 8]
call fcn.1400ac480
mov rax, rdi
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop rbp
ret
call fcn.14008bba0
int3