Function at 0x18001e2c0
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 [0x180267080]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r14, r9
movzx r12d, r8b
mov r15, rdx
mov rsi, rcx
xor r13d, r13d
test r9, r9
je 0x18001e315
mov qword [r9], r13
cmp qword [rcx + 0x10], r13
jne 0x18001e322
xor al, al
jmp 0x18001ea7f
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 7
mov word [rbp], r13w
lea rdx, [rbp]
call fcn.180014ab0
xor bl, bl
mov rdx, rsi
lea rcx, [rbp + 0x68]
call fcn.180013230
nop
lea rcx, [rbp + 0x68]
cmp qword [rbp + 0x80], 8
cmovae rcx, qword [rbp + 0x68]
lea rdx, str..exe
call fcn.1800109c0
movzx edi, bl
mov ecx, 1
test al, al
cmovne edi, ecx
test r12b, r12b
je 0x18001e3f4
mov qword [rbp + 0x20], r13
call fcn.18017df2c
mov rbx, rax
mov qword [rbp + 0x20], rax
mov byte [rax], 0
xor edx, edx
mov r8d, 0x118
lea rcx, [rbp + 0x104]
call fcn.180180610
mov dword [rbp + 0x100], 0x11c
lea rcx, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x18001e3d0
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.18000dd20
movzx edi, dil
test al, al
cmove edi, r13d
lea rcx, [rbp + 0x20]
call fcn.18000c9b0
test dil, dil
je 0x18001e769
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x90]
call fcn.180180610
xor eax, eax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x90], 0x68
mov edi, 1
mov word [rbp + 0xd0], di
mov dword [rbp + 0xcc], 0x81
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r13
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r13w
mov rbx, qword [rbp - 0x10]
mov edx, 0x104
sub rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.1800146c0
mov qword [rbp - 0x10], rbx
mov r8d, edi
lea rdx, [0x1801e0eb4]
lea rcx, [rbp - 0x20]
call fcn.180009930
mov r9, rsi
cmp qword [rsi + 0x18], 8
jb 0x18001e492
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 0x18001e4da
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.1801801b0
mov word [rbx + rdi*2], r13w
mov edi, 1
jmp 0x18001e4e8
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x20]
call fcn.180009e70
mov rcx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov rax, r8
sub rax, rcx
cmp rax, 1
jb 0x18001e533
lea rdi, [rcx + 1]
mov qword [rbp - 0x10], rdi
lea rbx, [rbp - 0x20]
cmp r8, 8
cmovae rbx, qword [rbp - 0x20]
lea rcx, [rbx + rcx*2]
mov r8d, 2
lea rdx, [0x1801e0eb4]
call fcn.1801801b0
mov word [rbx + rdi*2], r13w
mov edi, 1
jmp 0x18001e54b
mov qword [rsp + 0x20], rdi
lea r9, [0x1801e0eb4]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.180009e70
cmp qword [r15 + 0x10], 0
je 0x18001e612
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x18001e59c
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, [0x1801e0fbc]
call fcn.1801801b0
mov word [rbx + rdi*2], r13w
jmp 0x18001e5b4
mov qword [rsp + 0x20], rdi
lea r9, [0x1801e0fbc]
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.180009e70
mov r9, r15
cmp qword [r15 + 0x18], 8
jb 0x18001e5c1
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 0x18001e604
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.1801801b0
mov word [rbx + rdi*2], r13w
jmp 0x18001e612
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x20]
call fcn.180009e70
cmp qword [rbp + 0x10], 0
jne 0x18001e61e
mov rax, r13
jmp 0x18001e62c
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 0x18001e647
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], r13
mov dword [rsp + 0x28], 0x30
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x18001e718
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x18001e69d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x60], r13
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x18001e6ab
xor bl, bl
jmp 0x18001e6c2
test r14, r14
je 0x18001e6b5
mov qword [r14], rcx
jmp 0x18001e6c0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x58], r13
mov bl, 1
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18001e702
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e6fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eaaf
call fcn.18017e41c
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r13w
jmp 0x18001e9d8
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18001e758
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e753
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eab5
call fcn.18017e41c
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r13w
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
mov r8d, 4
lea rdx, str.open
lea rcx, [rbp + 0x28]
call fcn.180009930
nop
test r12b, r12b
je 0x18001e7c9
lea rcx, [rbp + 0x100]
call fcn.18000ff50
cmp dword [rbp + 0x104], 6
jb 0x18001e7c9
mov r8d, 5
lea rdx, str.runas
lea rcx, [rbp + 0x28]
call fcn.180009930
mov rdx, r15
lea rcx, [rbp + 0x48]
call fcn.180009740
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], r13
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 0x18001e828
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], 1
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], r13
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r13w
mov r8d, SHCreateMemStream
lea rdx, [0x1801e0eb8]
lea rcx, [rbp - 0x20]
call fcn.180009930
nop
call fcn.18001a860
mov rcx, rax
lea rdx, [rbp - 0x20]
call fcn.18001a900
mov rbx, rax
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x18001e8db
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e8d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eabb
call fcn.18017e41c
mov qword [rbp - 0x10], r13
mov qword [rbp - 8], 7
mov word [rbp - 0x20], r13w
test rbx, rbx
je 0x18001e934
lea rdx, [0x1801e1230]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x18001e934
lea rcx, [rsp + 0x70]
call rax
test eax, eax
je 0x18001e934
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18001e934
test r14, r14
je 0x18001e926
mov qword [r14], rcx
mov bl, 1
jmp 0x18001e936
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp - 0x28], r13
mov bl, 1
jmp 0x18001e936
xor bl, bl
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x18001e976
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e971
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eac1
call fcn.18017e41c
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r13w
mov rdx, qword [rbp + 0x40]
cmp rdx, 8
jb 0x18001e9c7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001e9c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eac7
call fcn.18017e41c
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x40], 7
mov word [rbp + 0x28], r13w
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x18001ea1b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ea16
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eacd
call fcn.18017e41c
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r13w
mov rdx, qword [rbp + 0x18]
cmp rdx, 8
jb 0x18001ea6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001ea66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18001eaa9
call fcn.18017e41c
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], 7
mov word [rbp], r13w
movzx eax, bl
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.18017df00
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.180182c3c
nop
call fcn.180182c3c
nop
call fcn.180182c3c
nop
call fcn.180182c3c
nop
call fcn.180182c3c
nop
call fcn.180182c3c
nop
call fcn.180182c3c
int3