Function at 0x1400b36b0
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 0x1400b3e46
mov rsi, rcx
mov eax, dword [0x1404bb588]
lea ecx, [rax - 0xa9a5c5a]
and ecx, dword [0x14051054f]
add eax, 0xf565a3a2
cmp ecx, eax
jne 0x1400b3e46
mov r15d, 0x6923
mov eax, dword [0x1404b58a4]
add eax, r15d
cdqe
add rax, qword [0x1404b58f0]
mov rcx, rsi
call qword [case.0x1400f5c95.0]
test al, al
jne 0x1400b3e46
movzx edx, word [0x14051ced2]
add dx, word [0x14051cb2a]
mov rcx, qword [rsi + 0x190]
mov eax, dword [0x1404b58a0]
mov r8d, dword [0x1404bb588]
add eax, r8d
add eax, 0xf5660cc5
cdqe
add rax, qword [0x1404b58e0]
mov r8d, 0x74210236
mov r9d, 0x26db5a14
call qword [case.0x1400f5c95.0]
mov rbx, rax
test rax, rax
lea rdi, [0x1403ec1a8]
cmove rbx, rdi
lea r14, [rbp - 0x20]
mov qword [rbp - 0x10], 0
add r15d, dword [0x1404b58bc]
mov qword [rbp - 8], 0xf
movsxd rax, r15d
add rax, qword [0x1404b5910]
mov byte [rbp - 0x20], 0
mov r8d, dword [0x1404bb588]
lea edx, [r8 - 0x683fa35c]
add r8d, 0x75a376d0
mov rcx, rbx
call qword [case.0x1400f5c95.0]
mov r15, rax
cmp rax, 0xf
jbe 0x1400b37f2
mov eax, 0x6923
add eax, dword [0x1404b58b4]
cdqe
add rax, qword [0x1404b58d8]
mov rcx, r14
mov rdx, r15
mov r9, rbx
call qword [case.0x1400f5c95.0]
jmp 0x1400b380a
mov qword [rbp - 0x10], r15
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.1403d0ac0
mov byte [rbp + r15 - 0x20], 0
lea r14, [0x1403eb8c8]
mov qword [rbp - 0x28], r14
movzx edx, word [0x14051cb38]
mov rcx, qword [rsi + 0x190]
call fcn.14021d640
test rax, rax
cmovne rdi, rax
lea rsi, [rbp + 8]
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
mov eax, dword [0x1404b58bc]
mov r8d, dword [0x1404bb588]
add eax, r8d
add eax, 0xf5660cc5
cdqe
add rax, qword [0x1404b5910]
lea edx, [r8 - 0x683fa35c]
add r8d, 0x75a376d0
mov rcx, rdi
call qword [case.0x1400f5c95.0]
mov rbx, rax
cmp rax, 0xf
jbe 0x1400b3895
mov rcx, rsi
mov rdx, rbx
mov r9, rdi
call fcn.14008aa10
jmp 0x1400b38ac
mov qword [rbp + 0x18], rbx
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.1403d0ac0
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.1400e5d40
mov rax, qword [rbp + 0x20]
cmp rax, 0x10
jb 0x1400b3951
mov rcx, qword [rbp + 8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b3937
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400b3eaf
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
mov eax, 0x6923
add eax, dword [0x1404b58b8]
cdqe
add rax, qword [0x1404b5918]
call qword [case.0x1400f5c95.0]
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1400b39a5
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400b398b
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400b3eb4
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, 0x6923
add eax, dword [0x1404b58b8]
cdqe
add rax, qword [0x1404b5918]
call qword [case.0x1400f5c95.0]
movaps xmm0, xmmword [0x1403eb400]
movups xmmword [0x1405105cf], xmm0
movups xmmword [0x1405105df], xmm0
movups xmmword [0x1405105ef], xmm0
movups xmmword [0x1405105ff], xmm0
mov byte [0x14051d1d0], 1
cmp qword [0x14051d068], 0
jne 0x1400b3a1c
mov ecx, 0x6923
mov eax, dword [0x1404b58a8]
add eax, ecx
cdqe
add rax, qword [0x1404b58e8]
mov ecx, 0x700
mov edx, 0x8c214cff
mov r8d, 0x8daa96
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.140097750
mov rax, qword [rbp + 0x28]
mov qword [0x14051d068], rax
mov rsi, qword [0x14051d068]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x1400b3a80
cmp dword [rsi + 0x574], 1
jne 0x1400b3a4d
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.1403d1170
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b3a80
mov eax, dword [0x1404b58ac]
sub eax, dword [0x1404bb588]
add eax, 0xa9ac581
cdqe
add rax, qword [0x1404b58f8]
mov edx, 0xfac9dad8
mov r8d, 0x82c943ef
call qword [case.0x1400f5c95.0]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rcx, qword [0x14051d2e8]
test rcx, rcx
je 0x1400b3abd
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x1400f5c95.0]
mov qword [0x14051d2e8], 0
cmp qword [0x14051d068], 0
jne 0x1400b3b0a
mov ecx, 0x6923
mov eax, dword [0x1404b58a8]
add eax, ecx
cdqe
add rax, qword [0x1404b58e8]
mov ecx, 0x700
mov edx, 0x8c214cff
mov r8d, 0x8daa96
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.140097750
mov rax, qword [rbp + 0x28]
mov qword [0x14051d068], rax
mov rsi, qword [0x14051d068]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
mov ecx, 0xf565a3a2
add ecx, dword [0x1404bb588]
cmp eax, ecx
jle 0x1400b3bcf
mov edi, 0x80
mov ebx, 1
mov r14d, 0x6923
cmp dword [r8 + rdi + 8], 0
jne 0x1400b3b68
nop word [rax + rax]
cmp qword [r8 + rdi + 8], 0
je 0x1400b3b99
mov edx, dword [r8 + rdi - 0x5c]
add r8, rdi
mov eax, dword [0x1404b58c8]
add eax, r14d
cdqe
add rax, qword [0x1404b5920]
mov dword [rsp + 0x20], 0x56fd9f41
mov rcx, rsi
mov r9d, 0xeccb3cc9
call qword [case.0x1400f5c95.0]
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 0x1400b3bcf
add rdi, 0xa0
inc rbx
cmp dword [r8 + rdi + 8], 0
je 0x1400b3b60
jmp 0x1400b3b68
mov rax, qword [0x14051cec8]
add rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x1400b3c5b
xor edi, edi
mov ebx, 0x6923
nop word cs:[rax + rax]
mov eax, dword [0x1404b58c8]
add eax, ebx
cdqe
add rax, qword [0x1404b5920]
mov dword [rsp + 0x20], 0x56fd9f41
mov rcx, rsi
mov edx, edi
xor r8d, r8d
mov r9d, 0xeccb3cc9
call qword [case.0x1400f5c95.0]
mov eax, dword [0x1404bb588]
mov ecx, eax
xor ecx, 0xf565a3a3
and eax, 0x7565a3a3
lea eax, [rcx + rax*2]
add edi, eax
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x1400b3c00
mov rax, qword [0x14051cf78]
test rax, rax
je 0x1400b3d5c
mov rsi, qword [rax + 0x20]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x1400b3d45
mov edi, 0xf565a3a2
jmp 0x1400b3c9c
mov rax, rbx
nop word cs:[rax + rax]
mov rbx, rax
cmp rax, rsi
je 0x1400b3d45
mov dword [rbx + 0x30], 0
mov eax, dword [0x1404bb588]
add eax, edi
mov dword [rbx + 0x28], eax
mov r8, qword [rbx + 0x58]
test r8, r8
je 0x1400b3cc2
mov rcx, qword [rbx + 0x50]
mov dl, 1
call fcn.1403d1170
mov r8, qword [rbx + 0x98]
test r8, r8
je 0x1400b3cdc
mov rcx, qword [rbx + 0x90]
mov dl, 1
call fcn.1403d1170
mov rcx, qword [rbx + 0x10]
movzx eax, byte [0x1404bb58c]
add al, 5
cmp byte [rcx + 0x19], al
jne 0x1400b3d00
nop
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400b3cf0
jmp 0x1400b3c90
mov rax, qword [rbx + 8]
movzx ecx, byte [0x1404bb58c]
add cl, 5
cmp byte [rax + 0x19], cl
jne 0x1400b3c90
nop word [rax + rax]
mov rcx, rbx
mov rbx, rax
cmp rcx, qword [rax + 0x10]
jne 0x1400b3c82
mov rax, qword [rbx + 8]
movzx ecx, byte [0x14051ced0]
add cl, byte [rax + 0x19]
je 0x1400b3d20
jmp 0x1400b3c90
mov rax, qword [0x14051cf78]
mov rax, qword [rax + 0x30]
mov rcx, qword [rax]
cmp rcx, rax
jne 0x1400b3e6c
cmp qword [0x14051d068], 0
jne 0x1400b3da9
mov ecx, 0x6923
mov eax, dword [0x1404b58a8]
add eax, ecx
cdqe
add rax, qword [0x1404b58e8]
mov ecx, 0x700
mov edx, 0x8c214cff
mov r8d, 0x8daa96
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.140097750
mov rax, qword [rbp + 0x28]
mov qword [0x14051d068], rax
mov rdi, qword [0x14051d068]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x1400b3e11
mov eax, 0x6923
add eax, dword [0x1404b58cc]
cdqe
add rax, qword [0x1404b5900]
mov rcx, rsi
call qword [case.0x1400f5c95.0]
mov eax, dword [0x1404b58c4]
mov ecx, dword [0x1404bb588]
mov edx, ecx
xor edx, 0xf565a3a2
sub eax, ecx
and ecx, 0x7565a3a2
lea ecx, [rdx + rcx*2]
add eax, ecx
add eax, 0xa9ac581
cdqe
add rax, qword [0x1404b5908]
mov rcx, rsi
call qword [case.0x1400f5c95.0]
mov qword [rdi + 0x3b0], 0
mov eax, 0x6923
add eax, dword [0x1404b58c0]
cdqe
add rax, qword [0x1404b58d0]
xor ecx, ecx
xor edx, edx
mov r8d, 0x6095f2fe
mov r9d, 0xb01cd38f
call qword [case.0x1400f5c95.0]
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov rcx, rdx
cmp rdx, rax
je 0x1400b3d5c
mov dword [rcx + 0x20], 0xffffffff
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x19], 0
je 0x1400b3ea0
nop
mov rdx, qword [rcx + 8]
cmp byte [rdx + 0x19], 0
jne 0x1400b3e60
mov r8, rcx
mov rcx, rdx
cmp r8, qword [rdx + 0x10]
je 0x1400b3e80
mov rdx, rcx
jmp 0x1400b3e60
mov rdx, r8
mov r8, qword [r8]
cmp byte [r8 + 0x19], 0
je 0x1400b3ea0
jmp 0x1400b3e60
call fcn.140388c3c
call fcn.140388c3c
int3