Function at 0x6d3729
Capabilities:
Check os version

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c0
mov eax, dword [0x6d8004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x19c], 0x94
mov ebx, ecx
xor edi, edi
push eax
mov dword [ebp - 0x1a8], ebx
mov esi, edi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x6d376f
mov esi, 0x4b4
jmp 0x6d378a
mov eax, dword [ebp - 0x18c]
mov edx, dword [ebp - 0x198]
sub eax, 1
je 0x6d37e3
sub eax, 1
je 0x6d3794
mov esi, 0x4ca
push edi
push 0x10
push edi
push edi
jmp 0x6d3a08
xor ecx, ecx
inc ecx
mov dword [0x6d8184], ecx
mov dword [0x6d8180], ecx
push 2
pop eax
mov word [0x6d9a40], ax
cmp edx, 3
ja 0x6d37d9
mov eax, ecx
push 3
pop ecx
mov word [0x6d9a40], ax
cmp edx, ecx
jb 0x6d37cb
jne 0x6d37fa
cmp dword [ebp - 0x194], 0x33
jae 0x6d37fa
mov dword [0x6d8184], edi
mov dword [0x6d8180], edi
jmp 0x6d37fa
cmp edx, 5
jb 0x6d37fa
push 3
pop eax
jmp 0x6d37f4
xor ecx, ecx
xor eax, eax
inc ecx
mov dword [0x6d8184], ecx
mov dword [0x6d8180], ecx
mov word [0x6d9a40], ax
cmp dword [0x6d8a34], esi
jne 0x6d3a11
test ebx, ebx
je 0x6d3a11
test ax, ax
jne 0x6d3818
add ebx, 0x40
jmp 0x6d381b
add ebx, 4
mov dword [ebp - 0x1b0], ebx
mov dword [ebp - 0x1a0], edi
mov edx, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x198]
imul eax, edi, 0x18
mov dword [ebp - 0x1a4], eax
push dword [eax + ebx + 4]
push dword [eax + ebx]
call fcn.006d2aab
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a4]
push dword [eax + ebx + 0x10]
push dword [eax + ebx + 0xc]
call fcn.006d2aab
mov ecx, dword [ebp - 0x1ac]
test ecx, ecx
js 0x6d390c
test eax, eax
jg 0x6d390c
test ecx, ecx
jne 0x6d38ab
test eax, eax
mov eax, dword [ebp - 0x190]
jne 0x6d389a
movzx ecx, ax
mov eax, dword [ebp - 0x1a4]
cmp ecx, dword [eax + ebx + 8]
jb 0x6d38c4
cmp ecx, dword [eax + ebx + 0x14]
jmp 0x6d38c2
mov ecx, dword [ebp - 0x1a4]
movzx eax, ax
cmp eax, dword [ecx + ebx + 8]
jae 0x6d3923
jmp 0x6d38c4
test eax, eax
jne 0x6d3923
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x190]
movzx eax, ax
cmp eax, dword [ecx + ebx + 0x14]
jbe 0x6d3923
test edi, edi
je 0x6d3911
mov esi, 0x54c
and dword [ebp - 0x1a0], 0
xor ebx, ebx
and dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1a8]
cmp esi, 0x54d
jne 0x6d395d
mov ecx, dword [edx + 0x80]
imul eax, edi, 0x3c
add ecx, 0x84
add ecx, eax
lea eax, [ebp - 0x108]
add ecx, edx
mov dword [ebp - 0x1a0], eax
jmp 0x6d3963
cmp edi, 1
je 0x6d38c8
push 2
inc edi
pop eax
mov dword [ebp - 0x1a0], edi
cmp edi, eax
jl 0x6d3827
mov ecx, dword [ebp - 0x1a8]
cmp dword [ecx + 0x7c], esi
je 0x6d3a11
lea eax, [ebp - 0x1a0]
push eax
push ecx
lea edx, [ebp - 0x108]
call fcn.006d2905
test eax, eax
jne 0x6d3a11
mov esi, 0x54d
mov edi, dword [ebp - 0x1a0]
jmp 0x6d38cd
mov ecx, dword [ebp - 0x1b0]
test ecx, ecx
je 0x6d3991
mov edi, dword [ecx + 0x34]
mov eax, dword [ecx + 0x30]
add edi, 0x84
add edi, edx
test al, 1
je 0x6d3980
mov ebx, 0x104
jmp 0x6d3997
and al, 2
movzx ebx, al
neg ebx
sbb ebx, ebx
and ebx, 0x101
jmp 0x6d3997
mov edi, dword [ebp - 0x1ac]
test byte [0x6d8a38], 1
jne 0x6d39f9
test edi, edi
je 0x6d39f9
cmp byte [edi], 0
je 0x6d39f9
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
call fcn.006d691e
test eax, eax
je 0x6d39cb
push ecx
call fcn.006d68c3
test eax, eax
je 0x6d39cb
mov eax, 0x180000
jmp 0x6d39cd
xor eax, eax
or eax, ebx
or eax, 0x30
push eax
push 0x6d9154
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
test bl, 4
je 0x6d39eb
cmp eax, 6
jmp 0x6d39f3
test bl, 1
je 0x6d3a11
cmp eax, 1
jne 0x6d3a11
xor esi, esi
jmp 0x6d3a11
push 0
push 0x30
push dword [ebp - 0x1a0]
push 0x6d9154
mov edx, esi
xor ecx, ecx
call fcn.006d44d8
mov ecx, dword [ebp - 4]
xor eax, eax
test esi, esi
pop edi
sete al
xor ecx, ebp
pop esi
pop ebx
call fcn.006d6e20
mov esp, ebp
pop ebp
ret