Function at 0x1000043b8
Capabilities:
Check os version

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x200
mov rax, qword [0x10000f100]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r15, rcx
lea rcx, [rsp + 0x40]
xor ebx, ebx
mov edi, ebx
mov dword [rsp + 0x40], 0x94
call qword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x100004414
mov edi, 0x4b4
jmp 0x100004433
mov eax, dword [rsp + 0x50]
mov esi, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x44]
dec eax
mov ecx, 2
je 0x1000044a5
dec eax
je 0x10000444a
mov edi, 0x4ca
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov dword [rsp + 0x20], InitCommonControls
xor r8d, r8d
jmp 0x100004696
mov r12d, 1
movzx eax, cx
mov word [0x100010490], cx
lea ecx, [r12 + 2]
mov dword [0x10000f46c], r12d
mov dword [0x10000f48c], r12d
cmp r8d, ecx
ja 0x100004493
mov eax, r12d
mov word [0x100010490], ax
jb 0x100004485
jne 0x1000044c3
cmp esi, 0x33
jae 0x1000044c3
mov dword [0x10000f46c], ebx
mov dword [0x10000f48c], ebx
jmp 0x1000044c3
cmp r8d, 5
jb 0x1000044c3
movzx eax, cx
mov word [0x100010490], cx
jmp 0x1000044c3
mov r12d, 1
movzx eax, bx
mov word [0x100010490], bx
mov dword [0x10000f46c], r12d
mov dword [0x10000f48c], r12d
cmp dword [0x100011414], ebx
jne 0x10000469f
test r15, r15
je 0x10000469f
lea r13, [r15 + 0x40]
test ax, ax
je 0x1000044e5
lea r13, [r15 + 4]
movzx r11d, word [rsp + 0x4c]
mov ecx, ebx
mov dword [rsp + 0x30], ebx
or r14d, 0xffffffff
movsxd r10, ecx
lea r9, [r10 + r10*2]
cmp r8d, dword [r13 + r9*8]
jae 0x100004508
mov edx, r14d
jmp 0x10000451b
jbe 0x10000450f
mov edx, r12d
jmp 0x10000451b
cmp esi, dword [r13 + r9*8 + 4]
jb 0x100004503
mov edx, ebx
seta dl
cmp r8d, dword [r13 + r9*8 + 0xc]
jae 0x100004527
mov eax, r14d
jmp 0x10000453a
jbe 0x10000452e
mov eax, r12d
jmp 0x10000453a
cmp esi, dword [r13 + r9*8 + 0x10]
jb 0x100004522
mov eax, ebx
seta al
test edx, edx
js 0x1000045ce
test eax, eax
jg 0x1000045ce
test edx, edx
jne 0x100004568
test eax, eax
movzx eax, r11w
jne 0x10000455f
cmp eax, dword [r13 + r9*8 + 8]
jb 0x100004577
jmp 0x100004570
cmp eax, dword [r13 + r9*8 + 8]
jae 0x1000045e3
jmp 0x100004577
test eax, eax
jne 0x1000045e3
movzx eax, r11w
cmp eax, dword [r13 + r9*8 + 0x14]
jbe 0x1000045e3
test ecx, ecx
je 0x1000045d3
mov edi, 0x54c
mov r9, rbx
mov r14, rbx
mov esi, ebx
cmp edi, 0x54d
jne 0x1000045ad
movsxd rax, ecx
mov ecx, dword [r15 + 0x80]
lea r9, [rbp - 0x20]
imul rax, rax, 0x3c
add rax, r15
lea r13, [rcx + rax + 0x84]
test r13, r13
je 0x100004620
mov eax, dword [r13 + 0x34]
lea r14, [rax + r15 + 0x84]
mov eax, dword [r13 + 0x30]
test r12b, al
je 0x100004614
mov esi, 0x104
jmp 0x100004620
cmp ecx, r12d
je 0x10000457b
add ecx, r12d
mov dword [rsp + 0x30], ecx
cmp ecx, 2
jl 0x1000044f5
cmp dword [r15 + 0x7c], ebx
je 0x10000469f
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.100003038
test eax, eax
jne 0x10000469f
mov ecx, dword [rsp + 0x30]
mov edi, 0x54d
jmp 0x100004580
and al, 2
neg al
sbb esi, esi
and esi, 0x101
test byte [0x100011418], r12b
jne 0x100004683
cmp byte [r14], bl
je 0x100004683
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBeep]
call fcn.10000806c
test eax, eax
je 0x10000464e
call fcn.100007fa8
mov r9d, 0x180000
test eax, eax
jne 0x100004651
mov r9d, ebx
or r9d, esi
lea r8, [0x1000105d8]
mov rdx, r14
or r9d, 0x30
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
test sil, 4
je 0x100004675
cmp eax, 6
jmp 0x10000467d
test r12b, sil
je 0x10000469f
cmp eax, r12d
jne 0x10000469f
mov edi, ebx
jmp 0x10000469f
mov dword [rsp + 0x28], ebx
lea r8, [0x1000105d8]
mov dword [rsp + 0x20], 0x30
mov edx, edi
xor ecx, ecx
call fcn.100005420
test edi, edi
sete bl
mov eax, ebx
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.10000c380
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret