Function at 0x140029390
Capabilities:
Check os version

Disassembly:
jmp 0x140029390
mov qword [rsp + 8], rbx
push rbp
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1400cb008]
xor rax, rsp
mov qword [rbp + 0xb8], rax
call fcn.140003396
test al, al
je 0x140029a87
xor edx, edx
mov r8d, 0x118
lea rcx, [rsp + 0x5c]
call fcn.14000376a
mov dword [rsp + 0x58], 0x11c
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x140029402
lea r8, str.success___GetVersionEx_failed_
lea edx, [rax + 0x3a]
lea rcx, str.D:_a_arduino_ide_arduino_ideelectron_build_node_modules_node_ptydepswinpty_src_sharedWindowsVersion.cc
call fcn.1400040b1
mov qword [rbp + 0x78], 0
movdqa xmm0, xmmword [0x1400ab650]
movdqu xmmword [rbp + 0x88], xmm0
mov byte [rbp + 0x78], 0
mov rdx, qword [rsp + 0x58]
shr rdx, 0x20
lea rcx, [rbp + 0x78]
call fcn.14000395e
mov rbx, rax
mov rax, qword [rax + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rax, rdx
jae 0x14002945c
lea rcx, [rax + 1]
mov qword [rbx + 0x10], rcx
mov rcx, rbx
cmp rdx, 0x10
jb 0x140029454
mov rcx, qword [rbx]
mov word [rcx + rax], 0x2e
jmp 0x14002946e
mov r9b, 0x2e
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140003332
mov edx, dword [rsp + 0x60]
mov rcx, rbx
call fcn.14000395e
mov rbx, rax
mov rax, qword [rax + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rax, rdx
jae 0x1400294a6
lea rcx, [rax + 1]
mov qword [rbx + 0x10], rcx
mov rcx, rbx
cmp rdx, 0x10
jb 0x14002949e
mov rcx, qword [rbx]
mov word [rcx + rax], 0x2e
jmp 0x1400294b8
mov r9b, 0x2e
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140003332
mov edx, dword [rsp + 0x64]
mov rcx, rbx
call fcn.14000395e
mov rbx, rax
mov rax, qword [rax + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rax, rdx
jae 0x1400294f0
lea rcx, [rax + 1]
mov qword [rbx + 0x10], rcx
mov rcx, rbx
cmp rdx, 0x10
jb 0x1400294e8
mov rcx, qword [rbx]
mov word [rcx + rax], 0x20
jmp 0x140029502
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140003332
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x14002953a
lea rax, [rcx + 2]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x14002952a
mov rax, qword [rbx]
mov edx, 0x5053
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0
jmp 0x140029559
mov qword [rsp + 0x20], 2
lea r9, [0x1400afda4]
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, rbx
call fcn.14000245a
movzx edx, word [rbp + 0x6c]
mov rcx, rbx
call fcn.1400030a8
mov rbx, rax
mov rax, qword [rax + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rax, rdx
jae 0x140029591
lea rcx, [rax + 1]
mov qword [rbx + 0x10], rcx
mov rcx, rbx
cmp rdx, 0x10
jb 0x140029589
mov rcx, qword [rbx]
mov word [rcx + rax], 0x2e
jmp 0x1400295a3
mov r9b, 0x2e
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.140003332
movzx edx, word [rbp + 0x6e]
mov rcx, rbx
call fcn.1400030a8
mov rdx, qword [rax + 0x10]
mov r8, qword [rax + 0x18]
cmp rdx, r8
jae 0x1400295d5
lea rcx, [rdx + 1]
mov qword [rax + 0x10], rcx
cmp r8, 0x10
jb 0x1400295cd
mov rax, qword [rax]
mov word [rax + rdx], 0x20
jmp 0x1400295e7
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rax
call fcn.140003332
movzx ebx, byte [rbp + 0x72]
mov ecx, ebx
sub ecx, 1
mov rdx, qword [rbp + 0x90]
mov rax, rdx
je 0x140029798
sub ecx, 1
je 0x14002973b
cmp ecx, 1
mov rcx, qword [rbp + 0x88]
je 0x1400296ed
sub rax, rcx
cmp rax, 8
jb 0x14002964f
lea rax, [rcx + 8]
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x78]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x78]
movabs rdx, 0x3d746375646f7270
mov qword [rax + rcx], rdx
mov byte [rax + rcx + 8], 0
jmp 0x14002966f
mov qword [rsp + 0x20], 8
lea r9, str.product
xor r8d, r8d
lea edx, [r8 + 8]
lea rcx, [rbp + 0x78]
call fcn.14000245a
lea rcx, [rsp + 0x45]
mov byte [rsp + 0x45], 0
nop dword [rax]
mov eax, 0xcccccccd
mul ebx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ebx, eax
mov eax, ebx
mov ebx, edx
dec rcx
add al, 0x30
mov byte [rcx], al
test edx, edx
jne 0x140029680
lea rdx, [rsp + 0x38]
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x45]
sub r8, rcx
mov qword [rsp + 0x50], r8
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbp + 0x98], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp + 0xa8], xmm1
lea rdx, [rbp + 0x98]
add rdx, rax
lea rcx, [rbp + 0x78]
call fcn.140004840
jmp 0x1400297ff
sub rax, rcx
cmp rax, 6
jb 0x14002972f
lea rax, [rcx + 6]
mov qword [rbp + 0x88], rax
lea rbx, [rbp + 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0x78]
add rbx, rcx
mov r8d, 6
lea rdx, str.Server
mov rcx, rbx
call fcn.1400048c7
mov byte [rbx + 6], 0
jmp 0x1400297ff
lea r9, str.Server
jmp 0x1400297e5
mov rcx, qword [rbp + 0x88]
sub rax, rcx
cmp rax, 0x10
jb 0x140029781
lea rax, [rcx + 0x10]
mov qword [rbp + 0x88], rax
lea rbx, [rbp + 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0x78]
add rbx, rcx
mov r8d, 0x10
lea rdx, str.DomainController
mov rcx, rbx
call fcn.1400048c7
mov byte [rbx + 0x10], 0
jmp 0x1400297ff
mov qword [rsp + 0x20], 0x10
lea r9, str.DomainController
mov edx, 0x10
jmp 0x1400297f3
mov rcx, qword [rbp + 0x88]
sub rax, rcx
cmp rax, 6
jb 0x1400297de
lea rax, [rcx + 6]
mov qword [rbp + 0x88], rax
lea rbx, [rbp + 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0x78]
add rbx, rcx
mov r8d, 6
lea rdx, str.Client
mov rcx, rbx
call fcn.1400048c7
mov byte [rbx + 6], 0
jmp 0x1400297ff
lea r9, str.Client
mov qword [rsp + 0x20], 6
mov edx, 6
xor r8d, r8d
lea rcx, [rbp + 0x78]
call fcn.14000245a
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
cmp rcx, rdx
jae 0x140029832
lea rax, [rcx + 1]
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x78]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0x78]
mov word [rax + rcx], 0x20
jmp 0x140029845
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x78]
call fcn.140003332
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
mov rax, rdx
sub rax, rcx
cmp rax, 3
jb 0x140029895
lea rax, [rcx + 3]
mov qword [rbp + 0x88], rax
lea rbx, [rbp + 0x78]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0x78]
add rbx, rcx
mov r8d, 3
lea rdx, [0x1400afddc]
mov rcx, rbx
call fcn.1400048c7
mov byte [rbx + 3], 0
jmp 0x1400298b5
mov qword [rsp + 0x20], 3
lea r9, [0x1400afddc]
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rbp + 0x78]
call fcn.14000245a
lea r8, str.kernel32.dll
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x30]
call fcn.140028c90
mov rbx, rax
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
cmp rax, rdx
jae 0x140029903
lea rcx, [rax + 1]
mov qword [rbp + 0x88], rcx
lea rcx, [rbp + 0x78]
cmp rdx, 0x10
cmovae rcx, qword [rbp + 0x78]
mov word [rcx + rax], 0x20
jmp 0x140029916
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x78]
call fcn.140003332
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x140029923
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp + 0x78]
call fcn.140004840
nop
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x140029972
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002996d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029aad
call fcn.140003b75
lea r8, [0x1400afde0]
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x30]
call fcn.140028c90
mov rbx, rax
mov rax, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
cmp rax, rdx
jae 0x1400299c0
lea rcx, [rax + 1]
mov qword [rbp + 0x88], rcx
lea rcx, [rbp + 0x78]
cmp rdx, 0x10
cmovae rcx, qword [rbp + 0x78]
mov word [rcx + rax], 0x20
jmp 0x1400299d3
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0x78]
call fcn.140003332
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400299e0
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp + 0x78]
call fcn.140004840
nop
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x140029a2f
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029a2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029ab3
call fcn.140003b75
lea rdx, [rbp + 0x78]
cmp qword [rbp + 0x90], 0x10
cmovae rdx, qword [rbp + 0x78]
lea rcx, str.Windows_version:__s
call fcn.140004610
nop
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x140029a87
inc rdx
mov rcx, qword [rbp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029a82
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029aa7
call fcn.140003b75
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.1400029d2
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x1c0
pop rbp
ret
call fcn.14000215d
nop
call fcn.14000215d
nop
call fcn.14000215d
int3