Function at 0x4a0694
Capabilities:
Check os version

Disassembly:
push ebx
push esi
push edi
mov edi, eax
xor ebx, ebx
push 0x4a0964
push 0x4a0974
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov eax, edi
xor ecx, ecx
mov edx, 0x11c
call fcn.004036e8
mov dword [edi], 0x11c
test esi, esi
je 0x4a06d1
push edi
call esi
test eax, eax
je 0x4a06df
push edi
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x4a095c
cmp dword [edi + 0x10], 2
jne 0x4a095c
mov eax, dword [edi + 4]
cmp eax, 0xa
jne 0x4a06f7
cmp dword [edi + 8], 0
ja 0x4a06fc
cmp eax, 0xa
jbe 0x4a0703
mov bl, 0xff
jmp 0x4a095c
cmp dword [edi + 4], 0xa
jne 0x4a071f
cmp dword [edi + 8], 0
jne 0x4a071f
cmp byte [edi + 0x11a], 1
jne 0x4a071f
mov bl, 0x96
jmp 0x4a095c
cmp dword [edi + 4], 0xa
jne 0x4a073b
cmp dword [edi + 8], 0
jne 0x4a073b
cmp byte [edi + 0x11a], 1
je 0x4a073b
mov bl, 0xa0
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a0757
cmp dword [edi + 8], 3
jne 0x4a0757
cmp byte [edi + 0x11a], 1
je 0x4a0757
mov bl, 0x8d
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a0773
cmp dword [edi + 8], 3
jne 0x4a0773
cmp byte [edi + 0x11a], 1
jne 0x4a0773
mov bl, 0x83
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a078f
cmp dword [edi + 8], 2
jne 0x4a078f
cmp byte [edi + 0x11a], 1
je 0x4a078f
mov bl, 0x8c
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a07ab
cmp dword [edi + 8], 2
jne 0x4a07ab
cmp byte [edi + 0x11a], 1
jne 0x4a07ab
mov bl, 0x82
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a07d7
cmp dword [edi + 8], 1
jne 0x4a07d7
cmp byte [edi + 0x11a], 1
jne 0x4a07d7
mov bl, 0x78
cmp word [edi + 0x114], 1
jb 0x4a095c
mov bl, 0x79
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a0803
cmp dword [edi + 8], 1
jne 0x4a0803
cmp byte [edi + 0x11a], 1
je 0x4a0803
mov bl, 0x70
cmp word [edi + 0x114], 1
jb 0x4a095c
mov bl, 0x71
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a082f
cmp dword [edi + 8], 0
jne 0x4a082f
cmp byte [edi + 0x11a], 1
je 0x4a082f
mov bl, 0x6e
cmp word [edi + 0x114], 2
jb 0x4a095c
mov bl, 0x6f
jmp 0x4a095c
cmp dword [edi + 4], 6
jne 0x4a086b
cmp dword [edi + 8], 0
jne 0x4a086b
cmp byte [edi + 0x11a], 1
jne 0x4a086b
mov bl, 0x64
movzx eax, word [edi + 0x114]
cmp ax, 1
jne 0x4a085a
mov bl, 0x66
jmp 0x4a095c
cmp ax, 2
jb 0x4a095c
mov bl, 0x67
jmp 0x4a095c
cmp dword [edi + 4], 5
jne 0x4a08b2
cmp dword [edi + 8], 2
jne 0x4a08b2
cmp byte [edi + 0x11a], 1
je 0x4a08b2
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
jne 0x4a08b2
mov bl, 0x5a
movzx eax, word [edi + 0x114]
cmp ax, 1
jne 0x4a08a1
mov bl, 0x5c
jmp 0x4a095c
cmp ax, 2
jb 0x4a095c
mov bl, 0x5e
jmp 0x4a095c
cmp dword [edi + 4], 5
jne 0x4a08ef
cmp dword [edi + 8], 2
jne 0x4a08ef
cmp byte [edi + 0x11a], 1
je 0x4a08ef
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x4a08ef
mov bl, 0x5b
movzx eax, word [edi + 0x114]
cmp ax, 1
jne 0x4a08e5
mov bl, 0x5d
jmp 0x4a095c
cmp ax, 2
jb 0x4a095c
mov bl, 0x5f
jmp 0x4a095c
cmp dword [edi + 4], 5
jne 0x4a092b
cmp dword [edi + 8], 2
jne 0x4a092b
cmp byte [edi + 0x11a], 1
jne 0x4a092b
mov bl, 0x4b
movzx eax, word [edi + 0x114]
cmp ax, 1
jne 0x4a0917
mov bl, 0x50
jmp 0x4a095c
cmp ax, 2
jne 0x4a0921
mov bl, 0x52
jmp 0x4a095c
cmp ax, 3
jb 0x4a095c
mov bl, 0x54
jmp 0x4a095c
cmp dword [edi + 4], 5
jne 0x4a095c
cmp dword [edi + 8], 1
jne 0x4a095c
mov bl, 0x4b
movzx eax, word [edi + 0x114]
cmp ax, 1
jne 0x4a094a
mov bl, 0x50
jmp 0x4a095c
cmp ax, 2
jne 0x4a0954
mov bl, 0x52
jmp 0x4a095c
cmp ax, 3
jb 0x4a095c
mov bl, 0x54
mov eax, ebx
pop edi
pop esi
pop ebx
ret