Function at 0x14004af60
Capabilities:
Acquire debug privileges
Get system information on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xb0
mov rax, qword [0x1400fb088]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov esi, 1
xor eax, eax
lock cmpxchg dword [0x140100b90], esi
jne 0x14004b20d
call fcn.140014208
lea rcx, [0x1400d9990]
mov rbx, rax
mov dword [rax + 8], 0x11c
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.RtlGetVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14004afd6
lea rcx, [rbx + 8]
call rax
mov eax, dword [rbx + 0xc]
xor edi, edi
test eax, eax
je 0x14004b076
shl eax, 8
or eax, dword [rbx + 0x10]
sub eax, 0x501
je 0x14004b074
sub eax, 0x100
je 0x14004b06c
sub eax, esi
je 0x14004b064
sub eax, esi
je 0x14004b05c
cmp eax, 0x3fd
je 0x14004b00e
mov dword [rbx], edi
jmp 0x14004b076
mov eax, dword [rbx + 0x14]
cmp eax, 0x42ee
jb 0x14004b020
mov dword [rbx], 9
jmp 0x14004b076
cmp eax, 0x3fab
jb 0x14004b02f
mov dword [rbx], 8
jmp 0x14004b076
cmp eax, 0x3ad7
jb 0x14004b03e
mov dword [rbx], 7
jmp 0x14004b076
cmp eax, 0x3839
jb 0x14004b04d
mov dword [rbx], 6
jmp 0x14004b076
cmp eax, 0x295a
jb 0x14004b076
mov dword [rbx], 5
jmp 0x14004b076
mov dword [rbx], 4
jmp 0x14004b076
mov dword [rbx], 3
jmp 0x14004b076
mov dword [rbx], 2
jmp 0x14004b076
mov dword [rbx], esi
call fcn.14004a940
movdqa xmm0, xmmword [0x1400dbe30]
lea rdx, str.SeDebugPrivilege
lea rcx, [rbp - 0x31]
mov dword [rbx + 4], eax
movdqu xmmword [rbp - 0x21], xmm0
mov word [rbp - 0x31], di
call fcn.1400056b0
lea rcx, [rbp - 0x31]
call fcn.14004b250
mov rdx, qword [rbp - 0x19]
cmp rdx, 8
jb 0x14004b0e8
mov rcx, qword [rbp - 0x31]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b0e3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b23c
call fcn.14006fa74
movdqa xmm0, xmmword [0x1400dbe30]
lea rdx, str.SeLoadDriverPrivilege
lea rcx, [rbp - 0x11]
mov word [rbp - 0x11], di
movdqu xmmword [rbp - 1], xmm0
call fcn.1400056b0
lea rcx, [rbp - 0x11]
call fcn.14004b250
mov rdx, qword [rbp + 7]
cmp rdx, 8
jb 0x14004b152
mov rcx, qword [rbp - 0x11]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b14d
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b236
call fcn.14006fa74
call fcn.14004b370
xor eax, eax
mov word [rbp - 0x39], di
lea rcx, [rbp + 0x17]
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], rax
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x2f], rax
mov qword [rbp + 0x37], rax
mov qword [rbp + 0x3f], rax
call qword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [rbp + 0x17], di
jne 0x14004b18b
mov byte [rbp - 0x39], sil
jmp 0x14004b1a8
mov dword [rbp + 0xf], edi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rbp + 0xf]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
cmp dword [rbp + 0xf], edi
setne byte [rbp - 0x38]
lea rcx, [rbp - 0x39]
call fcn.140065af0
call fcn.14004d770
xor edx, edx
xor r9d, r9d
mov rbx, rax
lea ecx, [rdx + 0xa]
call fcn.140014278
test al, al
je 0x14004b1d4
mov rcx, rbx
call fcn.14004f400
jmp 0x14004b20d
mov edx, 3
xor r9d, r9d
lea ecx, [rdx + 3]
call fcn.140014278
test al, al
je 0x14004b1f2
mov rcx, rbx
call fcn.14004f7b0
jmp 0x14004b20d
mov edx, esi
mov ecx, 6
xor r9d, r9d
call fcn.140014278
test al, al
je 0x14004b20d
mov rcx, rbx
call fcn.14004fb40
movzx eax, sil
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.14006fa50
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.140097f2c
int3
call fcn.140097f2c
int3