Function at 0x1800203b0
Capabilities:
Check os version

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x1b8
mov rax, qword [0x1800623f8]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
mov dword [rsp + 0xe8], 7
mov dword [rsp + 0xf0], 0xd
cmp dword [rsp + 0xf0], 0
jle 0x180020453
mov eax, dword [rsp + 0xf0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020436
mov dword [rsp + 0xe8], 0
mov eax, dword [rsp + 0xf0]
sub eax, 2
mov dword [rsp + 0xf0], eax
jmp 0x1800203f3
mov dword [rsp + 0xe8], 4
mov eax, dword [rsp + 0xf0]
dec eax
mov dword [rsp + 0xf0], eax
jmp 0x1800203f3
mov dword [rsp + 0x100], 0
mov dword [rsp + 0xf8], 0xe
cmp dword [rsp + 0xf8], 0
jle 0x1800204c9
mov eax, dword [rsp + 0xf8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x1800204ac
mov dword [rsp + 0x100], 4
mov eax, dword [rsp + 0xf8]
sub eax, 2
mov dword [rsp + 0xf8], eax
jmp 0x180020469
mov dword [rsp + 0x100], 4
mov eax, dword [rsp + 0xf8]
dec eax
mov dword [rsp + 0xf8], eax
jmp 0x180020469
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xe0], 0x15
cmp dword [rsp + 0xe0], 0
jle 0x18002053f
mov eax, dword [rsp + 0xe0]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020521
mov dword [rsp + 0xec], 4
mov eax, dword [rsp + 0xe0]
dec eax
mov dword [rsp + 0xe0], eax
jmp 0x1800204df
mov dword [rsp + 0xec], 0
mov eax, dword [rsp + 0xe0]
sub eax, 2
mov dword [rsp + 0xe0], eax
jmp 0x1800204df
mov dword [rsp + 0xf4], 2
mov dword [rsp + 0xfc], 0x10
cmp dword [rsp + 0xfc], 0
jle 0x1800205b5
mov eax, dword [rsp + 0xfc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020597
mov dword [rsp + 0xf4], 4
mov eax, dword [rsp + 0xfc]
dec eax
mov dword [rsp + 0xfc], eax
jmp 0x180020555
mov dword [rsp + 0xf4], 4
mov eax, dword [rsp + 0xfc]
sub eax, 2
mov dword [rsp + 0xfc], eax
jmp 0x180020555
mov dword [rsp + 0xe4], 2
mov dword [rsp + 0xd8], 5
mov eax, dword [rsp + 0xd8]
test eax, eax
jle 0x18002063b
mov eax, dword [rsp + 0xd8]
cmp eax, 1
jle 0x180020608
mov eax, dword [rsp + 0xe4]
and eax, 0x204d
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xd8]
sub eax, 2
mov dword [rsp + 0xd8], eax
jmp 0x1800205cb
mov eax, dword [rsp + 0xe4]
cmp eax, 0x807
jle 0x180020629
mov eax, dword [rsp + 0xe4]
and eax, 0x80
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xd8]
dec eax
mov dword [rsp + 0xd8], eax
jmp 0x1800205cb
mov dword [rsp + 0xd4], 2
mov dword [rsp + 0xdc], 0xa
mov eax, dword [rsp + 0xdc]
test eax, eax
jle 0x1800206c1
mov eax, dword [rsp + 0xdc]
cmp eax, 1
jle 0x18002068e
mov eax, dword [rsp + 0xd4]
and eax, 0x2106
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xdc]
sub eax, 2
mov dword [rsp + 0xdc], eax
jmp 0x180020651
mov eax, dword [rsp + 0xd4]
cmp eax, 0x80c
jle 0x1800206af
mov eax, dword [rsp + 0xd4]
and eax, 0x85
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xdc]
dec eax
mov dword [rsp + 0xdc], eax
jmp 0x180020651
mov r8d, 0x9c
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.18004ab10
mov dword [rsp + 0x108], 4
mov dword [rsp + 0x120], 0x11
cmp dword [rsp + 0x120], 0
jle 0x180020748
mov eax, dword [rsp + 0x120]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18002072b
mov dword [rsp + 0x108], 0
mov eax, dword [rsp + 0x120]
dec eax
mov dword [rsp + 0x120], eax
jmp 0x1800206e9
mov dword [rsp + 0x108], 4
mov eax, dword [rsp + 0x120]
dec eax
mov dword [rsp + 0x120], eax
jmp 0x1800206e9
mov dword [rsp + 0x124], 7
mov dword [rsp + 0x104], 0x11
cmp dword [rsp + 0x104], 0
jle 0x1800207be
mov eax, dword [rsp + 0x104]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x1800207a0
mov dword [rsp + 0x124], 0
mov eax, dword [rsp + 0x104]
dec eax
mov dword [rsp + 0x104], eax
jmp 0x18002075e
mov dword [rsp + 0x124], 4
mov eax, dword [rsp + 0x104]
sub eax, 2
mov dword [rsp + 0x104], eax
jmp 0x18002075e
mov dword [rsp + 0x10c], 3
mov dword [rsp + 0x110], 8
mov eax, dword [rsp + 0x110]
test eax, eax
jle 0x180020844
mov eax, dword [rsp + 0x110]
cmp eax, 1
jle 0x180020811
mov eax, dword [rsp + 0x10c]
and eax, 0x11d0
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x110]
sub eax, 2
mov dword [rsp + 0x110], eax
jmp 0x1800207d4
mov eax, dword [rsp + 0x10c]
cmp eax, 0x80a
jle 0x180020832
mov eax, dword [rsp + 0x10c]
and eax, 0x83
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x110]
dec eax
mov dword [rsp + 0x110], eax
jmp 0x1800207d4
mov dword [rsp + 0x114], 7
mov dword [rsp + 0x118], 9
mov eax, dword [rsp + 0x118]
test eax, eax
jle 0x1800208ca
mov eax, dword [rsp + 0x118]
cmp eax, 1
jle 0x180020897
mov eax, dword [rsp + 0x114]
and eax, 0x19b6
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x118]
sub eax, 2
mov dword [rsp + 0x118], eax
jmp 0x18002085a
mov eax, dword [rsp + 0x114]
cmp eax, 0x80b
jle 0x1800208b8
mov eax, dword [rsp + 0x114]
and eax, 0x84
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x118]
dec eax
mov dword [rsp + 0x118], eax
jmp 0x18002085a
mov dword [rsp + 0x128], 0
mov dword [rsp + 0x11c], 0xe
cmp dword [rsp + 0x11c], 0
jle 0x180020940
mov eax, dword [rsp + 0x11c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020923
mov dword [rsp + 0x128], 4
mov eax, dword [rsp + 0x11c]
sub eax, 2
mov dword [rsp + 0x11c], eax
jmp 0x1800208e0
mov dword [rsp + 0x128], 4
mov eax, dword [rsp + 0x11c]
dec eax
mov dword [rsp + 0x11c], eax
jmp 0x1800208e0
mov dword [rsp + 0x30], 0x9c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [rsp + 0x34], 6
jb 0x180020968
cmp dword [rsp + 0x34], 6
jne 0x1800209d2
cmp dword [rsp + 0x38], 2
jae 0x1800209d2
mov rax, qword [rsp + 0x1c0]
mov ecx, dword [rsp + 0x34]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1c8]
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
movzx eax, byte [rsp + 0xca]
cmp eax, 1
je 0x1800209ac
mov dword [rsp + 0x19c], 1
jmp 0x1800209b7
mov dword [rsp + 0x19c], 0
mov rax, qword [rsp + 0x1d8]
mov ecx, dword [rsp + 0x19c]
mov dword [rax], ecx
mov eax, 1
jmp 0x18002115c
lea r9, [rsp + 0xd0]
mov r8, qword [rsp + 0x1d0]
mov rdx, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x1c0]
call fcn.18001f860
test eax, eax
je 0x180020b79
mov dword [rsp + 0x138], 9
mov dword [rsp + 0x12c], 5
mov eax, dword [rsp + 0x12c]
test eax, eax
jle 0x180020a85
mov eax, dword [rsp + 0x12c]
cmp eax, 1
jle 0x180020a52
mov eax, dword [rsp + 0x138]
and eax, 0x10a2
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x12c]
sub eax, 2
mov dword [rsp + 0x12c], eax
jmp 0x180020a15
mov eax, dword [rsp + 0x138]
cmp eax, 0x807
jle 0x180020a73
mov eax, dword [rsp + 0x138]
and eax, 0x80
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x12c]
dec eax
mov dword [rsp + 0x12c], eax
jmp 0x180020a15
mov dword [rsp + 0x140], 2
mov dword [rsp + 0x130], 0x13
cmp dword [rsp + 0x130], 0
jle 0x180020afc
mov eax, dword [rsp + 0x130]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020ade
mov dword [rsp + 0x140], 4
mov eax, dword [rsp + 0x130]
sub eax, 2
mov dword [rsp + 0x130], eax
jmp 0x180020a9b
mov dword [rsp + 0x140], 4
mov eax, dword [rsp + 0x130]
sub eax, 2
mov dword [rsp + 0x130], eax
jmp 0x180020a9b
mov dword [rsp + 0x13c], 1
mov dword [rsp + 0x134], 0x10
cmp dword [rsp + 0x134], 0
jle 0x180020b72
mov eax, dword [rsp + 0x134]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020b54
mov dword [rsp + 0x13c], 4
mov eax, dword [rsp + 0x134]
dec eax
mov dword [rsp + 0x134], eax
jmp 0x180020b12
mov dword [rsp + 0x13c], 0
mov eax, dword [rsp + 0x134]
sub eax, 2
mov dword [rsp + 0x134], eax
jmp 0x180020b12
xor eax, eax
jmp 0x18002115c
mov rax, qword [rsp + 0x1c0]
mov eax, dword [rax]
cmp dword [rsp + 0x34], eax
jne 0x180020bec
mov rax, qword [rsp + 0x1c8]
mov eax, dword [rax]
cmp dword [rsp + 0x38], eax
jne 0x180020bec
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
movzx eax, byte [rsp + 0xca]
cmp eax, 1
je 0x180020bc1
mov dword [rsp + 0x1a0], 1
jmp 0x180020bcc
mov dword [rsp + 0x1a0], 0
mov rax, qword [rsp + 0x1d8]
mov ecx, dword [rsp + 0x1a0]
mov dword [rax], ecx
mov eax, 1
jmp 0x18002115c
call fcn.18001f0d0
mov rcx, qword [rsp + 0x1d8]
mov dword [rcx], eax
mov dword [rsp + 0x160], 7
mov dword [rsp + 0x170], 8
mov eax, dword [rsp + 0x170]
test eax, eax
jle 0x180020c81
mov eax, dword [rsp + 0x170]
cmp eax, 1
jle 0x180020c4e
mov eax, dword [rsp + 0x160]
and eax, 0x2542
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x170]
sub eax, 2
mov dword [rsp + 0x170], eax
jmp 0x180020c11
mov eax, dword [rsp + 0x160]
cmp eax, 0x80a
jle 0x180020c6f
mov eax, dword [rsp + 0x160]
and eax, 0x83
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x170]
dec eax
mov dword [rsp + 0x170], eax
jmp 0x180020c11
mov dword [rsp + 0x16c], 3
mov dword [rsp + 0x178], 9
mov eax, dword [rsp + 0x178]
test eax, eax
jle 0x180020d07
mov eax, dword [rsp + 0x178]
cmp eax, 1
jle 0x180020cd4
mov eax, dword [rsp + 0x16c]
and eax, 0x15f8
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x178]
sub eax, 2
mov dword [rsp + 0x178], eax
jmp 0x180020c97
mov eax, dword [rsp + 0x16c]
cmp eax, 0x80b
jle 0x180020cf5
mov eax, dword [rsp + 0x16c]
and eax, 0x84
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x178]
dec eax
mov dword [rsp + 0x178], eax
jmp 0x180020c97
mov dword [rsp + 0x154], 3
mov dword [rsp + 0x164], 8
mov eax, dword [rsp + 0x164]
test eax, eax
jle 0x180020d8d
mov eax, dword [rsp + 0x164]
cmp eax, 1
jle 0x180020d5a
mov eax, dword [rsp + 0x154]
and eax, 0x11d0
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x164]
sub eax, 2
mov dword [rsp + 0x164], eax
jmp 0x180020d1d
mov eax, dword [rsp + 0x154]
cmp eax, 0x80a
jle 0x180020d7b
mov eax, dword [rsp + 0x154]
and eax, 0x83
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x164]
dec eax
mov dword [rsp + 0x164], eax
jmp 0x180020d1d
mov dword [rsp + 0x168], 8
mov dword [rsp + 0x174], 0xc
cmp dword [rsp + 0x174], 0
jle 0x180020e03
mov eax, dword [rsp + 0x174]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020de5
mov dword [rsp + 0x168], 4
mov eax, dword [rsp + 0x174]
dec eax
mov dword [rsp + 0x174], eax
jmp 0x180020da3
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x174]
sub eax, 2
mov dword [rsp + 0x174], eax
jmp 0x180020da3
mov dword [rsp + 0x15c], 7
mov dword [rsp + 0x158], 0x14
cmp dword [rsp + 0x158], 0
jle 0x180020e79
mov eax, dword [rsp + 0x158]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020e5c
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x158]
sub eax, 2
mov dword [rsp + 0x158], eax
jmp 0x180020e19
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x158]
dec eax
mov dword [rsp + 0x158], eax
jmp 0x180020e19
mov dword [rsp + 0x148], 8
mov dword [rsp + 0x150], 0x12
cmp dword [rsp + 0x150], 0
jle 0x180020eef
mov eax, dword [rsp + 0x150]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020ed1
mov dword [rsp + 0x148], 4
mov eax, dword [rsp + 0x150]
dec eax
mov dword [rsp + 0x150], eax
jmp 0x180020e8f
mov dword [rsp + 0x148], 0
mov eax, dword [rsp + 0x150]
sub eax, 2
mov dword [rsp + 0x150], eax
jmp 0x180020e8f
mov dword [rsp + 0x14c], 7
mov dword [rsp + 0x144], 0x10
cmp dword [rsp + 0x144], 0
jle 0x180020f65
mov eax, dword [rsp + 0x144]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x180020f48
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x144]
sub eax, 2
mov dword [rsp + 0x144], eax
jmp 0x180020f05
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x144]
dec eax
mov dword [rsp + 0x144], eax
jmp 0x180020f05
mov eax, 1
jmp 0x18002115c
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.180049ea0
add rsp, 0x1b8
ret