Function at 0x18007f7f0
Capabilities:
Check os version
Create process on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x380], rbx
mov rax, qword [0x180201020]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r14, r9
mov r15, rdx
mov rsi, rcx
xor r12d, r12d
test r9, r9
je 0x18007f841
mov qword [r9], r12
cmp qword [rcx + 0x10], r12
jne 0x18007f84e
xor al, al
jmp 0x18007ff89
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 7
mov word [rbp], r12w
lea rdx, [rbp]
call fcn.18007c060
xor bl, bl
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.180083ab0
nop
lea rcx, [rbp + 0x68]
cmp qword [rbp + 0x80], 8
cmovae rcx, qword [rbp + 0x68]
lea rdx, [0x18019ef18]
call fcn.18007b060
movzx edi, bl
mov r13d, 1
test al, al
cmovne edi, r13d
mov qword [rbp + 0x20], r12
mov ecx, r13d
call fcn.1801167a4
mov rbx, rax
mov qword [rbp + 0x20], rax
mov byte [rax], 0
xor edx, edx
mov r8d, 0x118
lea rcx, [rbp + 0x104]
call fcn.180135690
mov dword [rbp + 0x100], 0x11c
lea rcx, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x18007f8fc
cmp dword [rbp + 0x104], 6
setae al
mov byte [rbx], al
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
lea rcx, [rbp + 0x20]
call fcn.1800815a0
movzx ebx, dil
test al, al
cmove ebx, r12d
lea rcx, [rbp + 0x20]
call fcn.180080060
test bl, bl
je 0x18007fc7b
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x90]
call fcn.180135690
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x90], 0x68
mov word [rbp + 0xd0], r13w
mov dword [rbp + 0xcc], 0x81
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
mov edx, 0x104
lea rcx, [rbp - 0x20]
call fcn.1800323e0
mov r8, r13
lea rdx, [0x18019d970]
lea rcx, [rbp - 0x20]
call fcn.180003950
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x18007f9ae
mov r9, qword [rsi]
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18007f9f1
lea rdi, [rcx + rdx]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp r8, 8
cmovae rbx, qword [rbp - 0x20]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.180135230
mov word [rbx + rdi*2], r12w
jmp 0x18007f9ff
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x20]
call fcn.18002a7b0
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18007fa45
lea rdi, [rcx + 1]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, [0x18019d970]
call fcn.180135230
mov word [rbx + rdi*2], r12w
jmp 0x18007fa5d
mov qword [rsp + 0x20], r13
lea r9, [0x18019d970]
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.18002a7b0
cmp qword [r15 + 0x10], 0
je 0x18007fb24
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18007faae
lea rdi, [rcx + 1]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, [0x18019d94c]
call fcn.180135230
mov word [rbx + rdi*2], r12w
jmp 0x18007fac6
mov qword [rsp + 0x20], r13
lea r9, [0x18019d94c]
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.18002a7b0
mov r9, r15
cmp qword [r15 + 0x18], 8
jb 0x18007fad3
mov r9, qword [r15]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x18007fb16
lea rdi, [rcx + rdx]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp r8, 8
cmovae rbx, qword [rbp - 0x20]
lea r8, [rdx + rdx]
lea rcx, [rbx + rcx*2]
mov rdx, r9
call fcn.180135230
mov word [rbx + rdi*2], r12w
jmp 0x18007fb24
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x20]
call fcn.18002a7b0
cmp qword [rbp + 0x10], 0
jne 0x18007fb30
mov rax, r12
jmp 0x18007fb3e
lea rax, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rax, qword [rbp]
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 8
cmovae rdx, qword [rbp - 0x20]
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x18007fb59
mov rcx, qword [rsi]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x48], r8
lea r8, [rbp + 0x90]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x18007fc2a
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18007fbaf
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x60], r12
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x18007fbbd
xor bl, bl
jmp 0x18007fbd4
test r14, r14
je 0x18007fbc7
mov qword [r14], rcx
jmp 0x18007fbd2
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x58], r12
mov bl, 1
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18007fc14
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007fc0f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffb9
call fcn.180116bc4
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
jmp 0x18007fee2
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18007fc6a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007fc65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffbf
call fcn.180116bc4
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r12w
mov r8d, 4
lea rdx, str.open
lea rcx, [rbp + 0x28]
call fcn.180003950
nop
lea rcx, [rbp + 0x100]
call fcn.1800829f0
cmp dword [rbp + 0x104], 6
jb 0x18007fcd6
mov r8d, 5
lea rdx, str.runas
lea rcx, [rbp + 0x28]
call fcn.180003950
mov rdx, r15
lea rcx, [rbp + 0x48]
call fcn.180024d10
nop
xor eax, eax
mov qword [rbp - 0x5c], rax
mov qword [rbp - 0x54], rax
mov qword [rbp - 0x4c], rax
mov qword [rbp - 0x44], rax
mov qword [rbp - 0x3c], rax
mov qword [rbp - 0x34], rax
mov qword [rbp - 0x2c], rax
mov dword [rbp - 0x24], eax
mov dword [rsp + 0x70], 0x70
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x74], 0x100540
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 8
cmovae rax, qword [rbp + 0x28]
mov qword [rbp - 0x80], rax
cmp qword [rsi + 0x18], 8
jb 0x18007fd35
mov rsi, qword [rsi]
mov qword [rbp - 0x78], rsi
lea rax, [rbp]
cmp qword [rbp + 0x18], 8
cmovae rax, qword [rbp]
mov qword [rbp - 0x68], rax
lea rax, [rbp + 0x48]
cmp qword [rbp + 0x60], 8
cmovae rax, qword [rbp + 0x48]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x60], r13d
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], r12
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
mov r8d, 0xb
lea rdx, str.Shell32.dll
lea rcx, [rbp - 0x20]
call fcn.180003950
nop
call fcn.180098ae0
mov rcx, rax
lea rdx, [rbp - 0x20]
call fcn.180098b80
mov rbx, rax
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18007fde5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007fde0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffc5
call fcn.180116bc4
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r12w
test rbx, rbx
je 0x18007fe3e
lea rdx, [0x1801a3e30]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18007fe3e
lea rcx, [rsp + 0x70]
call rax
test eax, eax
je 0x18007fe3e
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18007fe3e
test r14, r14
je 0x18007fe30
mov qword [r14], rcx
mov bl, 1
jmp 0x18007fe40
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x28], r12
mov bl, 1
jmp 0x18007fe40
xor bl, bl
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x18007fe80
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007fe7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffcb
call fcn.180116bc4
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r12w
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x18007fed1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007fecc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffd1
call fcn.180116bc4
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r12w
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x18007ff25
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007ff20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffd7
call fcn.180116bc4
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r12w
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x18007ff75
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18007ff70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007ffb3
call fcn.180116bc4
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], 7
mov word [rbp], r12w
movzx eax, bl
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.180116780
mov rbx, qword [rsp + 0x380]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18013ed94
nop
call fcn.18013ed94
nop
call fcn.18013ed94
nop
call fcn.18013ed94
nop
call fcn.18013ed94
nop
call fcn.18013ed94
nop
call fcn.18013ed94
int3