Function at 0x1400b1b60
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 0x1400b227a
mov eax, 0xa4c49bf0
add eax, dword [0x1405115cc]
test dword [0x140568fbf], eax
jne 0x1400b227a
mov rdi, rcx
call fcn.1400b23d0
test al, al
jne 0x1400b227a
movzx edx, word [0x14057559a]
mov rcx, qword [rdi + 0x190]
mov r9d, dword [0x1405115cc]
lea r8d, [r9 - 0x797ca717]
add r9d, 0x430528d3
call fcn.1400abab0
mov rbx, rax
test rax, rax
lea rsi, [0x1404391d8]
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, 0xeafeb733
mov r8d, 0xb673f10f
call fcn.1400aa1d0
mov r15, rax
cmp rax, 0xf
jbe 0x1400b1c30
mov rcx, r14
mov rdx, r15
mov r9, rbx
call fcn.1400896c0
jmp 0x1400b1c48
mov qword [rbp - 0x10], r15
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.14041d3c0
mov byte [rbp + r15 - 0x20], 0
lea r14, [0x1404388f8]
mov qword [rbp - 0x28], r14
movzx edx, word [0x1405755a8]
mov rcx, qword [rdi + 0x190]
call fcn.1402637a0
lea rdi, [rbp + 8]
test rax, rax
cmovne rsi, rax
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
movzx eax, byte [0x1405115c8]
add al, 0x8f
mov byte [rbp + 8], al
mov rcx, rsi
mov edx, 0xeafeb733
mov r8d, 0xb673f10f
call fcn.1400aa1d0
mov rbx, rax
cmp rax, 0xf
jbe 0x1400b1cb9
mov rcx, rdi
mov rdx, rbx
mov r9, rsi
call fcn.1400896c0
jmp 0x1400b1cd8
mov qword [rbp + 0x18], rbx
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.14041d3c0
movzx eax, byte [0x1405115c8]
add al, 0x8f
mov byte [rbp + rbx + 8], al
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.14012e6b0
mov rax, qword [rbp + 0x20]
cmp rax, 0x10
jb 0x1400b1d77
mov rcx, qword [rbp + 8]
mov edx, eax
not edx
and edx, 1
mov r8, rax
and r8, 0xfffffffffffffffe
or r8, rdx
mov edx, eax
and edx, 1
lea rdx, [r8 + rdx*2]
cmp rdx, 0x1000
jb 0x1400b1d72
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1400b228b
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a87c0
mov rax, qword [rbp - 8]
movabs rcx, 0xda55809a7cf0682e
add rcx, qword [0x1405115d0]
cmp rax, rcx
jbe 0x1400b1e22
mov rcx, qword [rbp - 0x20]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
movabs r8, 0xda55809a7cf0781e
add r8, qword [0x1405115d0]
cmp rdx, r8
jbe 0x1400b1e1d
mov r8, qword [rcx - 8]
mov rdx, rcx
not rdx
mov r9, rdx
and r9, 0xfffffffffffffff8
mov r10d, ecx
and r10d, 7
or r10, r9
movabs r9, 0x7ffffffffffffff8
xor r9, rcx
and edx, 7
or rdx, r9
not rdx
lea rcx, [r10 + rdx*2]
sub rcx, r8
movabs rdx, 0xda55809a7cf0683f
add rdx, qword [0x1405115d0]
cmp rcx, rdx
jae 0x1400b2290
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a87c0
mov rcx, qword [0x140575d60]
test rcx, rcx
je 0x1400b1e4a
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
cmp qword [0x140575b00], 0
jne 0x1400b1e80
mov ecx, 0x700
mov edx, 0xbe1162e1
mov r8d, 0xdfa5eb7c
call fcn.1400aaae0
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp + 0x28]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x1400b1ea3
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov rax, qword [0x140575a40]
test rax, rax
je 0x1400b1ee1
mov rsi, qword [rax + 0x20]
mov rdi, qword [rsi]
cmp rdi, rsi
jne 0x1400b20ac
mov rax, qword [0x140575a40]
mov rax, qword [rax + 0x30]
mov rcx, qword [rax]
cmp rcx, rax
jne 0x1400b215c
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
movzx eax, byte [0x1405115c8]
add al, 0x90
mov byte [0x140575c68], al
cmp qword [0x140575b00], 0
jne 0x1400b1f49
mov ecx, 0x700
mov edx, 0xbe1162e1
mov r8d, 0xdfa5eb7c
call fcn.1400aaae0
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp + 0x28]
mov qword [0x140575b00], rax
mov rax, qword [0x140575b00]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x1400b1fa0
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.14041da70
cmp qword [0x140575b00], 0
jne 0x1400b1fa0
mov ecx, 0x700
mov edx, 0xbe1162e1
mov r8d, 0xdfa5eb7c
call fcn.1400aaae0
mov qword [rbp + 0x28], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp + 0x28]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
mov rax, qword [rsi + 0x370]
mov rcx, qword [rsi + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
mov edx, dword [0x1405115cc]
mov r8d, edx
xor r8d, 0xa4c49bec
and edx, 0x24c49bec
lea edx, [r8 + rdx*2]
cmp ecx, edx
jle 0x1400b21cf
xor edi, edi
movabs rbx, 0xcccccccccccccccd
jmp 0x1400b2077
lea r8, [rax + rcx]
add r8, 0x80
mov edx, dword [rax + rcx + 0x24]
mov eax, dword [0x1405115cc]
lea r9d, [rax + 0x26ce169f]
lea ecx, [rax + 0x620aa7df]
add eax, 0x95bea794
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.1400aa0a0
mov rax, qword [rsi + 0x370]
mov rdx, qword [rsi + 0x378]
sub rdx, rax
sar rdx, 5
imul rdx, rbx
movzx ecx, byte [0x1405115d0]
add cl, 0x3f
shl rdx, cl
mov rcx, qword [0x1405759a0]
add rdi, rcx
inc rdi
sar rdx, 0x20
cmp rdi, rdx
jge 0x1400b21cf
lea rcx, [rdi + rdi*4]
shl rcx, 5
cmp dword [rax + rcx + 0x88], 0
jne 0x1400b2000
cmp qword [rax + rcx + 0x88], 0
je 0x1400b2037
jmp 0x1400b2000
mov rax, rdi
mov rdi, rax
cmp rax, rsi
je 0x1400b1eca
mov dword [rdi + 0x30], 0
mov dword [rdi + 0x28], 0
mov r8, qword [rdi + 0x58]
test r8, r8
je 0x1400b20ce
mov rcx, qword [rdi + 0x50]
mov dl, 1
call fcn.14041da70
mov r8, qword [rdi + 0x98]
test r8, r8
je 0x1400b20e8
mov rcx, qword [rdi + 0x90]
mov dl, 1
call fcn.14041da70
mov rcx, qword [rdi + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400b2130
mov rax, qword [rdi + 8]
cmp byte [rax + 0x19], 0
jne 0x1400b20a0
nop dword [rax]
mov rcx, rdi
mov rdi, rax
cmp rcx, qword [rax + 0x10]
jne 0x1400b209d
mov rax, qword [rdi + 8]
movzx ecx, byte [0x1405115c8]
add cl, 0x8f
cmp byte [rax + 0x19], cl
je 0x1400b2100
jmp 0x1400b20a0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400b2130
jmp 0x1400b20a0
mov rdx, rcx
nop word cs:[rax + rax]
mov rcx, rdx
cmp rdx, rax
je 0x1400b1ee1
mov dword [rcx + 0x20], 0xffffffff
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x19], 0
je 0x1400b21c0
mov rdx, qword [rcx + 8]
cmp byte [rdx + 0x19], 0
jne 0x1400b2150
nop dword [rax + rax]
mov r8, rcx
mov rcx, rdx
cmp r8, qword [rdx + 0x10]
jne 0x1400b2141
mov rdx, qword [rcx + 8]
movzx r8d, byte [rdx + 0x19]
movzx r9d, byte [0x140575989]
mov r10d, r9d
xor r10b, r8b
not r9b
not r8b
and r8b, r9b
or r8b, r10b
not r8b
add r8b, r8b
add r8b, r10b
je 0x1400b2180
jmp 0x1400b2150
mov rdx, r8
mov r8, qword [r8]
cmp byte [r8 + 0x19], 0
je 0x1400b21c0
jmp 0x1400b2150
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
movzx ecx, byte [0x1405115d0]
add cl, 0x21
shr rax, cl
mov ecx, 0xa4c49bec
add ecx, dword [0x1405115cc]
cmp eax, ecx
jle 0x1400b225d
xor edi, edi
movabs rbx, 0x59bff2f3340588ba
mov r14d, 0xcbfa7746
nop dword [rax + rax]
mov dword [rsp + 0x28], 0xf0fa0ba8
mov dword [rsp + 0x20], 0xbd460bf3
mov rcx, rsi
mov edx, edi
xor r8d, r8d
mov r9d, 0x82097ab3
call fcn.1400aa0a0
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
inc edi
add rax, rbx
mov rcx, rax
xor rcx, r14
and eax, 0xcbfa7746
lea rax, [rcx + rax*2]
shr rax, 2
cmp edi, eax
jl 0x1400b2210
mov dword [rsp + 0x20], 0x3265ee3f
xor ecx, ecx
xor edx, edx
mov r8d, 0x6ef603ff
mov r9d, 0x557248cd
call fcn.140126d00
nop
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
call fcn.1403d599c
call fcn.1403d599c
int3