Function at 0x1400b88c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
test byte [rcx + 0x161], 8
je 0x1400b8ed8
test byte [0x14059a26f], 4
jne 0x1400b8ed8
mov rdi, rcx
call fcn.1400b9030
test al, al
jne 0x1400b8ed8
movzx edx, word [0x1405a684a]
mov rcx, qword [rdi + 0x190]
mov dword [rsp + 0x20], 0x9df43620
mov r8d, 0xa1d32870
mov r9d, 0x9d432009
call fcn.1400b1fa0
mov rbx, rax
test rax, rax
lea rsi, [0x14045d8d8]
cmove rbx, rsi
lea r14, [rbp - 0x20]
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov rcx, rbx
mov edx, 0x79466bed
mov r8d, 0x57efa1dc
call fcn.1400af3a0
mov r15, rax
movabs rax, 0xc30fae27f90b633a
add rax, qword [0x140534178]
cmp r15, rax
jbe 0x1400b8995
mov rcx, r14
mov rdx, r15
mov r9, rbx
call fcn.14008d4c0
jmp 0x1400b89ad
mov qword [rbp - 0x10], r15
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.140440940
mov byte [rbp + r15 - 0x20], 0
lea r14, [0x14045cff8]
mov qword [rbp - 0x28], r14
movzx edx, word [0x1405a6858]
mov rcx, qword [rdi + 0x190]
call fcn.140260f30
test rax, rax
cmovne rsi, rax
lea rdi, [rbp + 8]
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
mov rcx, rsi
mov edx, 0x79466bed
mov r8d, 0x57efa1dc
call fcn.1400af3a0
mov rbx, rax
cmp rax, 0xf
jbe 0x1400b8a16
mov rcx, rdi
mov rdx, rbx
mov r9, rsi
call fcn.14008d4c0
jmp 0x1400b8a2d
mov qword [rbp + 0x18], rbx
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.140440940
mov byte [rbp + rbx + 8], 0
mov qword [rbp], r14
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov rax, rbp
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x48], 1
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x186ad
lea rcx, [rbp - 0x30]
mov edx, 0xffffffff
xor r8d, r8d
mov r9d, 4
call fcn.140114a30
mov rax, qword [rbp + 0x20]
cmp rax, 0x10
jb 0x1400b8ac6
mov rcx, qword [rbp + 8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b8ac1
mov r8, qword [rcx - 8]
add rcx, qword [0x140534178]
sub rcx, r8
movabs rdx, 0xc30fae27f90b6323
add rdx, rcx
cmp rdx, 0x20
jae 0x1400b8ee9
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400ad790
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1400b8b0e
mov rcx, qword [rbp - 0x20]
cmp byte [0x1405a6bd8], 0
jne 0x1400b8aea
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b8b09
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400b8eee
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400ad790
cmp qword [0x1405a6d40], 0
jne 0x1400b8b44
mov ecx, 0x700
mov edx, 0x6a2dfde1
mov r8d, 0x20970d90
call fcn.1401081c0
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.1400993f0
mov rax, qword [rbp + 0x28]
mov qword [0x1405a6d40], rax
mov rdi, qword [0x1405a6d40]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x1400b8b67
mov rcx, rsi
call fcn.14009ae60
mov rcx, rsi
call fcn.1400ad7a0
mov qword [rdi + 0x3b0], 0
mov byte [0x1405a6f18], 1
mov rcx, qword [0x1405a7010]
test rcx, rcx
je 0x1400b8ba7
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 0x2ea84ce
add edx, dword [0x140534170]
call qword [case.0x1401238cb.0]
mov qword [0x1405a7010], 0
cmp qword [0x1405a6d40], 0
jne 0x1400b8bdd
mov ecx, 0x700
mov edx, 0x6a2dfde1
mov r8d, 0x20970d90
call fcn.1401081c0
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.1400993f0
mov rax, qword [rbp + 0x28]
mov qword [0x1405a6d40], rax
mov rsi, qword [0x1405a6d40]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x1400b8c8c
cmp dword [rsi + 0x574], 1
jne 0x1400b8c12
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.140440780
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b8c34
mov r8d, dword [0x140534170]
lea edx, [r8 - 0x71b9ab05]
add r8d, 0x9ed5bf73
call fcn.1400ad790
xorps xmm0, xmm0
mov rax, qword [0x1405a6d40]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
movzx ecx, byte [0x140534180]
add cl, 0xe7
mov byte [rsi + 0x570], cl
test rax, rax
jne 0x1400b8ca1
mov ecx, 0x700
mov edx, 0x6a2dfde1
mov r8d, 0x20970d90
call fcn.1401081c0
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.1400993f0
mov rax, qword [rbp + 0x28]
mov qword [0x1405a6d40], rax
jmp 0x1400b8ca1
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rsi, qword [0x1405a6d40]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
movabs rcx, 0xc30fae27f90b63cb
add rcx, qword [0x140534178]
sub rax, r8
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1400b8ce4
cqo
idiv rcx
test eax, eax
jg 0x1400b8cf0
jmp 0x1400b8d98
xor edx, edx
div ecx
test eax, eax
jle 0x1400b8d98
mov edi, 0x80
mov ebx, 1
cmp dword [r8 + rdi + 8], 0
jne 0x1400b8d18
nop word cs:[rax + rax]
cmp qword [r8 + rdi + 8], 0
je 0x1400b8d5e
mov edx, dword [r8 + rdi - 0x5c]
add r8, rdi
mov eax, dword [0x140534170]
mov ecx, eax
xor ecx, 0xee6d17f9
mov r9d, eax
and r9d, 0x6e6d17f9
lea r9d, [rcx + r9*2]
add r9d, 0xd9193017
lea ecx, [rax - 0x556b93ef]
add eax, 0x5ba47ec1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140108d20
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp rbx, rax
jge 0x1400b8d98
add rdi, 0xa0
inc rbx
cmp dword [r8 + rdi + 8], 0
je 0x1400b8d10
jmp 0x1400b8d18
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x1400b8e3a
xor edi, edi
nop word cs:[rax + rax]
mov eax, dword [0x140534170]
lea r9d, [rax - 0x3879b7f0]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x556b93ee
mov r8d, ecx
and r8d, 0xaa946c11
or r8d, edx
mov edx, eax
xor edx, 0x2a946c11
and ecx, 0x556b93ee
or ecx, edx
not ecx
lea ecx, [r8 + rcx*2]
add eax, 0x5ba47ec1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov edx, edi
xor r8d, r8d
call fcn.140108d20
mov eax, dword [0x140534170]
add edi, eax
add edi, 0x2ea84ce
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x1400b8dc0
mov rsi, qword [0x1405a6c80]
test rsi, rsi
je 0x1400b8e98
lea rcx, [rsi + 0x20]
mov rdi, qword [rsi + 0x20]
mov r8, qword [rdi + 8]
mov rdx, rcx
call fcn.1400ad550
mov qword [rdi + 8], rdi
mov qword [rdi], rdi
mov qword [rdi + 0x10], rdi
mov qword [rsi + 0x28], 0
lea rcx, [rsi + 0x30]
mov rdi, qword [rsi + 0x30]
mov r8, qword [rdi + 8]
mov rdx, rcx
call fcn.1400ad640
mov qword [rdi + 8], rdi
mov qword [rdi], rdi
mov qword [rdi + 0x10], rdi
mov qword [rsi + 0x38], 0
mov byte [rsi + 0x11], 0
movaps xmm0, xmmword [0x14045cb50]
movups xmmword [0x14059a31f], xmm0
movups xmmword [0x14059a30f], xmm0
movups xmmword [0x14059a2ff], xmm0
movups xmmword [0x14059a2ef], xmm0
mov dword [rsp + 0x20], 0x8dc2bc20
xor ecx, ecx
xor edx, edx
mov r8d, 0xcc68bf3d
mov r9d, 0x5ca8fa6
call fcn.140109110
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call fcn.1403f89dc
call fcn.1403f89dc
int3