Function at 0x1400881e0
Capabilities:
Check os version

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x40
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov rdi, rcx
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x60]
call fcn.14002e750
nop
lea rdx, [0x1400e4ec8]
lea rcx, [rsp + 0x68]
call fcn.14002e750
nop
xor ebx, ebx
cmp byte [rdi], bl
je 0x140088633
mov rax, rdi
lea rsi, [0x140000000]
nop
cmp byte [rax], 0x2f
jne case.0x140088264.57
add ebx, 1
movsxd rax, ebx
movsx ecx, byte [rax + rdi]
add ecx, 0xffffffce
cmp ecx, 0x46
ja case.0x140088264.57
movsxd rax, ecx
movzx eax, byte [rsi + rax + 0x88670]
mov ecx, dword [rsi + rax*4 + 0x88650]
add rcx, rsi
jmp rcx
mov dword [0x140167cd4], 1
jmp case.0x140088264.57
mov dword [0x140167cd8], 1
jmp case.0x140088264.57
mov dword [0x140167de4], 1
jmp case.0x140088264.57
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae case.0x140088264.57
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb case.0x140088264.57
mov dword [0x140167de8], 1
jmp case.0x140088264.57
add ebx, 1
movsxd rdx, ebx
add rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14002d430
mov dl, 0x2f
lea rcx, [rsp + 0x60]
call fcn.14002e4f0
test rax, rax
jns 0x1400882ee
mov rax, qword [rsp + 0x60]
mov rax, qword [rax - 0x10]
mov r8, rax
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x60]
call fcn.14002e670
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14002d3c0
nop
lea rcx, [rsp + 0x70]
call fcn.14002d2c0
lea rcx, [rsp + 0x68]
call fcn.14002d940
mov r11, qword [rsp + 0x68]
lea rcx, [0x140168df0]
sub rcx, r11
nop
nop
nop
nop
movzx eax, byte [r11]
mov byte [rcx + r11], al
add r11, 1
test al, al
jne 0x140088340
jmp case.0x140088264.57
add ebx, 1
movsxd rax, ebx
movsx ecx, byte [rax + rdi]
add ecx, 0xffffffbc
cmp ecx, 0x2f
ja case.0x140088380.71
movsxd rax, ecx
movzx eax, byte [rsi + rax + 0x886c8]
mov ecx, dword [rsi + rax*4 + 0x886b8]
add rcx, rsi
jmp rcx
add ebx, 1
movsxd rdx, ebx
add rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14002d430
mov dl, 0x2f
lea rcx, [rsp + 0x60]
call fcn.14002e4f0
test rax, rax
jns 0x1400883af
mov rax, qword [rsp + 0x60]
mov rax, qword [rax - 0x10]
mov dword [0x140167784], 1
mov r8, rax
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call fcn.14002e670
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14002d3c0
nop
lea rcx, [rsp + 0x78]
call fcn.14002d2c0
lea rcx, [rsp + 0x68]
call fcn.14002da10
lea rcx, [rsp + 0x68]
call fcn.14002d940
mov edx, 1
lea rcx, [rsp + 0x68]
call fcn.14002d620
lea rdx, [0x1401689a0]
nop
movzx ecx, byte [rax]
mov byte [rdx], cl
add rax, 1
add rdx, 1
test cl, cl
jne 0x140088410
jmp case.0x140088380.71
add ebx, 1
movsxd rdx, ebx
add rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14002d430
mov dl, 0x2f
lea rcx, [rsp + 0x60]
call fcn.14002e4f0
test rax, rax
jns 0x140088453
mov rax, qword [rsp + 0x60]
mov rax, qword [rax - 0x10]
mov dword [0x140167674], 1
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.14002e670
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14002d3c0
nop
lea rcx, [rsp + 0x20]
call fcn.14002d2c0
lea rcx, [rsp + 0x68]
call fcn.14002da10
lea rcx, [rsp + 0x68]
call fcn.14002d940
mov edx, 1
lea rcx, [rsp + 0x68]
call fcn.14002d620
lea rdx, [0x140168890]
nop
nop
nop
nop
movzx ecx, byte [rax]
mov byte [rdx], cl
add rax, 1
add rdx, 1
test cl, cl
jne 0x1400884c0
jmp case.0x140088380.71
add ebx, 1
movsxd rdx, ebx
add rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14002d430
mov dl, 0x2f
lea rcx, [rsp + 0x60]
call fcn.14002e4f0
test rax, rax
jns 0x140088503
mov rax, qword [rsp + 0x60]
mov rax, qword [rax - 0x10]
mov dword [0x140167894], 1
mov r8, rax
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x60]
call fcn.14002e670
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14002d3c0
nop
lea rcx, [rsp + 0x28]
call fcn.14002d2c0
lea rcx, [rsp + 0x68]
call fcn.14002da10
lea rcx, [rsp + 0x68]
call fcn.14002d940
mov edx, 1
lea rcx, [rsp + 0x68]
call fcn.14002d620
lea rdx, [0x140168ab0]
nop
nop
nop
nop
movzx ecx, byte [rax]
mov byte [rdx], cl
add rax, 1
add rdx, 1
test cl, cl
jne 0x140088570
add ebx, 1
movsxd rdx, ebx
add rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.14002d430
mov dl, 0x2f
lea rcx, [rsp + 0x60]
call fcn.14002e4f0
test rax, rax
jns 0x1400885ae
mov rax, qword [rsp + 0x60]
mov rax, qword [rax - 0x10]
mov r8, rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14002e670
nop
mov rdx, rax
lea rcx, [rsp + 0x68]
call fcn.14002d3c0
nop
lea rcx, [rsp + 0x30]
call fcn.14002d2c0
lea rcx, [rsp + 0x68]
call fcn.14002da10
lea rcx, [rsp + 0x68]
call fcn.14002d940
mov edx, 1
lea rcx, [rsp + 0x68]
call fcn.14002d620
lea rdx, [0x140168bc0]
nop
nop
nop
nop
movzx ecx, byte [rax]
mov byte [rdx], cl
add rax, 1
add rdx, 1
test cl, cl
jne 0x140088610
add ebx, 1
movsxd rax, ebx
add rax, rdi
cmp byte [rax], 0
jne 0x140088230
lea rcx, [rsp + 0x68]
call fcn.14002d2c0
nop
lea rcx, [rsp + 0x60]
call fcn.14002d2c0
add rsp, 0x40
pop rdi
pop rsi
pop rbx
ret