Function at 0x18000f21b
Capabilities:
Authenticate hmac
Check for software breakpoints
Check os version
Encode data using base64
Encrypt data using speck
Execute anti-debugging instructions
Get number of processors
Get system information on windows

Disassembly:
mov esi, dword [rsp + 0x38]
test rbx, 0
jnp 0x1800130aa
mov qword [rsi + 0x10], rbp
mov dword [rsi + 0x18], r12d
test di, 0
call fcn.1800105a5
popfq
sbb eax, 0xffe8eea5
ror byte [rbx + riz*2 + 0x5e], 1
sbb byte [rbp + 0x63480147], cl
clc
call fcn.1800110e3
sbb ebp, esi
out 0x29, al
call 0x17383eba2
invalid
mov eax, 8
call fcn.1800120d9
mov dh, 0x96
in al, 0xc1
call 0x19066f8d6
add byte [rcx - 9], cl
invalid
mov edx, dword [rbx + 0x60]
call fcn.180009f09
outsd dx, dword [rsi]
sbb byte [rbx + rdx], ch
call 0x1a44d02d5
sub byte [rbx + rcx*4 - 0x30], al
movzx eax, byte [r9]
inc r9
test r10, 0
js 0x18000ed9d
add r8d, eax
call fcn.18000ea2c
or ebp, dword [rdx + rdi*4 + 0x48c3e8c1]
lea ecx, [0x18001a0a1]
jmp fcn.180005d4f
pushfq
jg 0x18000f0f0
xchg di, di
jle 0x18000f0f0
je 0x18000fdb9
inc r8d
test r15, 0
call fcn.1800080e1
sbb eax, 0xe8e37940
push r12
call fcn.180009158
movabs byte [0xffffe7d0e8e8f1c7], al
test bh, 0
jb 0x180007778
test rbx, rbx
call fcn.18000d0a6
in al, dx
mov bh, 0xd1
invalid
mov rdx, qword [rax + 0x10]
lea rcx, [rbp - 0x70]
call qword [0x18001a771]
lea rcx, [rsp + 0x68]
call fcn.18000a20e
mov rcx, qword [rsp + 0x30]
lea rax, [rbp + 0x38]
call fcn.18000e7a1
sbb cl, cl
cwde
fucomp st(0)
test ax, 0
jne 0x180011a0e
cmp r9d, 3
jl 0x18001399b
jl 0x18000e821
mov eax, edx
call fcn.180011724
invalid
sub qword [rsp + 0x10], rsi
jl 0x18000e742
xchg di, di
jge 0x18000e742
popfq
jl 0x180010585
mov sp, sp
jge 0x180010585
call fcn.180011289
lea r11, [rsp + 0x50]
call fcn.18000d0b5
loop 0x18000e7ba
lodsb al, byte [rsi]
and eax, ebp
je 0x180006b62
je 0x18000f5ea
call fcn.180006830
fidiv word [0x1c4e9b4eb]
mov ecx, ecx
call fcn.18000caed
xchg ecx, eax
lea eax, [rdx]
imul al
test bl, 0
call fcn.180007ef2
adc byte [edi - 0x2b], bh
call 0x1b042d05d
add byte [rax], al
push rdx
scasd eax, dword [rdi]
invalid
mov eax, esi
inc ecx
movsxd rbx, ecx
imul eax, eax, 7
call fcn.180011724
add eax, 0xe8e091f6
test dh, 0
jo 0x180011aeb
xor r8d, r8d
jmp 0x18000bd84
mov dword [rsp + 8], ebx
mov qword [rsp + 0x10], rsi
call fcn.1800145dc
out dx, al
cmc
sub al, ch
jnp 0x18000ee62
test r14, r14
je 0x18000757b
je 0x180005f01
test rcx, 0
jne 0x180008411
sbb dh, 0x8d
invalid
pop rbp
ret
sub rsi, 0x30c33d5e
jb 0x18000c49b
xchg dl, dl
jae 0x18000c49b
test rax, rax
call fcn.18000ebd2
out dx, eax
pop rdi
invalid
push rsi
jp 0x180012704
xchg r13, r13
jnp 0x180012704
mov r12d, edx
call fcn.180012597
popfq
adc al, cl
call 0x180c7e9a2
add byte [rdi], cl
test dword [rax + rsi*2], esi
invalid
mov byte [rsi - 0x1700003b], ah
and al, 0xe1
invalid
invalid
movsxd rsi, dword [rsi]
jb 0x18000ba03
mov r8, r8
jae 0x18000ba03
mov dword [rsi + rbx + 0x24], edi
movsxd rdx, dword [rsi + 0x10]
call fcn.18000dd46
and edi, dword [rax - 5]
invalid
pop rsi
jg 0x180011e3a
xchg r10, r10
jle 0x180011e3a
pop r10
jp 0x1800111c6
mov bh, bh
jnp 0x1800111c6
ret
lea ebx, [rsp + 0x70]
call fcn.1800103b1
invalid
test ecx, 0x8b0f0000
sbb dword [rsi - 0x24cc0001], ebp
mov rsi, qword [rsp + 8]
jb 0x18001019e
mov rdi, rdi
jae 0x18001019e