Function at 0x4137a0
Capabilities:
Check os version

Disassembly:
sub esp, 0x94
push ebx
push esi
push edi
push 0x42bb7c
push 0x104
call fcn.00402160
mov eax, dword [0x42bb7c]
mov ecx, dword [0x42bb40]
add esp, 8
push 0x104
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edx, dword [0x42bb7c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, edx
mov edi, ecx
xor edx, edx
mov esi, edi
shr esi, 2
je 0x413831
mov ecx, edx
shr ecx, 0x1f
lea edx, [ecx + edx*2]
xor ecx, ecx
mov cl, byte [eax]
add edx, ecx
inc eax
mov ecx, edx
shr ecx, 0x1f
lea edx, [ecx + edx*2]
xor ecx, ecx
mov cl, byte [eax]
add edx, ecx
inc eax
mov ecx, edx
shr ecx, 0x1f
lea edx, [ecx + edx*2]
xor ecx, ecx
mov cl, byte [eax]
add edx, ecx
inc eax
mov ecx, edx
shr ecx, 0x1f
lea edx, [ecx + edx*2]
xor ecx, ecx
mov cl, byte [eax]
add edx, ecx
inc eax
dec esi
jne 0x4137f2
and edi, 3
mov ecx, edi
jbe 0x41384a
mov esi, edx
xor ebx, ebx
mov bl, byte [eax]
shr esi, 0x1f
lea edx, [esi + edx*2]
add edx, ebx
inc eax
dec ecx
jne 0x413838
push 0
push str.InstItClass
mov dword [0x42bb08], edx
call dword [sym.imp.USER32.dll_FindWindowA]
mov esi, eax
mov ebx, 1
test esi, esi
je 0x4138c5
push 2
push ebx
push 0x8001
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, dword [0x42bb08]
jne 0x4138c5
push 0x42bb7c
call fcn.004021a0
add esp, 4
push esi
call dword [sym.imp.USER32.dll_GetLastActivePopup]
mov ebx, dword [sym.imp.USER32.dll_BringWindowToTop]
push esi
mov edi, eax
call ebx
push esi
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4138b2
push 9
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
cmp esi, edi
je 0x4138b9
push edi
call ebx
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x94
ret
mov edx, dword [esp + 0xa4]
mov dword [0x42bb5c], 0xffffffff
mov dword [0x42bb40], edx
call dword [sym.imp.KERNEL32.dll_GetVersion]
xor ecx, ecx
lea edi, [esp + 0xc]
mov cl, ah
lea edx, [esp + 0xc]
mov ch, al
xor eax, eax
mov word [0x42bb04], cx
mov ecx, 0x25
mov esi, 0x2000
push edx
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], 0x94
mov dword [0x42bb00], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x4139c2
mov eax, dword [esp + 0x1c]
dec eax
je 0x41398e
dec eax
jne 0x4139c2
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp eax, 4
mov dword [0x42bafc], ebx
sete cl
cmp eax, 5
mov dword [0x42bb00], 0x10000
mov dword [0x42baf8], ecx
jb 0x4139c2
mov dword [0x42bb00], 0x40000
jne 0x413977
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4139c2
mov dword [0x42bb00], 0x20000
jmp 0x4139c2
cmp eax, 5
jbe 0x4139c2
mov dword [0x42baf4], ebx
mov dword [0x42bb00], 0x80000
jmp 0x4139c2
mov eax, dword [esp + 0x10]
mov dword [0x42bb00], esi
cmp eax, 4
jne 0x4139b6
mov eax, dword [esp + 0x14]
cmp eax, 0x5a
jae 0x4139b8
test eax, eax
jbe 0x4139c2
mov dword [0x42bb00], 0x4000
jmp 0x4139c2
jbe 0x4139c2
mov dword [0x42bb00], 0x8000
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
call fcn.00402e10
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.RICHED20.DLL
call esi
test eax, eax
mov dword [0x42bad8], eax
jne 0x4139f3
push str.RICHED32.DLL
call esi
mov dword [0x42bad8], eax
jmp 0x4139f9
mov dword [0x42bad4], ebx
push 0x42ba90
push 0x104
call fcn.00402160
push 0x42bb60
push 0x104
call fcn.00402160
push 0x42b6b4
push 0x208
call fcn.00402160
push 0x42b6b0
push 0x104
call fcn.00402160
push 0x42bb64
push 0x104
call fcn.00402160
push 0x42b6ac
push 0x104
call fcn.00402160
push 0x42b6a8
push 0x104
call fcn.00402160
push 0x42b724
push 0x29e
call fcn.00402160
add esp, 0x40
push 0x42b720
push 0x29e
call fcn.00402160
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
add esp, 0x94
ret