Function at 0x14000b650
Capabilities:
Encode data using xor

Disassembly:
push rdi
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rsi
mov r14, rcx
add rcx, 8
call fcn.1400050f0
mov r9d, dword [0x1401bdd80]
mov r8d, r9d
imul r8d, r9d
imul r8d, r9d
mov eax, 0x2aaaaaab
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
shl eax, 3
sub r8d, eax
cmp r8d, 0xc
jne 0x14000b6b6
inc r9d
mov dword [0x1401bdd80], r9d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, eax
call fcn.140004bb0
xor edi, edi
test r14, r14
je 0x14000b6d5
lea rcx, [r14 + 0x48]
mov qword [rsp + 0x68], rcx
jmp 0x14000b6da
mov qword [rsp + 0x68], rdi
lea rcx, [rax + 8]
lea rdx, [rsp + 0x68]
call fcn.14000f2f0
mov edx, 0x3e8
mov rcx, qword [r14 + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rbx, rax
call fcn.14000a9e0
mov ecx, dword [0x1401bdd80]
mov eax, ecx
imul eax, ecx
and eax, 0x8000000f
jge 0x14000b718
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 0xb
jne 0x14000b740
mov r8d, edi
test ecx, ecx
je 0x14000b737
mov eax, ecx
and eax, 1
add r8d, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
jne 0x14000b724
mov ecx, r8d
mov dword [0x1401bdd80], ecx
lea r15, [r14 + 0xa0]
test r15, r15
jne 0x14000b753
mov esi, 0x80004003
jmp 0x14000b7af
mov qword [r15], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
mov edx, dword [0x1401bf4d0]
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
mov rbx, rax
mov qword [rsp + 0x20], rax
mov esi, 0x80004005
test rax, rax
cmovne esi, edi
test esi, esi
js 0x14000b79b
mov rax, qword [rax]
mov r8, r15
lea rdx, [0x140146b60]
mov rcx, rbx
call qword [rax]
mov esi, eax
test rbx, rbx
je 0x14000b7a9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
mov ecx, dword [0x1401bdd80]
lea r8d, [rcx + 1]
imul r8d, ecx
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
imul edx, edx, 0xd
sub r8d, edx
cmp r8d, 9
jne 0x14000b870
nop dword [rax]
mov edx, edi
and edx, 1
dec edx
not edx
and edx, ecx
mov eax, edi
sar eax, 1
xor edx, eax
mov eax, edx
and eax, 1
dec eax
not eax
and eax, ecx
sar edx, 1
xor eax, edx
mov edx, eax
and edx, 1
dec edx
not edx
and edx, ecx
sar eax, 1
xor edx, eax
mov eax, edx
and eax, 1
dec eax
not eax
and eax, ecx
sar edx, 1
xor eax, edx
mov edx, eax
and edx, 1
dec edx
not edx
and edx, ecx
sar eax, 1
xor edx, eax
mov eax, edx
and eax, 1
dec eax
not eax
and eax, ecx
sar edx, 1
xor eax, edx
mov edx, eax
and edx, 1
dec edx
not edx
and edx, ecx
sar eax, 1
xor edx, eax
mov eax, edx
and eax, 1
dec eax
not eax
and eax, ecx
sar edx, 1
xor eax, edx
add ecx, eax
inc edi
cmp edi, 0x100
jl 0x14000b7e0
mov dword [0x1401bdd80], ecx
cmp qword [r15], 0
jne 0x14000b8cf
lea rcx, [0x1401b59a8]
mov rax, qword [0x1401b59a8]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov r8d, esi
lea rdx, str.OnInitDialog_QueryControl__d
lea rcx, [rsp + 0x50]
call fcn.140012200
mov rax, qword [r14]
lea rdx, [rsp + 0x50]
mov rcx, r14
call qword [rax + 0xb0]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14000b8cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 1
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret